整理资料《计算机网络》第7版&老师的ppt
大家发现了,我尽可能多复习那些我有可能做得对的题目,有些根本没印象的自动放弃。
今天复习的主要是TCP / UDP / IP 数据报引发的一系列计算题,必考!!!
TCP 是一个基于连接的四层协议,提供全双工地,可靠地传输系统。它能够保证数据被远程主机接收。并且能够为高层协议提供flow-controlled 服务。
1、先捋清楚UDP和IP的关系、TCP和IP的关系,UDP和TCP之间的关系:
运输层的UDP用户数据报与网际层的IP数据报有很大区别:IP数据报要经过互连网中许多路由器的存储转发,但UDP用户数据报是在运输层端到端信道中传送。
TCP报文段是在运输层抽象的端到端逻辑信道中传送,这种信道是可靠的全双工信道。但是这样的信道不知道经过了哪些路由器,以及路由器也不知道上面运输层是不是建立了TCP连接
TCP/IP 的运输层有两个不同的协议:
(1) 用户数据报协议 UDP (User Datagram Protocol)
(2) 传输控制协议 TCP (Transmission Control Protocol)
两个对等运输实体在通信时传送的数据单位叫作 运输协议数据单元 TPDU (Transport Protocol Data Unit)。
TCP传送的数据单位协议是TCP报文段 (segment)
UDP传送的数据单位协议是UDP报文或用户数 据报。
UDP和IP
IP数据报=IP首部+(UDP用户数据报)
TCP和IP
IP数据报=IP首部+(TCP报文)
序号字段——占 4 字节。TCP 连接中传送的数据流 中的每一个字节都编上一个序号。序号字段的值则指 的是本报文段所发送的数据的第一个字节的序号。
几种拥塞控制的办法(常考这四种拥塞控制)
慢开始和拥塞避免(加法增大&乘法减小)
快重传和快恢复
发送方维持一个叫做拥塞窗口cwnd(congestion window)的状态变量。拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。 拥塞避免:为了防止cwnd增加过快而导致网络拥塞,所以需要设置一个慢开始门限ssthresh状态变量(我也不知道这个到底是什么,就认为他是一个拥塞控制的标识),它的用法:1. 当cwnd
2. 当cwnd > ssthresh,使用拥塞控制算法,停用慢启动算法。
3. 当cwnd = ssthresh,这两个算法都可以。
强调:“拥塞避免”并非指完全能够避免了拥塞。利用以上的措施要完全避免网络拥塞还是不可能的。“拥塞避免”是说在拥塞避免阶段将拥塞窗口控制为按线性规律增长,使网络比较不容易出现拥塞。
IP数据报(网络层)
一个IP数据报由首部和数据两部分组成。
首部前一部分是固定长度——20字节;
首部的后一部分是一些可选字段,其长度是可变的。
IP层转发分组的流程(必考的路由地址选择)
常考的另外一个概念
——路由聚合 (route aggregation)
一个 CIDR 地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示很多个( 例如上千个)原来传统分类地址的路由。
路由聚合有利于减少路由器之间的路由选择信息的交换,从 而提高了整个互联网的性能。
路由聚合也称为构成超网
(supernetting)。常考最长前缀!
CIDR 虽然不使用子网了,但仍然使用“掩码”这一名词(但不叫子网掩码)。
对于 /20 地址块,它的掩码是 20 个连续的 1。斜线记法中的 数字就是掩码中1的个数。
其他——ICMP报文格式
ICMP 报文的种类有两种,即 ICMP 差错报告报文和 ICMP 询问报文。
ICMP 报文的前 4 个字节是统一的格式,共有三个 字段:即类型、代码和检验和。接着的 4 个字节的 内容与 ICMP 的类型有关。
域名的解析过程(重要)
主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名 的 IP 地址,那么本地域名服务器就以 DNS 客户的身 份,向其他根域名服务器继续发出查询请求报文。
本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代 查询请求报文时,要么给出所要查询的 IP 地址,要 么告诉本地域名服务器:“你下一步应当向哪一个域 名服务器进行查询”。然后让本地域名服务器进行后 续的查询。
————历年真题(小题)————
(2018年)2. 若主机A通过一个TCP链接向主机B连续发送两个相邻的TCP报 文段, 第一个报文段的序号为750,第二个序号为1100,那么第一个报文段中有_350__ 字节数据。
解:1100-750=350
(2011年)2.一个路由器的路由表有如下表项:
目的网络地址 子网掩码 下一跳
172.80.120.0 255.255.252.0 接口 0
172.80.124.0 255.255.252.0 接口 1
130.42.35.0 255.255.240.0 路由器 A
Default Default 路由器 B
若该路由收到一个分组,其目的地址为 172.80.128.4,路由器转发的下一跳为_. 路由器B 。
解:怎么找到下一跳地址?
网络地址=IP地址AND子网掩码
目的地址172.80.128.4分别与子网掩码AND,获得与题中网络地址相同的网络地址,即后就是吓一跳路由接口!
(2013 年)考虑在主机 A 和主机 B 之间建立一个 TCP 连接,若主机 A 向主机 B 连续发送两个 TCP报文段,第一个报文段的序号为 200,第二个报文段的序号是 1100,则第一个报文段中的数据为. 900 字节。若第一个报文段丢失,第二个报文段到达主机 B,那么主机 B 发送的报文中确认号为. 201 。
A到B的下一个报文段将在确认号字段中包含200,因为TCP只确认该流中到第一个丢失字节为止的字节,TCP提供的是累积确认。
主机A填充进报文段的确认号是主机A期望从主机B收到的下一字节的序号,
(2011年)4.在解析域名时,客户端向本地服务器发出请求,如果服务器不能回答该请求,就像其他域名服务器发出查询请求,直到最终将查询结果返回给客户端。这种方式可称之为 递归查询 查询。
————历年真题(计算题)————
(2018年)2. (共5分) UDP用户数据报的数据部分⻓度是8000字节, 通过以太网来传输UDP数据报,若UDP头部为8字节,IP 分组头部为20字节,以太网MTU为1500字节。
(1) 能分几个IP分片?
(2) 最后一个IP分片的⻓度是多少?片偏移字段值是多少?
(1)UDP数据报长度=UDP数据报长度+首部长度=8000+8=8008
MTU为1500字节=IP数据报首部20字节+IP数据报的数据部分1480字节
UDP和IP
(2018年)3. (共5分) 设TCP的慢启动窗口大小从1开始,拥塞窗口阈值初 始为16(报文段),当拥塞窗口上升到20时发生超时,TCP 开始慢启动和拥塞避免。
(1) 简要说明该过程中经过的拥塞控制阶段。
(2) 第15轮次传输时,拥塞窗口大小为多少?(答案:11)
(3) 在哪个传输轮次中发送第35个报文段?(答案:6)
【考TCP协议拥塞控制】
拥塞控制阶段
(2019年)1.一台路由器收到一个1500字节的IPv4分组,IP头部为20字节,如果需要将该分组转发到一个MTU为500字节的链路上,
1)该IP分组共分成几个分片,长度分别为多少字节
2)最后一个分片的片偏移是多少字节
(1)IP的头部是20字节,分组数据片长度20字节,MTU每片含数据480字节
1500/480=3,第四片的长度为40字节
(2)最后一个分箱:分组首部加上,=500X3=1500字节
(2019年)2.一个TCP连接使用256Kbps链路,其端到端的传输时延为128ms,实际吞吐量是128Kbps,若忽略数据封装开销及接收方响应分组的发送时间,发送窗口大小是多少字节?
实际吞吐两=128kbg,说明利用率50%
设窗口大小为x 字节,则(x/256)/(x/256+128*2)=50%
x=8192字节
(2019年)3.客户端C和S之间建立一个TCP连接,该连接总是以1KB的最大段长发送TCP段,C有足够数据发送,当拥塞窗口为32KB时,收到了三个重复的ACK报文,如果接下来4个RTT时间内TCP段的传输是成功的,那么在当四个RTT时间内发送的TCP段都得到ACK,拥塞窗口大小是多少?采用了怎样的拥塞机制?
答案:
RTT | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
拥塞窗口 | 1 | 2 | 4 | 8 | 16 | 32 | 16 | 17 | 18 | 19 | 20 |
拥塞窗口大小为20KB
拥塞机制:慢启动,快重传,快恢复
参考上一题(2012年)2.(3 分)设计一个传输层的协议,其序号为 4 位,最大报文段长度为 512 字节,段的最大生存期为 60 秒。试问每个连接的最大数据率是多少?
(2012年)3.(共 7 分)图 1 给出了 TCP 的拥塞控制过程。横坐标为时间轴,纵坐标为发送方的拥塞窗口大小。
(1)(2 分)假设最大段长 MSS 为 1000 字节。如图 1 所示,当拥塞窗口大小达到 A 点时发送方共向网络中传输了 15000 字节。试计算 A 点对应的拥塞窗口大小(假设发送方在 t=0 时刻建立 TCP 连接,数据的发送时延可以忽略不计)。
(2)(3 分)根据 TCP 的拥塞控制机制说明图 1 中 A、B 和 E 点拥塞窗口变化的原因。
(3)(2 分)图 1 中 C、D 处分别是由于什么原因导致拥塞窗口减小的?