鍍金池/ 問答/C  Linux  網(wǎng)絡(luò)安全/ tcp連接下源端口和目的端口的疑問?

tcp連接下源端口和目的端口的疑問?

假設(shè)我現(xiàn)在有個循環(huán)打印“hello world”的進程,就單單從進程角度來說,當(dāng)我啟動它的時候,它會被分配到一個端口號嗎?

換句話說,端口號是我去拿進程綁定了才有這個端口,還是只要一啟動進程就會被隨機分配一個端口?

現(xiàn)在引申出第二個問題,假設(shè)我有個客戶端進程A,ip地址是IPA,有一個服務(wù)端進程B,ip地址是IPB。B進程主動監(jiān)聽(綁定)了端口PB,現(xiàn)在A進程有個連接池,指向了IPB和PB?,F(xiàn)在A進程同時從連接池中拿出10個連接同時向B進程發(fā)送數(shù)據(jù),這個時候,這10個連接的四元組是什么樣的?

回答
編輯回答
怣痛
  1. 不會。操作系統(tǒng)不會閑的沒事干。
  2. 拿進程綁定了才有這個端口。
  3. IPA:[1..10] -> IPB:PB。因為連接池一開始就初始化了,所以不論拿不拿出來發(fā)數(shù)據(jù),四元組都不會變。
2017年5月28日 12:19
編輯回答
舊時光
  1. 進程啟動的時候綁定啥端口就分配啥端口,如果端口被占用,分配失敗,程序默認(rèn)情況下退出(做了異常捕獲的走異常處理流程)
  2. 連接建立成功后,四元組IPA:隨機端口x10 <-> IPB:PB 在斷開連接前是固定的,發(fā)數(shù)據(jù)不影響四元組
2018年9月19日 06:05