第5章-TCP和UDP基本原理

发布时间:2024年01月23日

1. TCP/IP传输层的作用

2. TCP基本原理

2.1. TCP头格式

2.2. TCP的三次握手

2.3. TCP的四次挥手

2.4. TCP的窗口滑动机制

3. UDP基本原理

4. TCP和UDP的比较


1. TCP/IP传输层的作用

????????1、定义:为主机:提供端到端的连接;为网络层:提供TCP和UDP服务;

????????2、作用:

????????提供面向连接或无连接的服务;

????????维护连接状态;

????????对应用层数据进行分段和封装;

????????实现多路复用;

????????可靠地传输数据;

????????3、TCP和UDP的区别

????????TCP(Transmission Control Protocol):面向连接;"流式传输"

????????UDP(User Datagram Protocol):无连接,不可靠;

????????对方在吗?对方收到了吗?对方收到的信息正确的吗?

2. TCP基本原理

2.1. TCP头格式

????????Source Port | Destination Port

????????源端口、目的端口;

????????端口:每个应用程序进出网络都需要经过一个唯一端口,通过端口来识别数据交由哪个应用程序处理;

????????服务端:固定端口号0~1023;客户端:1024以上随机端口;

????????命令:netstat -a

????????Sequence Number | Acknowledgement Number

????????Sequence Number 序列号

????????Acknowledgement Number 确认号

????????Data Offset | Reserved

????????Data Offset(数据偏移):标识数据分段在完整数据中的位置,进行数据重组;

????????Reserved(保留位):闲置;

????????Flags 标志位

????????URG(紧急指针字段标志):紧急开关位,优先转发;(紧急指针)

????????ACK(确认字段标志):标识字节流;

????????PSH(推功能):直接提交缓存数据,在缓存区中立即结束上传给应用层;

????????RST(重置连接):无法正常连接,死机、断线;

????????SYN(协商位、同步序列号):确认号;

????????FIN(数据传送完毕):标识结束—四次挥手;

????????Window

????????窗口尺寸:滑动机制,用来通告本机的接收能力;

????????问题:丢包重传

????????Checksum | Options | Padding

????????Checksum:Hash校验

2.2. TCP的三次握手

????????1、工作机制

????????seq:序列号,随机产生;

????????ack:确认号;

????????① 主机A向主机B发送请求,第一个数据包,产生一个seq:a;(无ack)

????????② 主机B回应主机A,a. 确认收到,产生一个ack:a+1;b. 产生一个seq;

????????③ 主机A回应主机B,对该确认再做确,再产生序列号;ack:a+1; seq:b+1;

????????④ 主机B收到主机A的确认报文后,连接建立;

????????例子:两个人打招呼;

????????2、确认重传机制

????????若数据包检测有错误,利用确认号,让对方再发一次

????????3、现实应用场景

????????TCP不要求对每个段一对一地发送确认,接收端可以用一个ACK确认之前收到的所有数据。

2.3. TCP的四次挥手

????????FIN(Finish Segment):结束段;

????????工作机制

????????① 主机A向主机B发送FIN,请求结束

????????② 主机B向主机A回应: a. ACK确认收到请求,b. FIN请求结束

????????③ 主机A向主机B回应ACK,确认结束

2.4. TCP的窗口滑动机制

????????目的:实现流量控制;

????????工作机制:使用大小可变的滑动窗口,定义窗口尺寸的通告;

3. UDP基本原理

????????1、功能:实现数据报模型的分组交换计算机网络通信而设计的;无连接、不可靠;

????????2、UDP的头格式

4. TCP和UDP的比较

????????1、TCP:

????????优点:传输可靠性高;

????????缺点:占用带宽高,传输延迟高;

????????应用场景:对数据完整性要求高,但对传输延迟要求低;

????????2、UDP:

????????优点:占用带宽低,传输延迟低;

????????缺点:没有任何可靠机制;

????????应用场景:对传输延迟要求高,但数据完整性要求低

文章来源:https://blog.csdn.net/qq_42603841/article/details/135741705
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。