概述
1.因特网的发展大致分为哪几个阶段?请指出这几个阶段最主要的特点。
- 从单个网络APPANET向互联网发展
TCP/IP协议的初步成型
建成三级结构的Internet
分为主干网、地区网和校园网
形成多层次ISP结构的Internet
ISP首次出现。
2.习题:
试在下列条件下比较电路交换和分组交换。要传送的报文共x(bit)。从源点到终点共经过k段链路,每段链路的传播时延为d(s),数据率为b(b/s)。在电路交换时电路的建立时间为s(s)。在分组交换时分组长度为p(bit),且各结点的排队等待时间可忽略不计。
问在怎样的条件下,分组交换的时延比电路交换的要小?
- 电路交换时延:kd+x/b+s
分组交换时延:kd+(x/p)(p/b)+ (k-1)(p/b)
其中(k-1)(p/b)表示K段传输中,有(k-1)次的储存转发延迟,当s>(k-1)(p/b)时,电路交换的时延比分组交换的时延大。
3.习题:
在上题的分组交换网中,设报文长度和分组长度分别为x和(p+h)(bit),其中p为分组的数据部分的长度,而h为每个分组所带的控制信息固定长度,与p的大小无关。通信的两端共经过k段链路。链路的数据率为b(b/s),但传播时延和结点的排队时间均可忽略不计。若打算使总的时延为最小,问分组的数据部分长度p应取为多大?(提示:参考图1-12的分组交换部分,观察总的时延是由哪几部分组成。)
- 总时延D表达式,分组交换时延为:D= kd+(x/p)((p+h)/b)+ (k-1)(p+h)/b
D对p求导后,令其值等于0,求得p=[(xh)/(k-1)]^0.5
4.习题:
收发两端之间的传输距离为1000km,信号在媒体上的传播速率为2×10^8/s。试计算以下两种情况的发送时延和传播时延:
(1) 数据长度为10^7bit,数据发送速率为100kb/s。
(2) 数据长度为10^3bit,数据发送速率为1Gb/s。
从上面的计算中可以得到什么样的结论?
- 发送时延:100s,传播时延:0.005s;
发送时延:1us,传播时延:0.005s;
若数据长度大而发送率低,则在总的时延中,发送时延往往大于传播时延。
若数据长度小而发送率高,则在总的时延中,传播时延往往大于发送时延。
5.习题:
网络协议的三个要素是什么?各有什么含义?
- 网络协议:为进行网络中的数据交换而建立的规则、标准或约定。由以下三个要素组成:
(1)语法:即数据与控制信息的结构或格式。
(2)语义:即需要发出何种控制信息,完成何种动作以及做出何种响应。
(3)同步:即事件实现顺序的详细说明。
物理层
1.物理层要解决什么问题?
- 物理层要尽可能屏蔽掉物理设备,传输媒体,通信手段的不同,使上面的数据链路层感觉不到这些差异的存在,而专注于完成本层的协议与服务。
- 给数据链路层在一条物理的传输媒体上传送和接收比特流的能力。物理层应该解决物理连接的建立,维持和释放问题。
- 在两个相邻的系统之间唯一地标识数据电路。
2.物理层的主要特点是什么?
- 在OSI之前,已经有很多物理协议或规程制定出来并且已经投入使用,而且物理协议涉及的范围广泛,至今没有按照OSI的抽象模型制定一套核心物理层协议,而是沿用已经存在的物理规程。
- 物理层的连接方式很多,传输媒体种类也很多i,所以物理协议十分复杂。
3.物理层的接口有哪几个方面的特性?各包含些什么内容?
- 机械特性:指明接口所用的接线器的形状和尺寸、引线数目和排列、固定和锁定装置等等。
- 电气特性:指明在接口电缆的各条线上出现的电压的范围。
- 功能特性:指明某条线上出现的某一电平的电压表示何意。
- 过程特性:说明对于不同功能的各种可能事件的出现顺序。
4.为什么要采用信道复用技术?常用的信道复用技术有哪些?
- 信道复用的目的是让不同的计算机连接到相同的信道上,共享信道资源。在一条传输介质上传输多个信号。提高线路的利用率,降低网络的成本。
- 常用的信道复用技术有频分复用,时分复用。
5. 习题:
共有4 个站进行码分多址CDMA 通信。4 个站的码片序列为:
A:( -1 –1 –1 +1 +1 –1 +1 +1) B:( -1 –1 +1 -1 +1 +1 +1 -1)
C:( -1 +1 –1 +1 +1 +1 -1 -1) D:( -1 +1 –1 –1 -1 –1 +1 -1)
现收到这样的码片序列:(-1 +1 –3 +1 -1 –3 +1 +1)。问哪个站发送数据了?发送数据的站发送的1 还是0?
- 解答:
S·A=(+1-1+3+1-1+3+1+1)/8=1, A 发送1
S·B=(+1-1-3-1-1-3+1-1)/8=-1, B 发送0
S·C=(+1+1+3+1-1-3-1-1)/8=0, C 无发送
S·D=(+1+1+3-1+1+3+1-1)/8=1, D 发送1
数据链路层
1.网络适配器的作用是什么?网络适配器工作在哪一层?
- 网络适配器来实现数据链路层和物理层这两层的协议的软件和硬件
- 网络适配器工作在TCP/IP协议中的网络接口层(OSI中的数据链里层和物理层)
2.PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不能使数据链路层实现可靠传输?
PPP协议(Point-to-Point Protocol)是现在用的最广泛的数据链路层协议。
- 简单;提供不可靠的数据报服务; 检错;但不能纠错;不使用序号和确认机制。
- 首部中的地址字段A规定为0xFF,控制字段C规定为)0x03,
最初考虑以后对这两个字段的值进行其他定义,但是至今没有给出,所以帧的编号实际上不起作用。- PPP是面向字节的,
当PPP用在同步传输链路时,协议规定采用硬件来完成零比特填充,
当PPP用在异步传输时,就使用一种特殊的字符填充法。- PPP适用于线路质量不太差的情况下,PPP没有编码和确认机制。
3.习题
PPP协议使用同步传输技术传送比特串0110111111111100。试问经过零比特填充后变成怎样的比特串?若接收端收到的PPP帧的数据部分是 0001110111110111110110,问删除发送端加入的零比特后变成怎样的比特串?
- 011011111011111000
- 000111011111 11111 110
4.习题
假定在使用CSMA/CD协议的10Mb/s以太网中某个站在发送数据时检测到碰撞,执行退避算法时选择了随机数r=100。试问这个站需要等待多长时间后才能再次发送数据?如果是100Mb/s的以太网呢?
- 对于10mb/s的以太网,以太网把争用期定为51.2微秒,要退后100个争用期,等待时间是51.2(微秒)*100=5.12ms
- 对于100mb/s的以太网,以太网把争用期定为5.12微秒,要退后100个争用期,等待时间是5.12(微秒)*100=512微秒
5.习题
网桥中的转发表是用自学习算法建立的。如果有的站点总是不发送数据而仅仅接受数据,那么在转发表中是否就没有与这样的站点相对应的项目?如果要向这个站点发送数据帧,那么网桥能够把数据帧正确转发到目的地址吗?
- 没有与这样的站点相对应的项目;
网桥能够利用广播把数据帧正确转发到目的地址
网络层
1.作为中间设备,转发器,网桥,路由器,网关有何区别?
- 中间设备又称为中间系统或中继(relay)系统。
- 物理层中继系统:转发器(repeater)。
- 数据链路层中继系统:网桥或桥接器(bridge)。
- 网络层中继系统:路由器(router)。
- 网络层以上的中继系统:网关(gateway)。
2.试简单说明下列协议的作用:IP、ARP、RARP和ICMP。
- IP协议:实现网络互连。使参与互连的性能各异的网络从用户看起来好像是一个统一的网络。网际协议IP是TCP/IP体系中两个最主要的协议之一,与IP协议配套使用的还有四个协议。
- ARP协议:是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。
- RARP:是解决同一个局域网上的主机或路由器的硬件地址和IP地址的映射问题。
- ICMP:提供差错报告和询问报文,以提高IP数据交付成功的机会。
- 因特网组管理协议IGMP:用于探寻、转发本局域网内的组成员关系。
3.试辨认以下IP地址的网络类别。
(1)128.36.199.3
(2)21.12.240.17
(3)183.194.76.253
(4)192.12.69.248
(5)89.3.0.1
(6)200.3.6.2
- 分析:A类地址的网络号字段占一个字节,但是只有7位可以使用(第一位固定为0)所以可指派的网络号为126个(2^7-2)。所以(2)和(5)的网络号可以看出是属于A类网络的。对于B类网络,网络号字段占两个字节,但第一个字节前两位固定为10,那么B类网络的网络号第一个字段是10000000-10111111,所以是128-191。可得(1)和(3)是B类网络,剩下的是C类网络。
- (2)和(5)是A类,(1)和(3)是B类,(4)和(6)是C类.
4.习题:
设某路由器建立了如下路由表:
目的网络 / 子网掩码 / 下一跳
128.96.39.0 / 255.255.255.128 / 接口m0
128.96.39.128 / 255.255.255.128/ 接口m1
128.96.40.0 / 255.255.255.128/ R2
192.4.153.0 / 255.255.255.192 / R3
*(默认) / —— / R4
现共收到5个分组,其目的地址分别为:
(1)128.96.39.10
(2)128.96.40.12
(3)128.96.40.151
(4)192.153.17
(5)192.4.153.90
试分别计算下一条。
(1)分组的目的站IP地址为:128.96.39.10。先与子网掩码255.255.255.128相与,得128.96.39.0,可见该分组经接口0转发。
(2)分组的目的IP地址为:128.96.40.12。 ① 与子网掩码255.255.255.128相与得128.96.40.0,不等于128.96.39.0。 ② 与子网掩码255.255.255.128相与得128.96.40.0,经查路由表可知,该项分组经R2转发。
(3)分组的目的IP地址为:128.96.40.151,与子网掩码255.255.255.128相与后得128.96.40.128,与子网掩码255.255.255.192相与后得128.96.40.128,经查路由表知,该分组转发选择默认路由,经R4转发。
(4)分组的目的IP地址为:192.4.153.17。与子网掩码255.255.255.128相与后得192.4.153.0。与子网掩码255.255.255.192相与后得192.4.153.0,经查路由表知,该分组经R3转发。
(5)分组的目的IP地址为:192.4.153.90,与子网掩码255.255.255.128相与后得192.4.153.0。与子网掩码255.255.255.192相与后得192.4.153.64,经查路由表知,该分组转发选择默认路由,经R4转发。
5.习题
有如下的4个/24地址块,试进行最大可能性的聚合:
212.56.132.0/24
212.56.133.0/24
212.56.134.0/24
212.56.135.0/24
运输层
1.试说明运输层在协议栈中的地位和作用,运输层的通信和网络层的通信有什么重要区别?为什么运输层是必不可少的?
- 运输层处于面向通信部分的最高层,同时也是用户功能中的最低层,向它上面的应用层提供服务。
- 运输层为应用进程之间提供端到端的逻辑通信,但网络层是为主机之间提供逻辑通信(面向主机,承担路由功能,即主机寻址及有效的分组交换)。
- 各种应用进程之间通信需要“可靠或尽力而为”的两类服务质量,必须由运输层以复用和分用的形式加载到网络层。
2.试举例说明有些应用程序愿意采用不可靠的UDP,而不用采用可靠的TCP。
- VOIP:由于语音信息具有一定的冗余度,人耳对VOIP数据报损失由一定的承受度,但对传输时延的变化较敏感。
有差错的UDP数据报在接收端被直接抛弃,TCP数据报出错则会引起重传,可能带来较大的时延扰动。
因此VOIP宁可采用不可靠的UDP,而不愿意采用可靠的TCP。
3.为什么说UDP是面向报文的,而TCP是面向字节流的?
- 发送方 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP 层。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。
接收方 UDP 对 IP 层交上来的 UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。
发送方TCP对应用程序交下来的报文数据块,视为无结构的字节流(无边界约束,课分拆/合并),但维持各字节。
4.什么是Karn算法?在TCP的重传机制中,若不采用Karn算法,而是在收到确认时都认为是对重传报文段的确认,那么由此得出的往返时间样本和重传时间都会偏小。试问:重传时间最后会缩小到什么程度?
- 答:Karn算法:在计算平均往返时延RTT时,只要报文段重传了,就不采用其往返时延样本。
- 设新往返时延样本Ti
RTT(1)=aRTT(i-1)+(1-a)T(i);
RTT^(i)=a* RTT(i-1)+(1-a)T(i)/2;
RTT(1)=a0+(1-a)T(1)= (1-a)T(1);
RTT^(1)=a0+(1-a)T(1)/2= RTT(1)/2
RTT(2)= aRTT(1)+(1-a)T(2);
RTT^(2)= aRTT(1)+(1-a)T(2)/2;
= aRTT(1)/2+(1-a)T(2)/2= RTT(2)/2
RTO=beta*RTT,
在统计意义上,重传时间最后会减小到使用karn算法的1/2.
5.假定TCP在开始连接时,发送方设定的超时重传时间RTO=6s
(1)当发送发收到对方的连接确认报文时,测量出RTT样本值为1.5s。试计算现在的RTO值。
(2)当发送方发送数据报文段并收到确认时,测量出的RTT样本值为2.5s。试计算现在的RTO值。
- 据RFC2988建议,RTO=RTTs+4RTTd。
其中RTTd是RTTs的偏差加权均值。
初次测量时,RTTd(1)= RTT(1)/2;
后续测量中,RTTd(i)=(1-Beta) RTTd(i-1)+Beta{ RTTs- RTT(i)};
Beta=1/4
依题意,RTT(1)样本值为1.5秒,
则 RTTs(1)=RTT(1)=1.5s RTTd(1)=RTT(1)/2=0.75s RTO(1)=RTTs(1)+4RTTd(1)=1.5+40.75=4.5(s)- RTT(2)=2.5s
RTTs(1)=1.5s
RTTd(1)=0.75s
RTTd(2)=(1-Beta)* RTTd(1)+Beta{ RTTs(1)- RT (2)}=0.753/4+{1.5-2.5}/4=13/16
RTO(2)=RTTs(1)+4RTTd(2)=1.5+4*13/16=4.75s