计算机网络和因特网

互联网基本概念与问题

什么是网络和互联网

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

不同类型的网络:

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

本课程主要聚焦于互联网

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

基本问题:

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

互联网的组成部分

互联网的组件(component)视图

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

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

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

网络协议

协议

协议(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 路由器
    • 部署:有线电视公司

物理介质

物理介质

物理介质是信号传播的载体,分为有导向介质(guided media)和无导向介质(unguided media)。

  • 有导向介质:信号在固体介质中传播,如铜线、光纤、同轴电缆。
  • 无导向介质:信号自由传播,如无线电波。

常见物理介质:

  • 双绞线(Twisted Pair, TP)
    • 由两根绝缘铜线组成。
    • Category 5:支持 100 Mbps 或 1 Gbps 的以太网传输。
    • Category 6:支持 10 Gbps 的高速传输。
  • 同轴电缆(Coaxial Cable)
    • 包含两层同心铜导体,支持双向通信。
    • 特点:宽带传输(multiple channels on cable)。
  • 光纤(Fiber Optic Cable)
    • 利用玻璃纤维传输光脉冲,每个脉冲代表一个比特。
    • 优点:
      • 高速传输(如 10~100 Gbps)。
      • 低误码率(immune to electromagnetic noise)。
      • 中继器间距远。
  • 无线电波(Radio)
    • 信号通过电磁频谱传播,无需物理连接。
    • 特点:双向通信,但受环境影响(如反射、障碍物阻挡、干扰)。
    • 常见类型:
      • 地面微波(terrestrial microwave):速率可达 45 Mbps。
      • 局域网(LAN,如 WiFi):速率 11 Mbps 或 54 Mbps。
      • 广域网(如蜂窝网络):3G 蜂窝网络约 1 Mbps。
      • 卫星通信:延迟约 270 毫秒。

网络核心

网络核心

网络核心是由互联路由器组成的网格,负责数据在网络中的传输。

数据传输方式

电路交换(Circuit Switching)

  • 原理:为每次通信建立专用电路(dedicated circuit),例如传统电话网络。
  • 过程:
    1. 源节点发送预留请求到目标节点。
    2. 交换机完成电路建立(admission control)。
    3. 数据传输。
    4. 发送拆除请求释放电路。
  • 优点:性能可预测,切换简单快速。
  • 缺点:资源独占导致效率低下(尤其在突发流量时),电路建立增加延迟。

分组交换(Packet Switching)

  • 原理:主机将应用层消息拆分为分组(packet),逐跳转发至目标。
  • 特点:
    • 每个分组包含目标地址。
    • 使用缓冲区应对瞬时过载。
  • 优点:资源利用率高,实现简单,鲁棒性强(可绕过故障)。
  • 缺点:性能不可预测,需要缓冲管理与拥塞控制。

网络性能

网络性能

网络性能是衡量数据传输效率的关键指标,主要包括延迟(delay)、吞吐量(throughput)和丢包率(loss)。

延迟(Delay)

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

  • 传输时延(Transmission Delay)
    • 公式:传输时延=分组大小链路传输速率\text{传输时延} = \dfrac{\text{分组大小}}{\text{链路传输速率}}
    • 示例:1000 bits/100 Mbps=105 秒\pu{1000 bits} / \pu{100 Mbps} = \pu{10^{-5} \text{秒}}
  • 传播时延(Propagation Delay)
    • 公式:传播时延=链路长度传播速度\text{传播时延} = \dfrac{\text{链路长度}}{\text{传播速度}}
    • 示例:30 km/3×108 m/s=104 秒\pu{30 km} / \pu{3 x 10^8 m/s} = \pu{10^{-4} \text{秒}}
  • 排队时延(Queuing Delay)
    • 受流量混合和交换机内部特性影响,通常用统计方法描述(如平均值、方差)。
    • 瞬时过载是常见现象,可能导致队列增长。
  • 处理时延(Processing Delay)
    • 交换机处理分组所需时间,通常可忽略。

未过载时的排队时延示意图:

过载时的排队时延示意图:

过载丢包示意图:

端对端延迟:

吞吐量(Throughput)

传输速率为 Rbit/sec\pu{\mathit{R} bit/sec},文件大小为 Fbit\pu{\mathit{F} bit},分组大小为 Lbit\pu{\mathit{L} bit},则传输时间 T=F/R+传播时延T = F / R + \text{传播时延},平均吞吐量 =F/TR = F / T \approx R

端对端吞吐量:

协议分层与服务模型

协议分层

协议分层是将网络功能划分为多个层次,每层实现特定服务并依赖下层提供的服务。

OSI 模型

OSI(Open Systems Interconnection) 模型是国际标准化组织(ISO)定义的网络协议体系结构,用于指导网络协议设计。

OSI 模型分为七层,从下到上依次为:

  • 物理层(Physical Layer):定义物理链路的电气、机械特性(如电缆、插头)。
  • 数据链路层(Data Link Layer):将比特分组为帧(frame),提供错误检测与重传。
  • 网络层(Network Layer):负责跨多链路的数据包传输,包括路由(routing)和转发(forwarding)。
  • 传输层(Transport Layer):提供端到端可靠数据传输(如 TCP、UDP)。
  • 会话层(Session Layer):控制应用程序间的对话。
  • 表示层(Presentation Layer):处理数据格式与编码。
  • 应用层(Application Layer):为应用程序提供网络接口(如 HTTP、FTP)。

TCP/IP 模型

TCP/IP 模型是互联网广泛使用的协议架构,分为四层:

  • 应用层(Application Layer):支持网络应用(如 HTTP、SMTP)。
  • 传输层(Transport Layer):提供进程间数据传输(如 TCP、UDP)。
  • 网络层(Internet Layer):负责跨网络的数据报路由(如 IP)。
  • 链路层(Link Layer):实现相邻节点间的数据传输(如 Ethernet)。

分层模型的优点:

  • 降低复杂性
  • 提高灵活性

缺点:

  • 增加开销
  • 往往要求跨层协作