迅雷电影下载官网:TCP/IP报头

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 14:08:24
TCP是美国国防部设计的两种传输协议之一,另一种是UDP。UDP是一种不可靠的网络服务,负载比较小,而TCP则是一种可靠的通信服务,负载相对而言比较大。TCP采用套接字(socket)或者端口(port)来建立通信。TCP给端口到端口通信提供了错误和流量控制机制,同时TCP还负责建立连接、处理终止和中断的端对端通信控制。通常情况下我们认为TCP相比UDP具有更大的通信负载,UDP不具备TCP的控制特性,TCP用了大约20个字节来发送一个65Kbps的数据块,这个报头占整个数据块的比重也不过3%。所以,总得来看,这个负载是合理的,何况还令通信具有了可靠性。源端口 16 位 主叫端口号目标端口 16 位 被叫端口号序列号 32 位 保证数据按照正确的顺序得到处理。号码代表封装数据的第一个字节的序列号,按顺序分段加1确认号 32 位 代表下一个希望接收的TCP字节数据偏移 4 位 TCP报头中32位字的数目保留 6 位 设置为0标志 6 位 控制连接和数据流的建立和终止:URG 紧急指针字段ACK 确认字段PHS 推函数RST 复位连接SYN 同步序列编号FIN 发送方没有更多数据需要传输窗口 16 位 接收窗口的大小,表示发送方希望接收的字节数目校验和 16 位 根据IP地址字段、TCP报头和长度的校验和紧急指针 16 位 紧急数据之后的第一字节指针,让接收方知道有少紧急数据到来。选项 可 变 当前只定义了最大 TCP 段大小IPSource Port (16) | Destination Port (16)
Sequence Number (32)
Acknowledgment Number (32)
Data Offset(4) | Reserved (6)|UGR|ACK|PSH|RST|SYN|FIN|Window(16)
Checksum (16) | Urgent Pointer (16)
Options (0 or more 32 bit words + padding)
DATA
TCPSource Port (16) | Destination Port (16)
Sequence Number (32)
Acknowledgment Number (32)
Data Offset(4) | Reserved (6)|UGR|ACK|PSH|RST|SYN|FIN|Window(16)
Checksum (16) | Urgent Pointer (16)
Options (0 or more 32 bit words + padding)
DATA

09:23:34.838575 10.82.0.154.1436 > 192.1.2.124.microsoft-ds: S 3344270890:3344270890(0) win 65535 (DF)
由于以太网传输电气方面的限制,每个以太网帧都有最小的大小64bytes最大不能超过1518bytes,对于小于或者大于这个限制的以太网帧我们都可以视之为错误的数据帧,一般的以太网转发设备会丢弃这些数据帧。(注:小于64Bytes的数据帧一般是由于以太网冲突产生的“碎片”或者线路干扰或者坏的以太网接口产生的,对于大于1518Bytes的数据帧我们一般把它叫做Giant帧,这种一般是由于线路干扰或者坏的以太网口产生)由于以太网EthernetII最大的数据帧是1518Bytes这样,刨去以太网帧的帧头(DMAC目的MAC地址48bit=6Bytes+SMAC源MAC地址48bit=6Bytes+Type域2bytes)14Bytes和帧尾CRC校验部分4Bytes(这个部门有时候大家也把它叫做FCS),那么剩下承载上层协议的地方也就是Data域最大就只能有1500Bytes这个值我们就把它称之为MTU。这个就是网络层协议非常关心的地方,因为网络层协议比如IP协议会根据这个值来决定是否把上层传下来的数据进行分片。MSS就是TCP数据包每次能够传输的最大数据分段。为了达到最佳的传输效能TCP协议在建立连接时候通常要协商双方的MSS值,这个值TCP协议在实现的时候往往用MTU值代替(需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Byte)所以往往MSS为1460。通讯双方会根据双方提供的MSS值得最小值确定为这次连接的最大MSS值。Maximum Segment Size (MSS)
Selective Acknowledgment OK (sackOK)
Don't Fragment (DF)
No Option (NOP)