tcp/ip 學(xué)習記錄
tcp與udp的作用與區(qū)別
tcp 面向連接,通信過程中需要回饋機制保障數(shù)據(jù)的可靠傳輸,流控機制保證數(shù)據(jù)發(fā)送的效率,只能用單播進行傳輸。telnet stmp
udp 無連接 通信過程中沒有回饋機制,不保證數(shù)據(jù)的可靠傳遞,優(yōu)點是速度快,用于視頻等業(yè)務(wù)??梢杂脝尾?,組播,廣播進行傳輸
端口號的取值范圍:可以通過下圖看見source port 和destination port 占16個Byte 也就是可以描述2的16次方(65536)個數(shù),所以端口號的取值范圍為0-65535 0不作為端口號使用,所以取值為1-65535.
1-1024知名端口號的取值范圍
1025-65535未名端口號
TCP 和udp的報文格式

確認位 ACK? 當ACK置位為1的時候,代表確認號ack有確認作用
同步位?SYN? 當SYN置位為1的時候,代表我希望建立tcp連接
序列號 seq
確認號 ack
?說一下TCP建立三次握手的過程,用簡單的語言來描述的話如同以下場景:
外賣員:在嗎?
我:在
外賣員:外賣到了,來拿!
假設(shè)pc1 訪問 pc2,他們之間建立三次握手
第一次握手pc1?作為三次握手的發(fā)起方,他的seq序列號隨機產(chǎn)生,確認號ack總為0 syn置位為1 (一般情況下syn為1 ack為0代表第一次連接):

第二握手時pc2如果有富余的資源,會對tcp握手進行回饋,此時seq序列號隨機產(chǎn)生,ack確認號為pc1的seq值加上1 ,代表收到了請求可以進行回饋。此時syn同步位置位,ACK確認位置位。

第三次握手時pc1的seq序列號為a+1(這個是因為第一次握手時pc1隨機產(chǎn)生的序列號為a),確認號ack為pc2的序列號seq值加上1(通信過程中需要回饋機制保障數(shù)據(jù)的可靠傳輸)
此時ACK確認位置位
