传输层协议介绍


传输层的作用

传输层–数据段,在传输层中数据会被分段

1.源主机和目标主机之间提供一个可靠的数据传输和通信服务

数据分段和重组

发送方:上层的应用程序传输的数据会被进行分段,每个数据段都会有一个序列号,添加一定的控制信息

接收方:在传输层把分段的数据进行重组,形成一个完整的数据

连接管理:可以建立,维护已经终止源主机和目的主机之间的连接。TCP/UDP主流都是TCP

可靠性保证:主要针对TCP,数据分段后的有序传递以及数据丢失后的检测已还有重传,数据检测和纠错机制。确保传输过程中的数据完整性和可靠性。

流量控制

拥塞控制

传输层的主要作用:

1、数据分段,重组。

2、连接管理(如何建立连接,如何断开连接)

3、TCP是端到端通信(端口对端口)

TCP当中包含源端口和目的端口


协议:数据通信过程中的规则,和约定,以及交互方式。

TCP协议

面对连接,端口到端口,建立通信。

程序:开发写好的代码,未运行,就是程序。

进程:已经开始执行的代码就是进程

服务:由进程提供的特定功能

进程到进程:两个执行起来的程序之间进行端口通信

TCP全双工服务,数据可以在同一时间内双向传输

TCP发现缓存和接受缓存,用来临时存储数据

缓存:临时数据

在这里插入图片描述

TCP(传输控制协议):通信双方建立通信之前必须要先建立连接


UDP协议

UDP(用户数据报协议):无连接,不保证传输的可靠性,发送端不关心发送的数据是否能够到达目标主机。数据是否出错也不在考虑范围之内。

接收方:也不会告诉发送方是否收到了数据。

可靠性由上层协议来进行保证,用户自定义。

延迟:UDP ping 42mm 将协议封装进了UDP

主流的还是TCP: 安全可靠,速度相对较慢

UDP:效率高,不安全


TCP报文的字段

源端口:发送方的端口

目的端口:接受方的端口

stream index : 1 (序列号),(索引号)

flag:标志位。TCP协议用来控制连接的符号

URG:紧急位,优先级较高的数据需要立刻通过的时候,才会有这个紧急位,要生效的话URG=1

ACK:确认位 只有ACK等于1时确认的序列号字段才有效 ACK=0 无效

Ack:接收方期望收到发送方下一个报文段的第一个字节数据的编号

接收方希望你发送方下一次发的数据的第一个字节的编号为确认号,确认传输是否正常。

PSH:急迫位,立刻送达应用层 PSH=1

RST:重置位,RST=1,通知重新建立TCP连接

SYN:同步/连接位。需要建立连接的第一步,必须要发送SYN SYN=1

FIN:断开位,FIN=1时,表示要断开连接。

SEQ:报文序号

WIN:接受缓冲区的空闲空间


在这里插入图片描述

所有的基于TCP协议的通信,第一步都是建立连接。建立连接一定是三次握手。


三次握手

PC1发送建立连接的请求

SYN=1 表示我希望和PC2建立连接 seq=1

PC2

SYN=1 ACK=1 确认同意建立连接 Ack=(1+1)确认身份,确认你是PC1

PC1

ACK=1(seq=1+1=2告诉PC2我是PC1),Ack=2+1=3(确认双方的数据传输)

客户端到服务端

客户端发送到服务端,建立连接的请求

客户端:SYN=1

服务端:SYN=1 ACK=1

客户端:ACK=1

为什么不需要第四次确认。两次确认已经分别确定了双方的序列号。已经知道了双方是谁,不需要再进行第四次确认了


四次挥手

PC1和PC2

PC1断开连接:

第一步

FIN=1 ACK=1 断开-确认

第二步

PC2:ACK=1 确认是PC1

第三步

PC2:FIN=1 ACK=1 ,我要和PC1断开,并且确认

第四步

PC1 :ACK=1 确认断开

四次挥手:PC1发送断开连接之后,PC2回复ack确认,这个时候PC1将不再向PC2发送数据。PC2还要继续接受PC1没有处理完的数据。全部收到,处理完毕之后,PC2才会向PC1发生确认断开。PC1发送ACK,确认断开。

为什么是四次挥手不是三次挥手?

主要就是为了防止另一端发送的数据接收方还没有接受完毕,直接关闭会导致数据丢失,所有要有等待数据全部接受完毕的过程,然后才能断开,以保证数据的完整

TCP半关闭

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

早上的星星

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

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

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

打赏作者

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

抵扣说明:

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

余额充值