网络复习-笔记07-传输层(3)


拥塞控制原理

在学习TCP拥塞控制之前,首先看看拥塞控制的基本原理
拥塞控制非正式定义:“太多发送主机发送了太多数据或者发送速度太快,以至于网络无法处理
表现:

  • 分组丢失(路由器缓存溢出)
  • 分组延迟过大(在路由器缓存中排队)

拥塞控制和流量控制都是网络中的TOP 10问题。

拥塞的成因和代价:

1.当两个senders,两个receivers共享一个路由器时,假设路由器无限缓存。
在这样的场景下不存在丢包,没有重传。
这样的场景下,拥塞时分组延迟太大(在路由器中排队...)

2.还是一个路由器,但路由器的缓存有限,sender就会重传分组。
代价:对给定的"goodput",要做更多的工作(重传),由于丢失,造成资源的浪费

3.在多跳网络中,当分组被drop时,任何用于该分组的“上游”传输能力全都被浪费掉

拥塞控制的方法

端到端拥塞控制:

  • 网络层(比如路由器等)不需要显示的提供支持
  • 端系统通过观察loss(丢失), delay(分组时延的增大)等网络行为判断是否发生拥塞。(然后端系统控制/管制自己的发送速率)
  • TCP采取这种方法

网络辅助的拥塞控制:

  • 路由器向发送方显示地反馈网络拥塞信息
  • 简单的拥塞指示(1bit):SNA, DECbit, TCP/IP ECN, ATM
  • 指示发送方应该采取何种速率

ATM ABR拥塞控制

ABR:available bit rate
  • “弹性服务”
  • 如果发送方路径underloaded,使用可用带宽
  • 如果发送方路径拥塞,将发送速率降到最低保障速率
RM resource management cells
  • 发送方发送
  • 交换机设置RM cell位(网络辅助):NI bit:rate 不许增长 CI bit:拥塞指示
  • RM cell由接收方返回给发送方
ATM ABR拥塞控制

TCP 拥塞控制

面临三个问题:
1.发送方如何限制发送速率


2.CongWin:

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

问题:如何感知网络拥塞?

  • Loss事件 = timeout或3个重复ACK
  • 发生loss事件后,发送方降低速率

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

  • 加性增——乘性减:AIMD
  • 慢启动:SS

加性增——乘性减:AIMD

原理:逐渐增加发送速率,谨慎探测可用带宽,直到发生loss
方法:AIMD

  • additive increase(增性加): 每个RTT将CongWin增大一个MSS——拥塞避免
    MSS最大段长度
  • Multiplicative Decrease(乘性减):发生loss后将CongWin减半

TCP慢启动:SS

  • TCP连接建立时,CongWin=1
    例如:MSS=500byte,RTT=200msec,初始速率=20k bps

  • 可用带宽可能远远高于初始速率:希望快速增长

  • 原理:当连接开始时,指数性增长(比加性增的线性增长要快的多)

  • 指数性增长:

1.每个RTT将CongWin翻倍(初始时将拥塞窗口CongWin置为1)
2.收到每个ACK进行操作

-初始速率很慢,但是快速攀升


慢启动

Threshold变量

Loss事件的处理

3个重复ACKs:

  • CongWin切到一半
  • 然后线性增长
    Timeout事件:
  • CongWin直接设为1个MSS
  • 然后指数增长
  • 达到threshold后,再线性增长

注:

  • 3个重复ACKs表示网络还能够传输一些segments
  • timeout事件表示拥塞更为严重

TCP性能分析

公平性与UDP
  • 多媒体应用通常不使用TCP,以免被拥塞控制机制限制速率
  • 使用UDP:以恒定速率发送,能够容忍丢失
  • 产生了不公平
公平性与并发TCP连接
  • 某些应用会打开多个并发连接

  • web浏览器

  • 产生公平性问题

  • 例子:链路速率为R,已有9个连接

  • 假设新来的应用请求1个TCP,获得R/10的速率

  • 假设新来的应用请求11个TCP,获得R/2的速率


传输层的总结

传输层服务的基本原理

  • 复用/解复用
  • 可靠数据传输
  • 流量控制
  • 拥塞控制

Internet的传输层

  • UDP
  • TCP
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,295评论 6 512
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,928评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,682评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,209评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,237评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,965评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,586评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,487评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,016评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,136评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,271评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,948评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,619评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,139评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,252评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,598评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,267评论 2 358

推荐阅读更多精彩内容

  • 运输层协议概述 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是...
    srtianxia阅读 2,410评论 0 2
  • 1、TCP为什么需要3次握手,4次断开? “三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端...
    杰伦哎呦哎呦阅读 3,480评论 0 6
  • 3.1传输层服务 3.1.1传输层服务概述 传输层服务和协议 ■传输层协议为运行在不同Host上的进程提供了一种逻...
    龟龟51阅读 756评论 0 0
  • 六、TCP可靠传输的实现 首先介绍以字节为单位的滑动窗口。为了讲述可靠传输原理的方便,假定数据传输只在一个方向进行...
    dmmy大印阅读 1,702评论 0 1
  • 本书结构是自顶向下的,所以请按下列顺序阅读: 1.计算机网络自顶向下--应用层2.计算机网络自顶向下--运输层3....
    牛富贵儿阅读 2,780评论 0 3