1 / 9
文档名称:

IPv6及TCP协议帧格式.doc

格式:doc   大小:247KB   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

IPv6及TCP协议帧格式.doc

上传人:文库旗舰店 2020/5/13 文件大小:247 KB

下载得到文件列表

IPv6及TCP协议帧格式.doc

文档介绍

文档介绍:一、TCP协议由RFC793定义:TCP(TransmissionControlProtocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。面向连接:在应用TCP协议进行通信之前双方通常需要通过三次握手来建立TCP连接,连接建立后才能进行正常的数据传输,因此广播和多播不会承载在TCP协议上。可靠性:由于TCP处于多跳通信的IP层之上,而IP层并不提供可靠的传输,因此在TCP层看来就有四种常见传输错误问题,分别是比特错误(packetbiterrors)、包乱序(packetreordering)、包重复(packetduplication)、丢包(packeterasure或称为packetdrops),因此TCP要提供可靠的传输,就需要具有超时与重传管理、窗口管理、流量控制、拥塞控制等功能。字节流式:应用层发送的数据会在TCP的发送端缓存起来,统一分片(例如一个应用层的数据包分成两个TCP包)或者打包(例如两个或者多个应用层的数据包打包成一个TCP数据包)发送,到接收端的时候接收端也是直接按照字节流将数据传递给应用层。作为对比,同样是传输层的协议,UDP并不会对应用层的数据包进行打包和分片的操作,一般一个应用层的数据包就对应一个UDP包。TCP报文格式:TCP封装在IP报文中的时候,如下图所示,TCP头紧接着IP头(IPV6有扩展头的时候,则TCP头在扩展头后面),不携带选项(option)的TCP头长为20bytes,携带选项的TCP头最长可到60bytes。 其中headerlength字段由4比特构成,最大值为15,单位是32比特,即头长的最大值为15*32bits=60bytes,因此上面说携带选项的TCP头长最长为60bytes。 TCP的源端口、目的端口、以及IP层的源IP地址、目的IP地址四元组唯一的标识了一个TCP连接TCP各字段释义: TCP源端口(SourcePort):16位的源端口其中包含发送方应用程序对应的端口。源端口和源IP地址标示报文发送端的地址。 TCP目的端口(Destinationport):16位的目的端口域定义传输的目的。这个端口指明报文接收计算机上的应用程序地址接口。 TCP序列号(SequenceNumber):32位的序列号标识了TCP报文中第一个byte在对应方向的传输中对应的字节序号。当SYN出现,SN=ISN(随机值)单位是byte。比如发送端发送的一个TCP包净荷(不包含TCP头)为12byte,SN为5,则发送端接着发送的下一个数据包的时候,SN应该设置为5+12=17。通过序列号,TCP接收端可以识别出重复接收到的TCP包,从而丢弃重复包,同时对于乱序数据包也可以依靠系列号进行重排序,进而对高层提供有序的数据流。另外如果接收的包中包含SYN或FIN标志位,逻辑上也占用1个byte,应答号需加1。TCP应答号(AcknowledgmentNumber简称ACKNumber):32位的ACKNumber是期望收到对方下一个报文段的数据的第一个字节的序号。如果设置了ACK控制位,这个值表示一个准备接收的包的序列码,注意是准备接收的包,比如当前接收端接收到一个净荷为12byte的数据包,SN为5,则会回复一个确认收到的数据包,如果这个数据包之前的数据也都已经收到了,这个数据包