TCP报文段的首部格式:
首部前20字节是固定的,后面4N字节根据需要增加
源端口和目的端口(各2字节):略
序号(4):每一个字节都按顺序编号,起始序号连接的时候设定。一个报文中的序号是指数据的第一个字节的序号。
确认号(4):期望收到对方的下一个报文的第一个数据字节的序号,并表示该号之前的数据已经收到
数据偏移(4):就是数据里起始处有多远,实际上也就是首部长度
保留(6):都是0
紧急URG(1):置1表示是紧急数据
确认ACK(1):连接建立后所传送的报文段都必须置1
推送PSH(1):置1表示不缓存,立即发送,同样,接收到不缓存 ,立即提交
复位RST(1):置1表示有严重差错,必须释放连接再重新连接
同步SYN(1):建立连接的时候用来同步序号的。置1表示请求连接或者接受连接
终止FIN(1):释放连接
窗口(2):指发送方的接受窗口,表示从本报文段首部中的确认号算起,接收方目前允许对方发送的数据量。
检验和(2):需要伪首部
紧急指针(2):指出了本报文中紧急数据的字节数
选项(40)长度可变;
MSS应该尽可能大些,只要在IP层不分片