网络基础知识03-传输层协议TCP和UDP
参考书籍:《TCP-IP详解卷》
UDP
特点:不可靠性。应用程序的数据传输给网络层,但是不保证数据的送达目的地。
基本概念:
1.UDP长度字段:指的UDP首部和数据的总和,最少8字节。
2.首部包含的数据:
- 两个十六位的端口号,分别为源端口(可选字段)和目标端口
- UDP长度字段
- UDP校验和数据
3.UDP的校验和
- UDP覆盖首部和数据的校验和
- UDP的校验和是非必须的
- 增加了伪首部,两次校验数据是否已经到达
- UDP在上图中伪首部返回为0,说明没有校验
传输
1.IP分片
- 传输层传输到网络层数据,IP传输数据对数据帧的最大长度有限制
- 可以在原始传输器分片,也可能在中转传输器分片
- 到达目的地才能进行重装
- IP数据传输没有重传的机制,丢失数据后UDP不会重传,TCP会重传
2. 广播,多播,单播
- 广播和多播为UDP仅有
- 单播:以太网帧仅发往单个目的主机,目的地址指向单个接口
- 广播:一个主机向网上的所有其他主机发送帧
- 多播:1.网卡过滤是否多播地址;2.主机过滤检测是否属于多播地址;
TCP
-
TCP的首部
- 首部中的6个标志
TCP连接的建立与终止
1.建立(三次握手)
-
请求端发送一个SYN段知名客户端打算链接的服务器端口,以及初始序号ISN
-
服务器返回服务器初始序号的SYN报文段。同时,将将请求端ISN序号+1
-
客户端对服务端ISN+1,对SYN报文端进行确认。
2.终止连接(四次握手)
每个方向必须单独进行关闭。客户端和服务器端,收到FIN必需通知应用层终止这个方向的数据传输。
-
客户端向服务器发送FIN
-
服务器收到FIN,他发回一个ACK,将收到的序号+1。
-
服务器同时发送一个FIN占用一个序号
-
客户端发挥一个确认,将确认的序号设置为收到的序号+1
3.TCP的半关闭
TCP提供的连接切断结束他的发送后,还能接收来自另一端数据的能力。
4.复位报文段
常见的情况:
-
产生复位的一种常见情况时,当连接请求到达时,目的端口没有进程正在听。UDP是产生一个不可达的信息,TCP则使用复位。
-
异常中端一个连接:
-
丢失任何数据立即发送复位报文段
-
RST的接收方会区分另一端执行的是异常关闭还是正常关闭;
-
-
检测版打开连接,一方已经关闭或者异常终止。例如客户主机突然停电。
4. 同时打开和同事关闭
-
两个应用程序同时批次执行主动打开。例如一个服务器发送另一个主机打开连接,同时另一个主机与服务器执行主动打开
-
每一端即是客户端又是服务端
- 同时关闭