计算机网络自顶向下 第1章 计算机网络和因特网

1.1 什么是因特网?

1.1.1 具体构成描述

  • 主机(host) 或称为端系统(end System)
  • 通信链路(communication link):由不同类型的物理媒体组成。包括同轴电缆、铜线、光纤和无线电谱等。链路的传输速率以比特/秒(bit/s,或bps) 度量。
  • 分组交换机(packet switch):
    • 路由器(router):通常用于网络核心中。
    • 链路层交换机(link-layer switch):通常用于接入网中。
  • 因特网服务提供商(Internet Service Provider,ISP):端系统通过ISP接入因特网,比如有住宅区ISP、公司ISP、大学ISP、国家ISP等。
  • 协议(protocol):用于控制因特网中信息的接收和发送。

1.1.2 服务描述

因特网的两种描述方式:

  • 一种是根据它的硬件和软件组成来描述。
  • 二是根据基础设施向分布式应用程序提供的服务来描述。(比如应用程序编程接口(Application Programming Interface,API))。

1.1.3 什么是协议

一个协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及报文发送和/或接收一条报文或其他事件所采取的动作。


1.2 网络边缘

网络边缘通常是指网络的接入层,就是靠近用户端,用于汇聚用户网络(LAN)的网络层面。与网络边缘连接的设备即是端系统(主机)。

1.2.1 接入网

  • 接入网(access network) 是指将端系统连接到其边缘路由器(edge router)物理链路
  • 边缘路由器是端系统到任何其他远程端系统的第一台路由器。

1.家庭接入:DSL、电缆、FTTH、拨号和卫星

  • 宽带住宅接入有两种最流行的类型:数字用户线(Digital Subscriber Line,DSL)和电缆因特网接入(cable Internet access)。
  • DSL利用本地电话公司现有的本地电话基础设施。用户使用现有的电话线(双绞铜线)从本地电话公司处获得DSL因特网接入。当使用DSL时,用户的本地电弧公司就是它的ISP。
  • 电缆因特网接入利用了有线电视公司现有的有线电视基础设施。住宅从提供有线电视的公司获得了电缆因特网接入。(比如光纤和同轴电缆,或者都用称为混合光纤同轴)。
  • 光纤到户(Fiber To The Home,FTTH),它从本地中心局直接到家庭提供了一条光纤路径。最简单的为每户设置一根光纤,更一般的时每根光纤由许多用户共享,直到接近住宅时才分为每户一根。

2.企业(和家庭)接入:以太网和WIFI

  • 以太网是一种计算机局域网(LAN)技术。以太网用户使用双绞铜线与一台以太网交换机相连,以太网交换机再与更大的因特网相连。
  • 基于IEEE 802.11 技术的无线LAN接入,通常称为WIFI
    在这里插入图片描述

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


1.2.2 物理媒体

物理媒体(physical medium) 分为两类:

  • 导引型媒体(guided media):电波沿着固体媒体前行,如光缆、双绞铜线或同轴电缆。
  • 非导引型媒体(unguided media):电波在空气或外层空间中传播,如无线局域网或数字卫星频道。

1.3 网络核心

网络核心 即由互联因特网端系统的分组交换机和链路构成的网状网络。

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

1.3.1 分组交换

  • 在各种网络应用中,端系统彼此交换报文(message)。
  • 为了从源端系统向目的端系统发送一个报文,源将长报文划分为较小的数据块,称之为分组(packet)。在源和目的之间,每个分组都通过通信链路和分组交换机传送。分组以等于该链路最大传输速率的速度传输通过通信链路。
  • 如果某源端系统或分组交换经过一条链路发送一个 L L L比特的分组,链路的传输速率为 R b p s R bps Rbps,则传输该分组的事件为 L / R L/R L/R秒。

1.存储转发传输

存储转发传输(store-and-forward transmission)是指在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。

  • N N N条速率均为 R R R的链路组成的路径(在源和目的地之间有 N − 1 N-1 N1台路由器)
    • 端到端的时延为
      d 端 到 端 = N L R d_{端到端} = N\frac{L}{R} d=NRL
    • P个分组经过N条链路序列的时延
      d 端 到 端 = ( N + P − 1 ) L R d_{端到端} = (N+P-1)\frac{L}{R} d=(N+P1)RL

2.排队时延和分组丢失

  • 对于每条相连的链路,分组交换机都具有一个输出缓存(output buffer)(也称为输出队列output queue),它用于存储路由器准备发往那条链路的分组。
  • 除了存储转发时延以外,分组还要承受输出缓存的排队时延(queue delay)。
  • 缓存空间大小是有限的,如果一个到达的分组发现缓存已满,就会出现分组丢失(丢包)(packet lost),到达的分组或已经排队的分组之一将被丢弃。

3.转发表和路由选择协议

  • 每台路由器具有一个转发表(forwarding table),用于将目的地址映射成为输出链路。
  • 因特网具有一些特殊的路由选择协议(routing protocol),用于自动地设置网络中路由器的转发表。

1.3.2 电路交换

电路交换网络中,在端系统间通信会话期间,预留了端系统间通信沿路径所需要的资源(缓存,链路传输速率)。因此必须在发送发和接收方之间建立一条连接,沿着该连接路径上的交换机都将为该连接维护连接状态。因为预留了带宽,所以在电路交换网络中,发送方能以确保的恒定速率向接收方发送数据。


1.电路交换网络中的复用

链路中的电路是通过频分复用(Frequency-Division Multiplexing,FDM)时分复用(Time-Division Multiplexing,TDM) 来实现的。

下面摘自频分复用和时分复用,作者:Abvedu,话说书上写的和屎一样。

  • 频分复用(FDM) 就是将用于传输信道的总带宽划分为若干个子信道,每一个子信道传输一路信号。FDM要求总频率宽度大于各个子信道频率之和,同时为了保证各个子信道中所传输的信号互不干扰,应在各子信道之间设立隔离带。频分复用技术的特点是所有子信道传输的信号以并行的方式工作,每一路信号传输时可不考虑传输时延
  • 时分复用(TDM) 将提供给整个信道传输信息的时间划分为若干时间片,并将这些时间片分配给每一个信号源使用,每一路信号在自己的时间片内独占信道进行数据传输。TDM的特点是时间片事先规划分配好且固定不变,所以有时也叫同步时分复用。其优点是时间片分配固定,便于调节控制,适用于数字信息的传输;缺点是当某信号源没有数据传输时,它所对应的信道会出现空闲,而其他繁忙的信道无法占用这个空闲的信道,降低线路的利用率。

对于FDM,每条电路连续地得到部分带宽。对于TDM,每条电路在短时间间隔中周期性地得到所有带宽。


1.4 分组交换网中的时延、丢包和吞吐量

1.4.1 分组交换网中的时延概述

当分组从一个结点沿着某条路径到后继结点,该分组在沿途的每个结点经受了几种不同类型的时延。包括结点处理时延(nodal processing delay)、排队时延(queuing delay)、传输时延(transmission delay)和传播时延(propagation delay)。这些时延加起来就是结点总时延(total nodal delay)(即在单台路由器上的时延)。

d p r o c 、 d q u e u e 、 d t r a n s 、 d p r o p d_{proc}、d_{queue}、d_{trans}、d_{prop} dprocdqueuedtransdprop分别表示处理时延、排队时延、传输时延、传播时延。则结点的总时延如下
d n o d a l = d p r o c + d q u e u e + d t r a n s + d p r o p d_{nodal} = d_{proc}+d_{queue}+d_{trans}+d_{prop} dnodal=dproc+dqueue+dtrans+dprop

  • (1)处理时延 :检查分组首部和决定将该分组导向何处所需要的时间时处理时延的一部分。
  • (2)排队时延:在队列中,当分组在链路上等待传输时,它经受排队时延。排队时延取决于当前链路上正在排队的分组数量。
  • (3)传输时延:假定分组以先到先服务的方式传输,只有当所有已经到达的分组被传输后,才能传输刚到的分组。用 L L L比特表示该分组的长度,用 R b p s R bps Rbps表示路由器A到路由器B的链路传输速率。例如,对于一条10Mbps的以太网链路,速率 R = 10 R=10 R=10Mbps。传输时延是 L / R L/R L/R这是将所有分组的比特推向链路所需要的时间。
  • (4)传播时延:一旦一个比特被推向链路,该比特需要向下一跳路由器传播,从该链路起点到吓一跳路由器传播所需要的时间就是传播时延。传播速率取决于该链路的物理媒体(光纤、双绞铜线等)。即传播时延等于两台路由器之间的距离 s s s除以传播速率 v v v,即 d p r o p = s v d_{prop}=\frac{s}{v} dprop=vs

1.4.2 排队时延和丢包

1.4.3 端到端时延

假定在源主机和目的主机之间有 N − 1 N-1 N1太路由器。且该网络无拥塞(排队时延可以忽略),在每台路由器和源主机上的处理时延是 d p r o c d_{proc} dproc,每台路由器和源主机的输出速率是 R b p s R bps Rbps,每条链路的传播时延是 d p r o p d_{prop} dprop。结点时延累加起来,得到端到端时延:
d e n d − e n d = N ( d p r o c + d t r a n s + d p r o p ) d_{end-end} = N(d_{proc}+d_{trans}+d_{prop}) dendend=N(dproc+dtrans+dprop)
其中 d t r a n s = L / R d_{trans} = L/R dtrans=L/R L L L为分组长度。


1.4.4 计算机网络中的吞吐量

考虑从主机A到主机B跨越计算机网络传输一个大文件。在任何时间瞬间的瞬时吞吐量(instantaneous throughput)是主机B接收到该文件的速率(以bps为单位)。如果该文件由 F F F比特组成,主机B接收该文件用去了 T T T秒,则文件传送的平均吞吐量(average throughput)是 F / T b p s F/T bps F/Tbps

吞吐量取决于数据流过的链路的传输速率(即瓶颈速率)。


1.5 协议层次及其服务模型

在这里插入图片描述
各层的所有协议被称为协议栈(protocol stack)

  • (1)应用层:应用层是网络应用程序及它们的应用层协议存留的地方。如HTTP、SMTP、FTP等。位于应用层的信息分组称为报文(message)。
  • (2)运输层:运输层主要提供端到端(进程到进程)的通信,在应用程序端点之间传送应用层报文。位于运输层的分组称为报文段(segment)。
  • (3)网络层:网络层负责将称为数据报(datagram)的网络层分组从一台主机移动到另一台主机。
  • (4)链路层:为了将分组从一个结点移动到路径上的下一个结点,网络层必须以靠链路层的服务。链路层分组称为(frame)。
  • (5)物理层:将网络层的帧一个一个比特移动到下一个结点。该层进一步与传输媒体相关。

1.6 面对攻击的网络

  • 病毒(virus) 是一种需要某种形式的用户交互来感染用户设备的恶意软件。比如包含恶意可执行代码的电子邮件附件。
  • 蠕虫(worm) 是一种无需任何明显用户交互就能进入设备的恶意软件。新近感染设备中的蠕虫能扫描因特网,搜索其他运行相同易受感染的网络应用程序的主机,并向其发送一个自身的副本。
  • 特洛伊木马:它是一种典型的网络病毒。它以隐蔽的方式进入到目标机器,对目标机器中的私密信息进行收集和破坏,再通过互联网,把收集到的私密信息反馈给攻击者,从而实现其目的的一种新型病毒。