TCP協(xié)議的功能都在其首部中得以體現(xiàn)声邦,TCP報(bào)文的首部前20個(gè)字節(jié)是固定的邀泉,也就是說TCP報(bào)文的首部長度的最小值是20买窟,格式如下:
序號:占4字節(jié)唯灵,TCP是面向字節(jié)流的贾铝,在一個(gè)TCP連接中傳送的字節(jié)流的每一個(gè)字節(jié)都按順序編號,很簡單的例子:比如傳送1000個(gè)字節(jié)的字節(jié)流早敬,其中每個(gè)字節(jié)都是有編號的忌傻,比如說是0-999,這里的序號是指發(fā)送的時(shí)候本報(bào)文段的第一個(gè)字節(jié)的序。
確認(rèn)號:占4字節(jié)价认,是期望收到下一個(gè)報(bào)文段的第一個(gè)數(shù)據(jù)字節(jié)的序號儒喊。所以我們可以知道
如果確認(rèn)號=N,則:到序號為N-1為止所有的數(shù)據(jù)都已經(jīng)正確收到
首部長度:占4個(gè)位龙巨,首部長度也稱為數(shù)據(jù)偏移,其代表的意思是本報(bào)文的數(shù)據(jù)起始處距離本報(bào)文段的起始處有多遠(yuǎn),因?yàn)門CP首部中存在可選字段绝淡,所以首部長度不固定,所以這個(gè)字段是必要的苍姜,可以明確指出TCP報(bào)文的首部長度牢酵。因?yàn)槠涫前?字節(jié)為單位的,所以4位二進(jìn)制數(shù)能表示的最大數(shù)是15衙猪,也就是首部最大長度是60字節(jié)馍乙。
保留:占6位布近,目前未使用,置0丝格。
碼元比特:其實(shí)是有6個(gè)控制位撑瞧,其中包括:URG,ACK,PSH显蝌,RST预伺,SYN,F(xiàn)IN曼尊;
窗口:占16個(gè)字節(jié)酬诀,這里的窗口不是指發(fā)送方的窗口,而是指接收端此時(shí)還能接收多少數(shù)據(jù)涩禀,因?yàn)榻邮辗浇邮諗?shù)據(jù)的緩沖區(qū)的大小是有限的料滥。此處的窗口值是作為發(fā)送方設(shè)置其發(fā)送窗口大小的依據(jù)。
校驗(yàn)和:占2個(gè)字節(jié)艾船,用來校驗(yàn)首部和數(shù)據(jù)部分葵腹。
緊急指針:占2個(gè)字節(jié),只有在URG位=1的時(shí)候才有效屿岂。
選項(xiàng):可選字段最長40字節(jié)践宴,