网络工程师上午综合知识必备考点: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客户端在发送数据时并不判断主机是否可达,服务器是否开启等问题,同样它不能确定数据是否成功送达服务器。它只是将数据简单的封了一个包,之后就丢出去了。
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