计算机网络-运输层

运输层协议作用于端系统,为运行在不同主机上的进程提供了逻辑通信,将主机间的交付扩展到进程间交付。该层的分组称为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后执行快速重传(在定时器过期之前重传丢失的报文段)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值