一、单项选择题
- 计算机网络技术是计算机技术与( C )技术高度发展、密切结合的产物。
A. 交换机 | B. 软件 |
C. 通信 | D. 自动控制 |
- 用十六进制表示法位0Xc3321614的IP地址若采用点分十进制表示为( B ),该地址属于( B )类地址。
A. 195.50.22.20/B | B. 195.50.22.20/C |
C. C3.32.22.14/B | D. C3.32.222.14/C |
- 以下数字数据编码方式属于自同步编码的是( D )。
A. 非归零码 | B. 循环冗余编码 |
C. 二进制编码 | D. 曼彻斯特编码 |
- 在TCP/IP参考模型中,在传输层之上的是( B )。
A. 物理层 | B. 应用层 |
C. 数据链路层 | D. 传输层 |
- 差错产生的原因是( C )。
A. 热噪声 | B. 随机噪声 |
C. 热噪声和随机噪声 | D. 电液大小 |
- 在TCP/IP参考模型中,与OSI参考模型中的网络层对应的是( B )。
A. 主机-网络层 | B. 互联层 |
C. 传输层 | D. 应用层 |
- 客户进程使用简单邮件协议SMTP将邮件发送到邮件服务器并一直保留在服务器,在接收端使用( B )协议读取邮件。
A. PPP | B. POP3 |
C. IMAP | D. SNMP |
- 在TCP/IP协议簇中,( C )协议完成物理层地址到IP地址的映射。
A. IP | B. ARP |
C. RARP | D. ICMP |
- 定义以太网的IEEE标准是( C )。
A. 802.11 | B. 802.5 |
C. 802.3 | D. 802.15 |
- 最高三位为110的二进制IP地址是( C )地址。
A. A类 | B. B类 |
C. C类 | D. D类 |
- 在TCP协议中,IPV4和IPV6的地址分别是( A )。
A. 32和128 | B. 32和64 |
C. 64和128 | D. 32和1024 |
- TCP/IP传输层协议规定了( A )应用的服务器端口为80。
A. HTTP | B. FTP |
C. TELNET | D. DNS |
- 主机A和主机B的IP地址分别为210.44.51.90和210.44.51.81,要想让A和B工作在同一个IP子网中,应该给它们分配的子网掩码为( A )。
A. 255.255.255.0 | B. 255.255.0.0 |
C. 255.0.0.0 | D. 255.255.255.255 |
-
互联网的IP协议提供的服务是( B )。
- A. 可靠的无连接服务
- B. 不可靠的无连接服务
- C. 可靠的无连接服务
- D. 不可靠面向连接服务
-
介质访问控制的方法是( B )。
- A. 控制用户是否可以控制介质的
- B. 解决在共享传输媒体上各个用户如何共享该传输媒体的
- C. 解决数据在介质上如何传送的
- D. 控制网络提供服务的方法
二.填空题(每题2分,共20分)
- 常见的两个路由协议是 RIP , OSPF 。
- 在TCP/IP协议中,UDP协议是一种 传输层 协议(哪个层)。
- 模拟数据编码(调制)方法有 ASK 、 FSK 、 PSK 三种方法。
- 常见的三种局域网拓扑是 星型 、 环型 、 总线型 。
- HDLC帧在传输过程中需要采用 零比特插入法 的方法以正确识别一个帧。
- 设计传输层的目的是为应用建立一个 端到端 的服务。(P282)
三.简答题(每题5分,共40分)
1. 为何网络传输中对数据的校验通常不采用纠错码而使用检测码呢?
-
纠错码:为每个传输单元加上足够多的冗余信息,并能自动纠正
-
检错码:加上一定的冗余信息,可以发现差错,重传
-
检错码原理简单,实现容易,所以检错码广泛使用。
2. 简述CSMA/CD介质访问控制协议的工作原理。
- 先听后发,边听边发,冲突停止,延迟重发
2.1. 载波侦听
- a) 数据采用曼彻斯特编码,没有数据传输,电平不跳变
2.2. 冲突检测
- a) 电磁波传输需要时间,最大有5us延时
- b) 最小帧长度64B
2.3. 发现冲突,停止发送
- a) 冲突加强干扰排序信号32bit,确保每个节点都知道有冲突出现了,并立即丢弃冲突帧
2.4. 随机延时重发
- a) 最大重发次数16次
- b) 延时时间是冲突窗口值得整数倍
3. 简述TCP三次握手建立连接与四次握手+定时器断开连接的工作原理,并画图分析。注明标志位的变化。
3.1. 三次握手:
- a) 第一次握手:建立连接。客户端发送连接请求报文段,将SYN位置为1,Sequence Number为x;然后,客户端进入SYN_SEND状态,等待服务器的确认;
- b) 第二次握手:服务器收到客户端的SYN报文段,需要对这个SYN报文段进行确认,设置Acknowledgment Number为x+1(Sequence Number+1);同时,自己自己还要发送SYN请求信息,将SYN位置为1,Sequence Number为y;服务器端将上述所有信息放到一个报文段(即SYN+ACK报文段)中,一并发送给客户端,此时服务器进入SYN_RECV状态;
- c) 第三次握手:客户端收到服务器的SYN+ACK报文段。然后将Acknowledgment Number设置为y+1,向服务器发送ACK报文段,这个报文段发送完毕以后,客户端和服务器端都进入ESTABLISHED状态,完成TCP三次握手。
3.2. 四次握手
- a) 第一次握手:主机1(可以是客户端,也可以是服务器端),设置Sequence Number和Acknowledgment Number,向主机2发送一个FIN报文段;此时,主机1进入FIN_WAIT_1状态;这表示主机1没有数据要发送给主机2了;
- b) 第二次握手:主机2收到了主机1发送的FIN报文段,向主机1回一个ACK报文段,Acknowledgment Number为Sequence Number加1;主机1进入FIN_WAIT_2状态;主机2告诉主机1,我“同意”你的关闭请求;
- c) 第三次握手:主机2向主机1发送FIN报文段,请求关闭连接,同时主机2进入LAST_ACK状态;
- d) 第四次握手:主机1收到主机2发送的FIN报文段,向主机2发送ACK报文段,然后主机1进入TIME_WAIT状态;主机2收到主机1的ACK报文段以后,就关闭连接;此时,主机1等待2MSL后依然没有收到回复,则证明Server端已正常关闭,那好,主机1也可以关闭连接了。
3.3. TCP 连接必须经过时间 2MSL 后才真正释放掉
2MSL 的时间的用意是为了保证 A 发送的最后一个 ACK 报文段能够到达B,防止 “已失效的连接请求报文段”出现在本连接中。A 在发送完最后一个 ACK 报文段后,再经过时间 2MSL,就可以使本连接持续的时间内所产生的所有报文段,都从网络中消失.这样就可以使下一个新的连接中不会出现这种旧的连接请求报文段
4. 简述TCP流量控制与拥塞控制的工作原理。
- 慢开始:试探性由小到大逐步增加
cwnd
,1,2, 4, 8, 16, 32… 同时发出去的越多,RTT就越长 - 当
cwnd > ssthresh
时,使用拥塞控制算法 - 拥塞避免:线性增加,发生超时,乘法减小(0.5倍),阈值(ssthresh)降为原来的一半
- 快重传:快重传算法首先要求接收方每收到一个失序的报文段后就立即发出重复确认.这样做可以让发送方及早知道有报文段没有到达接收方,发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段
- 快恢复:当发送端收到连续三个重复的确认时,就执行“乘法减小”算法,把慢开始门限
ssthresh
减半.但接下去不执行慢开始算法 - 发送窗口的上限值
Min [rwnd, cwnd]
5.试说明IP地址与物理地址的区别,为什么要使用这两种不同的地址?
- a) IP地址由于其层次性,具有定位的功能,根据IP地址的结构,可以很方便的在互联网中进行寻址和路由
- b) 物理地址由于其是设备相关的,具有可移动性,设备的移动可能跨越很大的地理范围,造成寻址困难
- c) 在通信中两种地址工作在协议的不同层次,所以需要使用这两种地址。
6. 简述FTP协议下载一个文档的工作过程。
-
建立命令通道:
客户端首先经由与FTP服务器端口21经过TCP三次握手建立连接,建立连接成功后,FTP服务器就绪。登陆过程首先由终端向FTP服务器发送登陆用户名并等待验证。用户名验证通过后,FTP 服务器表示用户名验证已通过并需要输入密码。终端将登陆密码发送给FTP服务器,FTP服务器验证后返回用户已经登陆。
-
建立数据通道:
客户端请求被动模式,FTP服务器通过21端口返回227 Entering Passive Mode,服务器将接受来自客户端的数据连接。然后客户端向FTP服务器发送命令下载REQUEST。通过TCP三次握手建立数据连接”FTP-DATA”,用于传输数据。建立数据连接后,FTP服务器通过端口21返回状态码 150,表示文件状态正确,正在打开数据连接。
-
数据传输:
开始传输。。。
7. 列出公式并说明TCP协议中是如何进行超时时间估计的?
-
具体实现:
TCP 每发送一个报文段,就对这个报文段设置一次计时器.只要计时器设置的重传时间到但还没有收到确认,就要重传这一报文段 -
加权平均往返时间:
TCP 保留了 RTT 的一个加权平均往返时间 RTTS(这又称为平滑的往返时间),第一次测量到 RTT 样本时,RTTS 值就取为所测量到的 RTT 样本值.以后每测量到一个新的 RTT 样本,就按下式重新计算一次 RTTS: -
公式:
新的 RTTS = ( 1 - α)×(旧的 RTTS)+α(新的 RTT 样本)
式中,0 ≤ α< 1.若α很接近于零,表示 RTT 值更新较慢若选择 α 接近于1,则表示 RTT 值更新较快。RFC 2988 推荐的 α 值为 1/8,即 0.125 -
超时重传时间RTO:
RTO 应略大于上面得出的加权平均往返时间 RTTS, RFC 2988 建议使用下式计算 RTO:
RTO=RTTS + 4×RTTD -
RTTD 是 RTT 的偏差的加权平均值
RFC 2988 建议这样计算 RTTD.第一次测量时,RTTD 值取为测量到的 RTT 样本值的一半.在以后的测量中,则使用下式计算加权平均的 RTTD:
新的 RTTD = (1-β)×(旧的RTTD)+β×|RTTS﹣新的 RTT 样本
β是个小于 1 的系数,其推荐值是 1/4,即 0.25
在计算平均往返时间 RTT 时,只要报文段重传了,就不采用其往返时间样本 -
修正的Karn算法:
- 报文段每重传一次,就把 RTO 增大一些:
- 新的 RTO= γ×(旧的 RTO)
- 系数γ 的典型值是 2
- 报文段每重传一次,就把 RTO 增大一些:
-
当不再发生报文段的重传时,才根据报文段的往返时延更新平均往返时延 RTT 和超时重传时间 RTO 的数值
-
持续计时器
- TCP 为每一个连接设有一个持续计时器
- 只要 TCP 连接的一方收到对方的零窗口通知,就启动持续计时器
- 若持续计时器设置的时间到期,就发送一个零窗口探测报文段(仅携带 1 字节的数据),而对方就在确认这个探测报文段时给出了现在的窗口值
- 若窗口仍然是零,则收到这个报文段的一方就重新设置持续计时器
- 若窗口不是零,则死锁的僵局就可以打破了
8. 为何要在传输层设计一个TCP协议?没有它们能行吗?为什么?
TCP保证数据的可靠传输,没有它不行,因为传输就不可靠了。。。
四.综合应用题(25分)
-
若一个单位有5个部门,已申请到一个C类网络 ID:224.77.64.0,现在需要将该C类网络划分成5个子网由5个部门使用。请给出该子网划分方案,写出设计好的每个网络ID(子网号和网络号)及子网掩码,并画出连接示意图,标出联网设备。(5分)
-
以西北大学的一个网络用户浏览哈佛大学的主页(https://www.harvard.edu)为例,从原理上分析WWW协议的执行过程。给出:
- (1).列出执行步骤(过程)及其逻辑功能;
- (2).说明每一步涉及到的网络设备、协议和所完成的主要工作。(10分)
- 说明下面IP网络中,数据到了IP层,是如何从主机H1到路由再到目的主机H2的。(10分)