第十三章:运输层简介

1:进程通信

1:运输层提供进程到进程的通信,进程通过Ip+端口号标识自己,端口号16位,取值0~65535之间

2:0~1023为熟知端口号,1024~49151为注册端口号,49152~65535为动态端口号

3:源点运输层执行复用,将不同进程数据放入运输层,终点运输层执行分用,将运输层数据交付到不同进程

4:数据的推送和拉取:

(1):推送是生产者数据一生产就发送出去,不需要消费者请求,推送需要反向流量控制,让消费者告诉生产者放慢发送速度

(2):拉取是消费者主动请求生产者发送数据,拉取不需要流量控制

 

2:流量控制

1:发送方应用层产生数据,报文被推送至运输层,这里需要运输层进行反向流量控制,发送方运输层分组被推送到接收方运输层,这里接收方运输层同样要进行流量控制,最后,接收方应用层从接收方运输层拉取数据

2:在发送方运输层和接收方运输层都设置一个缓存,当发送方缓存满时,通知应用层停止发送数据,当接收方运输层缓存满时,通知发送方运输层停止发送数据

 

3:差错控制

1:同流量控制一样,接收方反向进行差错控制

2:采用给分组加序号方式实现差错控制,接收方通过确认号(ACK)通知发送方正确收到了一个分组,发送方通过使用计时器设置发送分组后的倒计时,如果超时还没有收到ACK则重发分组

 

4:流量控制和差错控制的组合

流量控制需要设置缓存,差错控制需要设置序号和确认号,一种巧妙的实现方法是将缓存分成小格子并编号,编号便成为序号和确认号的基础,滑动窗口便由此实现,书上的图很详细

 

5:拥塞控制

1:拥塞的原因是路由器和交换机上的队列溢出

2:拥塞控制分为拥塞发生之前的预防措施:开环拥塞控制,拥塞发生后的消除措施:闭环拥塞控制

3:开环拥塞控制:可由源点也可有终点来处理

(1):重传策略:重传是不可避免的,一般来讲重传会加重拥塞,但好的重传策略能够预防拥塞

(2):窗口策略:

(3):确认策略:

4:闭环拥塞控制:运输层发送窗口会在产生拥塞时减小,在拥塞消除时变大,这种动态调节有利于消除拥塞

 

6:无连接和面向连接的服务

1:网络层的无连接和面向连接

网络层的无连接是指多个数据报经过不同的路由到达目的主机,面向连接指先建立一条确定的链路,然后传输数据

2:传输层的无连接和面向连接

1:传输层是端到端,它不关心网络层是无连接还是面向连接

2:传输层无连接时没有流量控制,差错控制,拥塞控制,有连接时有这些控制

3:传输层无连接数据可能会失序,错误,丢失

 

7:基本概念:带宽,时延,时延带宽积

1:带宽

1: 带宽是数据率不规范的叫法

2:带宽的单位是b/s,kb/s,Mb/s,Gb/s,Tb/s;相同的写法是bps,mps;b是二进制的意思,计算机数据的B是8个二进制位,和这里不同,并且进位是1000而不是1024

3:带宽表示每秒发送多少个二进制位,如果只发送一个二进制位,1b/s和1m/s带宽此位会同时到达目的主机,带宽是表示数字信号在时间轴上的宽度,带宽越大,宽度越窄,能容纳的数据也就越多

4;带宽也就是吞吐量

2:时延

1:时延包括发送时延,传播时延,处理时延,其中传播时延基本相同

2:发送时延=数据块长度(二进制位)/带宽

3:提高带宽只是提高了发送时延,很难提高传播时延(也就是光速)

3:时延带宽积

1:时延带宽积=传播时延*带宽

2:时延带宽积表示整条管道能容纳多少数据,可用于计算管道利用率

 

8:停止等待协议

1:此协议面向连接,能提供流量控制和差错控制,差错控制要求发送方在没有收到ACK时应该保存发送出去的副本

2:此协议使用大小为1的滑动窗口

3:发送方使用序号表示当前发送出去的分组,接收方用确认号表示想要收到的下一个分组,对于停止等待协议,由于滑动窗口大小为1,则序号和确认号为1,0,1,0,1,0...

4:对于发送方:发送方发送一个分组,加上检验和和序号A,并启动一个计时器:

(1):收到确认ACK,检验和错误,丢弃

(2):收到ACK,确认号!=A+1,丢弃

(3):收到ACK,确认号==A+1,发送序号为A+1的分组

(4);超时,重发序号A的分组

5:对于接收方:

(1):收到分组校验和错误,丢弃

(2):序号不是自己想要的分组,分组丢弃,发送ACK=A

(2):收到A,发送确认号为A+1的ACK

6:停止等待协议管道利用率很低

7:以下两种采用流水线方式进行传输,效率更高,流水线方式就是前一个任务还没完成就开始下一个任务

 

9:返回N协议

1:该协议序号必须是2的m次方,发送窗口大小2的m次方-1,接收窗口1

2:发送方发送窗口大小个分组并等待确认,并设置一个计时器,也就是第一个发送出去的分组的计时,因为它会最先超时,如果超时,发送方重发所有未被确认的分组,每收到一个确认,滑动窗口会滑动到确认处

3:此协议ACK的确认号是累计的,表示确认号之前的分组已经完全收到

5:此协议的特点是如果超时,发送方之前发送的所有分组都会重传,这也是"返回N"的由来

6:此协议详情参见书上,对于发送窗口的大小设置有详细的解释

 

10:选择重传协议

1:发送窗口和接受窗口一样大,最大2的(m-1)次方

2:确认号A只表示接收方正确收到序号为A的分组

3:发送方只使用一个计时器,当计时器超时,重传所有未收到确认号的分组

4:具体流程图参见书上,由于此协议是实际TCP实现,下面简单介绍下,一些我已经知道的就不说明了

5:发送方:

(1):应用层给运输层传递来的数据,如果滑动窗口还有空位,则放到滑动窗口中,发送此数据,如果计时器没计时,则启动计时器

(2):收到正确的ACK,则标记,并检查窗口是否能向前滑动,如果还有等待ACK的分组,则重置计时器,没有则关闭计时器

(3):计时器超时,重发所有等待ACK的分组,重置计时器

6:接收方:

(1):收到一个在滑动窗口的分组,发送ACK,并检查窗口能否滑动,如果能滑动则提交数据给应用层(这里我的理解和书上有点出入,我认为应该是应用层主动拉取数据,导致滑动窗口滑动),

(2):收到一个在滑动窗口之前的分组,发送此分组的ACK,这种特殊做法的目的是帮助发送方滑动它的窗口

 

11:双向协议:捎带

前面讨论的情况都是单向的,但实际情况是双向通信,这就能够使用捎带,A向B发送数据的同时捎带A想发送给B的确认号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值