第三章 运输层

3.1 概述和运输层服务

1.运输层协议为运行在不同主机上的应用进程之间提供了逻辑通信。运输层协议运行在端系统上。

3.1.1 运输层和网络层的关系

1.网络层:主机-主机,运输层:进程-进程

3.1.2 因特网运输层概述

3.2 多路复用和多路分解

1.运输层将从网络层接收的报文段交给进程,实际上是交给套接字

2.将运输层报文段中的数据交付到正确的套接字的工作称为多路分解demultiplexing

3.在源主机从不同套接字收集数据块,并为每个数据块封装上首部信息生成报文段,再把报文段传递到网络层,称为多路复用multiplexing

无连接的多路复用和多路分解

1.一个UDP套接字是由一个二元组来全面标识的,该二元组包含一个目的IP地址和一个目的端口号

面向连接的多路复用和多路分解

1.TCP套接字是由一个四元组(源IP地址,源端口号,目的IP地址,目的端口号)来标识的

2.Web服务器与TCP。使用持续HTTP,同一个服务器套接字交换HTTP报文,如果是非持续HTTP,那么每一个新的TCP连接都会创建一个新的套接字

3.3 无连接运输:UDP

1.适用UDP的原因:(1)关于何时、发送什么数据的应用层控制更为精细(2)无需建立连接(3)无连接状态(4)分组首部开销小(8个字节)

3.3.1 UDP报文段结构


UDP报文段结构

3.3.2 UDP检验和


一个检验和的例子

1.checksum和sum相加要为全1,计算过程中任何溢出都要回卷

3.4 可靠数据传输原理

3.4.1 构造可靠传输协议

1.经完全可靠信道的可靠数据传输:rdt 1.0(底层通道是完全可靠的)

2.经具有比特差错信道的可靠数据传输:rdt 2.0(仍假设按序发送),使用自动重传请求协议

(1)差错检测(2)接收方反馈,肯定确定ACK和否定确定NAK(3)重传。

不收到ACK不会再次发送,所以称为停等stop-and-wait协议

    rdt 2.1,返回的NAK带上序号

    rdt2.2,如果失败则发送上次成功接收的包的ACK,无NAK,称为冗余ACK

3.经具有比特差错的丢包信道的可靠数据传输:rdt 3.0(丢包),引入超时机制

3.4.2 流水线可靠数据传输协议

1.停等机制的信道利用率很低,因此要使用流水线技术pipelining,因此需要增加序号范围、增加缓存,应对差错处理的方法有回退N步(Go-Back-N)和选择重传(Selective Repeat)

3.4.3 回退N步

1.GBN也常被称作滑动窗口协议


GBN中的分组

2.GBN必须响应三种事件:(1)上层调用,检测发送窗口是否已满,即是否有N个已经发送但未被确认的分组(2)收到一个ACK(3)超时事件。收到一个ACK定时器就重新启动,如果发生超时,发送发重传所有已发送但还未被确认的分组


GBN的一个例子

3.4.4 选择重传

1.不论接收是否失序,但是交付给上层时是有序的


SR操作

2.窗口空间必须小于等于序号空间大小的一半

3.5 面向连接的运输:TCP

3.5.1 TCP连接

1.TCP连接提供的是全双工服务,也是点对点的

2.三次握手,初期会设置发送缓存

3.5.2 TCP报文段结构


TCP报文格式

2.序号和确认号,其中确认号为流中第一个丢失的字节数

3.5.3 往返时间的估计与超时

1.根据样本RTT(SampleRTT)来计算均值EstimatedRTT


EstimatedRTT的更新


偏差RTT的更新和重传时间的计算

3.5.4 TCP可靠数据传输

1.TCP发送方有三个主要事件:从上层应用程序接收数据;定时器超时;收到ACK。对于收到ACK,如果当前正在确认的是先前未被确认的报文段,就要更新确认过的报文数,如果当前还有未被确认的报文段就要启动定时器

2.超时间隔加倍,重传失败后定时器事件加倍

3.冗余ACK就是再次确认某个报文段的ACK。如果发送方收到3个冗余ACK,TCP就执行快速重传

快速重传

4.是回退N步还是选择重传。(1)TCP是积累式的(2)选择确认,它允许TCP接收方有选择地确认失序报文段,而不是积累地确认最后一个正确接收地有序报文段,此时SR协议更加合适。

3.5.5 流量控制

1.流量控制是一个速度匹配服务,即发送方的发送速率与接收方应用程序的读取速率相匹配。

2.让发送发维护一个接收窗口,该窗口容量必须大于等于最后一个发送的字节序号减去最后一个被确认的字节序号,其中接收窗口大小等于接收方的接收缓存的剩余空间

3.保证接收方的缓冲器不会溢出。当接收方的缓冲器满了之后发送方还要发送一个字节的报文段来确认。

3.5.6 连接控制

1.三次握手:第一次客户向服务器发出请求,SYN=1且序号随机;第二次服务器为用户分配TCP缓冲和变量,且SYN=1,序号为服务器初始序号;第三次,客户为连接分配缓存和变量,并向服务器发出确认,此时SYN=0.第三次握手可以携带用户到服务器的数据。

2.关闭连接


关闭连接

3.6 拥塞控制原理

1.异步传递方式(ATM)网络中可用比特率(ABR)服务中的拥塞控制

3.6.1 拥塞原因与代价

1.两个发送方和一台具有无穷大缓存的路由器


情况1

当分组的到达速率接近链路容量时,分组经历巨大的排队时延

2.两个发送发和一台具有有限缓存的路由器

(1)发送方必须执行重传以补偿因为缓存溢出而丢弃的分组,此时数据被交付给接收方的速率只有1/3R

(2)发送方在遇到大时延时所进行的不必要重传会引起路由器利用其链路带宽来转发不必要的分组副本,此时吞吐量只有R/4

3.4个发送方和具有有限缓存的多台路由器及多跳路径


情况3

当一个分组沿一条路径被丢弃时,每个上游路由器用于转发该分组到丢弃该分组而使用的传输容量最终被浪费掉了

3.6.2 拥塞控制的方法

1.端到端拥塞控制(1)网络层不会向端系统提供网络拥塞的反馈信息

2.网络辅助的拥塞控制,路由器向发送方提供关于网络中拥塞状态的显示反馈信息。一般反馈有两种方法,一种是拥塞分组,另一种是路由器标记或更新分组中的某个字段来指示

3.6.3 网络辅助的拥塞控制例子:ATM ABR 拥塞控制

1.ATM通常采用一种面向虚电路的方法来处理分组交换

2.ABR是一种弹性数据传输服务,轻载充分利用,拥塞则抑制

3.资源管理RM信元用来在主机和交换机之间传递与拥塞相关的信息。

4.ATM ABR拥塞控制是一种基于速率的方法。即发送方明确地计算出它所能发送的最大速率,并据此作出调整。

5.显示转发拥塞指示EFCI比特;拥塞指示CI比特、无增长NI比特;显示速率ER的设置

3.7 TCP拥塞控制

1.发送方的发送速率大概是cwnd/RTT,因此通过调整cwnd的值,发送方能调整速率

2.TCP拥塞控制算法分为(1)慢启动(2)拥塞避免(3)快速恢复

慢启动SS

1.cwnd的值以MSS开始,并且每确定一个报文段就增加一个MSS

2.一旦出现丢包,就将cwnd设置为1,并且将ssthresh(慢启动阈值)设置为cwnd/2

3.或者也可以当cwnd到达慢启动阈值时直接进入拥塞避免阶段

4.如果检测到3个冗余ACK,TCP执行一次快速重传并进入快速恢复状态

拥塞避免CA

1.每个RTT只将cwnd增加一个MSS。一种具体方法是MSS*(MSS/cwnd)

2.当出现超时时,将cwnd设置为1,并且将ssthresh(慢启动阈值)设置为cwnd/2

3.当收到3个冗余ACK时,将cwnd设置为cwnd的一半,并且将ssthresh(慢启动阈值)设置为cwnd/2

快速恢复

1.收到的每个冗余ACK,cwnd增加一个MSS,丢失报文段的一个ACK到达时,TCP进入拥塞避免状态。

2.如果出现超时事件,则和慢启动一样

TCP拥塞控制回顾

在拥塞避免阶段有加性增、乘性减AIMD拥塞控制方式

TCP吞吐量宏观描述

一条连接的平均吞吐量=0.75*W/RTT,W为窗口长度

经高带宽路径的TCP


L为丢包率,MSS为最大报文长度

公平性


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

推荐阅读更多精彩内容

  • 检举中国船舶工业物资华东有限公司陈传合诸多违纪违规 关于苏河洲际118地块项目相关问题 情况说明 致中国船舶工业物...
    af790202阅读 398评论 0 0
  • 今天晚上回家的时候,打了一个出租车,快到家的路上好悬没有和大挂撞上,平时大家也多注意点安全,虽然挣的钱不多,自己还...
    小月月_623d阅读 138评论 0 0
  • 好久没写简书了,也不知道写些什么。这几天天气开始变凉,阴天下雨成了常态,但是听说有好多地方已经下雪了,和这里的温度...
    燕子_2338阅读 332评论 4 3
  • 此岸,彼岸(下) 天立,在这大陆上,我惟一看得上的也就只有你一个。可天却不与我愿,上一代的一切仇怨都在今天解决。今...
    朱子_阅读 202评论 0 2