网络工程师上午综合知识必备考点:TCP/UDP报头

一、TCP报头

TCP的全称是传输控制协议(TransmissionControlProtocol),TCP把连接作为最基本的对象,每一条TCP连接都有两个端点,这种端点我们叫作套接字(socket),它的定义为端口号拼接到IP地址即构成了套接字,例如,若IP地址为192.3.4.16而端口号为80,那么得到的套接字为192.3.4.16:80。IP协议虽然能把数据报文送到目的主机,但是并没有交付给主机的具体应用进程。而端到端的通信才是应用进程之间的通信TCP报文是TCP层传输的数据单元,也叫报文段。TCP报文的格式如下图所示:

网络工程师备考指南 网络工程师 备考_软考

1、源端口16位):说明源服务访问点

2、目标端口(16位):表示目标服务访问点

3、发送顺序号(32位):本段中第一个数据字节的顺序号

4、接收顺序号(32位):捎带接收的顺序号,指明接收方期望接收的下一个数据字节的

顺序号

5、偏置值(4位):传输头中32位字的个数。因为传输头有任选部分,长度不固定,所以需要偏置值

6、保留字段(6位)未用,所有实现必须把这个字段置全

7、标志字段(6位):表示各种控制信息,其中

•URG:紧急指针标志,为1时表示紧急指针有效,为0则忽略紧急指针。

•ACK:确认序号标志,为1时表示确认号有效,为0表示报文中不含确认信息,忽略确认号字段。

•PSH:push标志,为1表示是带有push标志的数据,指示接收方在接收到该报文段以后,应尽快将这个报文段交给应用程序,而不是在缓冲区排队。

•RST:重置连接标志,用于重置由于主机崩溃或其他原因而出现错误的连接。或者用于拒绝非法的报文段和拒绝连接请求。

•SYN:同步序号,用于建立连接过程,在连接请求中,SYN=1和ACK=0表示该数据段没有使用捎带的确认域,而连接应答捎带一个确认,即SYN=1和ACK=1。

•FIN:finish标志,用于释放连接,为1时表示发送方已经没有数据发送了,即关闭本方数据流。

8、窗口(16位):为流控分配的信息量。

9、校验和(16位)段中所有16位字按模216-1相加的和,然后取的补码。

10、紧急指针(16位):从发送顺序号开始的偏置值,指向字节流中的一个位置,此位置之前的数据是紧急数据。

11、任选项(长度可变)目前只有一个任选项,即建立连接时指定的最大段长。

12、补丁:补齐32位字边界。

二、UDP报头

UDP是UserDatagramProtocol的简称,中文名用户数据报协议,是OSI(OpenSystemInterconnection,开放式系统互联)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,UDP在IP报文的协议号是17。

UDP协议的通信较TCP简单了很多,减少了TCP的握手、确认、窗口、重传、拥塞控制等机制,UDP是一个无状态的传输协议。

UDP客户端在发送数据时并不判断主机是否可达,服务器是否开启等问题,同样它不能确定数据是否成功送达服务器。它只是将数据简单的封了一个包,之后就丢出去了。

网络工程师备考指南 网络工程师 备考_TCP_02

1、源端口:向目标主机指明接入他的主机所使用的端口号 用于目标主机回应

2、目标端口:指明要连接的目标主机的端口号

3、数据包长度:UDP头和数据总长度字节数

4、检验和:该值为UDP报文头括数据部分中每16Bit的二进制反码求和 (注:UDP检验和不是必须的)

相关试题:

1、TCP使用的流量控制协议是(1),TCP头中与之相关的字段是(2)。

(1)A.停等应答

B.可变大小的滑动窗口协议

C.固定大小的滑动窗口协议

D.选择重发ARQ协议

(2)A.端口号

B.偏移

C.窗口

D.紧急指针

【参考答案】B、C

2、UDP头部的大小为( )字节

A.8

B.16

C.20

D.32

【参考答案】A