计算机网络(33)——传输层知识点整理

传输层知识点整理

传输层协议为运行在不同Host上的进程提供了一种逻辑通信机制

网络层与传输层之间的区别

网络层:提供主机之间的逻辑通信

传输层:应用进程之间的逻辑通信机制

多路复用/分用

多路分用

传输层依据头部信息将收到的Segment交给正确的Socket,即不同的进程。

  • 主机接收到IP数据报
  • 主机收到segment之后,传输层协议提取IP地址和端口号信息,将Segment导向相应的Socket

无连接分用(UDP)

利用端口号创建Socket

UDP的Socket用二元组标识,主机收到UDP段后,来自不同源IP地址和/或源端口号的ip数据报被导向一个Socket

多路复用

从多个Socket接收数据,为每块数据封装上头部信息,生成Segment,交给网络层

TCP的socket用四元组标识;源IP地址,源端口号,目的IP地址,目的端口号

接收端利用所有的四个值将Segment导向合适的Socket

服务器可能同时支持多个TCP Socket

Web服务器为每个客户端开不同的Socket


UDP协议

基于IP协议

实现复用/分用

简单的错误校验

无连接

尽力而为的服务模型,所以有可能丢失,非按序到达

UDP为什么存在

无需连接建立连接(减少延迟)

实现简单,无需维护连接状态

头部开销少

没有拥塞控制,应用可以更好地控制发送时间和速率

用途:流媒体应用,dns,SNMP

UDP校验和

目的:检测UDP段在传输中是否发生错误


可靠数据传输原理

可靠:不错,不丢,不乱

可靠数据传输的基本结构:接口

RDT1.0(在可靠信道上的可靠数据传输)

底层信道完全可靠

发送方和接收房的FSM(状态机)独立

RDT2.0(在产生位错误的信道)

利用检验位和检测位错误

从错误中恢复的重传机制

确认机制(ACK):接收方显示地告知发送方分组已正确接收

NAK:接收方显示的告知发送发分组有错误

发送方收到NAK后,重传分组

基于这种重传机制的rdt协议:ARQ协议

利用FSM规约

RDT2.1(可以应对ACK、NAK破坏)

发送方为每个分组增加了序列号

接收方需判断分组是否重复

RDT2.2(无NAK消息协议):利用重复ACK代替NAK

RDT3.0(可处理信道既可以发送错误,也可能丢失分组)

RDT设置了一个计时器,超时则重发

能够正确工作,但性能很差


流水线协议

允许发送方在收到ACK之前连续发送多个分组

更大的序列号范围

发送方和/或接收方需要更大的存储空间以缓存分组

滑动窗口协议

窗口:允许使用的序列号范围,窗口尺寸为N,窗口在序列号空间内向前滑动

滑动窗口;随着协议的运行,窗口在序列号空间内向前滑动

协议:GBN,SR

GBN协议

发送方

分组头部包含k-bit序列号

窗口尺寸为N,最多允许N个分组未确认

ACK:确认序列号为n的分组被正确接收

为空中的分组设置计时器,超时事件:重传序列号大于等于n,还未收到ACK的所有分组

SR协议

窗口尺寸要求:Ns+Nr<=2^k,k是序列号的位数,Ns是发送方窗口大小,Nr是接收方窗口大小


TCP协议

点对点:一个发送方,一个接收方

可靠地,按需的字节流

使用流水线机制

发送方/接收方缓存

全双工;同一连接中能传输双向数据流

面向连接,流量控制机制

 

TCP快速重传机制

如果发送方收到同一数据的3个ACK,则假定该数据之后的段已经丢失

快速重传:在定时器超时之前就进行重传

TCP连接管理

三次握手(重要)

四次挥手

拥塞控制

 

控制的方法

端到端的拥塞控制

网络层不需要显示的提供支持

端系统通过观察loss,dely等网络行为判断是否发生拥堵

TCP采取

网络辅助的拥塞控制

路由器向发送方显示地反馈网络拥塞信心

简单的拥塞指示:SNA,DECbit,TCP/IP ECN,ATM

指示发送方应采取何种速率

TCP拥塞控制

如何确定速率?

rate约等于Congwin/RTT b/s

Congwin:动态调整以改变发送速率,反映所感知到的网络拥塞

Loss事件=timeout或3个重复ACK

发生Loss时间后,发送方降低速率

如何合理地调整发送速率?

加性增——乘性减:AIMD

慢启动:SS

加性增——乘性减:AIMD

逐渐增加发送速率,谨慎探测可用带宽,直到发生loss

慢启动:SS

指数性增长

每个RTT将CongWin翻倍

收到每个ACK进行操作

初识速率很慢,但是快速攀升

到达threshold后线性增长

LOSS事件发生后threshold变为Congwin的一半

Loss时间的处理

3个重复ACKs

CongWin减半再线性增长

Timeout

Congwin直接为1

因为timeout更加严重

TCP性能分析

平均吞吐率:0.75w/RTT

平均窗口尺寸:0.75w

w是窗口尺寸,MSS是最大TCP段长

具有公平性

学习通错题记录

TCP 段头的最小长度是( ) 字节。

(2.0分)

  • A、

    16

  • B、

    20

  • C、

    24

  • D、

    32

正确答案: B 我的答案:B

1

通信信道带宽为1Gb/s,端到端时延为10ms。TCP的发送窗口为65535字节。试问:可能达到的最大吞吐量是多少? 

(4.0分)

正确答案:

答:   

L=65536×8+40×8=524600

       C=109 b/s

       L/C=0.0005246s

 Td=10×10-3 s

       Throughput=L/(L/C+2×Td)=524600/0.0205246=25.5Mb/s

最大吞吐量为25.5Mb/s。

假设A、B两个端系统通过唯一的一条8Mbps链路连接(M=10^6),该链路的双向传播时延是150ms;A通过一个TCP连接向B发送一个大文件,B的接收缓存足够大,每个TCP段最大段长度(MSS)为1500字节,TCP采用Reno版本,且总是处于拥塞避免阶段(即忽略慢启动)。请回答下列问题:
1).该TCP连接能够获得的最大窗口尺寸(以TCP段数计)是多少?
2).该TCP连接的平均窗口尺寸(以TCP段数计)和平均吞吐量(以bps计)是多少?
3).该TCP连接的拥塞窗口从发生丢包到恢复到最大窗口尺寸要经历多长时间?

(10.0分)

正确答案:

(1)当发送速率最大只能等于链路带宽时才能不发生丢包,因此由公式可得:
W * MSS / RTT = 8Mbps
W = 8 * 10^6 * 150 * 10^(-3) / (1500 * 8) = 100
因此TCP连接能够获得的最大窗口尺寸是100
(2)由公式可得:
平均窗口尺寸为:We = 0.75 * W,即:
We = 0.75 * 100 = 75,
平均吞吐率为:
We * MSS / RTT = 75 * (1500 * 8) / 150 * 10^(-3) = 6 * 10^6bps = 6Mbps
(3)因恢复过程中每个RTT窗口尺寸增加1个MSS,因此总共需要时间为:
T = 100 / 2 * RTT = 50 * 150 * 10^(-3) = 7.5s

主机A向主机B发送一个很长的文件,其长度为L字节。假定TCP使用的MSS有1460字节。

(1)在TCP的序号不重复使用的条件下,L的最大值是多少?

(2)假定使用上面计算出的文件长度,而运输层、网络层和数据链路层所使用的首部开销共66字节,链路的数据率为10Mb/s,试求这个文件所需的最短发送时间。

 

(10.0分)

正确答案:

 解:(1)L_max的最大值是2^32=4GB,G=2^30.

(2) 满载分片数Q={L_max/MSS}取整=2941758发送的总报文数

N=Q*(MSS+66)+{(L_max-Q*MSS)+66}=4489122708+682=4489123390

总字节数是N=4489123390字节,发送4489123390字节需时间为:N*8/(10*10^6)=3591.3秒,即59.85分,约1小时。

 

我的答案:

Lmax = 2^32=4GB

Q=L_max/MSS=2941758
N=Q*(MSS+66)+{(L_max-Q*MSS)+66}=4489122708+682=4489123390
N*8/(10*10^6)=3591.3s=1h

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值