名词定义
What is the Internet?
- 提供服务以供应用使用的基础设施
- Web、VoIP、电子邮件、游戏、电子商务、社交网络等
- 为应用提供编程接口
- 允许应用“连接”到并使用互联网传输服务
- 提供类似邮政服务的服务选项

What is a protocol ?
Protocols define the format, order of messages exchanged among network entities, and actions taken on message transmission, receipt
协议定义了网络实体之间交换的消息的格式、顺序,以及在消息传输和接收时应采取的行动

网络架构
网络边缘 (Network edge)
网络边缘是互联网中与用户直接交互的部分,包括终端设备(如客户端和服务器)。
终端设备(Hosts)
- 客户端(Clients):用户直接使用的设备,如个人电脑、智能手机、平板电脑等。客户端主要用于访问网络服务。
- 服务器(Servers):提供网络服务的设备,如Web服务器、邮件服务器、数据库服务器等。服务器通常位于数据中心(Data Centers),以便高效地提供服务。
数据中心(Data Centers)
- 特点:数据中心是集中放置大量服务器的设施,通常具有高速网络连接、强大的计算能力和存储能力。
- 作用:数据中心为各种网络应用(如云服务、在线游戏、视频流等)提供支持,确保服务的高可用性和高性能。
接入网络和物理介质(Access Networks and Physical Media)
接入网络是终端设备连接到互联网的网络部分,包括有线和无线通信链路。
有线通信链路(Wired Communication Links)
- 以太网(Ethernet):通过铜线或光纤连接终端设备和网络,支持高速数据传输。
- 同轴电缆(Coaxial Cable):常用于有线电视网络,也可用于数据传输(如DOCSIS技术)。
- 光纤(Optical Fiber):提供高带宽和长距离传输,适用于数据中心和长距离通信。
无线通信链路(Wireless Communication Links)
- WiFi(IEEE 802.11):通过无线接入点(AP)连接终端设备到网络,适用于家庭、企业和公共场所。
- 蜂窝网络(Cellular Networks):如5G、4G LTE,通过基站连接移动设备到网络,支持广泛的移动接入。
- 卫星通信(Satellite Communication):通过卫星信号连接终端设备到网络,适用于偏远地区或全球覆盖。
网络核心(Network Core)
网络核心是互联网的骨干部分,负责将数据从源设备传输到目标设备。它主要由互联的路由器组成,形成了一个“网络的网络”(Network of Networks)。
互联的路由器(Interconnected Routers)
- 路由器(Routers):网络核心中的设备,用于转发数据包。路由器根据数据包的目的地址,将数据包从一个链路转发到另一个链路。
- 转发数据包:根据数据包的目的地址,选择合适的路径将数据包转发到下一个路由器或最终目的地。
- 路径选择:路由器通过动态路由协议(如OSPF、BGP)来选择最优路径,以应对网络拥塞和链路故障。
- 存储转发:路由器在转发数据包之前,会先将整个数据包接收并存储在缓冲区中,然后再将其转发到下一个链路。
- 数据包(Packet):
- 数据包是网络传输的基本单位,包含一部分应用层消息以及必要的头部信息。
- 每个数据包的长度为 L 比特。
- 传输速率(Transmission Rate):
- 传输速率 R 是链路的带宽,表示链路每秒可以传输的比特数。
- 单位是比特每秒(bits per second,bps)。
- 传输时延(Transmission Delay):
- 传输时延是指将一个数据包推入链路所需的时间。
- 计算公式为:$d_{trans} = \frac{R}{L}$
- 其中,L 是数据包的长度(比特),R 是链路的传输速率(bps)。
分组交换 (Packet Switching)
分组交换是一种网络传输方式,其中数据被分割成多个小的数据包(packets),每个数据包独立地在网络中传输。这种方式使得网络资源可以被多个用户共享,提高了资源利用率和网络的灵活性。
1. 数据包的传输时间
“takes $\frac{L}{R}$ seconds to transmit (push out) $L$-bit packet into link at $R$ bps”
- 含义:将长度为 $L$ 比特的数据包推入链路所需的时间为 $\frac{L}{R}$ 秒。
- 公式:$d_{\text{trans}} = \frac{L}{R}$
- $L$ 是数据包的长度(单位:比特)。
- $R$ 是链路的传输速率(单位:比特每秒,bps)。
- $d_{\text{trans}}$ 是传输时延(单位:秒)。
2. 存储转发机制
“store and forward: entire packet must arrive at router before it can be transmitted on next link”
- 含义:在分组交换网络中,每个路由器在转发数据包之前,必须先将整个数据包接收并存储在缓冲区中。只有当整个数据包到达后,路由器才会将其转发到下一个链路。
- 过程:
- 接收数据包:路由器接收整个数据包。
- 存储数据包:将数据包存储在缓冲区中。
- 转发数据包:根据数据包的目的地址,选择下一个跳转点,并将数据包转发到下一个链路。
3. 传输时延的计算
“one-hop numerical example: $L = 7.5$ Mbits, $R = 1.5$ Mbps, one-link transmission delay = 5 sec”
- 数据包长度:$L = 7.5$ Mbits(7.5兆比特)。
- 链路传输速率:$R = 1.5$ Mbps(1.5兆比特每秒)。
- 传输时延:将长度为 $L$ 比特的数据包推入链路所需的时间为:$$ d_{\text{trans}} = \frac{7.5 \times 10^6 \text{ bits}}{1.5 \times 10^6 \text{ bits/second}} = 5 \text{ seconds} $$

4. 排队时延(Queueing Delay)和丢包(Packet Loss)
- 排队时延:排队延迟是指数据包在路由器的缓冲区中等待传输的时间。
- 当数据包到达路由器的速率超过了链路的传输速率时,数据包会在路由器的缓冲区中排队等待传输。
- 缓冲区是一个有限的存储空间,用于暂时存储等待传输的数据包。
- 丢包:由于路由器的缓冲区满了,新到达的数据包被丢弃的现象。
- 如果数据包的到达速率持续超过链路的传输速率,缓冲区中的数据包会越来越多。
- 如果缓冲区满了,新到达的数据包将无处存放,因此会被丢弃(丢失)。

电路交换(Circuit Switching)
电路交换是一种网络交换方式,其中通信资源(如带宽)在通信开始前被分配并保留给特定的通信会话(通常称为“呼叫”)。这种方式确保了通信双方在整个通信过程中都能获得固定的资源,从而提供保证的性能。

1. 资源分配
“end-end resources allocated to, reserved for ‘call’ between source & dest:”
- 含义:在电路交换网络中,当一个呼叫(通信会话)建立时,网络会为这个呼叫分配并保留端到端的资源。这些资源包括链路的带宽和其他必要的网络资源。
- 示例:假设每个链路有四个电路(或通道),每个电路可以支持一个呼叫。在图示中,每个链路有四个电路。当一个呼叫建立时,它会占用特定的电路。例如,一个呼叫可能占用顶部链路的第2个电路和右侧链路的第1个电路。
- 专用资源:在电路交换中,一旦资源被分配给一个呼叫,这些资源在整个呼叫期间都被该呼叫独占,不会与其他呼叫共享。
- 资源闲置:如果一个电路没有被呼叫使用,那么这个电路的资源将闲置,不会被其他呼叫共享。
2. 性能保证
“circuit-like (guaranteed) performance”
- 含义:由于资源被专用,电路交换提供了类似电路的保证性能。这意味着呼叫的带宽和延迟在整个通信过程中是固定的,不会受到其他呼叫的影响。
- 示例:如果一个呼叫需要1 Mbps的带宽,那么在呼叫期间,它将始终获得1 Mbps的带宽,不会因为网络中的其他活动而受到影响。
3. 频分复用(FDM) 与 时分复用(TDM)
特性 | 频分复用(FDM) | 时分复用(TDM) |
---|---|---|
定义 | 将物理链路的频带划分为多个子频带,每个子频带分配给一个用户 | 将物理链路的时间划分为多个时间槽,每个时间槽分配给一个用户 |
工作原理 | - 频带划分 - 信号调制到子频带 - 独立传输 |
- 时间槽划分 - 用户在分配的时间槽内传输数据 - 按时间顺序依次传输 |
优点 | - 适用于模拟和数字信号 - 适合连续传输(如语音) |
- 时间槽可动态分配- 适合突发数据传输- 适合数字信号 |
缺点 | - 频带划分固定,难以动态调整- 频带利用率可能较低 | - 需要精确的时间同步- 对连续数据传输可能不太高效 |
应用场景 | - 传统电话网络(模拟信号) - 广播电台和电视台 |
- 数字电话网络(如 ISDN) - 计算机网络中的数据传输 |
资源分配 | 固定频带分配,不共享 | 固定时间槽分配,不共享 |
灵活性 | 不灵活,难以适应动态需求 | 较灵活,可动态调整时间槽分配 |

分组交换和电路交换对比
特性 | 分组交换(Packet Switching) | 电路交换(Circuit Switching) |
---|---|---|
资源分配 | 动态分配,按需使用 | 静态分配,预先保留 |
资源利用率 | 高,适合突发数据 | 低,资源可能闲置 |
性能 | 可能出现延迟和丢包 | 保证的性能,低延迟 |
灵活性 | 高,适应动态需求 | 低,难以调整 |
应用场景 | 计算机网络、互联网 | 传统电话网络 |
实现复杂度 | 高,需要复杂的路由和拥塞控制 | 低,实现相对简单 |
用户数量 | 可以支持更多用户 | 支持的用户数量有限 |


网络的网络(Network of Networks)
互联网是由多个网络相互连接而成的,这些网络包括:
- 接入ISP(Access ISP):提供用户接入互联网的服务。
- 区域性ISP(Regional ISP):连接多个接入ISP。
- 全球性ISP(Global ISP):提供跨区域的网络连接。
- 互联网交换点(IXP):不同ISP之间的互联点。
- 内容提供商网络(Content Provider Network):如Google、Microsoft等,通过自己的网络将内容和服务提供给用户。


网络中的时延、丢包和吞吐量(Delay, loss, throughput in networks)
丢包和时延的来源

四种时延


吞吐量
1. 吞吐量的定义
吞吐量(Throughput):表示在单位时间内成功传输的数据量,单位通常是比特每秒(bps)或字节每秒(B/s)。
- 瞬时吞吐量(Instantaneous Throughput):在某一特定时间点的吞吐量。
- 平均吞吐量(Average Throughput):在较长时间段内的吞吐量。

2. 平均端到端吞吐量的计算
假设服务器以 ( R_s ) bps 的速率向链路发送数据,链路的容量为 ( R_c ) bps。
- 当 ( R_s < R_c ) 时:
- 服务器的发送速率低于链路的容量,因此平均端到端吞吐量主要由服务器的发送速率决定。
- 平均端到端吞吐量:( R_s ) bps。
- 当 ( R_s > R_c ) 时:
- 服务器的发送速率高于链路的容量,因此平均端到端吞吐量主要由链路的容量决定。
- 平均端到端吞吐量:( R_c ) bps。
- 在端到端路径中,限制吞吐量的链路称为瓶颈链路。瓶颈链路的容量决定了整个路径的平均吞吐量。

在实际的互联网场景中,端到端路径可能包含多个链路,每个链路的容量可能不同。平均端到端吞吐量由路径中最慢的链路(瓶颈链路)决定。
- 假设端到端路径中有多个链路,每个链路的容量分别为 ( R_1, R_2, \ldots, R_n )。平均端到端吞吐量为:$\text{Average End-to-End Throughput} = \min(R_1, R_2, \ldots, R_n)$

网络层级 (layers in Internet)

