计算机网络和因特网

互联网基本概念与问题

什么是网络和互联网

网络是一种通过「链路」将「节点」连接起来,以在节点之间传输「信息」的系统。虽然定义较为宽泛,但其核心在于 节点(node)和 链路(link)的交互。

不同类型的网络:

  • 互联网(Internet)
  • 电话网络
  • 无线网络
  • 光纤网络
  • 数据中心网络
  • 交通网络
  • 社交网络

本课程主要聚焦于互联网(Internet)。

互联网是全球互联的大型主机、个人计算机和无线网络系统,使用 TCP/IP 协议族 来连接数十亿设备。它由数百万个私有、公共、学术、企业和政府网络组成,范围从局域到全球,通过多种电子、无线和光纤技术连接。

基本问题:

  1. 互联网由什么组成?
  2. 如何接入互联网?
  3. 数据如何在网络中传输?

互联网的组成部分

互联网的组件(component)视图

  • 计算设备(computing devices):数百万台连接的计算设备(主机 Hosts = 终端系统 End systems),运行网络应用程序。
  • 通信链路(communication links):光纤、铜线、无线电、卫星等物理媒介,构建物理网络。
  • 路由器(routers):在物理网络之间转发数据包(chunks of data)。

互联网的服务(service)视图:

  • 互联网作为通信基础设施,支持分布式应用,例如:
    • Web、VoIP、电子邮件、在线游戏、电子商务、文件共享等。
  • 提供的通信服务包括:
    • 可靠的数据传输(从源到目的地)。
    • 「尽力而为」(不可靠)的数据传输。
    • 保证延迟和吞吐量。

网络协议

协议(Protocol)

协议(Protocol)是控制消息发送和接收的规则集合。

例如:

  • HTTP(HyperText Transfer Protocol):Web 页面传输协议。
  • Skype
  • TCP(Transmission Control Protocol):提供可靠的数据传输。
  • IP(Internet Protocol):定义了数据包的格式和路由规则。
  • PPP(Point-to-Point Protocol):在两个节点之间建立连接。
  • 以太网

互联网标准由 IETF(Internet Engineering Task Force)制定,并通过 RFC(Request for Comments)发布。

协议定义了网络实体之间发送和接收的消息的格式和顺序,以及在消息传输和接收时采取的操作。

接入互联网

接入网络的方式:

  • 网络边缘(Network Edge)
    • 应用和主机
  • 接入网络(Access Network)
    • 物理媒体
    • 有线和无线通信链路
  • 网络核心(Network Core)
    • 互联的路由器网络
    • 网络的网络

网络边缘

  • 终端系统(End systems, hosts):运行应用程序(如 Web 浏览器、电子邮件客户端)。
  • 客户端/服务器模型
    • 客户端请求并接收来自始终在线的服务器的服务。
  • 对等模型(Peer-to-Peer, P2P):
    • 几乎不使用专用服务器(如 Skype、BitTorrent)。

接入网络

接入网络的方式包括:

  • 家庭接入:DSL(Digital Subscriber Line)、电缆调制解调器、光纤等。
  • 机构接入:学校或公司局域网(LAN, Local Area Network)。
  • 移动接入:蜂窝网络(3G、4G、5G)。

家庭接入网络

  • 拨号(Dial-up modem):通过调制解调器
    • 最高 56 Kbps 直接接入路由器
  • DSL(Digital Subscriber Line):数字用户线路
    • 部署:电话公司
    • 上行高达 1 Mbps,下行 8 Mbps
    • 到电话总局的专用物理线路
  • HFC(Hybrid Fiber Coax):混合光纤同轴电缆
    • 非对称:下行高达 30 Mbps,上行 2 Mbps
    • 家庭共享接入 ISP 路由器
    • 部署:有线电视公司

物理介质

导向介质

信号在固体介质中传播,例如:

  • 铜线(双绞线、同轴电缆)
  • 光纤

非导向介质

信号自由传播,例如无线电波。

光纤的优势

  • 高速传输:点对点传输速率可达数十至数百 Gbps。
  • 低误码率:中继器间距远,抗电磁干扰。

网络核心

数据传输方式

  1. 电路交换(Circuit Switching)

    • 每次通话建立专用电路(如传统电话网络)。
    • 优点:性能可预测,切换简单快速。
    • 缺点:资源利用率低,尤其在突发流量下效率低下。
  2. 分组交换(Packet Switching)

    • 主机将应用层消息分割为数据包,独立传输。
    • 优点:高效利用资源,实现灵活路由。
    • 缺点:性能不可预测,需管理缓冲区和拥塞。

示例:统计复用

假设:

  • N N 用户共享 10 Mbps 链路。
  • 每个用户需要 1 Mbps。
  • 每个用户活跃 10%,空闲 90%。

电路交换:最多支持 10 个用户。
统计复用:假设 N=35 N = 35 ,则用户带宽超过 1 Mbps 的概率为 99.96%。


网络性能

延迟

延迟由以下四个部分组成:

  1. 传输延迟(Transmission Delay):将所有比特推入链路所需时间。

    传输延迟=数据包大小链路传输速率\text{传输延迟} = \frac{\text{数据包大小}}{\text{链路传输速率}}

  2. 传播延迟(Propagation Delay):单个比特从链路一端传播到另一端的时间。

    传播延迟=链路长度传播速度\text{传播延迟} = \frac{\text{链路长度}}{\text{传播速度}}

  3. 排队延迟(Queuing Delay):数据包在缓冲区等待处理的时间。
  4. 处理延迟(Processing Delay):交换机处理数据包的时间。

吞吐量

吞吐量是目标接收到的数据速率:

平均吞吐量=min(链路速率,瓶颈链路速率)\text{平均吞吐量} = \min(\text{链路速率}, \text{瓶颈链路速率})


协议分层与服务模型

分层思想

分层通过内部操作和服务依赖降低复杂性,同时提高灵活性。常见分层模型包括:

  • OSI 模型:七层结构。
  • TCP/IP 模型:四层结构(应用层、传输层、网络层、链路层)。

TCP/IP 模型各层功能

  1. 应用层:支持网络应用(如 HTTP、SMTP、FTP)。
  2. 传输层:提供进程间数据传输(如 TCP、UDP)。
  3. 网络层:负责跨网络的数据包路由(如 IP、路由协议)。
  4. 链路层:在相邻节点间传输数据帧(如 PPP、以太网)。

互联网历史

早期发展(1960s-1970s)

  • 1961:Kleinrock 提出分组交换理论。
  • 1969:ARPAnet 第一个节点投入运行。
  • 1973:以太网诞生。
  • 1974:Cerf 和 Kahn 提出互联网架构设计原则。

商业化与普及(1980s-1990s)

  • 1983:TCP/IP 协议部署。
  • 1991:万维网(WWW)出现。
  • 1995:NSFnet 解除商业使用限制。

现代互联网(2000s 至今)

  • P2P 应用:BitTorrent、Skype。
  • 社交媒体:Facebook、Twitter、微信。
  • 新兴技术:区块链、AI 网络、5G。

互联网的核心特性

互联网 是一个开放、去中心化的网络系统,其核心设计原则包括:

  • 最小化依赖
  • 自治性
  • 尽力而为的服务模型
  • 无状态路由器
  • 分布式控制