三次握手四次挥手
1.三次握手四次挥手:
1.1三次握手(建立TCP连接):
- 客户端-发送带有SYN标志的数据包-一次握手-服务端
- 服务端-发送带有SYN/ACK标志的数据包-二次握手-客户端
- 客户端-发送带有ACK标志的数据包-三次握手-服务端
三次握手的目的是建立可靠的通信通道(数据的发送和接收),目的是双方确认自己与对方的发送和接收是否是正确的
SYN:SYN是TCP/IP建立连接使用的握手信号.
ACK:acknowledgement,确认字符,在数据通信传输中,接收站发送给发送站的以中传输控制字符,它表示确认发来的数据已经接收无误
1.2四次挥手(断开TCP连接):
- 客户端-发送一个FIN,用来关闭客户端到服务器的数据传送
- 服务器-收到这个FIN,他发回一个ACK,确认序号为收到的序号加1,和SYN一样,一个FIN将占用一个序号
- 服务器-关闭与客户端的连接,发送一个FIN给客户端
- 客户端-发回ACK报文确认,并将确认序号设置为收到序号加1
任何一方都可以在数据传送结束后发出连接释放的通知,待对方确认后进入版关闭状态.当另一方也没有数据再发送的时候,则发出连接释放通知,对方确认后就完全关闭TCP连接.
2.TCP与UDP
- TCP:面向连接,传输可靠,以字节流形式传输,传输效率慢,所需资源多,首部字节20-60
- UDP:无连接,传输不可靠,以数据报文段形式传输,传输效率高,所需资源少,首部字节8
2.1TCP协议如何保证可靠传输
- 应用数据被分割为TCP认为最适合发送给的数据块
- TCP给发送的每一个包进行编号,接收放对数据包进行排序,把有序数据传送给应用层
- 效验和:TCP将保持它首部和数据的效验和,目的是检测数据在传输过程中的任何变化,
- TCP的接收端会丢弃重复的数据
- 流量控制:TCP连接的每一放都有固定大小的缓冲空间,TCP的接收端只允许发送端发送缓冲端能成功接收的数据,当接收方来不及处理发送方的数据时,能提示发送方降低发送的速率,防止包丢失,TCP使用的流量控制协议是可变大小的滑动窗口协议,即TCP利用滑动窗口来实现流量控制
- 拥塞控制:当网络拥塞时,减少数据的发送
- ARQ协议:为了实现可靠传输的协议,基本原理:每发完一个分组停止发送,等待对方确认,在收到确认后发送下一个分组
- 超时重传:TCP发出一个段后,启动一个定时器,等待目的端确认收到这个报文段,如果没有及时收到确认,重新发送报文段
2.2ARQ协议
自动重传请求(Automatic Repeat-reQuest,ARQ)是OSI模型中数据链路层和传输层的错误纠正协议之一,通过使用确认和超时这两个机制,在不可靠服务的基础上实现可靠的信息传输.如果发送方在发送后一段时间之内没有收到确认帧,它通常会重新发送,ARQ包括停止等待AQR协议和连续ARQ协议
2.2.1停止等待ARQ协议:
- 停止等待协议是为了实现可靠传输的协议,基本原理:没法玩一个分组就停止发送,等待对方确认(回复ACK).如果超时,还是未收到ACK确认,说明发送失败,需要重新发送,知道收到ACK确认后再发送下一个分组
- 在停止等待协议中,若接收方收到重复分组,会丢弃该分组,同时发送ACK确认
- 优点:简单
- 缺点:信道利用率低,等待时间长
2.2.2连续ARQ协议
连续ARQ协议可提高信道利用率.发送方维持一个发送窗口,凡位于发送窗口内的分组可以连续发送出去,而不需要等待对方确认.接收方一般采用累计确认,对按到达的最后一个分组发送确认,表明到这个分组为止的所有分组都已经正确收到了
- 优点:信道利用率高,容易实现,及时确认丢失,也不必重传
- 缺点:不能向发送方反映出接收方已经正确收到的所有分组的信息,例如:Go-Back-N(回退N)
2.2.3拥塞控制
拥塞:在某段时间,对网络中某一资源的需求超过了该资源所能提供的部分,网络性能就会变差
拥塞控制是为了防止过多的数据注入到网络中那个,这样就可以是网络中的路由器和链路不致过载,
拥塞控制所要做的都有一个前提:网络能够承受现有的网络负荷
拥塞控制是一个全局性的过程,涉及到所有的主机、路由器以及与降低网络传输性能有关的所有因素

浙公网安备 33010602011771号