[爆卦]socket應用是什麼?優點缺點精華區懶人包

雖然這篇socket應用鄉民發文沒有被收入到精華區:在socket應用這個話題中,我們另外找到其它相關的精選爆讚文章

在 socket應用產品中有32篇Facebook貼文,粉絲數超過2,850的網紅矽谷牛的耕田筆記,也在其Facebook貼文中提到, ref: https://www.hwchiu.com/ping-implementation.html 本篇文章是難得的自產文章,該文章分享一下自己觀察不同 ping 指令與不同發行版本下的實作方式,主要探討的點是 ICMP 封包是如何產生的。 就我目前認知,目前至少有三種常見方式來設定 pin...

 同時也有1部Youtube影片,追蹤數超過4萬的網紅MoneyDJ理財網,也在其Youtube影片中提到,5G、AI、HPC等新應用開枝散葉,驅使半導體產業追逐更精細的工藝、更強大的晶片效能。不過,隨著晶片設計、製造的複雜度提升,成本壓力也不斷墊高,若透過有效率的CP(晶圓測試)、FT(成品測試)測試,就可以減少製造成本的耗費,因此越來越受到重視,同步帶旺相關測試介面需求。 其中,穎崴科技目前在全球測試...

  • socket應用 在 矽谷牛的耕田筆記 Facebook 的最佳貼文

    2021-09-23 08:00:08
    有 116 人按讚

    ref: https://www.hwchiu.com/ping-implementation.html

    本篇文章是難得的自產文章,該文章分享一下自己觀察不同 ping 指令與不同發行版本下的實作方式,主要探討的點是 ICMP 封包是如何產生的。
    就我目前認知,目前至少有三種常見方式來設定 ping 指令讓其能夠順利收送 ICMP 封包。
    常見的 TCP/UDP 應用程式實際上都是讓 Kernel 幫忙處理底層的 L3/L4 封包,使用者的應用程式則是專注於資料的交換與處理,簡單的說法就是專心處理 L7 資料。
    但是 ICMP 封包不同於上述的 TCP/UDP 封包,一種方式就是透過 RAW Socket 的形式自行去拼湊組裝 ICMP 格式,自行處理一切封包的處理。
    RAW Socket 本身也不允許每個使用者都能輕易開啟,必須要有相關的權限才可以執行,因此一種 PING 的實作方式就是透過 SetUID 的方式,讓所有能夠執行 ping 指令的使用者會短暫瞬間提權變成 Root 的身份
    也因為是 Root 就可以順利的開啟 RAW Socket。
    SetUID 強大且方便,簡簡單單就可以讓使用者瞬間變成 Root,但是也因為簡單好像就安全角度來看會覺得不太嚴謹,畢竟我想要的只是一個能夠開啟 RAW Socket 的權限,你去把整個 Root 都送給我。
    因此第二種實作方式就是透過 Linux Capability 來達到更細緻化的權限控管,讓任何可以執行 ping 指令的使用者都可以短暫獲得 cap_net_raw 的權限,最終順利的開啟 RAW Socket
    而第三種方式則是跳脫的權限的概念,與其透過 RAW Socket 來自行打造 ICMP 封包,不如讓 Linux Kernel 幫忙處理 ICMP 封包,ping 的程式只要跟 Kernel 要求建立一個基於 ICMP 協定的 socket 即可。
    透過第三種方式最終可以達到 setuid-less 的架構,ping 的應用程式再也不需要任何的特殊權限,每個使用者都可以順利執行來收送 ICMP 封包。

    文章內會針對三種方式進行實驗跟觀察,對 PING 指令有興趣別忘了參考看看

  • socket應用 在 軟體開發學習資訊分享 Facebook 的最佳貼文

    2021-09-19 14:57:30
    有 1 人按讚

    課程特價中

    學習 C# .Net 的 Socket 程式設計,使用 async/await 建立分散式應用程式,建構類別程式庫( class library )

    https://softnshare.com/tcpip-socket-programming-for-coders-using-csharp-net/

  • socket應用 在 矽谷牛的耕田筆記 Facebook 的最佳解答

    2021-09-07 08:00:11
    有 36 人按讚

    ref: https://lwn.net/Articles/853637/

    如果對 SO_REUSEPORT 這個能夠提供網路服務吞吐量的 socket options 不陌生的話,那這篇文章強烈推薦看看。
    本篇文章是從討論開啟 SO_REUSEPORT 這個選項會出現的一些行為以及可能可以怎麼做

    最直得看的應該是留言區本身,有很多不同層級的討論,大家最愛講的 Google SRE 人也都出來分享自己的經驗了。

    正常情況下,每個 TCP Port 只能被一個 process 給使用來聽取封包,但是對於一些網路重度使用的系統來說,就算讓該 process 將連線給分散到其他的 process 去處理,該 process 依然可能是系統的效能瓶頸。
    Linux Kernel 3.9 後引入的 SO_REUSEPORT 參數就是為了解決這個效能問題而來的,這個參數允許多個 Process 同時使用一個 TCP Port,每當底層有一條新的連線請求時, Kernel 會從眾多的候選人之一中挑選一個可用來處理。
    這種情況下,網路應用程式就可以專心處理連線工作,然後實務上同時執行多個 Process 即可。底層的 Kernel 會幫忙做連線的負載分配。

    當眾多候選 process 其中之一掛掉了(可能是 crash,也有可能是有意的重啟), kernel 會注意到這個候選人要說掰掰,這候選人處理的所有 connection 都會被移除,比較糟糕的是其他待在 Accept-Queue 那些還沒被建立連線的連線請求也會一併被移除。
    作者認為 Kernel 應該要有能力可以轉移那些 Accept-queue 中的連線到其他還工作的候選 process 下去處理,這樣使用者/Client 的連線就不會需要處理太多重連的問題。

    文章後面都在探討可行的做法以及這個問題可能會導致什麼問題。

    留言區滿熱鬧的,譬如說
    1. 有人認為 server 重啟的情況實在太少見,有需要為這麽少見的情況導入這麼複雜的修改到 Kernel 中?
    a. 有人回答使用 Let's Encrypt 你可能每幾週就要重啟一次。
    b. Google SRE 回答其內部因為調整設定的緣由,幾乎無時無刻都需要重啟服務,不過這問題已經從別的層級去處理掉,所以修改 Kernel 對他們的用途不太大。
    2. 有人提出 Nginx 本身有 live migration 的功能,可以將 fd 給轉移到其他的 process 去處理。
    a. 有人提出這邊談的是 socket/connection 的層級,這些東西都還沒發生到 userspace process 同時也不是 userspace 應用程式可以接觸處理的。
    b. 本文探討的是 bind(), accept(), listen() 這類型 function call 之間 kernel 會幫忙做的事情。

    有興趣的別忘了閱讀留言區

  • socket應用 在 MoneyDJ理財網 Youtube 的精選貼文

    2021-01-18 16:18:07

    5G、AI、HPC等新應用開枝散葉,驅使半導體產業追逐更精細的工藝、更強大的晶片效能。不過,隨著晶片設計、製造的複雜度提升,成本壓力也不斷墊高,若透過有效率的CP(晶圓測試)、FT(成品測試)測試,就可以減少製造成本的耗費,因此越來越受到重視,同步帶旺相關測試介面需求。
    其中,穎崴科技目前在全球測試座(socket)市占排名第三,近年也積極卡位探針卡商機,可說是半導體產業的隱形冠軍。究竟,穎崴的產品優勢在哪?MoneyDJ專訪到穎崴董事長王嘉煌,請他跟大家分享個人的創業歷程,以及公司未來營運展望。

    #穎崴 #半導體測試介面 #IC測試座 #探針卡 #老化測試 #同軸測試座 #高雄 #socket #5G #HPC #AI #高頻高速 #王嘉煌

    訂閱我們的Telegram頻道 最新節目不漏接
    https://t.me/moneydjnews

你可能也想看看

搜尋相關網站