计算机网络自顶向下:第一章-概论

1 什么是网络

1.1 硬件和软件组成了计算机网络

计算机网络组成

终端系统用网络上的通信链路分组交换器连接在一起

  • 通信链路:由不同类型的物理媒介构成,包括同轴电缆,铜线,光纤和无线电频谱。不同的链路能以不同的速率传递数据,单位是bit/s。这里链路并不是指一个具体的物理路线,而是一个抽象的含义。
  • 分组交换器:将由输入通信链路中获取的分组转发到输出通信链路中,主要有两种:路由器和链路层交换器。链路层交换器一般用来访问网络,路由器一般用来组成网络核心(网络分为网络核心和网络边缘两个部分)。

  • 终端系统通过 互联网服务供应商(ISP) 来访问互联网,IPS就是和一些在不同场合提供访问互联网方法的一些机构,譬如电信公司。

  • 协议:控制终端系统,分组交换器或者其他互联网部分接受和发送信息。其中TCP和IP是两个主要协议:IP协议指定在路由器和终端系统之间发送和接收的数据包的格式。互联网的主要协议统称为TCP/IP。

1.2 作为服务分布式应用的基础设施

我们也可以从一个完全不同的角度来描述网络,即作为向应用程序提供服务的基础架构。这些应用程序包括电子邮件,网上冲浪,社交网络,即时消息,IP语音(VoIP),视频流,分布式游戏,P2P文件共享,互联网电视,远程登录等等。
首先我们需要在终端上编写我们的应用程序,我们可以使用JAVA,C或者Python等语言,接着我们需要通过API来接入互联网。

  • API:互联网API是发送程序必须遵循的一组规则,以便互联网可以将数据传送到目标程序。

1.3 什么是协议

用人类协议来类比,通常我们用“HI”来表示我们想要和别人交流,如果别人回复“HI”则表示愿意交流,若回复 “Don’t bother me!” or “I don’t speak English”则没有继续交流的必要了。

计算机网络组成

  • 协议:协议定义了两个或多个通信实体之间交换消息的格式和顺序,以及在传输和/或接收消息或其他事件时采取的行动。

2 网络边缘

计算机网络组成

如上图,电脑和其他网络设备被称为终端系统,因为他们处于网络的边缘部分。通常我们把主机也叫做终端系统,主机分为客户端和服务器。

  • 客户端:桌面,移动电脑,手机等等。
  • 服务器:功能比较强大的机器。

2.1 网络接入

计算机网络组成

如图:分为三种访问类型:家庭网络接入,企业网络接入,移动网络接入。

2.1.2 家庭网络接入:DSL,Cable,FTTH,Dial-Up,and Satellite

如今,最主要的两种带宽住宅接入方式是DSL和Cable。

  1. 通过数字用户线接入(DSL):和电信公司提供的本地电话接入方式一致,共用已经存在的电话线。此时,电信公司同时也作为ISP。

    计算机网络组成

    • DSL调制解调器:获取数字数据并将它转换成高频音(模拟信号)通过电话线路传输到电信公司中心办公室。
    • DSL接入复用器(DSLAM):将模拟信号转换回数字信号。

    电话线中有3中不同的频率,以区别网络数据和电话信号:

    1. 高速下载通道:50kHz-11MH
    2. 中速上传通道:4kHz-50kHz
    3. 普通双向电话通话:0-4kHz
  2. Cable:使用了有限电视公式已经存在的有限电视基础设施。

    计算机网络组成

    • 有线调制解调器:和DSL调制解调器作用一样,是一个外部设备,通过以太网接口端口连接PC。
    • 有线调制解调器终端系统(CMTS):和DSLAM作用一样。

    上面两种方式占90%,之外还有一种速度更快的接入方式。FTTH(fiber to the home)

  3. FTTP(fiber to the home)

    直接提供一个光纤路线从中心办公室连到家。
    对于从CO到家的光纤分布,有几种不同的竞争技术,其中最简单的光分布网络是直纤,一条光纤从CO到一个家庭。然而,更普遍的是CO的每一条光纤都由多个家庭共享,直到离家庭足够近,才会被分割为各个家庭特别的光纤。有两种竞争的光分配网络体系结构执行这种分割:有源光网络(AONs)和无源光网络(PONs)。有源光网络本质上是交换的以太网,将在第五章讨论。接下来简单的讨论PONs。如下图:

    计算机网络组成

    每个家庭都有一个光纤网络终端(ONT),它通过专用光纤连接到一个邻居分离器。该分路器将多个家庭(通常少于100个)组合到单个共享光纤上,该光纤连接到电信公司的CO中的光线路终端器(OLT)。OLT提供光信号和电信号之间的转换,连接到通过电信路由器上网。

2.1.3 企业网络接入(家庭也有):以太网和WIFI

  1. 以太网接入

将在第五章具体讨论。

计算机网络组成

  1. WIFI

基于IEEE 802.11技术的无线局域网接入,通俗地称为WiFi,现在几乎遍布各处 - 大学,商务办公室,咖啡馆,机场,甚至飞机。

将在第六章具体讨论。

2.1.3 广域无线接入:3G和LTE

将在第六章具体讨论。

3 网络核心

互联网终端系统的分组交换和链路网格

计算机网络组成

3.1 分组交换

计算机网络组成

  • 分组:源将长消息分解成已知的更小的数据块。
  • 通信链路:由不同类型的物理媒介构成,包括同轴电缆,铜线,光纤和无线电频谱。不同的链路能以不同的速率传递数据,单位是bit/s。
  • 分组交换器:将由输入通信链路中获取的分组转发到输出通信链路中,主要有两种:路由器和链路层交换器。链路层交换器一般用来访问网络,路由器一般用来组成网络核心(网络分为网络核心和网络边缘两个部分)。

3.1.1 存储转发传输

计算机网络组成

每个分组交换器都采用了存储——转发的方式。
分组交换器必须接收整个分组,才能开始将分组的第一个比特发送到出站链路。因此,第一个比特到了分组交换器后必须等待其他所有的分组比特到来才能继续发送到下一个分组交换器中,所以在这个过程中就有存储——转发时延,也叫发送时延。

3.1.2 排队时延和数据包丢失

每个分组交换器都有很多个相连的链路,每个链路都有一个输出缓存,来决定下一个将被发送的分组。因此除了存储——转发时延之外还有排队时延。排队时延依赖于网络的拥堵状态。
由于缓冲区空间的数量是有限的,到达的数据包可能会发现缓冲区已满,其他数据包正在等待传输。在这种情况下,会发生数据包丢失 - 到达的数据包或其中一个已排队的数据包将被丢弃。

3.1.3 转发表和路由协议

每一个终端系统都有一个地址叫IP地址。当源端系统想要将数据包发送到目标端系统时,源包括数据包报头中的目标IP地址。与邮政地址一样,该地址具有分层结构。当数据包到达网络中的路由器时,路由器检查数据包的目标地址的一部分,并将数据包转发给相邻的路由器。更具体地说,每个路由器都有一个转发表,用于将目标地址(或部分目标地址)映射到该路由器的出站链路。那么这个转发表是如何来的呢?
网络中有许多特殊的路由协议,用于自动设置转发表。比如,一个路由协议可能采用最短路算法来生成转发表。

3.2 电路交换

在电路交换网络中,为端系统之间的通信时提供的沿路径所需的资源(缓冲器,链路传输速率)被保留用于终端系统之间的通信会话期间。在分组交换网络中,这些资源不被保留; 会话的消息按需使用资源,因此可能不得不等待(即队列)访问通信链接。
作为一个简单的比喻,考虑两家餐厅,一家需要预订,另一家既不需要预订也不需要接受预订。对于需要预订的餐厅,我们必须在离开家之前经历呼叫的麻烦。但是,当我们到达餐厅时,我们原则上可以立即坐下来点餐。对于不需要预订的餐厅,我们无需费心预订餐桌。但是,当我们到达餐厅时,我们可能不得不等待桌子才能坐下。
电路交换中,在发送端能发送消息前,会在发送端和接收端中先建立一个连接,确认连接路线中哪些交换器会保持连接状态。同时,也会保持一个固定的链路传输速率(代表了一个链路传输容量的分数)。
之前我们说的电话网络就是采用的电路交换的方式。

计算机网络组成

如上图,有3台主机通过4个分组交换器和4个链路连接,每个链路有4个电路。当终端A要与终端B进行通讯时,网络先在两台主机之间建立一个连接,首先确认需要通过的分组交换器,然后确定选择连接的链路中的哪条电路,如第一条链路中选择了第二条电路,第二条链路中选择了第四条电路。此时整个电路交换连接的速率将会是总链路速率的四分之一。

3.2.1 电路交换中的复用

计算机网络组成

链路中的电路采用频分复用(FDM)或者时分复用(TDM)来实施。

  • FDM:链路频率范围在链路上建立的连接之间进行划分。
  • TDM:被分成固定持续时间的帧,并且每个帧被分成固定数量的时隙。

3.2.2 电路交换和分组交换的比较

相比电路交换,分组交换不适合实时服务,比如打电话,视频通话,因为可能存在的时延(主要是排队时延)。而优点是:

  1. 提供更好的共享传输容量。
  2. 更简单,更高效,实施成本更低。

4 时延

时延

时延

如上图:
延迟中最主要的是节点处理延迟、排队延迟、传输延迟(transmission )和传播延迟(propagation ),这些延迟一起累积,从而给出总节点延迟。

  • 处理延时:检查表头,指导包的链路转发,字节级别错误检查等都属于节点处理延时,在网络中,这部分延时是微秒级别的。
  • 排队延时,期望找到一个关于运输类型和强度的函数,微妙到毫秒级别。
  • 传输延时,一个包的长度除以链路传输速率,微妙到毫秒级别。
  • 传播延时,字节在链路传播的时间,取决链路的媒介(光纤或者双胶铜线,基本等于光速),毫秒级别。

传输延时好比在高速公路上的中转站的耗时,传播延时好比在高速公路上的耗时。这部分总延时=传输延时+传播延时。
如果传输延时比传播延时高,那么就会出现,分组中的第一个字节已经到达下一个路由,而最后一个字节还没有从当前路由发出。

传播延时在总延时中占主要部分,传输延时根据链路的传输速率而变化,而处理延时微不足道。

最复杂的是排队延时,每个分组的排队延时都不一致(就和每个排队的人等待的时间都不一样),因此有以下的一些描述:平均延时,延时方差,延时高于某值的概率。
排队延时由分组到达队列的速率,链路传输速率和分组到达的方法(是周期性,还是突然增长)而决定。
周期性的情况下,到达速率和传输速率的比值称为流量强度(traffic intensity),这个量具有测量的含义。

  • 流量强度>1,队列就会持续增加,排队延时会持续增加。
  • 流量强度<=1,分组周期性的到达不会有排队延时,但是如果很多分组同一时间一同到达的时候,依然会有分组问题。

上述只是理想情况,实际上具有很强的随机性,因此交通强度就不会有很准确的意义,但是还是可以用来作大致的判断,当趋于0,排队时延趋于0,当趋于1,排队队列趋于无穷。
平均时延/交通强度

丢包

当分组队列达到容量时就会发生丢掉,防止丢包就需要重新发包。对包进行跟踪可以看到包的进度。
Traceroute 会记录两个终端之间每个路由的名字,IP,和每个路由会发送3次,因此还会记录3次时延。
Traceroute

注意,会出现第N个路由的时延大于第N+1个路由时延的情况。

吞吐量

吞吐量就是路由间的链路的最小的那一个传输速率。
一个文件从主机A传到主机B,主机B接收到的字节瞬时速率称为瞬时吞吐量,整个文件大小除以耗时成为平均吞吐量。
在文件传输的系统中,时延并不如吞吐量关键,

网络层的传输

网络层传输

网络安全

  • 病毒:交互式的恶意软件,可自我复制。
  • 蠕虫:非交互式的恶意软件,也可自我复制。
  • 木马:破幻系统安全,提供恶意软件进入的入口。

DOS攻击

  • 漏洞攻击:发送可以让服务崩溃的消息。
  • 宽带溢出:发送大量的消息。
  • 连接溢出:建立大量的连接。

DDOS:分布式的DOS攻击,比较难防。

包拦截:使用包监听器(packet sniffer)获取网络中的包数据(无线,有线)
IP伪装:伪装成正确的IP来获取数据。

本文标题:计算机网络自顶向下:第一章-概论

文章作者:Sun

发布时间:2018年05月30日 - 21:05

最后更新:2019年02月15日 - 13:02

原始链接:https://sunyi720.github.io/2018/05/30/cmpNet/计算机网络自顶向下:第一章-概论/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。