TCP/IP详解 笔记十三
TCP協(xié)議(一) 概述
?
特點
1,? 面向連接可靠的字節(jié)流服務
2,? 只有兩方通信,不能用于廣播或多播
3,? 應用數(shù)據(jù)被TCP分隔為最合適發(fā)送的數(shù)據(jù)段,傳給IP協(xié)議棧
4,? 發(fā)送端并啟動定時器,超時重傳
5,? 接收端需要發(fā)送確認
6,? 檢驗和錯誤的數(shù)據(jù)包將被丟棄,并不確認收到此數(shù)據(jù)包(希望超時重傳)
7,? 重新排序,因為TCP數(shù)據(jù)包是IP報文的數(shù)據(jù),而ip協(xié)議不保證數(shù)據(jù)按順序到達,所以需要重新排序。
8,? 同理,ip包會發(fā)生重復,所以TCP需要排重。
9,? 流控制,TCP的每一方有固定大小的緩沖空間,接收端只允許發(fā)送端發(fā)送能容納的數(shù)據(jù)。
10, 提供全雙工服務。
?
字節(jié)流服務
?
TCP報文結(jié)構(gòu)
?
字段解釋:
插口對:IP頭部的ip+tcp頭部的端口唯一確定一個應用程序,而相對的插口稱為插口對唯一確定tcp雙方。
序號:標識發(fā)端向收端發(fā)送的數(shù)據(jù)字節(jié)流,表示這個報文中的第一個數(shù)據(jù)字節(jié)。序號對每個字節(jié)計數(shù),序號為32bit無符號數(shù)據(jù),到達232-1 回到0
SYN:當建立一個新的連接的時候SYN變?yōu)?,此時序號字段包含主機選擇的初始序號ISN(Initial Squence Number),該主機發(fā)送的第一個字節(jié)序號為ISN+1。
確認序號:等于上次已經(jīng)成功收到的字節(jié)序號加1,只有ACK標識為1時確認序號才有效。連接一旦建立確認序號總是被設(shè)置。
因為TCP提供全雙工的服務,所以連接的每一方必須保存?zhèn)鬏敂?shù)據(jù)序號。
TCP可以表述為一個沒有選擇確認和否認的滑動窗口協(xié)議,收到數(shù)據(jù)包后不能確定或否定該數(shù)據(jù)包的對與錯,而只是回復相應的確認序號。
首部長度:給出首部32bit字的數(shù)目,為4bit所以,首部長度最長為60字節(jié),不加選項為20字節(jié)。存在這個字段的原因是選項長度是可變的。
標識位:
?
滑動窗口大小:TCP的流量控制由連接雙方聲明窗口大小提供,窗口大小的單位為字節(jié),起始于確認序號指定的值,窗口大小字段為16bit,所以窗口最大為65535字節(jié)。
校驗和:覆蓋首部和數(shù)據(jù),強制性字段,由發(fā)端計算和存儲,由接收端校驗。
緊急指針:當URG為1時才有效,是一個正的偏移量,和序號相加表示緊急數(shù)據(jù)最后一個字節(jié)的序號。
選項:最常見的選項是最大報文大小MSS(Maximum Segment Size).
?
轉(zhuǎn)載于:https://www.cnblogs.com/manziluo/p/5862882.html
總結(jié)
以上是生活随笔為你收集整理的TCP/IP详解 笔记十三的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 团建(四)
- 下一篇: sql server 调用webserv