在以下兩種場景需要確定埠(不考慮reuse和time_wait):
1.bind呼叫時
2.connect時
需要注意的是,1和2是不一樣的,在呼叫bind時,目的ip和目的埠並不知道,因此需要嚴格和本機其它的ip/埠對區別開來,在繫結位址或者裝置的情況下,兩個繫結不同本地位址或者繫結不同裝置的socket可以使用同一埠,如果選定了乙個埠,只要使用該埠的socket中(包括它自己)有乙個不繫結ip或者裝置,這個埠就不能被再次使用。
在2的情況下,由於已經確定了目的ip和埠,因此「乙個連線-虛擬鏈路」已經確定,因此只要對端ip/port不一樣,即使本機使用相同的ip/port對都無所謂。本質上socket在connect之前屬於游離的,connect之後就是確定的了,為了通訊需要明確兩個端點,只要這兩個端點構造的虛擬鏈路能和其它的虛擬鏈路區分出來即可。因此我們不妨將下面的第乙個引數改小一些,從而使本機可以連線更多的機器:
sysctl net.ipv4.ip_local_port_range="x 61000"
tcp ip網路中埠的選定
在以下兩種場景需要確定埠 不考慮reuse和time wait 1.bind呼叫時 2.connect時 需要注意的是,1和2是不一樣的,在呼叫bind時,目的ip和目的埠並不知道,因此需要嚴格和本機其它的ip 埠對區別開來,在繫結位址或者裝置的情況下,兩個繫結不同本地位址或者繫結不同裝置的sock...
網路程式設計(TCP IP協議 埠 IP位址)
網路能夠把多方鏈結在一起,然後可以進行資料傳遞 網路程式設計 讓不同電腦上的軟體能夠進行資料傳遞,即程序之間的通訊 為了把全世界的所有不同型別的計算機都連線起來,就必須規定一套全球通用的協議,為了實現網際網路這個目標,網際網路協議簇 internet protocol suite 就是通用協議標準。...
TCP IP協議中的埠號
tcp ip協議中的埠號 標識本計算機應用層中的各個程序在和運輸層互動時的層間介面,共有65535個。埠的類別 伺服器端使用的埠號 1 熟知埠號或系統埠號 well known ports 從0到1023。它們緊密繫結於一些服務。通常這些埠的通訊明確表明了某種服務的協議。例如 80埠實際上總是htt...