0%

CS168-Intro

Computer Networks

互联网设计原理与链路基础(Internet Design Principles & Links)

1. Internet Architecture(互联网体系结构)

互联网设计目标:

  • 支持大规模网络连接
  • 保持可扩展性
  • 支持不同网络互联
  • 在故障情况下保持通信能力

互联网核心设计原则:

  1. 去中心化控制(Decentralized Control)
  2. 尽力而为服务(Best-Effort Service)
  3. 绕过故障(Route Around Trouble)
  4. 简单网络核心(Dumb Infrastructure)
  5. 端到端原则(End-to-End Principle)
  6. 分层(Layering)
  7. 窄腰模型(Narrow Waist)

2. Decentralized Control(去中心化控制)

互联网没有中央控制中心。

每个网络设备:

  • 独立运行
  • 根据自身信息进行决策
  • 不依赖单个控制节点

优点:

  • 可扩展
  • 高可靠
  • 支持不同组织加入网络

SDN(Software-Defined Networking)

将网络控制逻辑集中到软件控制器。

优点:

  • 方便管理
  • 可以进行全局优化

缺点:

  • 控制更加集中

DSDN(Distributed SDN)

重新引入分布式思想,在集中控制和去中心化之间平衡。


3. Best-Effort Service(尽力而为服务)

IP协议采用尽力而为模型。

IP负责:

  • 尽力发送数据包
  • 寻找路径

但不保证:

内容 是否保证


可靠到达 否
数据顺序 否
延迟 否
带宽 否

可靠性通常由TCP或应用层实现。


4. Route Around Trouble(绕过故障)

互联网需要具有容错能力。

当:

  • 路由器失效
  • 链路断开

网络应寻找其他路径。


5. Dumb Infrastructure(简单网络核心)

路由器主要负责:

Forward Packets(转发数据包)

核心思想:

智能放在端系统,网络核心保持简单。


6. Layering(分层)

互联网采用分层结构:

Application Layer L7
        ↑
Transport Layer L4
        ↑
Network Layer L3
        ↑
Link Layer L2
        ↑
Physical Layer L1

优势:

  • 各层可以独立创新
  • 降低系统复杂度
  • 不同领域可以分别开发

7. Narrow Waist(窄腰模型)

互联网成功的重要原因:

Layer 3 使用统一协议 IP

不同层存在多个协议:

层 协议


应用层 HTTP、SMTP
传输层 TCP、UDP
网络层 IP
链路层 Ethernet、WiFi

IP作为统一接口连接不同网络。


8. Demultiplexing(分用)

数据包到达主机后,需要确定交给哪个程序。

网络层到传输层

IP头部包含下一层协议字段:

例如:

  • IP → TCP
  • IP → UDP

传输层到应用层

通过端口号区分应用:

应用 端口


HTTP 80
HTTPS 443
SSH 22

端口分为:

  • Logical Port:软件端口
  • Physical Port:硬件接口

9. End-to-End Principle(端到端原则)

核心思想:

某些功能必须由通信双方实现,而不是网络实现。

例如可靠传输。

网络实现可靠性的问题:

  • 增加网络复杂度
  • 如果网络代码错误,终端无法发现

端系统实现可靠性的优势:

  • 简单
  • 正确性由通信双方保证

注意:

端到端原则不是绝对规则。

网络可以提供优化功能,但最终正确性仍需终端保证。


10. Links(链路)

链路连接两个网络设备。

三个重要参数:

  1. Bandwidth
  2. Propagation Delay
  3. Bandwidth-Delay Product

Bandwidth(带宽)

单位时间发送的数据量。

单位:

bps(bits per second)

表示链路宽度。


Propagation Delay(传播时延)

一个bit从链路一端传播到另一端所需时间。

受:

  • 距离
  • 信号速度

影响。

表示链路长度。


Bandwidth-Delay Product(带宽时延积)

公式:

BDP = Bandwidth × Delay

表示链路中能够同时存在的数据量。


11. Pipe Diagram(管道模型)

链路可以看作管道:

  • 高度 = Bandwidth
  • 宽度 = Propagation Delay
  • 面积 = Bandwidth-Delay Product

数据包宽度表示:

Transmission Delay(发送时延)


12. Statistical Multiplexing(统计复用)

网络资源需要被多个用户共享。

Static Allocation(静态分配)

固定分配资源。

缺点:

  • 浪费资源

Statistical Multiplexing(统计复用)

根据实际需求动态分配资源。

优势:

提高资源利用率。

原因:

Aggregate Peak Demand
<
Sum of Individual Peak Demands

13. Circuit Switching vs Packet Switching

Circuit Switching(电路交换)

流程:

建立连接
↓
预留资源
↓
通信
↓
释放资源

优点:

  • 有资源保证
  • 延迟稳定

缺点:

  • 建立连接成本高
  • 资源可能浪费
  • 故障恢复困难

Packet Switching(分组交换)

互联网采用方式。

特点:

每个数据包独立处理。

优点:

  • 资源利用率高
  • 支持突发流量
  • 更容易绕过故障
  • 实现简单

缺点:

  • 可能丢包
  • 延迟不稳定

14. 为什么互联网选择Packet Switching?

互联网流量主要具有:

Bursty Traffic(突发性)

例如:

网页访问:

  • 打开网页时大量数据
  • 之后几乎没有数据

而电话:

  • 持续稳定

因此:

  • 电话网络适合电路交换
  • 互联网适合分组交换