TCP协议和UDP协议
Posted chengxiaodi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP协议和UDP协议相关的知识,希望对你有一定的参考价值。
TCP协议:
TCP可以提供可靠的,面向连接的传输服务(TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源),但是会增加资源的开销。
UDP协议:
UDP 在传送数据之前不需要先建立连接,远地主机在收到 UDP 报文后,不需要给出任何确认,故UDP属于不可靠连接。
TCP如何保证可靠传输
(1)数据处理:将应用层数据分割成TCP认为最佳的分组。
(2)对每一个分组进行排序编号,做有序传输并且丢弃重复分组
。
(3)检验和:校验分组的和,校验和的数值若超过十六进制,则补码后做校验和;通常用在远距离通信中确保数据的完整性和准确性
。
(4)流量控制:TCP数据传输的双方都有数据接收缓冲区并且设有大小(使用滑动窗口设定大小),这样可以控制发送速率保证数据丢失
(5)拥塞控制:网络拥塞时减少分组的传输。
(6)ARQ协议:原理是先发送一个分组,待确认之后,再进行下一个分组的发送。
(7)超时重发:TCP发出一个分组后,启动一个定时器,超时就重新发送一遍。
ARQ协议:
定义:即自动重传请求,是运输层错误纠正协议之一。使用确认和超时两个机制,若没有收到确认帧就会重新发送;包括停止等待ARQ协议(发送一个分组就停止和等待,接收到确认ACK就继续发送,这样信道利用率低,而且也需要定时器,超时重传)和继续ARQ协议(不用停止等待,传送完后在进行确认,这样信道利用率高)
确认丢失和确认迟到:(确认丢失)若接收到信息后,回复确认信息在信道上丢失,发送方会重新发送分组,接收方这时候会丢弃重复分组,然后再次发送确认信息。
(确认迟到)确认信息迟到的话,发送方也是再次发送分组,接收方也会再次发送确认信息,两方最后接收到的信息都会发生重复,也都会做一次丢弃
拥塞控制:
拥塞定义:传输数据超过了网络的承载量,网络的性能就会变拥塞。
拥塞窗口:取决于网络的拥塞程度,且呈动态变化,数据传输的双方都拥有自己的拥塞窗口
拥塞控制:发送方的拥塞窗口取决于接收方的最小拥塞窗口
拥塞控制的三种解决方案:
(1)慢开始:不要一次性将传输数据注入网络,要试探性增加数据量的注入,cwnd初始值为1,每经过一个传播轮次,cwnd加倍
(2)拥塞避免:让拥塞窗口cwnd缓慢增大,即每经过一个往返时间RTT就把发送放的cwnd加1
(3)块重传与快恢复(FRR):接收方收到一段不按顺序的分组,就立即重复确认,发送方接收到三次重复确认即认为数据丢失,这时候就立即重发,不用等待。但是在短时间内丢失过多的话,这个方案也不能有效的工作
以上是关于TCP协议和UDP协议的主要内容,如果未能解决你的问题,请参考以下文章