为女朋友做的表白网站,网站成品作业,企业为什么要做培训,网站栏目建设征求意见TCP协议只定义了一种报文格式 建立、拆除连接、传输数据使用同样的报文 TCP报文格式 TCP报文段首部#xff08;20个字节#xff09; 源端口和目的端口#xff1a;各占2个字节#xff0c;16比特的端口号加上32比特的IP地址#xff0c;共同构成相当于传输层服务访问点的地址… TCP协议只定义了一种报文格式 建立、拆除连接、传输数据使用同样的报文 TCP报文格式 TCP报文段首部20个字节 源端口和目的端口各占2个字节16比特的端口号加上32比特的IP地址共同构成相当于传输层服务访问点的地址即“插口” 这些端口可用来将若干高层协议向下复用 序号字段和确认序号字段 序号占4个字节是本报文段所发送的数据部分第一个字节的序号。在TCP传送的数据流中每一个字节都有一个序号。例如一报文段的序号为300而起数据供100字节则下一个报文段的序号就是400 确认序号占4字节是期望收到对方下次发送的数据的第一个字节的序号也就是期望收到的下一个报文段的首部中的序号 由于序号字段有32比特长可以对4GB的数据进行编号这样就可保证当序号重复使用时旧序号的数据早已在网络中消失了 数据偏移字段 数据偏移占4比特表示数据开始的地方离TCP报文段的起始处有多远。这实际上就是TCP报文段首部的长度。由于首部长度不固定因此数据偏移字段是必要的。 保留字段 6比特供今后使用目前置为0。 6个比特的控制字段 紧急比特URGent当URG1时表明此报文应尽快传送而不要按原来的排队顺序来传送。与“紧急指针”字段配合使用紧急指针指出在本报文段中的紧急数据的最后一个字节的序号使接收方可以知道紧急数据共有多长 确认比特ACK只有当ACK1时确认序号字段才有意义 急迫比特PSH当PSH1时表明请求远地TCP将本报文段立即传送给其应用层而不要等到整个缓存都填满了之后再向上交付。 复位比特ReSeT当RST1时表明出现严重差错必须释放连接然后再重建传输连接。复位比特还用来拒绝一个非法的报文段或拒绝打开一个连接 同步比特SYN在建立连接时使用当SYN1而ACK0时表明这是一个连接请求报文段。对方若同意建立连接在发回的报文段中使SYN1和ACK1。因此SYN1表示这是一个连接请求或连接接受报文而ACK的值用来区分是哪一种报文 终止比特FINal用来释放一个连接当FIN1时表明欲发送的字节串已经发完并要求释放传输连接 窗口字段 窗口Window占2字节表示报文段发送方的接收窗口单位为字节。此窗口告诉对方“在未收到我的确认时你能够发送的数据的字节数至多是此窗口的大小。” 通知窗口advertised window接收端根据其接收能力许诺的窗口值是来自接收端的流量控制。接收端将通知窗口的值放在TCP报文的首部中传送给对方。 拥塞窗口congestion window是发送端根据网络拥塞情况得出的窗口值是来自发送端的流量控制。 检验和覆盖了整个的TCP报文段TCP首部和TCP数据。这是一个强制性的字段由发端计算和存储由收端进行验证。 选项字段允许每台主机设定能够接受的最大TCP载荷能力(缺省536字节) 。 TCP分节的封装 TCP的数据编号与确认 数据流、报文段和序号 TCP通信的动作 切割根据适合传输的大小对数据流进行切割 最大报文段长度64Kbytes 通常MTUIP头TCP头 复原用报文段恢复原始数据流的字节顺序 序号排序、查错及数据流复原 TCP数据流的切割与复原 报文序号 依据数据流中的字节序号流序号 报文序号为报文段中第一字节的流序号 如流序号x长度L的报文段则 报文的序号为x下一报文序号为xL 序号特点 报文的顺序关系 数据流的位置更便于流的复原 需较大的序号空间32bit4Gbyte 例如在一个报文中序号为300而报文中数据有100字节。 下一个报文符其序号为400 转载于:https://www.cnblogs.com/hnrainll/archive/2011/08/31/2160682.html