IP数据报的格式分为报头区和数据区两大部分,其中报头区是为了正确传输高层数据而加的各种控制信息;数据区包括高层协议需要传输的数据。IP数据报的格式如图8-8所示。图8-8 IP数据报格式1.IP数据报各字段的功能IP数据报中的每一个域包含了IP报文所携带的一些信息,正是用这些信息来完成IP协议功能的,现说明如下。总长度总长度用16位二进制数表示,总长度字段是指整个IP数据报的长度,以字节为单位。......
2023-11-20
TCP报文段(常称为段)与UDP数据报一样,也是封装在IP中进行传输的,只是IP报文的数据区为TCP报文段。TCP报文段的格式如图8-17所示。
图8-17 TCP报文段的格式
1.TCP源端口号
TCP源端口号长度为16位,用于标识发送方通信进程的端口。目的端在收到TCP报文段后,可以用源端口号和源IP地址标识报文的返回地址。
2.TCP目的端口号
TCP目的端口号长度为16位,用于标识接收方通信进程的端口。源端口号与IP头部中的源端IP地址,目的端口号与目的端IP地址,这4个数就可以唯一确定从源端到目的端的一对TCP连接。
3.序列号
序列号长度为32位,用于标识TCP发送端向TCP接收端发送数据字节流的序号。序列号的实际值等于该主机选择的本次连接的初始序号(Initial Sequence Number,ISN)加上该报文段中第一个字节在整个数据流中的序号。由于TCP为应用层提供的是全双工通信服务,这意味着数据能在两个方向上独立地进行传输,因此,连接的每一端必须保持每个方向上传输数据的序列号到达232-1后又从0开始。序列号保证了数据流发送的顺序性,是TCP提供的可靠性保证措施之一。
4.确认号
确认号长度为32位。因为接收端收到的每个字节都被计数,所以确认号可用来标识接收端希望收到的下一个TCP报文段第一个字节的序号。确认号包含发送确认的一端希望收到的下一个字节的序列号,因此,确认号应当是上次已成功收到数据字节的序列号加1。确认号字段只有ACK标志(下面介绍)为1时才有效。
5.首部长度
用4位二进制数表示TCP首部的长短,它以32位二进制数为一个计数单位。TCP首部长度一般为20个字节,因此通常它的值为5。但当首部包含选项时,该长度是可变的。首部长度主要用来标识TCP数据区的开始位置,因此又称为数据偏移。
6.保留
保留字段长度为6位。该域必须置0,准备为将来定义TCP新功能时使用。
7.标志
标志域长度为6位,每一位标志可以打开或关闭一个控制功能,这些控制功能与连接的管理和数据传输控制有关,其内容如下:
·URG:紧急指针标志,置1时紧急指针有效。(www.chuimin.cn)
·ACK:确认号标志,置1时确认号有效。如果ACK为0,那么TCP首部中包含的确认号字段应被忽略。
·PSH:Push操作标志,置1时表示要对数据进行Push操作。Push操作的功能是:在一般情况下,TCP要等待到缓冲区满时才把数据发送出去,而当TCP软件收到一个Push操作时,则表明该数据要立即进行传输,因此TCP协议层首先把TCP首部中的标志域PSH置1,并不等缓冲区满就把数据立即发送出去;同样,接收端在收到PSH标志为1的数据时,也立即将收到的数据传输给应用程序。
·RST:连接复位标志,表示由于主机崩溃或其他原因而出现错误时的连接。可以用它来表示非法的数据段或拒绝连接请求。例如,当源端请求建立连接的目的端口上没有服务进程时,目的端产生一个RST置位的报文;或当连接的一端非正常终止时,它也要产生一个RST置位的报文。一般情况下,产生并发送一个RST置位的TCP报文段的一端总是发生了某种错误或操作无法正常进行下去。
·SYN:同步序列号标志,用来发起一个连接的建立。也就是说,只有在连接建立的过程中SYN才被置1。
·FIN:连接终止标志。当一端发送FIN标志置1的报文时,告诉另一端已无数据可发送,即已完成了数据发送任务,但它还可以继续接收数据。
8.窗口大小
窗口大小字段长度为16位,它是接收端的流量控制措施,用来告诉另一端它的数据接收能力。连接的每一端把可以接收的最大数据长度(其本质为接收端TCP可用的缓冲区大小)通过TCP发送报文段中的窗口字段通知对方,对方发送数据的总长度不能超过窗口大小。窗口的大小用字节数表示,它起始于确认号字段指明的值,窗口最大长度为65535个字节。通过TCP报文段首部的窗口刻度选项,它的值可以按比例变化,以提供更大的窗口。
9.校验和
校验和字段长度为16位,用于进行差错校验。校验和覆盖了整个的TCP报文段的首部和数据区。
10.紧急指针
紧急指针字段长度为16位,只有当URG标志置1时紧急指针才有效,它的值指向紧急数据最后一个字节的位置(如果把它的值与TCP首部中的序列号相加,则表示紧急数据最后一个字节的序号,在有些实现中指向最后一个字节的下一个字节)。如果URG标志没有被设置,紧急指针域用0填充。
11.选项
选项的长度不固定,通过选项使TCP可以提供一些额外的功能。每个选项由选项类型(占1个字节)、该选项的总长度(占1个字节)和选项值组成,如图8-18所示。
图8-18 TCP选项格式
12.填充
填充字段的长度不定,用于填充以保证TCP头部的长度为32位的整数倍,值全为0。
有关现场总线与工业以太网及其应用技术的文章
IP数据报的格式分为报头区和数据区两大部分,其中报头区是为了正确传输高层数据而加的各种控制信息;数据区包括高层协议需要传输的数据。IP数据报的格式如图8-8所示。图8-8 IP数据报格式1.IP数据报各字段的功能IP数据报中的每一个域包含了IP报文所携带的一些信息,正是用这些信息来完成IP协议功能的,现说明如下。总长度总长度用16位二进制数表示,总长度字段是指整个IP数据报的长度,以字节为单位。......
2023-11-20
图4-10 TCP报文格式3)顺序号:本次发送的数据的首字节的编号。5)头长度:TCP头部以32字节为一个表示单位。在建立连接时,TCP采用的是三次握手方法。TCP释放连接是双向的。2)TCP采用定时确认重传机制。3)TCP使用校验和检测数据在传输过程中的变化。4)TCP还能提供流量控制。TCP连接的每一方都有固定大小的缓冲空间。......
2023-11-25
由于这些原因,可以说TCP/IP互联网层和OSI网络层在功能上非常相似。图2-21 TCP/IP模型中的协议与网络3.应用层TCP/IP模型没有会话层和表示层。......
2023-11-22
ARP报文格式如图8-14所示。图8-13 ARP报文的以太网封装格式图8-14 ARP报文格式ARP报文格式说明如下:硬件类型硬件类型字段占2个字节,表示发送者硬件地址的类型。协议地址为IP地址时,它的值为0x0800。该字段指出4种操作报文类型:值为1时表示ARP请求报文,值为2时表示ARP应答报文;值为3时表示RARP请求报文;值为4时表示RARP应答报文。目的方硬件地址和目的方协议地址该地址长度由硬件地址长度字段和协议地址长度字段指定。......
2023-11-20
基金会现场总线,是在过程自动化领域得到广泛支持和具有良好发展前景的技术。屈于用户的压力,这两大集团于1994年9月合并,成立了现场总线基金会,致力于开发出国际上统一的现场总线协议。基金会现场总线分低速H1和高速H2两种通信速率。H1的传输速率为31.25 kbit/s,通信距离可达1900 m,可支持总线供电,支持本质安全防爆环境。H2总线标准也已形成。......
2023-11-22
TCP连接的每一方都有固定大小的缓冲空间。这几点也是用户实现TCP协议的几个重点,也是程序实现的基本原则。如果将字节流看做在两个应用程序间的单向流动,则TCP用序号对每个字节进行计数。TCP或UDP连接唯一地使用每个信息中的如下四项进行确认。状态转移图是整个TCP软件设计的灵魂,将状态和作用于状态的事件相联系。图9-20 TCP状态转移图4)在SYN_RCVD状态时,服务器T......
2023-11-20
在TCP/IP体系中,网络层包含5个协议:IP、ARP、RARP、ICMP和IGMP。TCP/IP使用IP地址识别网络中的计算机,每台计算机必须拥有惟一的IP地址。TCP/IP采用分组交换方式的通信方式。IP地址和子网掩码是TCP/IP网络中的重要概念,它们的共同作用是标识网络中不同的计算机及识别计算机正在使用的网络。......
2023-08-29
公文,是公务文书的简称,是政府部门、党政机关及社会团体各种公务活动中的事务性文书材料。一般公文没有封面,除正文外,首页上有文头,起到了封面的作用,末页上有文尾,文头和文尾构成了公文特有的版式特征。各类文件往往都有其固定的格式,同一种类文件的文头、文尾结构要求固定不变。公文版式由文头内容、公文内容和文尾内容三部分组成。文件保密等级、版头、发文字号和文头线。......
2023-06-24
相关推荐