《计算机网络》笔记-第1章计算机网络和因特网

2020-01-27  本文已影响0人  dounine

0. 前言

鉴于计算机网络的重要性,以及即将开设的计算机网络课程,我决定利用寒假的时间认真研读《计算机网络——自顶向下方法》前6章,并撰写阅读笔记。

愚认为,计算机网络是计算机领域中基础且重要的部分,必须牢固掌握。相对于各种框架、或者浮于表面的机器学习,计算机网络才是能提高计算机素养的关键之一。值得我们花时间去阅读、研究和实践。

我接触计算机网络,是从一本叫做《网络是如何连接》的小书开始的。这本书十分不错,帮我打开了计算机网络的大门。但这本书中的知识并不深入,也没帮我形成完整的知识体系。所以,此次选择更加权威而全面的《计算机网络——自顶向下方法》进行阅读,希望我能从中收获更多。

这篇是《计算机网络——自顶向下方法》第1章的学习笔记。由于我结合了英文版的内容,所以笔记中用到了一些英文,请大家见谅。不过,个人认为英语对计算机学生还是很重要的(后悔自己英语不好)。同时,笔记中既有原文内容,也有我自己的理解部分。如果存在某些名词跟原文不符,我希望大家不要纠结。(愚认为,重要的在于理解思想,而不在于名词解释、或者概念背诵)

那,话不多说,开始冲。

1. What Is the Internet?

But what is the Internet? There are a couple of ways to answer this question. First, we can describe the nuts and bolts of the Internet, that is, the basic hardware and software components that make up the Internet. Second, we can describe the Internet in terms of a networking infrastructure that provides services to distributed applications.

什么是因特网?回答这个问题有两种方式:其一,我们能够描述因特网的具体构成,即构成因特网的基本硬件和软件组件;其二,我们能够根据为分布式应用提供服务的联网基础设施来描述因特网。

1.1. A Nuts-and-Bolts Description(用具体构成描述因特网)

1.png

客观存在:

主观存在:

将因特网与现代物流系统类比:

因特网 物流
端系统 货物寄送或到达的地方
通信链路 高速公路、铁路、普通公路等
分组交换机 岔路口
分组 货物
ISP 公路局、铁路局等

1.2. A Services Description(用服务描述因特网)

1.3. What Is a Protocol?

人们规定好的一套交流、行事的标准,就是协议

古代儒学、书信格式、普通话标准等等,都是协议。

学习计算机网络,最重要的就在于理解网络协议。

2. The Network Edge(网络边缘)

网络边缘主要包括:端系统和接入网

2.1. Access Networks(接入网)

以上定义有待考察。

总而言之,接入网就是指连接互联网与家庭、公司网络的通信线路。其长度一般为几百米到几公里,因而被形象地称为"最后一公里"。它包括 DSL、电缆、FTTH 等

2.1.1. DSL(Digital Subscriber Line, 数字用户线)

DSL,即用电话线作为网线。它包括ADSL(Asymmetric Digital Subscriber Line,非对称数字用户线)、RADSL、HDSL和VDSL等等

用户从提供本地电话接入的本地电话公司处,获取DSL因特网接入,用户的本地电话公司即是它的ISP。

2.png

如上图所示,每个用户的 DSL调制解调器(DSL modem) 使用现有电话线(双绞铜线),与位于电话公司的本地中心局中的 数字用户线接入复用器(DSLAM) 交换数据,分配器(splitter) 则将网络信号与电话信号分开。

在电话线中,包含三个通道:

缺点:短距离。

2.1.2. Cable Internet Access(电缆因特网接入)

用电视线作为网线。由于在这个系统中应用了光纤和同轴电缆,又被称为混合光纤同轴(Hybrid Fiber Coax, HFC)系统。

3.png

使用电缆接入因特网,需要电缆调制解调器(cable modem),家庭PC会连接到它的以太网接口。在电缆头端(cable head end),有一个电缆调制解调器端接系统(cable modem termination system, CMTS),负责接收并处理各家庭传来的网络信号。在电缆中,也分为上行下行两个信号通道。

缺点:多个家庭共享电缆,用的人越多,网速越慢。

2.1.3. FTTH(Fiber To The Home, 光纤到户)

根据光纤分布体系结构,可分为:

以较为常见的PON为例,如图:

4.png

每个家庭都有一个光纤网络端接器(optical network terminator, ONT),用户将一台家庭路由器与ONT相连,并经过这台家庭路由器接入因特网。ONT通过专门的光纤连接到邻近的光纤分配器(optical splitter),该分配器把一些家庭(少于100个)集结到一根共享光纤,该光纤再连接到中心局(central office)的光纤线路端接器(optical line terminator, OLT)。该OLT再经过中心局路由器与因特网相连。

2.1.4. 卫星与拨号

在一些乡村环境,常使用卫星链路拨号接入的方式,但是网速很慢。

2.1.5. 以太网与WiFi

在公司、大学校园以及越来越多的家庭中,也常使用局域网(LAN),将端系统连接到边缘路由器。

有线局域网常使用以太网技术;

无线局域网常使用WiFi技术。

2.1.6. 3G、4G与5G

手机等移动设备,则使用广域无线接入的方式。通过蜂窝网提供商运营的基站来发送和接收分组,用户需要位于基站的数万米范围内。

2.2. Physical Media(物理媒体)

分组数据所跨越的物理媒介,分为两种类型:

下面讨论几种导引型媒体:

3. The Network Core(网络核心)

下图中,蓝色加粗部分即为网络核心:

5.png

通过网络链路和交换机移动数据有两种基本方法:分组交换电路交换

3.1. Packet Switching(分组交换)

3.2. Circuit Switching(电路交换)

在电路交换网络中,端系统通信期间,会在沿路预留通信所需要的资源(缓存,链路传输速率)。而在分组交换网络中,这些资源是不预留的。

传统的电话网络就是电路交换网络的例子。在两方通话期间,第三方不能插足,因为没有多余的资源了。

电路交换主要通过 频分复用(frequency-division multiplexing, FDM)时分复用(time-division multiplexing, TDM) 来实现。

6.png

如上图所示,频分复用是划分频谱,不同用户不同频段;时分复用是划分时间,不同用户不同时隙。

3.3. Packet Switching vs Circuit Switching

分组交换胜出!

3.4. A Network of Networks(网络的网络)

年复一年,因特网用户越来越多,导致网络越来越大,从而形成了网络的网络。

端系统通过接入ISP进入因特网,只要所有的接入ISP互联,所有的端系统就能够彼此发送分组。那么,如何使所有的接入ISP互联呢?

网络的网络结构演变如下:

4. Delay, Loss, and Throughput in Packet-Switched Networks(分组交换中的延迟、丢包和吞吐量)

4.1. Overview of Delay in Packet-Switched Networks(分组交换网中的时延概述)

8.png

上图所示的时延分为以下四种类型:

节点时延(d_{nodal}) = 处理时延(d_{proc}) + 排队时延(d_{queue}) + 传输时延(d_{trans}) + 传播时延(d_{prop})

4.2. Queuing Delay and Packet Loss(排队时延和丢包)

节点时延中最为复杂和有趣的成分是排队时延(其实,就是堵车消耗的时间)。

如果La/R>1,则比特到达队列的平均速率超过从该队列传输出去的速率,即接收比送出去的快。同一时刻到达的分组越多,排队时延将越大,因为\lim_{N\to \infty}N\tfrac{La}{R} = N

因此:

Design your system so that the traffic intensity is no greater than 1

当分组到达时,队列已满,那该分组奖会丢失(loss)

4.3. End-to-End Delay(端到端时延)

假设网络是无拥塞的(因此排队时延是微不足道的)。

端到端时延:d_{end-end} = N(d_{proc} + d_{trans} + d_{prop})

4.4. Throughput in Computer Networks(计算机网络中的吞吐量)

除了时延和丢包,端到端吞吐量是计算机网络中另一个至关重要的性能测度。包含如下两个度量:

另外,端到端的吞吐量,取决于端到端路径中速率(bps)最小的链路,即瓶颈链路(bottleneck link)。论证如下:

假设有一台服务器和一台客户机,他们通过两条通信链路和一台路由器相连,不考虑处理时延和传输时延,令R_s表示服务器到路由器之间的链路速率(bps),R_c表示路由器到客户之间的链路速率(bps),特别注意:链路速率(bps)表示每秒传送的比特数,而不是每秒前进的路程。如下图:

9.png

根据R_sR_c的比较关系,可分为以下两种情况:

  1. 假设R_s < R_c 且 R_s=1bit/s, R_c=2bit/s:在时刻1,有1bit从服务器到达路由器;在1s~2s间,虽然路由器到客户端的链路1s能够传播2bit,但路由器此时只有1bit,所以该链路1s只能转播1bit;在时刻2,1bit到达客户端,新的1bit又到达了路由器;重复上述步骤。虽然R_c=2bit/s,但由于服务器到路由器的链路1s只能提供1bit,所以路由器到客户端的链路速率也降至1bit/s

  2. 假设R_s > R_c 且 R_s=2bit/s, R_c=1bit/s:在时刻1,有2bit从服务器到达路由器;在1s~2s间,由于路由器到客户端的链路1s只能够传播1bit,所以路由器还停留了1bit;在时刻2,1bit到达客户端,新的1bit又到达了路由器,此时路由器保留了2bit。随着时间推移,路由器积累的bit越来越多,这是一种最不希望的情况。

因此,对于这种简单的两链路网络,其吞吐量为\tfrac{1}{2}min\{R_c, R_s\}(此处略不同于《计算机网络——自顶向下方法》1.4.4节中的内容,愚认为书中存在纰漏)。

综上所述,我们可以知道,端到端路径中的瓶颈链路,决定了端到端的吞吐量。所以,在今天因特网中,对吞吐量的限制因素通常是接入网

另外,当有许多数据流通过一条链路时,一条高传输速率的链路也可能成为瓶颈链路。

5. Protocol Layers and Their Service Models(协议层次及其服务模型)

5.1. Layered Architecture(分层的体系结构)

分层是分析和设计大型系统的良好方法。

5.1.1. Protocol Layering(协议分层)

5层因特网协议栈(protocol stack, 各层的所有协议) 如下图:

10.png

上层服务依赖于下层服务,下层服务为上层服务提供接口。

就像本书所说,我们采用 自顶向下方法(top-down approach) 进行解释分析:

5.1.2. The OSI Model(OSI模型)

1970s后期,国际标准化组织(ISO)提出计算机网络围绕7层来组织,称为开发系统互连模型(OSI模型),如下:

11.png

相比于因特网5层模型,7层模型多了 表示层(Presentation)会话层(Session) 两层。

为什么会少了两层呢?因特网回答如下:

it’s up to the application developer.

这交给开发者处理。

5.2. Encapsulation(封装)

封装的意义:对于上一层传来的数据信息,附加上当前层的附加信息。

对于每一层的数据信息,具有两种类型的字段:首部字段(当前层信息)有效载荷字段(payload field, 来自上一层)

6. Networks Under Attack(面对攻击网络)

等等等等。

7. History of Computer Networking and the Internet

上一篇 下一篇

猜你喜欢

热点阅读