1. 因特网

即世界范围的计算机网络
构成与名词解释

主机/端系统 几十亿台连接因特网的设备 image.png
通信链路(links) 包括fiber, copper(铜线),

radio, satellite等,其传播速度即为带宽(bandwidth),单位为bit/s或bps | | | 分组(packet) | 端系统间发送数据,发送端把数据分段加上首部字节,由此形成的信息包为packet | | | 路由器(routers) | 在不同端系统之间转发分组(forward packets) | | | 因特网服务提供商(ISP) | 自身即为多台分组交换机和多段通信链路组成的网络,ISP端系统提供不同类型的网络接入 | | | 协议(protocol) | 定义了两个或多个通信实体之间交换报文(message)的格式和顺序,以及报文传输和其他事件所采取的动作
- 协议的作用:定义格式,定义顺序,定义行为
| |


2. 网络结构

image.png

2.1 网络边缘

network edge

构成 端系统和应用程序
模式 CS, P2P

2.2 接入网

将端系统物理连接到其edge router的网络

形式 描述
**Dial-up

Modem
拨号调制解调器** | 使用电话线,Modem把数字数据转换为高频音,通过电话线给中心局;模拟信号再通过Modem转回数字数据,问题在于不能”always on”,通话时就无法上网

image.png
信号转换: digital <-> analogue signal
速度: 最高56Kbps
线路: dedicated(家庭直接由电话线连接CO) | | Digital Subscriber Line
数字用户线
| 原理同上,但对不同信号(高速下行/中速上行/双向通话)使用不同频率编码,在接入时使用分配器过滤不同频率的信号,实现always on
image.png
信号转换: digital <-> analogue signal
速度: 上行: 1Mbps 下行: 8Mbps
线路: dedicated | | cable 电缆接入 | 一种住宅接入(residental access)方式,使用有线电视线缆,系统中:
光缆连接电缆头端->地区枢纽->同轴电缆连接到各家,因此称为混合光纤同轴系统(hybrid fiber coax, HFC),是不对等网络(asymmetric)
image.png
信号转换: digital <-> analogue signal
速度: 上行: 2Mbps 下行: 30Mbps
线路: shared(无论光缆和电缆) | | 光纤到户 | 使用光纤连接中心局和家庭,速度快,同时可携带电话,电视信号,分为主/被动两类
- 典型的PON👇
image.png
信号转换: light <-> electrical
速度: 有KMbps的潜力
线路: shared | | ethernet 以太网 | 通常在企业,大学中使用,端系统用双绞铜线连接以太网交换机,再连接更大的因特网

image.png
速度: 10Mbps,100Mbps,1Gbps,10Gbps… | | wireless access
无线接入 | 无线用户从/到一个access point发送/接收packet,接入点即基站,其与企业网相连,再与更大因特网连接
image.png |

2.3 物理媒介

常用概念

bit 在传送者/接收者间传播
bit rate 比特速率,每秒传输的bit数,单位bps
physical link 连接传送者/接收者
guided media 在固体媒介中传播(铜缆,光纤)
unguided media 自由传播(广播)

常见媒介

Coaxial cable 同轴电缆
- 同心铜导体
- 常用于有线电视电缆接入
Optical fiber 光纤
- 可引导光脉冲,一个脉冲为1bit
- 支持比特速率极高,不受电磁干扰,100Km的衰减也很小
radio 广播 常见类型
- terrestrial
  1. microwave 地表微波<br />- LAN (wifi)<br />- wide-area (cellular)<br />- satelite<br /> |

| twisted pair 双绞线 |
- 普遍使用于局域网
- 绞合减少了临近双绞线的电器干扰
- 现代双绞线可达到10Gbps的速率和100m长,是高速LAN的主要解决
|

2.4 网络核心⭐

构成 大量连接的路由器
数据传播方式
- 分组交换
- 电路交换

参考链接:
Difference between Circuit Switching and Packet Switching |

  • 电路交换 | 网络在host间创建专用的端到端连接(e2e),路径中的routers都为连接维持状态,连接期间也预留恒定的传输速率(带宽,bandwidth),如传统电话网络



    特点总结:
    - 建立并维持实际连接
    - 连接专用(dedicated)
    - 预留固定带宽
    - 速率恒定
    | image.png | | —- | —- |

  • 电路交换中的复用(multiplexing)

链路中对于不同连接建立不同线路的方式为以下两种multiplexing

| 频分复用
(Frequency-Division Multiplexing, FDM)
| 时分复用
(Time-Division Division Multiplexing, TDM)
| | —- | —- | | 链路为不同连接分配特定频段,该频段的宽度即为带宽 | 时间划分为固定间隔的帧,帧又分为固定数量的时隙(slot),不同时隙对应不同连接专用 | | image.png | image.png
右图每一帧左旋90度,即为左图,本质TDM也是使用了1/4的带宽 | | ❓例题: 传输一个64000bits的文件,假设使用24slots的TDM电路交换,(带宽)比特速率1.536Mbps,且需500ms创建端到端电路,则发送文件的时间为?
解: 1.536Mbps/24 = 64Kbps (不理解就看FDM与TDM图,实际等效)
64000bits/64Kbps = 10s
10 + 0.5 = 10.5 s | | |

  • 分组交换 | 每个端对端数据流被分为组(packet),不同用户的组共享网络资源,每个组可占有全部带宽;总资源需求可以超过可用量,但在分组队列中会发生阻塞,分组每次只能移动一跳(hop)

    特点总结:
    - 不同端连接的分组共享链路
    - 分组可占有最大带宽
    | image.png | | —- | —- |

  • 分组交换中的复用(multiplexing)

统计复用也为”异步时分复用,STDM”,对比TDM,它能够动态的分配时隙,效率更高(根据需求共享带宽)

  • 存储转发传输(store-and-forward transmission)

交换机(包括router和switch)在开始向链路传输分组的第一个bit前,必须接收整个的分组(缓存)

如图链路,源发送一个大小L的packet,链路传输速率Rbps,则传输到目的地的时延为多少?
image.png
解:由于S&F机制,开始源需要L/R才能将packet完整传输到router,此时router才能开始forward此packet,又需要L/R才能完整到达目的地,共需2L/R的时间
结论:对于N条速率R的链路组成的路径(N-1个router),源发送一个packet抵达目的地的e2e时延为:
Ch1 计算机网络和因特网 - 图14
  • 排队时延(queuing delay)和分组丢失(packet loss)

packet需要传输到某个链路时发现其正传输其他packet,此时就需要进入交换机的输出缓存(output buffer)中等待,因此产生了排队时延,但buffer有限,当到达的packet发现buffer已经被填满,此时packet被丢弃,发生丢包(packet loss)

如图,35个用户共享链路进行分组交换,带宽1Mbps,每个用户活跃时只能使用100kbps带宽,且活跃时间占其传输时间的1/10,求分组交换,电路交换下最多用户数?
image.png
- 电路交换: 最多支持1Mbps/100kbps=10个用户
- 分组交换: image.png
  • 转发表和路由选择

路由器有无数链路可走,为了选择正确的forward方向,源主机向目标发送packet时,在其首部包含了目的地的IP地址,当到达某个router时,router检查packet的目的地址中的一部分,然后向相邻router转发packet;在每个router中有一个转发表,可以将目的IP或其中一部分映射为应该转发的输出链路(见Ch4 网络层)

2.5 网络的网络

为了解决ISP自身互联的问题,如今的网络结构是networks of network:

image.png 在给定区域,有一个较大的ISP(第一层ISP),为小规模ISP或区域ISP提供网络接入,下级ISP类似;当两个ISP对等(peer)时,互相之间不结算(收费);且任何非第一层ISP都可以多宿
- 多宿(multi-home): 选择多个ISP连接
- IXP:Internet Exchange Point: 第三方创建的多个对等ISP的汇合点

关于内容提供商网络:以Google为例
image.png


3. 分组交换深入

3.1 时延(Delay)


image.png
时延分为多种类型

处理 pkt从到达节点到进入输出队列的间隔,包括检查packet首部决定去向,检查bit级别错误
排队 当link在传输别的packet,则当前packet等待
传输(transmission) 即L/R,将完整packet传输(推出)的时间
传播(propagation) 受限于Link的物理媒介传播速度,d为router间距,s为物理速率,则时延为d/s
区别传输&传播时延
- 传输时延:router推出完整packet的时间,与距离无关
- 传播时延:packet在link上传输的时间,与距离有关

e2e时延
之前都在讨论节点间的时延,但两台设备传输数据时的真正时延为e2e时延
假设两台端系统间的Link要通过N-1台router,即N次转发,且无阻塞(无排队时延),设每台router和源host的传输速率都为R,则e2e时延为(对比S&F下的e2e时延):
image.png
image.png


3.2 丢包(Loss)

由排队时延(queuing delay)和分组丢失(packet loss)知道丢包发生在排队时延过长的时候,这取决于”流量到达队列的速率,link传输速率,流量本身性质(周期性或突发)”,规定:

  • a表示packet到达队列的平均速率(pkt/s)
  • La就是就是link每秒要承受的比特数
  • La/R可以描述link的流量压力,称为流量强度(traffic intensity)

小结:

运算 解释 常用单位
a packet达到队列的平均速率 pkt/s
R link的推出bit的速率 bps
L 视所有packet大小都是L比特 b
La 每秒到达Link的比特数 bps
La/R 流量强度,link的压力

image.png


3.3 吞吐量(Throughout)

吞吐量用于描述传输速率,有两种情况的定义:

  • 瞬时(instaneous):主机A到B在瞬间传输的bps
  • 平均:比如下载Fbits的文件用去Ts,则平均吞吐量为F/Tbps


  • 瓶颈链路(bottleneck link)

image.png

  • Rs<Rc时,packet以Rs速度被推入router,只能以最快Rs转发给目的地,不可能达到Rc,但此时可以顺畅转发
  • Rs>Rc时,packet以Rs速度推入router,最快也无法突破Rc这个限制,且会发生阻塞,堆积在router的packet会增长到被丢弃,上述即为bottleneck link,其吞吐量为:min{Rc, Rs}

通常核心网link的传输速率R都非常快,但根据瓶颈链路可知,吞吐量被接入网的传输速率Rc所限制
上述场景不代表网络核心不会限制吞吐量,👇下图描述了下载场景,此时吞吐量为min{Rc,Rs,R/N},即便R本身很大,当用户数目变多后R/N太小,此时网络核心也会成为限制吞吐量的因素
image.png


4. 协议层次及其服务模型

网络以分层方式组织协议和实现协议的软硬件,即协议层次

  • 层间关系

某层向其上一层提供服务,即服务模型(service model);
而每层通过在该层中执行动作和直接使用下层的服务来提供服务;

  • 协议层的实现

一个协议层可用软/硬/结合实现:

  • 如HTTP这类应用层协议总在端系统中软件实现;运输层类似;
  • 物理层与链路层中协议通常在网卡中实现;
  • 网络层作为软硬件混合体通常结合实现;

第n层协议分布在网络的不同组件中,其不同部分通常在网络组件各部分中

4.1 协议栈

所有各层协议合称协议栈,因特网协议栈有5层,ISO/OSI模型有7层

  • PDU(Protocol Data Unit):协议数据单元,是指对等层次之间传递的数据单位 |








    | 应用层 | 支持网络程序,是网络程序及其应用层协议存留处
    - PDU: message
    - FTP, SMTP, HTTP
    | image.png

    image.png | | :—-: | :—-: | —- | —- | | | 运输层 | 在程序端点间传输应用层message
    - PDU: segment
    - TCP, UDP
    | | | | 网络层 | 将称为数据报(datagram)的网络层分组从一台主机移动到另一台
    - PDU: datagram
    - IP
    | | | | 链路层 | 在相邻网络节点间转递数据,其上的分组为帧(frame)
    - PDU: frame
    - Ethernet, 802.111, PPP
    | | | | 物理层 | 负责将frame中的bit运输到相邻网络元素
    - PDU: bits
    | | | I
    S
    O | 表示层 | 使通信的app可解释交换数据的含义 | | | | 会话层 | 提供数据交换和定界与同步功能,包括建立check point和恢复 | |

4.2 封装

image.png

  • 封装(Encapsulation)

源主机app发出一个message,其被传输给运输层,运输层在message首部加入附加信息Ht(通常这个Ht会被接收端的运输层使用),称运输层封装了应用层message,以下每层类似,每层封装后的报文结果称为每层协议栈的PDU.
封装即是指下层对上层数据的处理
image.png
每一层,一个packet通常由两部分:首部字段+有效载荷字段(payload field),后者通常来自上一层的packet

  • 拆封

如图,源主机首先传输数据给switch,后者只实现了两层:先通过physical接收bits,再通过link接受为完整的frame,再由link重设首部,确定下一个相邻的网络元素;下一个router中发生了类似的过程,因此进出router的packet,其hl,hn肯定不同


MindMap

SCU林峰老师(my计网老师)制作
image.jpeg