[计算机网络之一] 网络基础知识

一、网络基础知识

1、计算机网络发展的七个阶段

  • 批处理
1-批处理.png
  • 分时操作系统
2-分时系统.png
  • 计算机通信
3-计算机之间的通信.png
  • 计算机网络
4-计算机网络.png
  • 互联网普及
5-公司或家庭接入互联网.png
  • 以互联网为中心的时代
6-以互联网技术为中心的时代.png
  • 从 “单纯地建立连接” 到 “安全建立连接”

2、协议

(1)什么是协议?

  协议就是计算机与计算机之间通过网络实现通信时事先达成的一种 “约定”。这种 “约定” 使那些由不同的厂商、不同的 CPU 以及不同的操作系统组成的计算机之间,只要遵循相同的协议就能够实现通信。

7-协议如同人与人之间的谈话.png

8-计算机通信协议.png

(2)常见的网络体系结构

  TCP/IP、AppleTalk(仅限苹果计算机使用)、SNA(IBM)、DECnet(DEC)、IPX/SPX(Novell)

(3)分组交换协议

  分组交换是指将大数据分割为一个个叫做包的较小单位进行传输的方法。

9-分组交换协议.png

(4)协议由谁制定

  ISO(International Organization for Stardards,国际标准化组织)制定了国际标准 OSI(Open System Interconnection,开放系统互联参考模型),但是没有得到普及,反而是随 Apanet 而生的 TCP/IP 协议在大学研究机构和计算机行业的推动下成为实际的业界标准。

(5)如何理解协议的分层

  每个分层都接收由它下一层所提供的特定服务,并且负责为自己的上一层提供特定服务。上下层之间进行交互所遵循的约定叫做 “接口”,同一层之间交互所遵循的约定叫做 “协议”

  协议分层参考了计算机软件中的模块化开发。

10-协议分层.png
  • 分层的好处:有利于构造一个扩展性和灵活性都较强的系统,更易于单独实现每个分层的协议,并界定各个分层的具体责任和义务。

  • 分层的劣势:过分模块化、使处理变得更加沉重以及每个模块都不得不实现相似的处理逻辑。

11-通过对话理解分层.png

3、OSI的七层参考模型

  • 应用层:为应用程序提供服务,并规定应用程序中通信相关的细节,应用层协议常见有 DNS、SMTP、FTP、HTTP、SSL、TELNET、DHCP。

应用层(application-layer)的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如域名系统 DNS,支持万维网应用的 HTTP 协议,支持电子邮件的 SMTP 协议等等。我们把应用层交互的数据单元称为报文。

  • 表示层:将应用处理的信息转换为适合网络传输的格式,或将从下层的数据转换为上层能处理的格式,主要负责数据格式的转化。

  • 会话层:负责建立和断开通信连接(数据流动的逻辑通路),以及数据的分割等数据传输相关的管理。

  • 传输层:为上层提供通用的可靠传输服务,只在双方节点上处理,而无需在路由器上处理。

  运输层(transport layer)的主要任务就是负责向两台主机进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。“通用的”是指并不针对某一个特定的网络应用,而是多种应用可以使用同一个运输层服务。

  由于一台主机可同时运行多个线程,因此运输层有复用和分用的功能。所谓复用就是指多个应用层进程可同时使用下面运输层的服务,分用和复用相反,是运输层把收到的信息分别交付上面应用层中的相应进程。

  • 网络层:将数据传输到目标地址,目标地址可以是多个网络通过路由器连接而成的一个地址,主要负责寻址和路由选择。

  在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组和包进行传送。在 TCP / IP 体系结构中,由于网络层使用 IP 协议,因此分组也叫 IP 数据报,简称数据报。

  • 数据链路层:负责物理层面上互连的、节点之间的通信传输。

  数据链路层(data link layer)通常简称为链路层。两台主机之间的数据传输,总是在一段一段的链路上传送>的,这就需要使用专门的链路层的协议。在两个相邻节点之间传送数据时,数据链路层将网络层交下来的 IP >数据报组装成帧,在两个相邻节点间的链路上传送帧。每一帧包括数据和必要的控制信息(如:同步信息,>地址信息,差错控制等)。

  在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提出数据部分,上交给网络层。控制信息还使接收端能够检测到所收到的帧中有无差错。如果发现差错,数据链路层就简单地丢弃这个出了差错的帧,以避免继续在网络中传送下去白白浪费网络资源。如果需要改正数据在链路层传输时出现差错(这就是说,数据链路层不仅要检错,而且还要纠错),那么就要采用可靠性传输协议来纠正出现的差错。这种方法会使链路层的协议复杂些。

  • 物理层:负责0、1比特流与电压高低、光的闪灭之间的互换。

  在物理层上所传送的数据单位是比特。物理层(physical layer)的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。使其上面的数据链路层不必考虑网络的具体传输介质是什么。“透明传送比特流”表示经实际电路传送后的比特流没有发生变化,对传送的比特流来说,这个电路好像是看不见的。

12-OSI参考模型各层分工.png

4、数据传输方式

(1)面向连接型与面向无连接性

13-面向连接型与面向无连接型.png

(2)电路交换与分组交换

14-分组交换.png
15-分组交换与电路交换的特点.png

(3)根据接收端数量分类

  单播、广播、多播、任播。

16-根据接收端数量传输.png

5、地址

(1)地址的唯一性

  一个地址必须明确地表示一个主体对象,在同一个通信网络中不允许有两个相同地址的通信主体存在。

17-地址的唯一性.png

(2)地址的层次性

  有层次性的地址方便高效地找到通讯目标(eg: 快递地址国家、省市区)

18-地址的层次性.png

  MAC地址有唯一性但没有层次性。

6、网络的构成要素

19-网络构成要素与主要设备.png

(1)常见的数据链路

  以太网、无线、帧中继、ATM、FDDI、ISDN。

(2)网卡

  NIC(Network Interface Card,网络接口卡),计算机必须有网卡才能接入网络。

21-网卡.png

(3)中继器

  物理层面上延长网络的设备。将电缆传递过来的光电信号经过波形调整和放大之后传递给另一个电缆。

22-中继器.png

集线器:提供多个端口的中继器。

23-集线器.png

(4)网桥(二层交换机)

  数据链路层面连接两个网络的设备。不同网络可能采用了不同的数据链路,数据传输的速率可能完全不一样,网桥会缓存一个网段传输到另一个网段的数据帧,再重新生成信号作为全新的帧转发给另一个网段(这里我理解不同数据链路帧的格式不一样,所以网桥需要缓存数据并转换位另一个数据链路中的帧格式)。

  网桥的其他作用:

① 根据数据帧中的 FCS 检查数据帧是否已损坏,是则不转发;

② 自学习MAC设备来自哪些网络,并记录在地址转发表中(地址转发表记录硬件地址与网络的映射关系);

③ 过滤功能控制网络流量。

24-自学习网桥.png

交换集线器:每个端口都相当于一个网桥。

25-交换集线器.png

(5)路由器(三层交换机)

  网络层面上连接两个网络、并对分组报文进行转发的设备。

26-路由器.png

(6)四到七层交换机(负载均衡器)

27-负载均衡器.png

应用场景:广域网加速器、特殊应用访问加速、防火墙。

(7)网关

  将传输层到应用层的数据进行转发和翻译的设备。

31-网关.png
28-电子邮件网关.png

代理服务器:控制流量和出于安全考虑,客户端和服务端无需在网络上直接通信,而是从传输层到应用层对数据和访问进行各种控制和处理。

29-代理服务器.png
30-设备与网络分层.png

7、互联网基础结构发展的三个阶段

(1)第一阶段 —— ARPANET

  研发基于分组交换技术的 ARPANET,取代容灾性差的中央集中式网络。

  单个网络无法解决所有通信问题,开始研究网络互连技术,出现了 TCP/IP,并首先被 BSD UNIX 采用,随之被广泛使用变得流程,所有使用 TCP/IP 协议的计算机都能利用互连网相互通信。

(2)第二阶段 —— 建成三级结构的互联网

  围绕大型计算机中心建设计算机网络,即 NSFNET(国家科学基金网),它是一个三级网络,分为主干网、地区网和校园网。这种三级计算机网络覆盖了全美主要的大学和研究所,并成为互联网中的主要组成部分。

(3)第三阶段 —— 逐渐形成多层次 ISP 结构的互联网

  NSFNET 逐渐被商用的互联网主干网替代,政府机构不再负责互联网的运营。用户接入互联网需要通过 ISP(Internet Service Provider:互联网服务提供商)。

  • ISP 的分层

    分为主干 ISP、地区 ISP、本地 ISP。

32-ISP的分层.png

  IXP(Internet eXchange Point)互联网交换点的作用是允许两个网络直接相连并交换分组,而不需要再通过第三个网络(如上图中的主干 ISP)来转发分组。

8、互联网标准化

  所有的互联网标准都是以 RFC 的形式在互联网上发表的,但并非所有的 RFC 文档都是互联网标准。

  制定互联网的正式标准要经过以下三个阶段

(1)互联网草案

(2)建议标准

(3)互联网标准

9、互联网的组成

(1)边缘部分

  由所有连接在互联网上的主机组成。这部分是用户直接使用的额,用来进行通信和资源共享。

  • 网络边缘的端系统之间的通信方式

    客户-服务器方式(C/S 方式)和对等方式(P2P 方式)。

34-CS模型.png
35-P2P模型.png

(2)核心部分

  由大量网络和连接这些网络的路由器组成。这部分视为边缘部分提供服务的(提供连通性和交换)。

33-互联网的组成.png

(2-1)电路交换

① 电路交换的起源

36-电话机的不同连接方法.png

② 电路交换的特点

  在使用信道时,信道两端的两个用户始终占用端到端的通信资源,线路上真正传送数据的时间比例很小,传输效率很低。

37-电路交换.png

③ 电路交换的步骤

  建立连接(占用通信资源)→ 通话(一直占用通信资源)→ 释放连接(归还通信资源)

(2-2)报文交换

  电报通信采用基于存储转发原理的报文交换,整个报文被发送到相邻结点,存储下来,再转发到下一个结点。

(2-3)分组交换

① 分组交换的特点

  把一个完整的报文划分为一个个分组,每个分组传送到相邻结点后,存在下来查找转发表,在转发到下一个结点。

② 分组交换的优缺点

优点:每个分组可以经过不同的路由,使得有更好的可靠性,也能充分利用网络性能。

38-分组交换的优点.png

缺点:分组控制信息有一定开销,路由器存储转发时需要排队导致产生时延,无法确保通信时端到端所需的宽带。

总结:三种交换方式的比较

  • 电路交换——整个报文的比特流连续地从源点直达终点,好像在一个管道中传送。

  • 报文交换——整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点。

  • 分组交换——单个分组(这只是整个报文的一部分)传送到相邻结点,存储下来后查找转发表,转发到下一个结点。

39-三种交换的比较.png

10、计算机网络的分类

(1)按照网络的作用范围分类

① 广域网 WAN(Wide Area Network) 广域网的作用范围通常为几十到几千公里,是互联网的核心,其任务是通过长距离运送主机锁发送的数据。连接广域网各结点交换机的链路一般都是高速链路,具有较大的通信量。

② 城域网 MAN(Metropolotan Area Network) 城域网的作用范围一般是一个城市,作用距离约为 5 ~ 50 km。可以为一个或几个单位所用欧,也可以是一种公用设置,用来将多个局域网进行互联。目前很多城域网采用的是以太网技术。

③ 局域网 LAN(Local Area Network) 局域网一般用微型计算机或工作站通过高速通信链路相连(速率通常在 10 Mbit/s 以上),但地理上则局限在较小的范围(如 1 km 左右)。在局域网发展的初期,一个学校或工厂往往只拥有有个局域网,但现在局域网已非常广泛地使用,学校或企业大都拥有多个互连的局域网(这样的网络常称为校园网企业网)。

④ 个人局域网 PAN(Personal Area Network) 个人局域网就是在个人工作的地方把属于个人使用的电子设备用无线技术连接起来的网络,因此也常称为无线个人局域网 WPAN(Wireless PAN),其范围很小,大约在 10 m 左右。

(2)按照网络的使用者进行分类

① 公用网(pulic network) 电信公司出资建造的大型网络。

② 专用网(private network) 某个部门为满足本单位的特殊业务工作的需要而建造的网络。这种网络不向本单位以外的人提供服务,例如,军队、铁路、银行、电力等系统均有本系统的专用网。

(3)用户接入互联网的网络

  接入网(Access Network),又称为本地接入网或居民接入网。

11、计算机网络的性能

(1)性能指标

① 速率

  数据的传输速率,也称为数据率或比特率,单位为 bit/s(比特每秒)(或 b/s,有时也写为 bps,即 bit per second)。

  1 kbit/s = 1 × 10³ bit/s,1 Mbit/s = 1 × 10^6 bit/s,1 Gbit/s = 1 × 10^9 bit/s,1 Tbit/s = 1 × 10^12 bit/s

② 带宽

  • 在通信领域带宽指某个信号具有的频带宽度。

  • 在计算机网络中,带宽表示网络中某通道传输数据的能力,网络带宽表示在单位时间内网络中的某信道所能通过的最高数据率,单位为 bit/s。

    前者为频域称谓,后者为时域称谓。

③ 吞吐量

  吞吐量表示在单位时间内通过某个网络的实际的数据量,单位同速率带宽。

④ 时延

  时延是指数据从网络的一端传送到另一端所需的时间,网络时延由几个部分组成:

  • 发送时延

    发送时延是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。

40-发送时延.png
  • 传播时延

    传播时延是电磁波在信道中传播一定的距离需要花费的时间。

41-传播时延.png

例题:电磁波在光纤中的传播速率约为 2.0 × 10^5 km/s,1000 km 长的光纤线路产生的传播时延多少?

答:1000 km / 2.0 × 10^5 km/s = 0.005 s = 5 ms
  • 处理时延

    主机或路由器在收到分组时要花费一定的时间进行处理,这就产生了处理时延。

  • 排队时延

    分组在经过网络传输时,要经过许多路由器。但分组在进入路由器后要先在输入队列中排队等待处理。在路由器确定了转发接口后,还要在输出队列中排队等待转发。这就产生了排队时延。

42-时延的产生.png

              网络总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

例题:有一个 100 MB 的数据块,在带宽为 1 Mbit/s 的信道上连续发送,并在 1000 km 的光纤上传播到对端,求总时延。

注意 MB 跟 Mb 的区别,1 MB = 2^10 KB = 2^20 B = 2^20 × 8 bit(1 B = 8 bit)。
发送时延: 100 × 2^20 × 8 / 10^6 = 838.9 s 
传播时延: 1000 km / 2.0 × 10^5 km/s = 0.005
总时延 = 838.9 s + 0.005 ≈ 838.9 s

[误区] 光纤的传播速率实际上比铜线要慢,但是光纤的带宽却比普通的双绞线要快,这是因为光信号的抗干扰性强,并且可以通过波分复用的信道复用技术,达到一路光纤传输多路信号的效果。

⑤ 时延带宽积

  时延带宽积表示信道中可以容纳多少比特。

43-时延带宽积.png

例题:某段链路的传播时延为 20 ms,带宽为 10 Mbit/s,这段链路最多能容纳多少比特?

                时延带宽积 = 20 × 10^-3 × 10 × 10^6 = 2 × 10^5 bit
44-时延带宽积管道.png

⑥ 往返时间

  在计算机网络中,往返时间 RTT(Round-Trip Time)是一个重要的性能指标,因为在许多情况下,互联网上的信息不仅仅单方向传输而是双向交互的。

A 向 B 发送数据,数据长度为 100 MB,发送速率是 100 Mbit/s,A 发送完后要等待 B 的响应,往返时间 RTT为 2s,才能做下一步操作,求 A 从发送到收到响应这段时间内的有效数据率。

发送时间 = 数据长度/发送速率 = 100 × 2^20 × 8 / 100 × 10^6 ≈ 8.39s
有效数据率 = 数据长度/(发送时间+RTT) = 100 × 2^20 × 8 / (8.39 + 2) ≈ 80.7Mbit/s

  使用卫星通信时,发送时延很短,主要消耗在来回传播时延上,即往返时间相对较长。

⑦ 利用率

  利用率有信道利用率和网络利用率两种。信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率为零。网络利用率则是全网络的信道利用率的加权平均值。

  D0 表示网络空闲时的时延,D 表示网络当前的时延,U 表示利用率,则

  U = 1 - D0/D,变形一下,有

45-信道利用率.png

  信道利用率不是越高越好,因为信道利用率增大时,网络时延也会增加,因为排队时延增大。所以当 U 趋于 1 时,D 会趋于无限大,所以信道或网络的利用率过高会产生非常大的时延

46-时延和利用率.png

(2)非性能指标

  费用、质量、标准化、可靠性、可扩展性和可升级性、易于管理和维护。

12、计算机网络结构体系

(1)OSI 标准失败的原因

  • 缺乏商业驱动
  • 协议太过复杂,效率很低
  • 标准制定周期太长
  • 层次划分不合理,有些功能在多个层次中重复出现

(2)协议和划分层次

(2-1)网络协议组成三要素:

① 语法,即数据与控制信息的结构或格式;

② 语义,即需要发出何种控制信息,完成何种动作以及做出何种响应;

③ 同步,即时间实现顺序的详细说明。

(2-2)协议分层的好处

① 各层独立;

② 灵活性好;

③ 结构上可分割开;

④ 易于实现和维护;

⑤ 能促进标准化工作。

  计算机网络的各层及其协议的集合就是网络的体系结构。

(2-3)实体、协议、服务、服务访问点

实体:表示任何可发送或接收信息的硬件或软件进程。

协议:协议是水平的,控制两个对等实体进行通信的规则的集合。

服务:服务是垂直的,下层通过接口向上层提供服务。

服务访问点:SAP(Service Access Point),同一系统中相邻两层的实体进行交互的地方。

47-相邻两层之间的关系.png

[习题]

1-01 计算机网络可以向用户提供哪些服务?

连通性和共享


1-02 简述分组交换的特点。

(1)报文分组,加首部
(2)经路由器存储转发
(3)在目的地合并


1-03 试从多个方面比较电路交换、报文交换和分组交换的主要优缺点。

(1)电路交换:端对端通信质量因约定了通信资源获得可靠保障,对连续发送大量数据效率高。
(2)报文交换:无须预约传输带宽,动态逐段利用传输带宽对突发式数据通信效率高,通信迅速。
(3)分组交换:具有报文交换之高效、迅速的要点,且各分组小,路由灵活,网络生存性能好。


1-04 为什么说互联网是自印刷术以来人类在存储和交换信息领域中的最大变革?

融合其他通信网络,在信息化的过程中起核心作用,提供最好的连通性和信息共享,第一次提供了各种媒体形式的实时交互能力。


1-05 因特网的发展大致分为哪几个阶段?请指出这几个阶段的主要特点。

大致分为三大阶段,如下:
第一阶段:从单个网络 ARPANET 向互联网发展;
第二阶段:TCP/IP 协议的初步成型,建成三级结构的 Internet,分为主干网、地区网和校园网;
第三阶段:形成多层次 ISP 结构的 Internet,ISP 首次出现。


1-06 简述互联网标准制定的几个阶段。

(1)互联网草案:在这个阶段还不是 RFC 文档
(2)建议标准:从这个阶段开始就成为 RFC 文档
(3)草案标准
(4)互联网标准


1-07 小写和大写开头的英文名字 internet 和 Internet 在意思上有何重要区别?

internet(互联网或互连网):通用名词,它泛指由多个计算机网络互连而成的网络,协议上无特指。
Internet(因特网):特指采用 TCP/IP 协议的互联网络,后者实际上是前者的双向应用。


1-08 计算机网络都有哪些类别?各种类别的网络都有哪些特点?

(1)按作用范围分类,可分为广域网、城域网、局域网和个人局域网;
    广域网 WAN:远程、高速,是 Internet 的核心网。
    城域网 MAN:城市范围,连接多个局域网。
    局域网 LAN:校园、企业、机关、社区。
    个域网 PAN:个人电子设备。
    
(2)按网络的使用者分类,可分为专用网、公用网;
    公用网:面向公共运营。
    专用网:面向特定机构。


1-09 计算机网络中主干网和本地接入网的主要区别是什么?

主干网:提供远程覆盖、高速传输,和路由器的最优化通信。
本地接入网:主要支持用户的访问本地,实现散户接入,速率低。


1-10 试在下列条件下比较电路交换和分组交换。要传送的报文共 x(bit)。从源点到终点共经过 k 段链路,每段链路的传播时延为 d(s),数据率为 b(bit/s)。在电路交换时电路的建立时间为 s(s)。在分组交换时分组长度为 p(bit),且各结点的排队等待时间可忽略不计。问在怎样的条件下,分组交换的时延比电路交换的要小?

分组交换的时延 = k 段链路的传播时延 + 源点的发送时延 + (k-1) 个中间结点的存储转发时延
            = kd + (x/p)*(p/b) + (k-1)*(p/b)
【解析】x/p 表示有多少个分组,p/b 表示每个分组的发送需要多少时间;
      中间结点的存储转发时延,为什么是 (k-1)*(p/b) 而不是 (k-1)*(x/b)?
      因为多个中间结点并发处理不同的分组,如果是报文交换(即整个报文存储再转发),存储转发时延就是 
      (k-1)*(x/b)。
      
线路交换的时延 = k 段链路的转播时延 + 源点发送时延 + 电路的建立时间
            = kd + x/b + s
由 kd + (x/p)*(p/b) + (k-1)*(p/b) < kd + x/b + s 得
            s > (k-1)*(p/b)
即当 s > (k-1)*(p/b) 时,分组交换的时延比电路交换的要小。


1-11 在上题的分组交换网中,设报文长度和分组长度分别为 x 和 (p+h) (bit),其中 p 为分组的数据部分的长度,而 h 为每个分组所带的控制信息固定长度,与 p 的大小无关。通信的两端共经过 k 段链路。链路的数据率为 b (bit/s),但处理时延和结点的排队时延均可忽略不计。若打算使总的时延为最小,问分组的数据部分长度 p 应取为多大?

总时延D = kd + (x/p)*((p+h)/b) + (k-1)*(p+h)/b
【解析】p 为原始数据,h 为实际发送时要加上的头部,所以每个分组发送消耗的时间为 (p+h)/b 而不是 p/b。


1-12 互联网的两大组成部分(边缘部分与核心部分)的特点是什么?它们的工作方式各有什么特点?

边缘部分:由各主机组成,用户直接进行信息处理和共享,低速接入核心网。
核心部分:由各路由器连网,负责为边缘部分提供高速远程分组交换。


1-13 客户服务器方式与对等通信方式的主要区别是什么?有没有相同的地方?

前者严格区分服务与被服务者,后者无此区别。后者实际上是前者的双向应用。


1-14 网络有哪些常用的性能指标?

速率、带宽、吞吐量、时延、通信往返时间 RTT、时延带宽积、利用率。


1-15 假设网络的利用率达到了 90%。试估算一下现在的网络时延是它的最小值的多少倍。

U = 1 - D0/D = 0.9,D0/D = 0.1,D = 10D0
【解析】D0 为空闲时延,即最小网络时延,D 为实际网络时延。


1-16 计算机通信网有哪些非性能特征?非性能特征与性能指标有什么区别?

非性能特征有:费用、质量、标准化、可靠性、可扩展性和可升级性、易于管理和维护。
非性能特征从宏观整体评价网络的外在表现,而性能特征具体定量描述网络的技术性能。


1-17 收发两端之间的传输距离为 1000 km,信号在媒体上的传播速率为 2 × 10^8 m/s。试计算以下两种情况的发送时延和传播时延:

(1)数据长度为 10^7 bit,数据发送速率为 100 kbit/s。

(2)数据长度为 10^3 bit,数据发送速率为 1 Gbit/s。

从上面的计算中可以得到什么样的结论?

(1)发送时延 = 10^7 bit / 100 * 10^3 bit/s = 100s
    传播时延 = 1000 * 10^3 m / 2 * 10^8 m/s = 0.005s
    
(2)发送时延 = 10^3 bit / 1 * 10^9 bit/s = 0.000001s =1μs
    传播时延 = 1000 * 10^3 m / 2 * 10^8 m/s = 0.005s

结论:若数据长度大而发送速率低,则在总时延中,发送时延往往大于传播时延;
     若数据长度短而发送速率高,则在总时延中,传播时延可能是主要成分。


1-18 假设信号在媒体上的传播速率为 2 × 10^8 m/s。媒体长度 l 分别为:

(1)10 cm(网络接口卡)

(2)100 m(局域网)

(3)100 km(城域网)

(4)5000 km(广域网)

试计算当数据率为 1 Mbit/s 和 10 Gbit/s 时在以上媒体中正在传播的比特数。

实际上就是计算时延带宽积 = 传播时延 × 带宽
(1)时延 = 10 × 10^-2 m / 2 × 10^8 m/s = 5 × 10^-10 s
    1 Mbit/s:  比特数 = 5 × 10^-10 s × 1 × 10^6 bit/s = 5 × 10^-4 bit
    10 Gbit/s: 比特数 = 5 × 10^-10 s × 10 × 10^9 bit/s = 5 bit
    
(2)时延 = 100 m / 2 × 10^8 m/s = 5 × 10^-7 s
    1 Mbit/s:  比特数 = 5 × 10^-7 s × 10^6 bit/s = 5 × 10^-1 bit
    10 Gbit/s: 比特数 = 5 × 10^-7 s × 10 × 10^9 bit/s = 5 × 10^3 bit
    
(3)时延 = 100000 m / 2 × 10^8 m/s = 5 × 10^-4 s
    1 Mbit/s:  比特数 = 5 × 10^-4 s × 10^6 bit/s = 5 × 10^2 bit
    10 Gbit/s: 比特数 = 5 × 10^-4 s × 10 × 10^9 bit/s = 5 × 10^6 bit
    
(4)时延 = 5 × 10^6 m / 2 × 10^8 m/s = 2.5 × 10-2 s
    1 Mbit/s:  比特数 = 2.5 × 10^-2 s × 10^6 bit/s = 2.5 × 10^4 bit
    10 Gbit/s: 比特数 = 2.5 × 10^-2 s × 10 × 10^9 bit/s = 2.5 × 10^8 bit


1-19 长度为 100 字节的应用层数据交给传输层传送,需加上 20 字节的 TCP 首部。再交给网络层传送,需加上 20 字节的 IP 首部。最后交给数据链路层的以太网传送,加上首部和尾部共 18 字节。试求数据的传输效率。数据的传输效率是指发送的应用层数据除以所发送的总数据(即应用数据加上各种首部和尾部的额外开销)。若应用层数据长度为 1000 字节,数据的传输效率是多少?

数据的传输效率 = 100/(100+20+20+18) = 63.3%
若应用层数据长度为 1000 字节,数据的传输效率 = 1000/(1000+20+20+18) = 94.5%


1-20 网络体系结构为什么要采用分层次的结构?试举出一些与分层体系结构的思想相似的日常生活的例子。

分层的好处:
1、各层之间是独立地。某一层可以使用其下一层提供的服务而不需要知道服务是如何实现的。
2、灵活性好。当某一层发生变化时,只要其接口关系不变,则这层以上或以下的各层均不受影响。
3、结构上可分割开。各层可以采用最合适的技术来实现。
4、基于实现和维护。
5、能促进标准化工作。与分层体系结构的思想相似的日常生活有邮政系统、物流系统。


1-21 协议和服务有何区别?有何关系?

网络协议:为进行网络中的数据交换而建立的规则、标准或约定。
协议是控制两个对等实体进行通信的规则的集合。在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务,而要实现本层协议,还需要使用下面一层提供服务。


1-22 网络的三要素是什么?各有什么含义?

(1)语法:即数据与控制信息的结构或格式。
(2)语义:即需要发出何种控制信息,实现何种动作以及做出何种响应。
(3)同步:即事件实现顺序的详细说明。


1-23 为什么一个网络协议必须把各种不利的情况都考虑到?

因为网络协议如果不全面考虑不利情况,当情况发生变化时,协议就会保持理想状态,一直等下去!就如同两个朋友在电话中约定好,下午3点在公园见面,并且约定不见不散。这个协议就是很不科学的,因为任何一方如果有耽搁了而来不了,就无法通知对方,而另一方就必须一直等下去!所以看一个计算机网络是否正确,不能只看在正常情况下是否正确,而且还必须仔细地检查协议能否应付各种异常情况。


1-24 试述具有五层协议的网络体系结构的要点,包括各层的主要功能。

综合 OSI 和 TCP/IP 的优点,采用一种原理体系结构。
各种的主要功能如下:
【物理层】透明地传输比特流。(注意:传递信息的物理媒体,如双绞线、同轴电缆、光缆等,是在物理层的下面,当做第0层。)物理层还要确定连接电缆插头的定义及连接法。
【数据链路层】在两个相邻结点间的线路上无差错地传送以帧为单位的数据。每一帧包括数据和必要的控制信息。
【网络层】选择合适的路由,使发送站的运输层所传下来的分组能够正确无误地按照地址找到目的站,并交付给目的站的运输层。
【运输层】向上一层的进行通信的两个应用间提供一个可靠的端到端服务,使它们看不见运输层以下的数据通信的细节。
【应用层】直接为用户的应用进程提供服务。


1-25 试举出日常生活中有关 “透明” 这种名词的例子。

电视、计算机视窗操作系统、工农业产品。


1-26 试解释以下名词:协议栈、实体、对等层、协议数据单元、服务访问点、客户、服务器、客户-服务器方式。

【实体(entity)】表示任何可发送或接收信息的硬件或软件进程。
【协议】控制两个对等实体进行通信的规则的集合。
【对等层】在网络体系结构中,通信双方事先同样功能的层。
【协议数据单元(PDU)】对等层实体进行信息交换的数据单元。
【服务访问点】在同一系统中相邻两层的实体进行交互(即交换信息)的地方。
【客户 & 服务器】通信中所涉及的两个应用进程。客户是服务的请求方,服务器是服务的提供方。
【客户-服务器方式】描述进程之间服务和被服务的关系。


1-27 试解释 everything over IP 和 IP over everything 的含义。

everything over IP : TCP/IP 协议可以为各式各样的应用提供服务。
IP over everything : 允许 IP 协议在各式各样的网络构成的互联网上运行。


1-28 假定要在网络上传送 1.5 MB 的文件。设分组长度为 1 KB,往返时间 RTT = 80 ms。传送数据之前还需要有建立 TCP 连接的时间,这时间是 2 × RTT = 160 ms。试计算在以下几种情况下接收方接收完该文件的最后一个比特所需的时间。

(1)数据发送速率为 10 Mbit/s,数据分组可以连续发送。

(2)数据发送速率为 10 Mbit/s,但每发送完一个分组后要等待一个 RTT 时间才能再发送下一个分组。

(3)数据发送速率极快,可以不考虑发送数据所需的时间。但规定在每一个 RTT 往返时间内只能发送 20 个分组。

(4)数据发送速率极快,可以不考虑发送数据所需的时间。但在第一个 RTT 往返时间内只能发送一个分组,在第二个 RTT 内可发送两个分组,在第三个 RTT 内可发送四个分组(即 2^(3-1) = 2² = 4 个分组)。

答:
  从端到端时延为 RTT / 2 = 40 ms !!!
(1)160ms + (1.5 × 2^20 × 8 bit)/(10 × 10^6 bit/s) + 40ms 
  ≈ 160ms + 1258ms + 40ms = 1458 ms
【解析】至少需要最后一个分组的应答确认。
(2)160ms + [(1.5 × 1024) - 1] × 80 ms + (1.5 × 2^20 × 8 bit)/(10 × 10^6 bit/s) + 40ms
  = 1418ms + 122800 ms + 40 ms = 124.258 s
(3)160ms + (1.5 × 1024)/20 × 80 ms = 160ms + 6144ms = 6.304 s
(4)需要发送的分组一共有 1.5 × 1024 = 1536 个,设一共需要 n 个 RTT 来发送分组,则有
    式1: 1 + 2 + 4 + 8 + ... + 2^(n-1) ≥ 1536
 由上可得
    式2: 2 + 4 + 8 + 16 + ... + 2^n ≥ 3072
 错位相减法,式1 - 式2,左右相减可得
         2^n -1 ≥ 1536
    得    n ≥ 11
  所以一共至少需要 11 个 RTT 的时间来发送分组,总耗时为
    160ms + 11 × 80 ms = 1040 ms


1-29 有一个点对点链路,长度为 50 km。若数据在此链路上的传播速度为 2 × 10^8 m/s,试问链路的带宽应为多少才能使传播时延和发送 100 字节的分组的发送时延一样大?如果发送的是 512 字节长的分组,结果又应如何?

传播时延 = 50 × 10^3 / 2 × 10^8 s = 0.00025 s = 250 μs
要使发送时延和传播时延相等,则
(1)发送 100 字节时的时延为:
    100 × 8 bit/ 2.5 × 10^-4 s = 3.2 × 10^6 bit/s = 3.2 Mbit/s
(2)发送 512 字节时的时延为:
    512 × 8 bit/ 2.5 × 10^-4 s = 16.384 Mbit/s


1-30 有一个点对点链路,长度为 20000 km。数据的发送速率是 1 kbit/s,要发送的数据有 100 bit。数据在此链路上的传播速度为 2 × 10^8 m/s。假定我们可以看见在线路上传输的比特(画两个图,一个在 100 bit 刚刚发送完时,另一个是在经过 0.05 s 后)。

发送时延 = 100 bit/ 1000 bit/s = 0.1s
传播时延 = 2 × 10^7 m/2 × 10^8 m/s = 0.1s
发送时延与传播时延相同,所以当第一个比特到达对端时,刚好是最后一个比特发送出去,再经过 0.05s,会有一半的比特已到达对端,剩下一半比特还在传播中,如下图所示:

你可能感兴趣的:([计算机网络之一] 网络基础知识)