因特网

因特网(Internet)一个由相互连接的计算机网络构成的全球系统,将数以亿计的计算设备连接在一起。

  • 主机(host),或端系统(end system)
  • 路由器(router)
  • 交换机(switch)
  • 通信链路(communication link)

主机通过网络供应商(Internet Service Provider, ISP)访问因特网。

主机,路由器与交换机运行各种协议(protocols)进行信息交换。

主机运行各种各样的网络应用(network applications)。

网络边缘

复杂的网络边缘(Network Edge)是主机连入网络的部分。

主机根据其功能性分为:

  • 服务器(提供服务或数据):始终在线,固定 IP,「接受」连接
  • 用户(向服务器请求服务或数据):时开时关,可能动态 IP,「发起」连接

主机间的连接:

  • 用户-服务器模型(client-server model)
  • 无服务器/点对点模型(peer-to-peer model, P2P)

主机与边缘设备(路由器,交换机)的连接:接入网络(access network)

  • 住宅入网:数字用户线路 DSL,有线网(cable network),光纤网(fibre network)
  • 机构入网:以太网(Ethernet)
  • 移动入网:WiFi,5G/6G(均为无线入网,通过基站 base station 连接主机与边缘路由器)

网络核心

网络核心(Network Core)由互联的路由器组成。

数据在路由器间转发时有两种模式。

包交换

包交换(packet switching)是按需(on-demand)的交换。

包交换是储存和转发(store-and-forward)的:路由器必须先完整的接收包后再开始转发。

包交换对资源的按需共享实质上是一种统计复用(statistical multiplexing)

电路交换

电路交换(circuit switching)先在通讯双方间建立连接通道再开始通讯活动,该通道存在的过程中会始终占用资源。

资源:

  • 如果是分频复用(frequency division multiplexing, FDM),占用带宽(bandwidth)
  • 如果是分时复用(time division multiplexing, TDM),占用时隙(time frame)
  • 路由器与交换机的缓冲区等

「带宽」$=$ 传输率(transmission rate)$R$,单位是比特每秒。

时延、丢包与吞吐量

包交换 vs 电路交换:

  • 优势:不需要 call setup(提前建立通道),允许更多用户共用网络
  • 劣势:拥塞(congestion),端到端时延,带宽,甚至包是否被送达都不作保证

包交换中节点时延(nodal delay)$d_{nodal}$ 的四个来源:

  • 处理时延(processing delay)$d_{proc}$:一些预处理操作(检查 header,位错误等)的时延
  • 排队时延(queuing delay)$d_{queue}$
  • 传输时延(transmission delay)$d_{trans}$:节点把包「推」出去所花的时间,$L/R$
  • 传播时延(propagation delay)$d_{prop}$:包在节点间传播所花的时间 $d/s$,$d$ 为距离,$s$ 为链路传播率

令 $a$ 为平均每秒到达队列的包的数目,交通强度(traffic intensity)$=a\times d_{trans}$,表示平均每秒到达队列的所有比特被推出所花的时间。在设计时需保证交通强度 $\leq 1$,否则一定会频繁丢包(package loss)

吞吐量(throughput):

  • 即时吞吐量(instantaneous throughput):经常显示给我们看
  • 平均吞吐量(average throughput)

协议层

网络分层架构(layered architecture),每一层提供特定的服务(service)。

因特网协议栈(protocol stack):自顶向下

  • 应用层(application layer):提供网络应用服务,协议有 HTTP,SMTP,DNS 等
  • 传输层(transport layer):提供进程间的数据转移服务,协议有 TCP,UDP 等
  • 网络层(network layer):提供主机间的数据路由服务,协议有 IP,路由协议等
  • 链路层(link layer):提供相邻网络设备间的数据转移服务,协议有以太网,WiFi 等
  • 物理层(physical layer):提供在传输介质上的比特转移服务

数据封装(encapsulation)与解封装(decapsulation)

  • 即装入头(header)和拆出载荷(payload)
  • 应用层消息(message)=> 传输层段(segment)=> 网络层数据单元(datagram)=> 链路层帧(frame)=> 物理层比特
主机常支持 5 层协议,链路层交换机 2 层,路由器 3 层
主机常支持 5 层协议,链路层交换机 2 层,路由器 3 层