第5章-TCP和UDP基本原理

本文详细介绍了TCP/IP传输层如何通过TCP和UDP提供服务,包括TCP的三次握手、四次挥手、窗口滑动机制以及与UDP的基本原理和两者之间的区别。重点讨论了TCP的可靠性和效率与UDP的灵活性之间的权衡。
摘要由CSDN通过智能技术生成

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:

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李秋天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值