前言
我们的考试题型是: 简答(6道,5分/道) 应用(6道,5分/道) 计算(5道,8分/道)
以下内容也是按照这三种题型进行的分类,我看了卷子,感觉计算题和应用题的考点分界不明显,所以应用题和计算题我就不细分了,一起复习。全文两个板块:①简答题;②大题
值得注意的是,以下所有题目给出的答案是我做的答案,不是标答哇哇哇!如果答案错误属于正常现象!!!
考完了啦啦啦,凭记忆复原一下我们考试内容(20220105):
简答题
- 描述分组交换网中的存储转发机制
- 描述因特网邮件访问协议的三个主要部分,分别的作用,并写出一次邮件传输的过程
- IPv6相比IPv4的好处(写两点)
- 好像考的是流量控制和拥塞控制
- 让写排队时延的原理还是啥来着,记不太清了
- 描述选择重传中发送发和接收方的运作过程
应用题
- 设置了一个情景,a和b都发给c发送信息,问c能不能区别a和b并正确接受(具体去看网络层ip和运输层tcp的目的地址和原地址的作用)
- ip编址 划分子网给出对应子网的编码范围和起始地址(硬题)
- 给了一个HTTP请求报文,会看报文就行
- 码分多址,给了一个码片,要求写出传输010的比特流
- 密码学(电子邮件只考虑机密性)
计算题
- 经典题目计算时延
- RTT公式的迭代计算(真的绝,给了五个数据,每个数据按照题目给的公式算一遍)
- 按照CSMA/CD原理计算等待时长
- Dijkstra路由
- 循环冗余码CRC
简答题
1. 画图说明TCP协议的三次握手报文交换过程,并进一步说明其解决了两次握手的什么弊端? TCP三次握手的原因是为了阻止历史的重复连接初始化造成的混乱问题,并防止使用 TCP 协议通信的双方建立错误的连接。
我们可以想象以下场景:(如果通信的双方建立连接使用两次握手)
发送方一旦发送了建立连接请求之后就无法撤销此次请求
若网络状况较差,发送方会重复发送请求
或者发送方突发意外,不想建立连接了
接收方可以选择接受或者拒绝此次请求
但接受方无法判断当前获取的请求是否由于网络原因已过期
所以为了判断此次连接是否有效,优化为了3次握手:
- 并在连接引入SYN和SEQ等控制信息
当接收方当收到连接请求时,会将发送方发来的 SEQ 进行+ 1以回应
再发送回发送方
由发送方决定此次连接是否正式建立(正式建立SYN赋值0)
- 使用三次握手和控制信息是希望发送方决定是否
- 因为只有发送方才有足够的上下文判断当前连接是错误的或者过期的。
2. 简述DNS服务器类型、作用及层次关系? DNS服务器有四种划分:根DNS服务器、顶级DNS服务器、权威DNS服务器和本地DNS服务器。 层次关系:①构成分布式、层级系统的只有:根DNS服务器、顶级DNS服务器、权威DNS服务器;②本地DNS服务器作为代理衔接主机对根DNS的请求。 作用:①根DNS服务器:提供TLD服务器的IP地址;②顶级DNS服务器:提供权威DNS服务器的IP地址;③权威DNS服务器:缓存主机与IP的映射;④本地DNS服务器:代理主机请求。
3. 简述解决流水线差错恢复的两种基本方法,即回退N步和选择重传? 回退N步:在使用滑动窗口进行收发双方的数据传输时,如果有一帧丢失/损坏接收方不会传回ACK,导致发送方等待接收方传回ACK确认的计时器超时,发送方会从最近一次得到ACK确认的数据帧开始,将未被确认的错误帧及其之后N帧全部重传。
选择重传:只重发没有正确接受的帧,而不是重发所有的帧。发送方为每个发送的帧设置一个定时器,收到ACK确认就停止计时,超时未收到应答,说明帧丢失或出错,重发该帧,接收方收到序号正确的帧,就向发送方发送ACK应答信号如果发现序号不连续,有丢失帧现象,就向发送方发送NAK信号,请求重发制定序号的帧。
4. 简述DHCP客户服务器交互的4个步骤? DHCP(Dynamic Host Configuration Protocol):动态主机配置协议。是一种高效的IP地址分配方法,
- 发现阶段:即DHCP客户机寻找DHCP服务器的阶段。DHCP客户机以广播方式发送信息来寻找DHCP服务器,只有DHCP服务器才会做出响应。
- 提供阶段:即DHCP服务器提供IP地址的阶段。服务器从尚未出租的IP地址中挑选一个分配给DHCP客户机。
- 选择阶段:即DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。
- 确认阶段:即DHCP服务器确认所提供的IP地址的阶段。
5. 简述什么是无线链路的隐藏终端问题? 在无线通信领域,基站A向基站B发送信息,基站C未侦测到A也向B发送,故A和C同时将信号发送至B,引起信号冲突,最终导致发送至B的信号都丢失了。
6. 简述公开密钥密码系统的工作原理,假设Alice要向Bob发送的报文为m? 通信双方使用一对密钥,这对密钥里一个全世界都知道叫公钥,另一个要求只有一个人知道叫私钥。根据需要: ①发送方使用接收方的公开密钥加密消息,只有接收方用自己私钥才能还原报文。这样能一定程度保证机密性。 ②发送方用自己的私有密钥签名消息,接收方用发送方的公钥解密报文,这样能鉴别发送方身份。
7. 假设Alice要向Bob发送的报文为m,用于机密性的随机对称会话密钥为Ks,Alice的公钥和私钥分别为K+A,K-A,Bob的公钥和私钥分别为K+B,K-B;用于鉴别的散列函数是H。请画图说明一个能够提供机密性、发送方鉴别和报文完整性的电子邮件系统,注意:请完整地画出Alice的发送过程和Bob的接受过程?
8. 简述因特网提供给应用程序的两类服务以及每类服务各自的特征?
因特网提供给应用程序的两类服务:无连接服务和面向连接服务
面向连接服务是在数据交换之前必须先建立连接。当数据交换结束后则应终止这个连接。面向连接服务比较适合于在一定期间内要向同一目的地发送许多报文的情况。
无连接服务的情况下两个实体之间的通信不需要先建立好一个连接,因此其下层的有关资源不需要事先进行预定保留。这些资源将在数据传输时动态地进行分配。无连接服务的另一特征就是它不需要通信的两个实体同时是活跃的。当发送端的实体正在进行发送时它才必须是活跃的。这时接收端的实体并不一定必须是活跃的。只有当接收端的实体正在进行接收时它才必须是活跃的。无连接服务的优点是灵活方便和比较迅速。但无连接服务不能防止报文的丢失、重复或失序。无连接服务特别适合于传送少量零星的报文。
9. 简述流量控制与拥塞控制的区别? 拥塞控制是为了避免网络资源耗尽的问题,通过拥塞窗口实现(它的发展对因特网整个有好处,有全局性) 流量控制是着眼于TCP传输的本质要求,它目的是解决发送方和接收方速率不匹配的问题,通过滑动窗口实现(控制已发送但未被ACK的包的数量)
拥塞控制
- A与B之间的网络发生堵塞导致传输过慢或者丢包,来不及传输。
- 通过拥塞窗口实现
- 拥塞窗口指 发送端 在RTT内可以发送的最大数据包数
- 拥塞窗口根据网络情况一直动态变化
- 实现过程经历两个阶段:
- 1. 慢启动(指从1开始指数增长到限定大小的过程)
- 2. 拥塞避免(超过限定大小后出现丢包,将拥塞窗口改为1,限定大小减半)
流量控制
- A给B发数据,A发送的太快导致B没法接收(B缓冲窗口过小或者处理过慢)
- 通过滑动窗口实现,有发送端窗口和接收端窗口之分
- 窗口的大小在 接收端 指能够接收的最大字节数!
- 窗口的大小在 发送端 指能够发送的数据的大小
- 窗口大小在TCP报文中设置
- 窗口大小可以根据设置动态变化,但在某通信过程中,确定了就不变了
10. 比较说明运行CSMA/CD协议的总线网与令牌环网在轻、重载时的网络性能? 与CSMA/CD 网络相比,令牌环网更适合的环境是负载重。 CSMA/CD 网络各站随机发送数据,有冲突产生。 当负载很重时,冲突会加剧。 而令牌环网各站轮流使用令牌发送数据,无论网络负载如何,都没有冲突产生,这是它的突出优点。
11. 简述分组交换网中的时延类型以及这些时延与节点总时延的关系? 节点总时延dnodal=节点处理时延dproc+排队时延dqueue+传输时延dtrans+传播时延dprop
- 处理时延dproc:路由器检查分组首部和决定将该分组导向何处所需要的时间。
- 排队时延dqueue:分组在经过网络传输时,要经过许多的路由器。所以分组在进入路由器时要在输入队列中排队等待处理;在路由器确定了转发接口后,还要在输出队列中排队等待转发。
- 传输时延dtrans:是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间——数据帧长度(b) / 信道带宽(b/s)
- 传播时延dprop:两个路由器之间的分组运输的耗时。该传播速度取决于链路的物理媒介(光纤、双绞铜线等)。
12. 简述TCP协议的慢启动过程? 设拥塞窗口大小的值为cwind,拥塞限制值为ssthresh
- TCP初始化,拥塞窗口设置为1:主机开始发送数据时,因为不清楚网络的情况,会先试探,所以拥塞控制窗口的数值设置的小
- 执行慢开始算法,cwind按规律增长:每收到一个对新报文段的ACK确认后,就将拥塞窗口的限制值cwind变大,能比之前传输更多一点的数据
- 当cwind==ssthress执行拥塞避免:此时已达到ssthresh的初始设定值,但网络还未堵塞,说明ssthress可以增大一些,放出更多数据
- 网络出现阻塞,把ssthresh值更新为拥塞前ssthresh值的一半,cwnd重新设置为1
13. 简述虚电路(VC)的组成和建立过程? 发送方发送含有地址信息的特定的控制信息块(如:呼叫分组),该信息块途经的每个中间结点根据当前的逻辑信道(LC)使用状况,分配LC,并建立输入和输出LC映射表,所有中间结点分配的LC的串接形成虚电路(VC)。
一条虚电路的组成:
- 源和目的主机之间的路径(即一系列的链路和路由器)
- VC号,沿着该路径的每段链路的一个号码
- 沿着该路径的每台路由路中的转发表表项
虚电路的建立过程:
- 在建立阶段,发送传输层与网络层联系,指定接收方地址,等待网络建立虚电路。网络层决定发送方和接收方之间的路径,即该虚电路的所有分组要通过的一系列链路与路由器。
- 网络层也沿着该路径的每条链路决定一个VC号。最后,网络层在沿着路径的每台路由器的转发表中增加一个表项。在虚电路建立期间,网络层还可以预留该虚电路路径上的资源。
14. 简述地址解析协议ARP的作用及作用范围? 地址解析协议(Address Resolution Protocol,ARP):发送主机中的APR模块将取在相同局域网上的任何IP地址作为输入,然后返回相应的MAC地址
ARP只为在同一个子网上的主机和路由器接口解析IP地址
15. 简述报文鉴别码MAC的含义和作用? 含义:用鉴别密钥s级联报文m,生成的m+s,计算出的密码散列H(m+s)的结果称为报文鉴别码 作用:被附加在报文之后,同时传送给收件人,收件人自己可以计算报文的MAC并与接收到的MAC相比较,如果它们相同,则报文在旅程中未被改变,保障数据的可靠性。
16. 简述交换机与路由器的异同?
相同点:
1. 都可用来交换网络设备
2. 都是用来扩展网络的
不同点:
1. 工作层次不同
交换机工作在数据链路层
而路由器工作在网络层
2. 数据转发所依据的对象不同
交换机利用MAC地址确定转发数据的目的地址
路由器则是利用IP地址来确定数据转发的地址
17. 比较LS算法和DV算法的特点?
LS算法即链路状态算法,即具有全局状态信息的算法 DV算法即距离向量算法
1. 工作原理不同
LS算法中,网络拓扑和所有的链路费用都是已知的
DV算法:要求每个路由器都要向其他邻接的路由器发布一个距离向量
距离向量是该路由器到其他已知的各网络的相对距离
2. 算法结构不同
LS算法:是一种全局信息的算法
DV算法:是一种迭代的、异步的和分布式的算法
3. 跳数的限制
LS没有跳数的限制,使用“图形理论”算法或最短路径优先算法
DV使用跳数或向量来确定从一个设备到另一个设备的距离
4. 路由表的更新
LS算法:每个节点都有一个全局的拓扑结构,根据此拓扑结构计算路由表,
DV算法根据相邻节点的路由信息更新自己的路由表
18. 数据链路层提供的许多服务和运输层提供的服务是非常相似的,试描述二者的异同?
相似性:链路层和运输层均能提供可靠的传输、流量控制和差错检测。
不同之处:
- 传输服务不同。运输层协议在端到端的基础上为两个进程之间提供可靠传输;可靠的链路层协议在一条链路相连的两个节点之间提供可靠的传输服务。
- 流量控制不同:运输层协议中的流量控制是在端到端的基础上提供的,而链路层协议是在相邻节点之间的基础上提供的。
19. 发送窗口的大小取决于流量控制还是拥塞控制? 发送窗口的大小=min{ 流量控制的接收窗口大小,拥塞窗口} LastByteSent - LastByteAcked ≤ min{ rwnd,cwnd,} cwnd即拥塞窗口(拥塞控制) rwnd即接受窗口(流量控制)
关于IP编址的题
看这篇博客,写的贼好!
大题
第一种题型:第一章时延、信道利用率
1. 月球到地球的距离大约是3.9 x 105 Km,在他们之间架设一条200Kbps的点到点链路,信号传播速度为光速(3 x 108 m/s),将一幅照片从月球传回地球所需的时间为501.3s,问:这幅照片的字节数。
分析这道题,显然只有传输时延和传播时延
传播时延=3.9x10^8m / 3x10^8m/s=1.3s
传输时延=501.3-1.3=500s
字节数= 传输时延*带宽=500x200Kbps=100000Kb
2. 假定在同步卫星和它的地球基站之间有一条15Mbps的微波链路,卫星和地球间相距36000Km。每分钟该卫星拍摄一副数字照片,并将它发送到基站,假定传播速率是2.4x108m/s。 (1)该链路的传播时延是多少? (2)带宽时延积R·dprop是多少?(带宽与来回通信延迟的乘积)
(1)36000km/2.4x10^8m/s=150ms
(2)150x15Mbps
第二种题型:第三章运输层可靠数据传输(差错恢复滑动窗口)
1. 考虑一个GBN协议,其发送方窗口为4,序号范围为1024。假设在时刻t,接收方期待的下一个有序分组的序号是k。假设媒体不会对报文重新排序。回答下列问题 1)在t时刻,发送方窗口内的报文序号可能是多少?论证你的回答。 2)在t时刻,在当前传播回发送方的所有可能报文中ACK字段的所有可能值是多少?论证你的回答。
1)对于退回N步协议:
接收方一定是按序确认的,发送方也必须等到窗口内的分组都确认才移动
所以接收方想要第k个
意味着k之前所有分组接收方一定已经接受并发送ACK了
但发送方不一定都接受到了ACK,也有可能都收到了
所以发送方窗口中左极限为:k-4
(只要[k-4,k-1]的ACK信号全部到达,滑动窗口自然移到k)
右极限为:k+3
([k,k+3]已发送,但还没到达接收方)
发送窗口内的报文序号就有以下排列:
- (k-4,k-3,k-2,k-1) 发送方ACK(k-4)~ack(k-1)都没有收到;
- (k-3,k-2,k-1,k) 发送方收到了ACK(k-4),ACK(k-3)~ACK(k-1)发送方还没有收到;
- (k-2,k-1,k,k+1) 发送方收到了ACK(k-3),ACK(k-2)~ACK(k-1)都没有收到
- (k-1,k,k+1,k+2) 发送方收到了ACK(k-2),ACK(k-1)~ACK(k)都没有收到
- (k,k+1,k+2,k+3) 发送方收到了ACK(k-1),接收方还没收到k
2)第一题已经把情况都列举出来了,照着写就好了
- (k-5,k-4,k-3,k-2,k-1),(k-4,k-3,k-2,k-1)(情况1.1)
- (k-3,k-2,k-1)(情况1.2)
- (k-2,k-1)(情况1.3)
- (k-1)(情况1.4)
- ()(情况1.5)
分析出来也能知道:k-5发送方一定收到了。
第三种题型:第三章运输层TCP与UDP对比
第四种题型:第四章网络层IP地址、IP分片
第五种题型:第五章网络层路由选择算法
1.Dijkstra算法
2. 距离向量路由算法
第六种题型:第六章链路层CRC
- 通信双方采用CRC循环校验码,约定的生成多项式是100110,待发送的信息为10010110,计算循环冗余校验码
G = 100110 有6位
所以循环冗余校验码有5位: r = 5
CRC =reminder[ D * 2^5/G ]= reminder[10001111……10]=00010
数据报 DR = 10010110 00010
- 采用CRC校验时,数据接收方收到一个比特序列为10101001111的数据,生成多项式为G(x) = x3 + 1,收到的比特序列有错吗,请计算回答,要求写出校验过程。
G = 1001 有4位
所以循环冗余校验码有3位: r = 3
CRC = 111
数据报 DR = 10101001111
用 DR / G = 10111110……1
余数不为0,故收到的比特序列有错。
- 当采用CRC校验,G(x) = x4 +x3 +1 ,接收方收到一个比特序列为110101101101,问,CRC循环冗余码应该为几位2进制数?该序列是否有错误?要求写出校验过程。
G = 11001 有5位
所以循环冗余校验码有4位: r = 4
CRC = 1101
数据报 DR = 110101101101
用 DR / G = 10010101……0
余数为0,故收到的比特序列正确。
第七种题型:第六章多路访问协议
码分多址CDMA
一个bit时间划分为m个短的间隔,称为码片。码片序列的编码如下:
假设发送端的码片为:01010101
将发送端的每一bit信号进行编码:
信号1,则用01010101表示
信号0,则发送其反码10101010
同时为了提升发送信号的抗干扰性,一般将编码中0用-1代替。
考虑单一发送发的CDMA情况,如果发送方的CDMA码是(1,-1,1,-1,1,-1,1,-1),如果要发送两个数据比特0和1,发送方输出是什么?请画图说明。
由题意可得发送方的码片为:10101010
然后把01扩展到码片上表示:
0 1
01010101 10101010
然后用-1代替0
发送方的输出即为:-1 1 -1 1 -1 1 -1 1 1 -1 1 -1 1 -1 1 -1
画图的话可以参考这个:
CSMA/CD 1. 假设节点A和节点B在同一个10Mbps以太网总线上,并且这两个节点的传播时延为225比特时间.假设A和B同时发送帧,帧发生了碰撞,然后A和B在CSMA/CD算法中选择不同的K值。 1)假设没有其他节点处于活跃状态,来自A和B的重传会碰撞吗? 2)假设A和B在t=0比特时间开始传输,它们在t=225比特时间都检测到了碰撞.它们在t=225+48=273比特时间完成了阻塞信号的传输.假设KA=0,KB=1. 2.1)B会将它的重传调整到什么时间? 2.2)A在什么时间开始发送? 2.3)A的信号会在什么时间到达B? 2.4)B在它预定的时间会控制传输吗?
B的信号传到A经历的传播时延225,A获取阻塞信号的传输时延为48,KA=表示A立刻重传,A将要传输的数据送到链路上再次消耗一个传输时延,所以A的时间有三段: 273+225:等待B阻塞信号的传播时延 498+48:A获取B的阻塞信号,再加48,A准备传输自己的数据 所以594时A开始传输
反观B这边,自己的阻塞信号传出去之后,等待A的阻塞信号传来有一个传播时延225,然后获取A的阻塞信号有一个传输时延48,然后KB=1,指B等待一个传播时延225,B准备自己的数据又是一个传输时延48,B共计273+225+48+225+48 =881开始重传
A从594开始传输历经传播时延225到达B为819 819<881,A在B开始之前就到达了,所以二者不会碰撞
第八种题型:第八章密码学密钥
简答题出现过一道,写的很详细,这里就不赘述了。
第九种题型:物理层比特流的处理
1. 画出1101001100的曼切斯特编码图 曼彻斯特编码:从高到低跳变表示"1",从低到高跳变表示"0"。
2. 请画出011010100111的差分曼彻斯特编码 差分曼彻斯特编码:用每位开始有跳变为"0",无跳变为"1"。
|