计算机网络思考题
1、 叙述以太网的发送控制过程。画出以太网卡的逻辑功能结构图,并说明各部分的主
要功能。为什么要规定CSMA/CD的MAC帧长度不能小于一个额定的值? 比较802.3,802.5两种局域网的优缺点。
2、网络如下图所示,链路旁边注明的数字代表链路的长度。试用Dijkstra算法求出从节点1到其它各点的最短路径。
2 2 1
3 3 1 1 5 3
4 6 1 2 2 5
4
答:将节点分为两个集合:
A= ① B= ② , ③, ④, ⑤, ⑥ (1)求集合B中各点与节点①的距离
D0(2)=1 D0(3)= ∞ D0(4)=5 D0(5)=1 D0(6)=3 可找出:N=2 D(2)=D0(2)=1 找出点N,
使D(N)= Min [ D0(2),D0(3),D0(4),D0(5),D0(6)] A= ① ,② B= ③, ④, ⑤,⑥ (2)其次求集合B中其余各点与源点①的最短距离
D(3)=Min [ D0(3),D(3,2)+ D0(2)] = D(3,2)+ D0(2)=2+1=3 D(4)=Min [ D0(4),D(4,2)+ D0(2)] = D0(4)=5 D(5)=Min [ D0(5),D(5,2)+ D0(2)] = D0(5)=1 D(6)=Min [ D0(6),D(6,2)+ D0(2)] = D0(6)=3 可找出:N=5, D(5)=D0(5)=1
A= ①, ②, ⑤ B= ③, ④, ⑥ (3) D(3)=Min [ D0(3),D(3,5)+ D0(5)] = D(3,2)+ D0(2)=2+1=3 D(4)=Min [ D0(4),D(4,5)+ D0(5)] = D(4,5)+ D0(5) =2+1=3 D(6)=Min [ D0(6),D(6,5)+ D0(5)] = D0 (6)=3 可找出:N=3, D0(3)=3
A= ①, ②, ③, ⑤ B= ④, ⑥ (4) D(4)=Min [ D0(4),D(4,3)+ D0(3)] = D0(4)=3 D(6)=Min [ D0(6),D(6,3)+ D0(3)] = D0(6)=3
N=4, D(4)
A= ①, ②, ③, ⑤, ④ B= ⑥
(5)D(6)=Min [ D0(6), D=(6,3)+D0(3) ] =D0(6)=3
∴可得节点1到其它各点的最短路径为
2 231 11254
3
6
3、 试简述HDLC帧各字段的意义。HDLC使用的RR和REJ帧都确认正确收到(N-1)
号帧。这里N为帧内运载的序号。为什么需要这两种不同的控制帧? 答: 帧标志字段 01111110 地址字段A 控制字段C 信息字段I 校验字段FCS 帧标志字段 01111110
帧标志字段01111110标志着帧的开始与结束;地址字段标明了命令帧或响应帧的地址,即对命令帧为目的站的地址,对响应帧而言为响应站的地址;控制字段说明了帧的类型和功能,分别有三种帧:控制字段第1位为0表示信息帧,前两位为10表示监控帧,前两位为11表示无编号帧;信息字段承载了帧的信息;校验字段是对A、C、I字段的CRC校验,用来检错。
尽管HDLC中的RR和REJ都确认正确收到(N-1)号帧,但含义却不同:RR确认(N-1)号帧表示接收站正确收到N帧以前的帧,希望发送站继续发送N帧及N帧以后的数据;然而,如果发送站已发送了N帧,甚至(N+M)帧,接收方也已收到但发现出错,接收方会返回REJ表示只成功接收了(N-1)号帧及其以前的帧,对于后面的帧则希望发送方重发。可见RR是肯定应答,REJ是否定应答且要求重发,含义不同。
4、网络互连有哪几种方式?如何确定网络互连层?叙述常用的两种网桥路由选择策略。 答:网络互连的方式有以下4种:
局域网LAN——局域网LAN 广域网WAN——广域网WAN
局域网LAN——广域网WAN
局域网LAN——广域网WAN——局域网LAN 确定网络互连层必须遵守以下规则:若网络在第i层相连,则其i-1及以下的几层协议可以不同,但是第i层及其以上的协议必须相同。
常用的两种网桥路由选择策略:IEEE生成树网桥和源路由网桥。 IEEE生成树网桥是无连接的,路径选择工作由网桥完成。由于用于路径选择的表格是自动创建的,并且会及时而透明地适应网络中的变化,所以,这些网络具有适应性,因此也把
它称为透明网桥。
源路由网桥是面向连接的,路径选择是由网络中的站点完成。每个网络工作站中都应配置一张路由选择表,在表中为本地站所能到达的所有各工作站都建立一张表目,其中列出了由本站到目标站的确定路径上所有工作站和网桥的站址。由本站发往该目标站的所有帧,都将沿着这条路径传输。
5、无线局域网的MAC协议有哪些特点?为什么在无线局域网中不能使用冲突检测协议?试说明RTS 帧和CTS帧的作用。
答:无线局域网的MAC协议的特点:无线局域网采用了一种具有冲突避免的载波监听多路访问(CSMA/CA)协议实现无线信道的共享。其主要工作原理如下:
在数据包传输之前,无线设备将先进行监听,看是否有其他无线设备正在传输。若传输正在进行,该设备将等待一段随机决定的时间,然后再监听,若没有其他设备正在使用介质,该设备开始传输数据;为了使两个无线设备同时进行传输(这将导致冲突)的可能性减到最小,无线局域网的MAC协议使用称为发送请求/清除以发送(RTS/CTS)的机制。例如:若发送方需要向接收方发送数据时,发送方先向接收方发送一个请求发送帧RTS,这个短帧给出了后继数据帧的长度,接收方返回一个允许发送帧CTS帧进行回应,表示它将阻止任何其他的通信,直到发送方发送完数据为止。当发送方收到CTS帧,就可以向接收方发送数据帧。侦听到RTS帧的任何其它站点均向发送RTS的站关闭,侦听到CTS帧的任何其它站点均向发送CTS的站关闭。这些站点能听到正在发生的数据传输,并把它们的传输延迟到那段时间之后。在这种方式下,数据在节点之间进行传递时,由设备导致的在介质上产生冲突的可能性最小。这种传输机制同时解决了无线局域网中的隐藏终端问题。
在无线局域网中不能使用冲突检测协议的原因:
无线局域网不像普通广播型局域网,即每个站点发送的信息其他站点都可以收到,无线局域网由于无线电波传播距离的限制,一个站点发送的信息只能传送有限的站点。若采用冲突检测协议则常会发生错误,如暴露站点问题,A←B C→D,如果B向A发信息,那么由于C处于B的范围之内则它会认为此时不能向D发信息,实际上由于A处于C的范围之外,C的发送不会影响A、B,又如隐藏站点问题,A→B←C D,如果A向B发送信息,此时由于C处于A之外,C没有检测到信道忙,以为可以向B发信息,这样会引起B接收错误。
6、IP数据报采用“尽力传递”的含义是什么?
答:“尽力传递”的含义是数据报的传输不建立连接,也不采用确认重发的机制,不进行
差错检验,不进行流量控制和拥塞控制等。而是把IP数据报尽量选择最佳路由传输给目的主机。其传输的可靠性由高层TCP层来解决。
7、 试简述RIP路由协议是怎样建立和更新路由表的?
答:RIP是基于矢量距离的路由协议。参加RIP协议的所有机器分为两类:主动机和被动
机,主动机能够发布和接收路由信息,而被动机只能接收和更新路由信息,不能发布路由信息。一般路由器运行主动模式,而主机运行被动模式。
运行RIP主动模式的路由器每30秒钟广播一个路由信息报文,该报文包含所有它能到达的网络的IP地址和它们的矢量距离。RIP定义与路由器直接相连的网络的矢量距离为1,如果要经过另一个路由器才能到达的网络,其矢量距离为2。所以,从信源网络到信宿网络的矢量距离就等于数据报沿该路径传输时所遇到的路由器的数目。所有路由器和主机收到路由信息报文以后,根据路由算法更新路由表。RIP协议规定,在路由表中每一
个信宿网络只有一条路由,它就是矢量距离最短的哪一条。
为了防止路由表过时,路由表必须不断地更新。路由器在路由表中每填入一项路由,就启动一个定时器。当再次接到该路由的更新信息时,重新启动该定时器。如果定时器超过180秒钟仍未收到该路由的更新信息,则该路由变为无效。
8、为什么说TCP层是字节流传输? UDP协议有什么作用? 你认为TCP和UDP协议分别适用于哪些场合?
答:TCP层是字节流传输的原因:
TCP层把应用层送来的报文形成一个流——TCP流,它是一个无结构的字节流。流中数据是一个个字节构成的序列,而无任何可供解释的结构。而TCP的基本传输单元是段(Segment),把TCP流分为若干个段,每段的长度是可变的。TCP确认是针对流中的字节,而不是段。TCP采用“累计确认”方法,即接收方确认已正确收到的、最长的、连续的流前部,每个确认指出下一个希望接收的字节。
UDP协议的作用:提供不面向连接的,高效率服务。因为无连接,网络开销小,实时性较强,还可以用作实时数据传输。
TCP和UDP协议分别适用的场合:
TCP协议适用于一次传送大量的数据,如文件传输(FTP)、远程登录等。而UDP主要用于一次传送少量的数据,如地址查询、数据库查询等。UDP还用于实时数据传输。
9、画图说明TCP协议是如何保证虚电路连接的建立的可靠性?
答:TCP协议使用“三次握手”(Three-Way Hand shalce)来保证电路连接、拆除的可靠性,即需传送三次报文才建立或拆除电路。TCP使用名词“同步段”SYN来表示连接建立报文,过程如下:发送方发送SYN+ACK给接收方,接收方收到后再发SYN+ACK给发送方,发送方接收后发ACK给接收方,接收方接收ACK后连接建立。这样就可以保证不会出现一方以为连接已建立而另一方还没有建立连接的情况,“三次握手”保证了电路连接建立的可靠性。
10. TCP协议是采用3次握手过程来进
建立的,请你举例出采用2次握手会发生出错的情况。 发送SYN+ACK接收到SYN+ACK发送SYN+ACK接收到SYN+ACK发送ACK接收到ACK连接建立行虚电路连接的
答:考虑到网络服务的不可靠性,当连接建立采用2次握手过程时,设想A发一个连接请求RFC到B,它期待得到RFC来确认这个连结请求。有两种情况都可能出错:
a、 A的RFC可能丢失。
b、 B回答的RFC也可能丢失。
这两种情况都可用RFC定时器来处理。在A发出了RFC之后,当定时器计满时它将重新发出RFC,这样很可能形成RFC的重复。如果是B的响应丢失了,那么B就会接收到两个RFC。如果B的响应不丢失。只是简单的延时,A也可能得到两个响应RFC,一旦连结建立,就说明重复的RFC没有对A和B产生影响。
问题的严重性在于重复的RFC可能会在网络中迟延到连结终止之后才到达目的端,这就可能发生如图1所示的2次握手仍存在的问题。如图所示,连接终止之后,旧的RFCX(请求连结,顺序号从X开始)到达B。B误认为这是新的请求,而用RFCy响应。A却以为是B有新的请求而送出RFCZ,意欲开通新的连结。而B原先并未有过请求,故将RFCZ当作非法副本而将它丢弃。后来A错误地以发送DATAX执行数据传输,而B则因序号不对而拒绝对该数据的接收,将它丢弃。
而三次握手过程则保证能正确地建立和拆除连接。 传送实体A 传送实体B
RFCX 一个旧的RFC到达
RFCy 对旧的RFC作出响应
A 以为B请求连结, RFCZ
发出响应RFC B以为是重复的RFC 丢弃 将它丢弃 A在错误的连结上 DATAX 发送数据单元 B拒绝接收数据, 丢弃 将它丢弃
图1 2次握手出现的问题
11、死锁是怎样形成的? 怎样防止?
答:死锁是网络拥塞的极端情况,它使网络吞吐量下降为0,网络瘫痪。死锁可分为存储转发型死锁、重排序和重装配死锁。
(1) 存储转发型死锁
这类死锁分为:直接存储转化型死锁和间接存储转发死锁。
节点A 和节点B是相邻节点,当节点A有分组要向节点B发送,可是B节点的缓冲器已被占满,无空缓冲器来接收从A 发来的分组,同时B也有分组向A发送。而A 也无空缓冲区接收B发来的分组,此时双方发送的分组都被对方丢弃,就进入死锁状态。在无外力作用下,这一状态将一直维持下去,称直接存储转发型死锁。
这种死锁的预防可采用两种方法: