计算机网络是一个将众多分散的、自治的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。
计算机网络(computer networking)、互连网(internet)和互连网(Internet)的区别:
按组成部分可以分为硬件、软件和协议,三个部分的详细分类如下所示:
硬件通过内部安装到网络适配器(网卡)上,遵循协议实现将主机数据发送到网络上和接收来自网络数据的功能。
按工作方式可以分为边缘部分和核心部分,两个部分的详细分类如下所示:
边缘部分:主要由连接到互联网上的主机及其软件组成,工作方式是直接为用户服务,如通信和资源共享。
核心部分:由大量网络和连接这些网络的路由器组成,工作方式是为边缘部分提供服务,如连通性和交换服务。其中,连通性指的是两个主机之间可以传输数据,交换服务指的是核心部分为数据包的传输选择一条合适的路径进行传送。
按逻辑功能可以分为资源子网和通信子网,两个部分的详细分类如下所示:
计算机网络的功能主要分为数据通信、资源共享、分布式处理、提高可靠性和负载均衡等功能。
数据通信:实现计算机之间数据的传输,是最基本、最重要的功能。
资源共享:分为硬件、软件和数据资源上的资源共享,比如智能音响请求服务器处理、应用商店和分享视频。
分布式处理:将某个复杂任务分配给网络中的多台计算机处理,如大矩阵运算。
提高可靠性:网络中各台计算机互为替代机,如某网盘服务器集群网络、数据冗余备份。
电路交换的优点:
电路交换的缺点:
报文交换的优点:
报文交换的缺点:
分组交换和报文交换比较类似,是为了解决报文不定长带来的问题。如图2-3所示,不定长的报文被分成若干个定长的分组。在报文中,头部是控制信息,包含了源地址和目的地址等;在分组中,首部包含了分组的控制信息,如源地址、目的地址和分组号等。
分组交换的优点:
分组交换的缺点:
相比于报文交换,分组交换进行了如下改进:
假设每一跳传播时延为 1 m s 1ms 1ms,电路交换机建立、释放下一跳连接耗时为 1 m s 1ms 1ms,接收方式处理请求需要 2 m s 2ms 2ms,数据传输速率为 0.5 k b / m s 0.5kb/ms 0.5kb/ms,报文大小为 4 k b 4kb 4kb。
首先A建立与B的连接耗时 1 m s 1ms 1ms,B与C建立连接耗时 1 m s 1ms 1ms,C与D建立连接耗时 1 m s 1ms 1ms,在连接建立阶段共耗时 3 m s 3ms 3ms;接收方式处理请求需要 2 m s 2ms 2ms,故从连接建立阶段到数据传送阶段的过渡需要 2 m s 2ms 2ms;在数据传送阶段,A到B、B到C以及C到D的传送过程共耗时 3 m s 3ms 3ms,报文的数据传输耗时为 4 k b 0.5 k b / s = 8 m s \frac{4kb}{0.5kb/s}=8ms 0.5kb/s4kb=8ms;传送阶段到释放阶段的过渡不需要时间,图3-1只是为了线条不重叠,当报文全部传输完后开始释放连接,三个释放过程共耗时 3 m s 3ms 3ms。因此,电路交换的数据传输耗时为 11 m s 11ms 11ms。
假设每一跳传播时延为 1 m s 1ms 1ms,电路交换机建立、释放下一跳连接耗时为 1 m s 1ms 1ms,接收方式处理请求需要 2 m s 2ms 2ms,数据传输速率为 0.5 k b / m s 0.5kb/ms 0.5kb/ms,报文大小为 4 k b 4kb 4kb,报文存储转发时延为 2 m s 2ms 2ms。
报文从A发送到B过程中需要耗时 8 m s 8ms 8ms,而传输过程中还有传播时延 1 m s 1ms 1ms;在报文全部发送完后,B开始对报文进行解析,则存储转发过程耗时 2 m s 2ms 2ms。后面的过程类似,故报文交换技术的总耗时为 31 m s 31ms 31ms。
假设每一跳传播时延为 1 m s 1ms 1ms,数据传输速率为 0.5 k b / m s 0.5kb/ms 0.5kb/ms,报文大小为 4 k b 4kb 4kb,分组大小为 1 k b 1kb 1kb,报文存储转发时延为 0.5 m s 0.5ms 0.5ms。
在A发送分组1到B的过程中,数据传输耗时 2 m s 2ms 2ms,传播时延 1 m s 1ms 1ms,B对分组1的存储转发时延 0.5 m s 0.5ms 0.5ms,故A到B总耗时 3.5 m s 3.5ms 3.5ms;同理,B到C也耗时 3.5 m s 3.5ms 3.5ms,C到D也耗时 3.5 m s 3.5ms 3.5ms。由于在分组1到分组4是同时从A开始发送的,因此在分组1总耗时 3.5 m s + 3.5 m s + 3 m s = 10 m s 3.5ms+3.5ms+3ms=10ms 3.5ms+3.5ms+3ms=10ms的基础上加上另外三个分组的传输时间和传播时延即为总耗时,故分组交换总耗时为 10 m s + 2.5 m s ∗ 3 = 17.5 m s 10ms+2.5ms*3=17.5ms 10ms+2.5ms∗3=17.5ms。
三种交换方式的性能对比图如图3-4所示。
如今的局域网几乎都是采用“以太网技术”实现的,因此“以太网”几乎成了“局域网”的代名词。家庭里的手机、电脑和电视等设备通过以太网路由器组成了局域网,局域网再通过路由器接入广域网;网关和智能家居组成了个域网。
一条通信线路在逻辑上对应一条发送信道和一条接收信道。而**速率(Speed)指的是连接到网络上的节点在信道上传输数据的速率。**也称为数据传输速率,单位为 b p s bps bps。另外, 1 B = 8 b 1B=8b 1B=8b,在做题过程要注意单位的换算。
带宽指的是某信道所能传送的最高数据率。
假设主机A和主机B之间的带宽为 100 M b p s 100Mbps 100Mbps,主机A的网卡速率为 1 G b p s 1Gbps 1Gbps,主机B的网卡速率为 10 M b p s 10Mbps 10Mbps,主机A给主机B发送数据的最高理论速率应为多少。
应为 10 M b p s 10Mbps 10Mbps,最高速率受到双方的影响,“猪队友”带不动。
**吞吐量指的是单位时间内通过某个网络(或信道、接口)的实际数据量。**吞吐量受带宽限制、受复杂的网络负载情况影响。考试很少涉及。
**时延(Delay)指的是数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需要的时间。**有时也称为延迟和迟延。总时延等于发送时延+传播时延+处理时延+排队时延。后两种时延基本不考虑。
H1给 H2 发送一个数据分组。分组大小为 1000 B 1000B 1000B,H1往链路A发送数据的速率为 100 M b p s 100Mbps 100Mbps,路由器往链路B发送数据的速率为 80 M b p s 80Mbps 80Mbps。链路A传播时延为 0.01 m s 0.01ms 0.01ms,链路B传播时延为 0.05 m s 0.05ms 0.05ms,不考虑路由器的处理时延、排队时延。求传输整个分组的总时延。
H1 → \rightarrow →链路A:传播时延+发送时延= 0.01 m s + 8000 b 1 0 8 b / s = 0.09 m s 0.01ms+\frac{8000b}{10^{8}b/s}=0.09ms 0.01ms+108b/s8000b=0.09ms
H2 → \rightarrow →链路B:传播时延+发送时延= 0.05 m s + 8000 b 8 × 1 0 7 b / s = 0.15 m s 0.05ms+\frac{8000b}{8\times10^{7}b/s}=0.15ms 0.05ms+8×107b/s8000b=0.15ms
总时延为: 0.09 m s + 0.15 m s = 0.24 m s 0.09ms+0.15ms=0.24ms 0.09ms+0.15ms=0.24ms。
时延带宽积指的是传播时延和带宽的乘积,单位为 b i t bit bit。其含义是一条链路中,已从发送端发出但尚未到达接收端的最大比特数。考试很少涉及。
在下图所示的分组交换网络中,主机H1和H2通过路由器互连,2段链路的带宽均为 100 M b p s 100Mbps 100Mbps,时延带宽积均为 1000 b i t s 1000bits 1000bits。若H1向H2发送1个大小为 1 M B 1MB 1MB的文件,分组长度为 1000 B 1000B 1000B,则从H1开始发送时刻起到H2收到文件全部数据时刻止,所需的时间至少是多少?
由于文件大小为 1 M B = 8 × 1 0 6 b 1MB=8\times10^{6}b 1MB=8×106b,分组长度为 1000 B = 8 × 1 0 3 b 1000B=8\times10^{3}b 1000B=8×103b,故这个文件共分成 1 0 3 10^{3} 103个分组。
对于每个分组而言,其发送时延为 8 × 1 0 3 8 × 1 0 8 = 0.08 m s \frac{8\times10^{3}}{8\times{10^8}}=0.08ms 8×1088×103=0.08ms。
由于时延带宽积为传播时延 × \times ×带宽,且带宽为 1 × 1 0 8 b 1\times{10^8}b 1×108b,因此传播时延等于 1 × 1 0 3 b i t s 1 × 1 0 8 b = 0.01 m s \frac{1\times10^3bits}{1\times{10^8}b}=0.01ms 1×108b1×103bits=0.01ms。
因此,总耗时等于 0.09 m s × 2 + 999 × 0.08 m s = 80.1 m s 0.09ms\times2+999\times0.08ms=80.1ms 0.09ms×2+999×0.08ms=80.1ms。另外999个分组之所以每个耗时是 0.08 m s 0.08ms 0.08ms是因为不考虑处理时延和排队时延。
往返时延指的是从发送方发送完数据,到发送方收到来自接收方的确认总共经历的时间。
在游戏延迟中,反映的就是“手机-服务器”之间的往返时延。
手机H1和H2通过蓝牙连接,连接时长为1分钟。在此期间,H1给H2以 80 M b p s 80Mbps 80Mbps的速率传输了20张大小 10 M B 10MB 10MB的照片。求蓝牙连接期间的信道利用率。
信道利用率 = 有数据通过的时间 有数据通过的时间 + 没有数据通过的时间 = 20 × 8 × 1 0 7 / 8 × 1 0 7 s 60 s × 100 % = 33.3 % 信道利用率=\frac{有数据通过的时间}{有数据通过的时间+没有数据通过的时间}\\=\frac{20\times8\times10^{7}/8\times10^{7}s}{60s}\times100\%=33.3\% 信道利用率=有数据通过的时间+没有数据通过的时间有数据通过的时间=60s20×8×107/8×107s×100%=33.3%
综合了OSI和TCP/IP参考模型的优点,其内容如图6-2所示。