计算机网络大题

基础知识

针对874来说,最重要的考点有3个:路由器的转发过程,TCP的拥塞过程,访问网站的过程

数据交换方式:
image-20220615202917918

假设传输完整报文(数据)的总时间之和为$T$,传输一个分组所用时间为$T_s$,假设中间有$n$个路由器(存储转发方式)

报文交换所需的时间:$T_N=n×T$

分组交换所需的时间:$T_F=T+n×T_s$


路由器的转发过程

image-20210510143204263

image-20210510143337978

  1. 首要的就是要注意默认路由的概念,每一个路由器都要有一个默认路由,如果要访问互联网的话,目的网络和子网掩码都是0.0.0.0,即0.0.0.0/0

  2. IP分组在被路由器转发的过程中,

    一定变化的标识有:

    • 生存时间TTL
    • 头部校验和

    可能变化的标识有

    • 总长度(取决于是否分片)
    • 标志(和分片有关的标志 )
    • 片偏移(是否分片)
    • 源IP地址(取决于源IP地址是否是私网地址)
    • 目的IP地址(取决于目的IP地址是否是私网地址)

访问网站的过程

TTP连接分为持续连接和非持续连接

持续连接又分为非流水的持续连接和流水的持续连接

如果用户向服务器请求数据,比如说3个图片和1个网页

  • 非流水的持续连接

image-20210526125834400

需要的是建立TCP的时间,因为第三次握手就可以传输数据了,所以总时间是1次RTT的建立连接时间+n次数据传输和RTT时间

需要5个RTT时间+4个对象的传输时间

  • 流水的持续连接

image-20210526125946863

建立了TCP连接之后,剩下的文件可以持续发送,所以只需要3个RTT时间

需要3个RTT时间+4个对象的传输时间

非持续连接

image-20210526130048609

每次发送一个数据就需要建立TCP连接,即需要2次RTT

需要8个RTT+4对象传输时间


数据帧的封装过程:

MAC帧:

image-20210429185723929

  • 长度在64~1518字节
  • 数据载荷部分在46~1500字节
  • 地址长度为6B

IP数据报

image-20210510201659621

  • 首部固定部分长度为20B,其中首部长度4B,片偏移的单位为8B
  • 地址长度为4B

TCP报文

image-20210512223248172

  • 首部长度固定为20字节
  • 端口号占了2字节

封装过程:

IP数据报封装TCP报文段

image-20221209184027108

MAC封装IP数据报

image-20221209184115077


408

数据链路层

image-20210518152433911

解析:此题考察了争用期的概念,以及以太网帧的相关知识

  1. 最长时间就是争用期的时间=2/200000*2=$2×10^{-5}s$,而最短的时间则是,数据发送到刚好一半的位置被检测到了碰撞,为争用期的一半,是$10^{-5}s$
  2. 主机的有效数据传输速率=有效数据/总时间,总时间=最长数据帧发送时延+信号的传播时延+主机乙确认帧的发送实验+传输时延

甲发送时延=$(15188)/(110^7)=1.2144ms$ 传输时延=$2/200000$=0.01ms,乙发送时延=$(64*8)/(10^7)=0.0512ms$

总时间为:1.2144+0.01*2+0.0512=1.2856ms

因为MAC帧的数据帧格式为image-20210506120334489

MAC帧中有18个字节不需要数据载荷,有效数据传输速率为$(15008)/(1.285610^{-3})=9.33Mbps$


image-20210522162158606

  1. t0到t1时刻期间,甲方收到了的数据帧是R0,1表示收到了第0帧,R1,3表示收到了第0,1,2帧,R3.3表示收到了第0,1,2帧,所以甲方断定乙方已正确接收的数据帧数是3帧,正确接收的是,S0,0 S1.0 S2.0

  2. 数据帧的发送序号和确认序号字段均为3比特,那么发送窗口大小为$2^3-1=7$

    image-20210522165228362

此时最多还可以发送5个数据帧,因为主机甲没有收到主机乙的2号数据帧,所以会一直请求第2号数据帧,其中第一个帧是S5,2最后一个帧是S1,2

  1. image-20210522170555815

    此时要重传的数据帧是S2,3 S3,3 S4,3,一共3个

  1. image-20210522171003499

    甲可以达到的最大信道利用率是:发送数据的时间/从开始发送第0个数据帧到收到第0个确认帧的时间=7个数据帧的发送时间/(2a+2b)

​ 信道利用率为50%


网络层

image-20210518123946639

image-20210518123957521

解析:此题考察网络中IP地址,路由跳转等知识点

① 首先判断该网络为C类地址,在划分子网的时候,题目要求是每个局域网不少于120个地址,所以$2^x>120+2$,x至少为7,所以只有借用第一位主机号作为网络号,局域网1的地址为202.118.1.0到202.118.1.127,局域网1的地址块为 202.118.1.0/25,局域网2的地址为202.118.1.128到202.118.1.256,局域网2的地址块为 202.118.1.128/25

② 给出R1的路由表

目的IP地址 子网掩码 下一跳IP地址 接口
202.118.1.0 255.255.255.128 E1
202.118.1.128 255.255.255.128 E2
0.0.0.0 0.0.0.0 202.118.2.2 L0
202.118.3.2 255.255.255.255 202.118.2.2 L0

需要注意的是,因为没有指明是到互联网中的那一条路由,所以是采用默认路由的方式进行配置,而到域名服务器是到一个特定主机的路由,所以采用对特定主机的方式进行配置

③ 要路由聚合技术,则需要找到局域网1和局域网2的共同前缀,为202.118.1,则聚合了之后,其聚合路由地址为202.118.1.0/24


image-20210518172036987

image-20210518172129028

image-20210518172045742

image-20210518172052740

本题是对以太网帧格式,IP分组格式,IP地址,MAC地址,ARP协议,HTTP/1.1持续的非流水线方式的综合考查

  1. 根据层层封装的原理,IP数据报会被封装在以太网帧中进行发送,则以太网帧中的第1个到第6个字节是目的MAC地址,主机的默认网关地址为 00 21 27 21 51 ee 第31个字节到第34个字节是源IP地址,40 aa 62 20 十进制表示是 64.170.98.32

  2. 使用ARP协议确定目的MAC地址,封装该协议的请求报文采用广播形式,目的MAC地址为FF FF FF FF FF FF

  3. 需要注意的是,在题目的图中,是进行了有效数据传输的,所以发出Web请求是在第三次握手的时候

    image-20210518192758534

    一共经过了6个RTT

  4. 在经过路由器转发时,需要修改IP分组中的源IP地址,生存时间,首部校验和,

因为IP地址是私有地址,所以在经过路由器转发的时候会改变其源IP地址


image-20210520144551905

image-20210520144557289

解析:本题考察路由表转发,路由聚合等知识点

目的网络 下一跳 接口
194.17.20.128/25 直连 E0
153.14.5.0/24 153.14.3.2 S0
194.17.20.0/23 194.17.24.2 S1

② 通过E0来转发该IP分组,因为目的网络的前缀更长

③ BGP,通过TCP建立连接


image-20210520171435267

image-20210520171442954

① 因为图中标注了权值,所以采用的是OSPF协议,则要将192.1.7.0和192.1.6.0聚合起来

目的网络 下一跳 接口
192.1.1.0/24 直连 E0
192.1.5.0/24 10.1.1.10 L1
192.1.6.0/23 10.1.1.2 L0

② 通过L0转发分组,收到的IP分组TTL为64-3=61

image-20210520172427620

需要增加一条特殊的直连网络,网络前缀Prefix为0.0.0.0/0,度量Metric为10


image-20210522184131547

  1. 将192.168.1.0均分给两个子网,按图中格式,说明子网掩码为255.255.255.128,销售部的广播地址是192.168.1.127,技术部的子网地址是192.168.1.128,还有254-208=46个子网可以分配
  2. 需要注意的是,IP数据报里面的偏移量一定要是8的整数倍,1500B的IP分组,数据载荷部分为1480B,分为两部分,每段能最多封装780B的数据载荷,至少分为2片,则第1段分776B,而第2段分704B,第1的片偏移量为0,第2段的片偏移量为776/8=97

image-20210522202310386

  1. 路由器,交换机,交换机

  2. 设备1的所有接口需要配置IP地址,

    IF1 192.168.1.254/30 IF2 192.168.1.1 IF3 192.168.1.65

  3. NAT服务

  4. H4


image-20221209204846900

  1. 两个子网使用了相同的网段,且路由器开启了 NAT功能,加上题干给出了 NAT表的结构,因此需要配置NAT表。路由器R2开启NAT服务,当路由器R 从 WAN 口收到H2或 H3发来的数据时,根据NAT表发送给Web服务器的对应端口。外网IP 地址应该为路由器的外端IP 地址,内网IP 地址应该为Web服务器的地址,Web服务器的默认端口为8 0 ,因此内网端口号固定为8 0 ,当其他网络的主机访问Web服务器时,默认访问的端口应该也是8 0 ,但是访问的目的IP 是路由器的IP 地址,因此NAT表中的外部端口最好也统一为80。题目中并未要求对H 1进行访问,因此H 1的NAT表项可以不写。R 2 的NAT表配置如下:

    image-20221209205318365

  2. 由于启用了 NAT服务,H 2发送的P 的源IP 地址应该是H 2 的内网地址,目的地址应该是R2 的外网IP 地址,源 IP 地址是192.168.1.2,目的IP 地址是203.10.2.2

    R3转发后,将P的源IP 地址改为R3的外网IP 地址,目的IP地址仍然不变,源 IP 地址是203 .10 .2 .6 ,目的IP 地址是203.10.2.2

    R2转发后,将 P 的目的IP 地址改为Web服务器的内网地址,源地址仍然不变,源 IP 地址是203 .1 0 .2 .6 ,目的IP 地址是192.168.1.2


image-20221209210929710

  1. 根据过程:DNS ARP TCP HTTP 可知用了DNS这一协议,在传输层用UDP,在网络层用IP,在数据链路层用CSMA/CD

  2. 首先第一步是H1向域名服务器请求查询域名,那么S肯定记录下端口4和H1的对应关系,同时ARP广播找寻域名服务器的MAC地址,得到答复后,记录下端口1和域名服务器的关系,然后H1向abc网站发送请求,S交换机又需要通过ARP广播确定R的MAC地址,得到回应后确定了端口2和R的关系,所以S的交换表为:

    image-20221209211406558

  3. 由上述过程可得,H2至少收到了2次ARP广播帧,MAC地址都为FF-FF-FF-FF-FF-FF


运输层

image-20210518205638100

image-20210518205653004

已知,题目给出IP数据报格式以及TCP报文格式

image-20210510201659621

image-20210512223248172

  1. 题目已经给出了主机H的IP地址,对比IP数据报的首部格式,第13到16字节是其源IP地址,192.168.0.8化为16进制形式为 c0 a8 00 08,对比可知,编号为1.3.4的分组是H发送的

    建立TCP连接需要经过3报文握手,前两次握手的SYN标志位是1,第三次握手SYN=0,ACK=1,可以根据以上取值来寻找分组,可以看到5个分组的首部字段长度都为5,所以在可变部分都没有进行添加,则分组的前20字节为IP数据报部分,后20字节为TCP报文段,可以得出1分组的SYN位是1,ACK=0,第2个分组的SYN位是1,ACK=1,第3个分组的SYN=0,ACK=1,所以在1.2.3完成了TCP连接建立

    以太网的最小帧长为64字节,除去首部和尾部共16字节外,数据载荷的最小长度为46字节image-20210518211555026

    本题中,数据载荷部分就是IP分组,若IP分组的长度小于46字节,就需要填充,根据IP数据报中的总长度字段,可以得出,第3,5号需要填充

  2. 在TCP报文段中找到序号的值,从第4号分组中开始,应用层的初始序号为84 6b 41 c6 ,在第5号分组中,确认序号为84 6b 41 d6,因此收到的数据量=确认序号-初始序号,结果为16字节

  3. 需要找到生存时间,可以找到其发出前的生存时间为40H,而2号和5号收到的分组,生存时间都为31H,可以算出生存时间减少了15,所以经过了15个路由器


image-20210520200540939

image-20210520200549881

  1. 最大范围是从111.123.15.5到111.123.15.254,目的地址是255.255.255.255,源地址是0.0.0.0
  2. 会广播发送,MAC的目的地址为FF-FF-FF-FF-FF-FF,是00-a1-a1-a1-a1-a1
  3. 子网掩码为255.255.255.0和WWW服务器的子网掩码相同,能访问到WWW服务器,默认网关是111.123.15.2,属于配置错误,无法连接到Internet

image-20210522004408908

  1. 第二次握手TCP段的SYN位是1,ACK位是1,确认号是1+100=101

  2. H3在收到了第8个确认段后,拥塞窗口应该是1+8=9,第8个确认段发送回来的接收窗口应该是20-8=12,H3的发送窗口会取拥塞窗口和接收窗口的最小值,也就是9

  3. 发送窗口等于0的时候,就是接收窗口全部被填满了,一共接收了20个数据段,那么下一个待发送的数据段序号为101+1024×20=20581

    在经过1个RTT后,接收窗口为1,第2个RTT后,接收窗口为3,第3个RTT后,接收窗口为7,第4个RTT后,接收窗口为15,第5个RTT后,接收窗口被填满,用时200ms×5=1s

    在此期间,传输了1024×20×8b的数据,所以传输速率为20.48kb/s

  4. 在4报文挥手中,S释放连接的最快速度是1.5个RTT,也就是1.5×200ms=300ms


874

image-20221209170743267

image-20221209173642332

具体过程如下:

  1. DNS查询IP地址
  2. ARP查询到MAC地址
  3. 主机于服务器建立TCP链接
  4. 主机发送HTTP协议请求,服务器响应请求

传输层协议是:TCP,拥塞控制方法有:慢开始 拥塞避免 快重传 快恢复

  • 慢开始:开始的时候将拥塞窗口设为1,在拥塞窗口没达到门槛时,窗口数隔一个周期翻倍
  • 拥塞避免:当拥塞窗口达到了门槛时,每次拥塞窗口只加一,如果发生了拥塞,则将拥塞窗口重置为1,门槛调整为原来的一半
  • 快重传:要求接受方接受到消息后立即重传,而发送方接受到3个重复确认后,就立即重传
  • 快恢复:快重传之后,立即将门槛和拥塞窗口设为当前的一半,然后开始拥塞避免

image-20221209221341255

  1. 数据量是3200bit,按分组交换的形式,传输时延是3200bit/1Mbps=3.2ms,经过路由器为4个,分组发送的总时间=5×1+3.2×5=21ms
  2. 3100/1Mbps=3.1ms,5+8+3.1×5=18.5ms
  3. 3200/1Mbps=33ms,5+4+3.2×5=25ms