您的位置:首页 > 理论基础 > 计算机网络

计算机网络-运输层

2017-06-12 16:30 204 查看
运输层协议作用于端系统,为运行在不同主机上的进程提供了逻辑通信,将主机间的交付扩展到进程间交付。该层的分组称为segment(报文段)。

多路复用:主机把不同套接字( 每生成一个套接字同时分配一个端口号)收集的数据封装后生成报文段,发送给网络层

多路分解:将运输层报文段的不同数据(通过套接字的端口号)交付给相应的套接字

假设主机A的进程有端口号19157,主机B的进程有端口号46468。

1.A的进程创建的运输层报文包括数据,源端口号,目的端口号,目的IP地址和目的端口号。

2.接收主机运输层识别目的端口号后,将该报文段交付给被标识为46468的套接字。

3.UDP套接字通过目的IP地址和目的端口号进行区分;TCP套接字由源IP地址,源端口号,目的端口号,目的IP地址和目的端口号进行区分。

UDP协议

不提供提供可靠的数据服务和拥塞控制机制。

1.在发送之前不用握手

2.根据端到端原则(在较低级别没有必要)提供差错检测功能

3.可靠数据传输协议:

ARQ协议(自动重传请求)通过肯定确认(ACK)和否定确认(NAK)让发送方知道信息是否被正确接收

为了避免确认消息分组受损,在数据分组添加分组序号

根据收发双方的往返时延,设置倒计时定时器。每发送一个分组便启动一个定时器,响应定时器中断,终止定时器。

流水线:允许发送方发送多个分组而无需等待确认,通过回退N步或选择重传

(GBN)回退N步协议:

1.未确认的分组数不超过窗口长度N(必须小于等于序号空间的一半)

2.积累确认:接收方已确认序号为n之前所有分组都成功接收

3.上一个交付给应用层的数据为n-1,本次为n。否则丢弃该分组。之后窗口向前滑动

SR(选择重传)协议:

只重传那些丢失或者受损的分组。而失序的分组将被缓存直到序号更小的分组都已经收到。再将该批分组交付给应用层。

TCP协议

提供可靠的数据服务。每个TCP连接只能用于一对客户-服务器。

在连接之前互相交换运输层的控制信息(3次握手:客户向服务器发送SYN报文段,服务器发送SYNACK报文作为响应,最后客户向服务器发送确认)。之后在2个进程的套接字之间建立全双工的TCP连接。放入报文段的数量取决于MSS(最大报文段长度指位于应用层的最大长度),

接受方向发送方发送FIN报文,发送方返回ACK后再发送FIN报文,接收方发送ACK结束连接。

流量控制服务:通过接受窗口(rwnd了解接收方的剩余空间)防止接收方缓存溢出

拥塞控制机制:根据所感知的网络拥塞程度来限制速率

发生拥塞时,发送方在大时延进行的不必要重传,分组被丢弃时浪费了之前的传输容量。 出现超时或者3个冗余ACK(当接收到一个序号大于期望值的报文段,接收方向发送方发送一个冗余ACK指示下一个期待的序号。)认为出现拥塞

TCP拥塞控制算法:在每个往返时延内cwnd(拥塞窗口)线性增加1MSS,出现3个冗余ACK时减半

慢启动:开始时cwnd的值小于MSS;

拥塞避免:cwnd的值减半;

快速恢复(推荐)

当发送给发送端的确认报文丢失时,发送端将会重发,但是接收端会丢弃;

超时时TCP重传具有未确认具有最小未确认信号的报文段,每次重传后超时时间加倍;

发送方收到3个冗余ACK后执行快速重传(在定时器过期之前重传丢失的报文段)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  网络