一、了解网络
1.1 网络概述
- 网络把计算机连接在一起,互联网把许多网络连接在一起(网络的网络)
- 因特网成为仅次于全球电话网的世界第二大网络,是全球范围内最大的互联网
- 时代特征:三化三网
- 三化:网络化、数字化、信息化
- 三网:电信网、计算机网络、有线电视网
1.2 网络的发展
- 第一阶段:远程联机系统阶段(计算机互联阶段)
- 第二阶段:初步形成阶段(网络诞生阶段)
- 第三阶段:互联互通阶段(网络标准化阶段)
- 第四阶段:高速网络阶段(Internet时代)
- 世界上第一个计算机网络是ARPANET
- INTERNET最初创建的目的是用于军事
- 网络服务提供商为ISP
- 因特网标准定制的四个阶段(RFC 2026)
(1)因特网草案(Internet Draft)。此阶段还不是RFC文档。
(2)建议标准(Proposed Standard)。从此阶段开始成为RFC文档。
(3)草案标准(Draft Standard)。
(4)因特网标准(Internet Standard)。
1.3 因特网的边缘部分
- 计算机网络的主要功能:连通性、共享
- 连通性:计算机网络使用户直接可以交换信息
- 共享:即资源共享,也可以是信息共享、软件共享、硬件共享
- 边缘部分:由分散的主机构成,主要实现网络的通信和资源共享
- 边缘部分之间的通信方式:C/S方式(Client/Server方式)和P2P方式(Peer-to-Peer方式)
- 目前网络应用系统采用的主要模型是:客户/服务器计算模型
1.4 因特网的核心部分
- 核心部分:由路由器和路由器组成的网络是所组成
- 功能:连通性
- 在网络核心部分起特殊作用的是路由器,起分组交换的作用
- 三类交换方式:电路交换、分组交换、报文交换
- 电路交换:通话全部时间内,通话两个用户始终占用端到端的通信资源
- 分组交换:采用存储转发技术,传输速率高,信息传递可靠,大大提高线路利用率
- 报文交换:时延较长
- IP电话、电报和专线电话分别使用的数据交换技术是:分组交换技术、报文交换技术和电路交换技术
- 世界上很多国家都相继组建了自己国家的公用数据网,现有的公用数据网大多采用分组交换方式
- 电话交换系统采用的是电路交换,电路交换是面向连接的
- 路由器是实现分组交换的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能
1.5 计算机网络的性能指标
- 速率:每秒钟传输的比特数量,或数据率、比特率,单位b/s或kb/s、Mb/s、Gb/s;
- 带宽:网络通信线路传送数据的能力,即最高速率(每秒钟发送的最高数据率),单位b/s或kb/s、Mb/s、Gb/s
- 吞吐量:单位时间内通过某个网络或接口的数据量,单位b/s或kb/s、Mb/s、Gb/s
- 时延:数据从网络的一端到另一端所需要的时间,单位s。包括发送时延、传播时延、排队时延、处理时延
- 时延带宽积:传播时延×带宽,单位bit
问题:
应用层想要传输长度为200字节的数据,经过网络传输时,需要加上20字节的TCP首部,20字节的IP首部,最后加上数据链路层18字节的首部和尾部,数据的传输效率是多少? 如果应用层传输1000字节的数据,此时的数据传输效率是多少?
答案:200/(200+20+20+18)=77.5%
1000/(1000+20+20+18)=94.5%
1.6 计算机网络的体系结构
- 协议是不同结点对等实体之间进行通信的规则或约定。
- 网络协议组成要素:语法、语义、同步
- 语法:数据和控制信息的结构和格式
- 语义:控制信息的含义
- 同步:规定了信息交流的次序
- TCP/IP:应用层、运输层、网际层、网络接口层
- OSI/RM:应用层、表示层、会话层、运输层、网络层、数据链路层、物理层
- 5层体系结构:应用层、运输层、网络层、数据链路层、物理层
- IP over everything:在TCP/IP体系结构下,IP通过网络接口层可以运行在不同的物理网络之上
- everything over IP:在TCP/IP体系结构下,各种网络应用均是建立在IP基础之上
二、物理层
2.1 传输媒体
- 传输媒体:导向传输媒体和非导向传输媒体
- 导向传输媒体:双绞线、同轴电缆和光纤
- 非导向传输媒体:无线电频段、短波通信、微波通信和无线局域网
- 双绞线:分为屏蔽和非屏蔽两种。导线越粗,通信距离越远,价格越高。由两根具有绝缘保护层的铜导线按一定密度相铰在一起,这样可以降低信号干扰程度
- 如果要将两计算机通过双绞线直接连接,正确的线序是:
1–3、2–6、3–1、4–4、5–5、6–2、7–7、8–8 - 光纤:带宽最宽,抗干扰能力最强
2.2 信道复用技术
- 为什么要使用信道复用技术:通过共享信道、最大限度提高信道利用率
- 频分复用:不同用户、相同时间、不同频率
- 时分复用:不同用户、不同时间、相同频率
- 波分复用:不同用户、相同时间、不同波长
- 码分复用:不同用户、相同时间、相同频率
注:
- 时分复用有可能导致信道利用率不高,因为当用户暂无数据时,时分复用帧里面分配给该用户的时隙就只能处于空闲状态,这时候就可以使用改进的时分复用,称之为“统计时分复用”;
- 波分复用是同一根光纤中同时传输两个或多个不同波长的技术;
- 每个站点被指定唯一的一个m位的码片序列,表征自己的比特位;
- 当站点发送1时就发送码片序列,发送0时就发送码片序列的反码序列,一般-1表征0,+1表征1;
- A手机的8位码片为(-1-1-1+1+1-1+1+1),基站知道A的码片,则基站给A发送110这个数据,则要发(-1-1-1+1+1-1+1+1)(-1-1-1+1+1-1+1+1)(+1+1+1-1-1+1-1-1),当A收到后使用自己的码片与收到的码片进行规格化内积得到110这个数据
- 每个站的码片序列各不相同
- 任意两站的码片序列必须正交,即二者规格化内积为0
- 一个站点和另一个站点的码片序列反码正交
- 任何一个码片向量和它自己的规格化内积都为1
- 任何一个码片向量和它自己反码的规格化内积都为-1
共有4个站进行码分多址通信。4个站的码片序列为:
a:(-1 -1 -1 +1 +1 -1 +1 +1) b:(-1 -1 +1 -1 +1 +1 +1 -1)
c:(-1 +1 -1 +1 +1 +1 -1 -1) d:(-1 +1 -1 -1 -1 -1 +1 -1)
现收到这样的码片序列:(+1 +1 -1 +3 +1 +1 -3 +1),则(c )发送1。
三 、数据链路层
3.1 数据链路层的概念和分类
- 两种类型的数据链路:点到点链路的数据链路层、广播信道的数据链路层
- 点到点的数据链路使用PPP协议(Point to Point Protocol),广播信道使用带冲突检测的载波监听多路访问协议(CSMA/CD协议)
- 数据链路:从一个节点到另一个节点的一段物理线路(有线或无线),中间无任何其他交换节点
- 集线器不是交换节点
3.2 点到点链路的数据链路层
- 数据链路层需要解决的三个问题:封装成帧、透明传输、差错检测
- 封装成帧:将网络层的IP数据报的前后分别加上首部和尾部,这样就构成了一个帧。帧的首部和尾部有帧开始符SOH(Start Of Header)和帧结束符EOT(End Of Transmission),称为帧定界符
- PPP是面向字节的,所有的PPP帧的长度都是整数字节
- 透明传输:发送端做的事情是在数据中出现SOH和EOT的前面插入转义字符ESC,数据中出现转义字符就在转义字符的前面插入一个转义字符;接受端应该将数据送入网络层之前删除插入的转义符
- 当PPP用在异步传输(字节传输)时,使用字符填充法
- 使用同步传输时,PPP协议使用零比特填充法实现透明传输,传之前遇到5个1就加一个0,接收端接收时遇到5个1就去一个0
- 差错检测:比特差错(0变1,1变0)、帧差错(帧丢失,帧重复,帧失序)
- 误码率BER(Bit Error Rate):在一段时间内传输错误的比特占所传输比特总数的比率叫误码率
- 误码率跟信噪比有很大关系,如果提高信噪比就可以减小误码率
- 帧检验序列(FCS,Frame Check Sequence):想要让接收判断是否帧在传输过程中出错,需要在传输的帧中包含用于检测错误的信息,这部分信息就是帧检验序列
- 循环冗余检验(CRC,Cyclic Redundancy Check):在发送端把数据分成k组,在数据M的后面再添加供差错检测用的n位冗余码一起发送
- 冗余码计算:在M后面添加n个0作为被除数,事先选定长度n+1位的除数P,进行模2运算,得出余数是n位的FCS
- CRC是常用的检错方法,而FCS是添加在数据后面的冗余码,二者不相同
- 接收端把接收的数据以帧为单位进行CRC检验:把每一个帧都除以同样的除数P(模2运算),检查得到的余数R,若R=0则无错,若不等于0则有错放弃
- 接收端通过CRC检验接受的帧本身是接近于100%无比特差错的,但通过CRC检验序列的传输也并非可靠传输,因为对于帧重复、帧失序、帧丢失并没有检测作用
问题:
假设要发送的数据为11001010,采用的CRC的生成多项式为P(x)=X3+X+1。试求应添加在数据后面的余数?如果采用了CRC校验,数据链路层是否就变成了可靠的传输?
答案:P=X3+X+1,所以除数是23+21+20=1011,共4位
M=11001010,原报文左移3位,进行模2运算(这里不展开计算了)得到余数为100
则最终编码为11001010100
采用了CRC循环以后,接受端可以检测该帧是否有传输的错误,即在外界干扰下是否有0变成1,1变成0 的情况,如果没有错误,就接收,如果有错误,则直接丢弃该帧。不检查帧的顺序、重复等。数据链路层并不具备保证可靠传输的“重传”、“确认”机制,所以不是可靠的传输。
3.3 广播信道的数据链路层
- 广播信道的数据链路层更多地用于局域网通信
- 局域网(LAN,Local Area Network):为一个单位所有,且地理范围和站点数目均有限
- 局域网的优点:能进行广播或组播,高传输速率,低误码率,高可靠性和可用性,较低的时延
- 拓扑结构:星型网、总线网、环形网、树形网
- 以太网:是一种计算机局域网组网技术,无连接的工作方式,采用曼彻斯特编码发送数据,不可靠交付
- 曼彻斯特编码:是一种用电平跳变来表示1或0的编码方法
- 以太网在具有广播特性的总线上实现了一对一的通信
- 通信设配器(Adapter):网络接口或网卡
- CSMA/CD:总线型网络使用CSMA/CD协议,即载波监听多点接入/碰撞检测协议。
在发送之前,先听后说;
在发送过程中,边说边听;
出现冲突后停止冲突或停止发送,随机延迟后重发 - 多点接入:用的网络类型是总线网
- 载波监听:计算机在发送数据之前先听总线上是否有信号,若有则暂时不发,若没有则发送
- 碰撞检测:边发送,边检测,是否与别人的发送冲突,若冲突就停止,随即延迟后再去载波监听
- 2t时间内能检测出冲突,理论上CSMA/CD协议的争用期为2t
- 检测到冲突后,多久后再发?使用截断二进制指数退避算法计算时间
- 线路越长,这种冲突的概率越大
- 对于CSMA/CD而言,为了确保发送站点在传输时能检测到可能存在的冲突,数据帧的传输时延至少要等于信号传播时延的2倍
- 以太网媒体访问控制技术CSMA/CD的机制是争用带宽
3.4 以太网的MAC协议
- 在广播信道实现点到点通信,需要网络中的每一个网卡都有一个地址,叫做物理地址或者MAC地址
- MAC地址也叫硬件地址或物理地址
- IEEE802.3规定以下情况为无效MAC地址:帧长度不是整数字节;收到的帧检验序列有差错;收到的MAC帧的数据字段的长度不在46~1500之间
3.5 透明网桥
- 在数据链路层扩展局域网是使用网桥,他根据MAC帧的目的地址对收到的帧进行转发,具有帧过滤功能
- 使用最多的是透明网桥,透明是因为局域网上的站点并不知道所发送的帧将经过哪几个网桥
- 透明网桥是一种即插即用的设备
- 透明网桥的工作原理:网络1和网络2通过网桥连接后,网桥接收网络1发送的数据包,检查数据包中的硬件地址,如果地址属于网络1,它就将其放弃;相反如果是网络2的地址,它就继续发送给网络2。
- 透明网桥特点: 透明网桥由各个网桥自己来决定 路由选择 ,局域网上的各结点不负责 路由选择 ,网桥对于互连局域网的各结点来说是“透明”的。
- 网桥接入以太网时,MAC地址表是空的,其会在计算机通信过程中自动构建MAC地址表
- 自学习:网桥接口收到一个帧,就检查MAC地址表中与收到的帧源MAC地址有无匹配的项目,若没有就在MAC地址表里添加该接口和该帧的源MAC地址对应关系及进入接口的时间,若有,则对原有项目进行更新
- 转发帧:网桥接到一个帧,就检查MAC地址表中有没有该帧目标MAC地址对应端口,若有就把帧转发给这个对应端口,若没有则将帧转发到这个接口以外的所有端口。如果转发表中给出的接口就是该帧进入网桥的接口,则丢弃这个帧
问题:
假定有5个站分别连接在三个局域网上,并且用网桥1和网桥2连接,其拓扑结构如下图所示,每一个网桥有两个接口。开始时网桥中的转发表都是空的。以后各站按下表的顺序发送了数据帧,试着将下表补充完整。
3.6 高速以太网
- 100M以太网
- 吉比特以太网(千兆以太网)
- 10吉比特以太网
四、网络层
4.1 分类的IP地址
- 实际的网络通过路由器进行互联,使用网际协议IP,可以把互联后的网络看成一个虚拟互联网,成为IP网
- IP地址是给每个连接在因特网上的主机(或路由器)分配一个全世界唯一的32为的标识符
- IP地址由因特网名字与号码指派公司ICNN进行分配
- IP地址是一种分等级的地址结构
- IP地址标志一个主机(或路由器)的一条链路的接口
- IP地址有两部分组成:网络号+主机号,分为4类
- 在虚电路服务中分组的顺序为总是按发送顺序到达目的地
- IP数据报操作特点:每个分组自身携带有足够的信息,它的传送是被单独处理的;在整个传送过程中,不需建立虚电路;网络节点要为每个分组做出路由选择【不选“使所有分组按顺序到达目的端系统”】
- IP地址用在网络及以上层次,硬件地址用在链路及以下层次
- 路由器只根据目的站点的IP地址的网络号进行路由选择
- 在具体的物理网络的链路层,只能看见MAC帧而看不见IP数据报;在IP层抽象的互联网上只能看到IP数据报
4.2 ARP和RARP协议
- APR(Address Resolution Protocol,地址解析协议):将IP地址解析成物理地址
- RARP(逆地址解析协议):将物理地址解析成IP地址
- ARP解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题
- ARP表用于建立IP地址到MAC地址的映射
- APR的解析过程对主机的用户是透明的
- ARP工作范围
- 路由器在两个网段之间转发数据包时,读取其中的目标IP地址来确定下一跳的转发路径
- 当一台主机从一个网络移到另一个网络时,必须改变它的IP地址,不需改变MAC地址
问题:
主机PC1到主机PC2的物理网络拓扑结构如下图所示。现主机PC1向主机PC2发送一条消息,整个数据流动过程中每一段链路上的MAC地址和IP地址如何变化的?
答案:
4.3 IP数据报格式
- IP数据报 = 首部 + 数据
- 首部:为固定部分,共20个字节
- 数据:可选字段,其长度是可变的
- IP数据报中,指明数据区数据格式的是协议域
- IP数据报的格式可以分为报头区和报尾区两个部分
- 对IP数据报分片的重组通常发生在目的主机上
一个IP数据报的长度为5000字节需要经过一个网络进行传输,但是该网络能够传输的最大数据长度为1500字节。试问应该划分成为几个短的数据报片?各片的长度分别是多少、片偏移字段的值、MF标志位的值分别是多少?
答案:
原数据报总长度5000
数据报片1:IP头部20字节,数据长度1480,片偏移= 0/8 =0, MF=1
数据报片2:IP头部20字节,数据长度1480,片偏移=1480/8=185,MF=1
数据报片3:IP头部20字节,数据长度1480,片偏移=2*1480/8=370,MF=1
数据报片4:IP头部20字节,数据长度560 , 片偏移=3*1480/8=540,MF=0
【除以8是因为片偏移是8个字节为单位,MF=1为后面还有分片,MF=0是没有分片了】
4.4 划分子网
- 使用子网掩码(subnet mask)可以找出IP地址中的子网部分
- 子网掩码是一个网络或一个子网的重要属性
- 路由器在和相邻路由器交换路由信息时,必须把自己的、所在网络的子网掩码告诉相邻路由器
- 路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码
- 若一个路由器连接在两个网络则拥有两个子网掩码
- 子网掩码和IP地址相与得到网络地址
- 在IP协议中用来进行组播的IP地址是D类
- 某公司的几个分部在市内的不同地点办公,各分部联网的最好解决方案是把公司的网络地址块划分为几个子网,各分部之间用路由器相连
- 某部门申请到一个C类IP地址,若要分成8个子网,其掩码应为255.255.255.224
- 与10.110.12.29 subnet-mask 255.255.255.224 属于同一网段的主机IP 地址是10.110.12.29或10.110.12.30
问题:
在Internet中,某台计算机的IP地址是11001101.10101100.00001111.10100011,请回答下列问题:
(1)用十进制表示上述IP地址。
(2)该IP地址是属于A类,B类,还是C类?
(3)写出该IP地址在没有划分子网时的子网掩码。
(4)如果将该网络平均划分为4个子网,写出子网掩码,写出每一个子网对应的网络网络地址。
答案:
(1)205.172.15.163
(2)C类
(3)255.255.255.0
(4)需要划分4个子网,则需要2个比特位,
故子网掩码:255.255.255.11000000,即255.255.255.192
子网1的网络地址:205.172.15.00000000,即205.172.15.0
子网2的网络地址:205.172.15.01000000,即205.172.15.64
子网3的网络地址:205.172.15.10000000,即205.172.15.128
子网4的网络地址:205.172.15.11000000,即205.172.15.192
4.5 分组转发
某路由器的建立了如下所示的路由表,则目的地址为128.96.40.151的下一跳为( R2)
用目的地址和子网掩码进行逐位相与,看是否与网络地址匹配
4.6 CIDR构造超网
- CIDR(Classless Inter-Domain Routing,无类域间路由),子网中1的个数为CIDR的值
- CIDR消除了传统的A,B,C类地址以及划分子网的概念,因而可以有效地分配IPv4的地址空间
- CIDR使用13~27位可变网络ID,在IP地址后面添加一个/,后面是二进制子网掩码的位数
- 比如,192.168.10.32/24意味着该地址子网掩码长度为24,即11111111.11111111.11111111.00000000,等价于255.255.255.0
- CIDR地址块:把网络前缀都相同的连续的IP地址组成“CIDR地址块”,地址块中的地址数一定是2的整数次幂
- 路由聚合将会构成超网(Supernetting),前缀长度不超过23位的CIDR地址块都包含了多个C类地址,构成了超网【网络前缀越短,其超级网络规模越大】
- 分组转发过程中采用最长前缀匹配
- CIDR地址下的分组转发:路由表中每个项目由“网络前缀”和“下一跳地址”组成,在查找路由表时可能会得到不止一个匹配结果
- 网络越长,其地址块就越小,因而路由就越具体
- 应当从匹配结果中选择具有最长网络前缀的路由,最长前缀匹配
问题1:
设有2条路由21.1.193.0/24和21.1.194.0/24,如果进行路由汇聚,覆盖这2条路由的地址是( )。
A、21.1.200.0/22
B、21.1.192.0/23
C、21.1.192.0/21
D、21.1.224.0/20
答案:21.1和后面的 0 不管,就把 193 和 194 化为二进制后得193=11000001;194=11000010
00010101.00000001.110000 为子网掩码位数 为22;位数不同处补0得11000000为第三段IP即192最后得出 21.1.192.0/22;用22个网络位的话,会在选择路由时,符合“最长前缀匹配”这一规则,即21.1.192.0/21
问题2:
一个自治系统有5个局域网,其连接如下图。LAN1至LAN4上的主机数目分别为180、60、15、20。 该自治系统分配到的IP地址为30.138.170/23。给出每一个局域网的地址块,包含网络前缀。
4.7 ICMP报文及应用
- ICMP(Internet Contril Message Protocol,网际控制报文协议),是TCP/IP协议栈中网络层的一个协议,用于在IP主机、路由器之间传递控制消息
- ICMP报文是在IP数据报内部被传输的,它封装在IP数据报的数据部分,ICMP报文通常被IP层或更高层协议(TCP、UDP)使用
- 用来报告错误,是一个差错报告机制。不能用来报告ICMP消息的错误,这样避免了无限循环
- ICMP可用来拥塞控制
- ICMP主要用于差错报告和查询
- 查询:回送请求/应答;地址掩码请求/应答;时间戳请求/应答
- 差错报告:重定向,终点不可达,源站抑制,超时,参数问题
- ICMP应用:Ping,应用程序PING发出的是ICMP请求报文;Tracert是路由跟踪实用程序
4.8 内部网关协议RIP
- RIP(Routing Infornation Protocol,路由信息协议)是一种分布式的基于距离向量的路由选择协议
- RIP协议要求网络中的每一个路由器都要维护从它自己到其他每一个目标网络的距离记录
- 距离:这里指的是“跳数”,从一个路由器到直接连接的网络的距离定义为1,从一个路由器到非直接连接的网络的距离定义为该路径上所经过的路由器的个数
- RIP认为一个好的路由就是它通过的路由器的数目少,即距离短
- RIP允许一条路径最多只能包含15个路由器,距离16相当于不可达,RIP只适用于小型互联网
- RIP工作的三要素:a.仅和相邻路由器交换信息;b. 交互的信息是当前路由器的全部信息即自己的路由表;c. 按固定的时间间隔交换路由信息
- 路由选择协议RIP位于网络层
问题:
假定网络上的路由器A有如下项目的路由表(目的网络、距离和下一跳路由器):
现在A收到从B发来的路由信息(目的网络、距离)
求路由器A更新后的路由表。
答案:
N1 3 B
N2 2 C
N3 1 F
N4 5 G
五、运输层
5.1 运输层的作用
- 两个主机进行通信实际上是两个主机中的应用程序相互通信,即端到端的通信
- TCP/IP体系中,运输层的任务是为主机的应用程序提供端到端的逻辑通信服务
- 提供流量控制和差错控制
- 复用和分用:应用层不同进程的报文通过不同的端口向下交到运输层,共用网络层提供的服务
5.2 UDP和TCP
- UDP(User Datagram Protocol,用户数据报协议),是一种无连接的运输层协议,提供简单不可靠的信息服务
- UDP不提供数据包的分组、组装、不能对数据包进行排序,当报文发送之后不知其是否安全完整到达
- UDP特点:无连接、进最大努力交付、面向报文
- UDP应用:视频传输、实时通信(IP电话)、ICQ和QQ
- TCP(Transmisson Control Protocol,传输控制协议),在不可靠的互联网上提供可靠的端到端、面向字节流的连接。为IP服务增加了面向连接和可靠性的特点。保证了数据传输的可靠、按需、无丢失和无重复
- TCP是全双工可靠信道,UDP是不可靠信道
- TCP连接的端点是套接字(socket)或接口,端口号拼接到IP地址即构成了套接字
- TCP连接只能用两个端点,进行点对点通信;TCP提供可靠交付的服务;面向字节流
- TCP的协议数据报单元被称为分段
5.3 端口
- 协议端口:把每台机器上的进程看作是一系列抽象的目的点。是一个16bit的正整数标识
- 端口分配:统一分配,动态绑定
- 端口作用:对TCP/IP体系的应用进程进行统一的标志,使运行不同操作系统的计算机的应用进程能够互相通信
- 端口分类:熟知端口,注册端口,动态端口
- 熟知端口:从0到1023,由IANA指派和控制
- 注册端口:从1024到49151,IANA不指派也不控制,它们可在IANA注册以防止重复
- 动态端口:从49152到65535,即不用指派也不用注册,可由任何进程使用,是短暂端口
5.4 停止等待协议
- 每发完一个分组就停止发送,等待对方确认
- 出现差错或丢失情况:当A发送是数据未到B,即A在一段时间内未收到B的确认,就认为数据丢失,而重传刚刚的分组
- 确认丢失:确认丢失则A未收到B的确认,在超时后再传一次,不过B已经有这个数据了,就丢弃了
- 确认迟到:B给A的确认在超过重传时间后才收到,此时A已经重传过了,才收到B的确认,就收到这个信息什么都不做
- 上述确认重传机制可以在不可靠的网络上实现可靠传输,这种可靠传输协议成为ARQ(Automatic Repeat reQuest,自动重传请求ARQ)
问题:
在ARQ协议中,假设主机A向主机B发送了3个TCP报文段,其序列号分别是70,100,150。
(1)第一个报文段携带了多少字节的数据?
(2)主机B收到第一个报文段后回复的确认号应该是多少?
(3)如果主机B收到第三个报文段以后回复的确认号是180,则A发送的第三个报文段里包含了多少字节的数据?
(4)如果第一个报文段丢失了,但第二个第三个报文段都达到了主机B,则B发回的确认号是什么?
答案:
(1)30。第一个报文序号是70到99一共30个字节;
(2)100。
(3)30。因为确认号为180,则前179个数据已正确接受,则第三个报文序号为150到179共30个字节;
(4)70。报文段丢失,就会重复发送确认上一个未收到的报文段第一个序号为70;
5.5 TCP首部格式
5.5 流量控制
- 发送方发送过快,接收方来不及接收,就会造成数据丢失
- 利用滑动窗口机制在TCP连接上实现流量控制
- 运用TCP报文种的窗口大小字段来控制,发送方的发送窗口不能大于接收方发回的窗口大小
5.6 拥塞控制
问题1:
TCP的拥塞窗口cwnd与传输轮次n之间的关系如下图所示:
(1) TCP工作在慢开始的阶段的时间间隔有哪些?
(2) TCP工作在拥塞避免阶段的时间间隔有哪些?
(3) 第11轮次和第23轮次之后发送方是收到三个重复的确认还是超时检测到了丢失的报文?
(4) 在第1轮次,第13轮次,第24轮次发送时,门限值分别是多少?
(5) 在第几轮次发送第60个报文?
答案:
我的答案:
(1)慢开始:1-5,24-26
(2)避免拥塞:6-11,12-23
(3)11轮次是收到三个重复的确认;23轮次是超市检测丢失的报文
(4)16,11,11
(5)第七轮次
问题2:
用TCP传输256字节数据。设置接收窗口为100字节,而TCP报文段每次也是传送100字节的数据。假设发送方和接收方的序号分别为100和200。试画出TCP从连接建立、数据传输到连接释放的工作示意图。