因特网
组成因特网的软硬件、网络边缘、网络核心、分组交换、时延和协议分层
什么是因特网
- 根据构成因特网的基本硬件和软件组件描述
- 根据为分布式应用提供服务的互联网基础设施描述
- 因特网是一个世界范围的计算机网络
具体构成
端系统(end systems)/主机(host):运行网络应用程序服务提供角度:
- 网络提供者与接收者
- 计算设备类型:嵌入式设备、计算机···
- 端系统通过通信链路和分组交换机连接到一起
通信链路(communication link)
- 物理媒体构成
- 同轴电缆 (Coaxial cable)
- 双绞铜线 (末端常连接 ([RJ-45](https://en.wikipedia.org/wiki/Registered_jack#RJ45S)) 等接口)
- 光纤:用于路由与路由之间的传输,抗干扰性好
- 单模光纤:发生漫反射概率低,性能更高传输速率快
- 多模光纤:价格低性价比高
- 无线电频谱
2. 传输速率(transmission rate)
- 单位:bit/s or bps
3. 信号传输方式 (FROM: gpt-4-1106-preview):
1. 单工 (Simplex): 单工通信是一种单向通信方式,数据只能在一个方向上流动,无法实现双向交流。接收方不具备向发送方回传信息的能力。比如,电视和无线电广播就是单工通信的例子。观众只能接收信息,不能通过同样的频道向电视台或广播站发送信息
2. 半双工 (Half-Duplex): 半双工通信允许数据在两个方向上传输,但是在同一时刻只能有一个方向上的数据传输。换言之,通信设备在一段时间内只发送数据或只接收数据。这就像对讲机的工作方式,两个人不能同时说话,一个人说话时另一个人必须等待并听
3. 全双工 (Full-Duplex): 全双工通信允许数据同时在两个方向上流动。在全双工模式下,发送和接收可以同时进行,比如,电话就是全双工通信的例子,双方可以同时进行对话,彼此的话语可以实时交叠并被听到
4. 信道 (FROM: gpt-4-1106-preview):信息从一个地点传输到另一个地点的路径,在不同的背景下,信道的定义略有不同
1. 无线通信信道:指电磁波在空气中的传播路径。在这个路径上可能存在各种衰减、散射、反射、折射和衍射现象,这些现象影响着信号的传输质量
2. 有线通信信道:指电信号在导线(如同轴电缆、双绞线等)或光信号在光纤中的传输路径
3. 数字通信信道:在数字通讯中,信道指的是传输比特序列的媒介,它可以是物理的,也可以是通过编码实现的逻辑信道
分组交换机(packet switch)
- ⚠️如果对书中的分组 (packet),报文(message)感到困惑,请看这里和配图
- 分组(packet):发送端系统将数据分段,并为每段加上首部字节,由此形成的信息包
- 组成部分:
- 路由器:路由器通常用于网络核心 中
- 链路层交换机:通常用于接入网中
路径(route/path)
- 从发送端系统到接收端系统,一个分组经过的一系列通信链路和分组交换机
因特网服务提供商(Internet Service Provider)
- 端系统通过ISP接入互联网,ISP自身是一个由多台分组交换机和多段通信链路组成的网络,运行IP协议,为端系统提供了不同类型的网络接入,较低层ISP通过较高层ISP互联
- 较高层ISP是通过高速光纤链路互联的高速路由器组成
- 互联的ISP
- 协议:控制因特网中信息的接收和发送,互联网主要协议统称为TCP/IP
- TCP(Transmission Control Protocol):传输控制协议
- IP(Internet Protocol):网际协议
- 因特网标准:
- 研发者:互联网工程任务组(Internet Engineering Task Force, IETF)
- IETF标准文档:请求评论(Request For Comment, RFC),定义了TCP、IP、HTTP、SMTP等协议
- 协议:控制因特网中信息的接收和发送,互联网主要协议统称为TCP/IP
服务
应用程序
- 分布式应用程序(distributed application):涉及多个相互交换数据的端系统
- 套接字接口 (socket interface) :规定了运行在一个端系统上的应用程序请求互联网基础设施向运行在另一个端系统上的特定目的地程序交付数据的方式,是一套发送程序必须遵循的规则集合
协议(Protocol)
- 协议定义了在两个或多个通信实体之间交换报文 (messages) 的格式和顺序,以及报文发送和/或接收一条报文或其他事件所采取的动作 (event)
- Windows CMD 中的 ipconfig 命令显示了诸多协议和协议中定义的地址
以太网适配器 以太网: 连接特定的 DNS 后缀 . . . . . . . : localdomain 描述. . . . . . . . . . . . . . . : Parallels VirtIO Ethernet Adapter 物理地址. . . . . . . . . . . . . : 00-1C-42-93-74-7A DHCP 已启用 . . . . . . . . . . . : 是 自动配置已启用. . . . . . . . . . : 是 IPv6 地址 . . . . . . . . . . . . : fdb2:2c26:f4e4:0:ddc:3de6:d7e:a5d1(首选) 临时 IPv6 地址. . . . . . . . . . : fdb2:2c26:f4e4:0:c432:6bdb:fd11:a161(首选) 本地链接 IPv6 地址. . . . . . . . : fe80::ddc:3de6:d7e:a5d1%12(首选) IPv4 地址 . . . . . . . . . . . . : 10.211.55.4(首选) 子网掩码 . . . . . . . . . . . . : 255.255.255.0 获得租约的时间 . . . . . . . . . : Wednesday, September 14, 2022 9:07:05 AM 租约过期的时间 . . . . . . . . . : Wednesday, September 14, 2022 9:48:34 AM 默认网关. . . . . . . . . . . . . : 10.211.55.1 DHCP 服务器 . . . . . . . . . . . : 10.211.55.1 DHCPv6 IAID . . . . . . . . . . . : 100670530 DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-2A-AB-CE-AD-00-1C-42-93-74-7A DNS 服务器 . . . . . . . . . . . : 10.211.55.1 TCPIP 上的 NetBIOS . . . . . . . : 已启用
网络边缘
端系统
- 端系统也称主机
- 主机(host):客户(client)和服务器(server)
接入网
- 将端系统连接到边缘路由器(edge router)的网络
- 边缘路由器:端系统到任何其他远程端系统的路径上的第一台路由器
接入网环境
- 家庭接入
- 数字用户线接入 (Digital Subscriber Line):利用电话公司现有的本地电话基础设施
- 本地电话公司为 ISP,DSL 调制解调器使用现有的电话线与位于电话公司的本地中心局 (CO)中的数字用户线接入复用器 (DSLAM: Digital Subscriber Line Access Multiplexer)交换数据
- 使用频分复用技术:现有电话0-4kHz 为电话,4-50kHz 为上行数据,50kHz-1MHz 为下行数据,上行速率与下行速率不对称
- 电缆因特网接入 (cable Internet access):利用有线电视公司现有的有线电视基础设施
-
采用了光纤和同轴电缆,通常被称为 HFC (Hybrid Fiber Coax)混合光纤同轴系统
-
光缆将电缆头端连接到地区枢纽,再使用传统的同轴电缆到达家庭
-
家庭端需要电缆调制解调器 (cable modem),将 HFC 网络分为上下两个信道
-
电缆头端有电缆调制解调器端接系统 (Cable Modem Termination System, CMTS)将模拟信号转换为数字信号
-
重要特征:共享广播媒体,需要分布式多路访问协议来协调传输和避免碰撞
-
- 光纤到户 (Fiber to the Home, FTTH)
- 直接光纤
- 竞争性的光纤分布体系结构
- 主动光纤网络 (Active Optical Network):本质上是交换因特网
- 被动光纤网络 (Passive Optical Network)
- 光纤网络端接器 (Optical Network Terminator, ONT)
- 光纤线路端接器 (Optical Line Terminator, OLT)
- 光纤分配器 (splitter):相当于电缆头端
- 卫星接入
- 拨号接入
- 数字用户线接入 (Digital Subscriber Line):利用电话公司现有的本地电话基础设施
- 企业接入
- 使用局域网(LAN)将端系统连接到边缘路由器
- 有线LAN:以太网用户使用双绞铜线与以太网交换机相连
- 无线LAN:无线用户从/到一个接入点(Access Point)发送/接收分组,接入点与企业网连接
- WIFI:基于IEEE802.11技术的无线LAN接入
- 现在许多家庭将宽带住宅接入(DSL或电缆调制解调器接入)和廉价无线局域网技术相结合,产生家庭网络
- 广域无线接入
- 3G:第三代无线技术
- LTE(Long-Term Evolution)
物理媒体
- 物理媒体:用于传播电磁波和光脉冲的媒体
- 导引性媒体(guided media):电波沿着固定媒体前行
- 双绞铜线:最便宜且最常用的导引型传输媒体
- 无屏蔽双绞线(Unshielded Twisted Pair, UTP)常用于LAN中
- 双绞线已成为高速LAN联网的主导性解决方案
- 同轴电缆:两个同心的铜导体,能达到较高的数据传输速率
- 能被用作导引性共享媒体
- 光纤:信号衰减极低,难窃听,为长途导引性传输媒体
- 广泛用于因特网主干
- 光载波标准(Optical Carrier)链路速率:51.8Mbps~39.8Gbps
- 双绞铜线:最便宜且最常用的导引型传输媒体
- 非导引性媒体(unguided media):电波在空气和外层空气中传播
- 陆地无线电信道
- 短距离
- 局域:无线LAN技术
- 广域:蜂窝接入技术
- 卫星无线信道
- 同步卫星(geostationary satellite):信号传播时延较客、可观
- 近地轨道卫星(Low-Earth Orbiting)
- 陆地无线电信道
网络核心
由互联因特网端系统的分组交换机和链路构成的网状网络
分组交换(packet switching)
- 在网络应用中端系统彼此交换报文(message)
- 分组(packet):源将长报文分成的较小数据块
- 分组以等于该链路最大传输速率的传输速度通过通信链路
- 细节
- 存储转发传输(store-and-forward transmission):
- 交换机向输出链路输出第一个比特之前,必须接收到整个分组
- 该传输中路由器的任务:把一个入分组交换到一个出链路
- 存储转发传输通过 N 条速率为 R 的链路组成的路径,端到端时延是
- 排队时延和分组丢失
- 输出缓存/队列(output buffer/queue):用于存储路由器即将发送的分组
- 排队时延(queuing delay):链路繁忙时分组需要在输出缓存中等待
- 分组丢包(packet loss):分组到达分组交换机后发现输出缓存已满,分组被丢弃
- 转发表和路由选择协议
- 分组首部包含了目的地的IP地址
- 每个路由器具有一个转发表(forwarding table):将目的地址映射为输出链路
- 互联网具有一些特殊的路由选择协议用于自动地设置转发表
- 存储转发传输(store-and-forward transmission):
电路交换(circuit switching)
- 在端系统间通信会话期间,预留了端系统沿路径通信所需要的资源(缓存,传输速率)
- 发送方和接收方之间建立一条连接(电路),并为发送方和接收方预留了带宽,发送方能以确保的恒定速率向接收方传送数据
- 在电路交换网络中则是建立一条端到端连接
- 电路交换网络复用
- 频分复用(Frequency-Division Multiplexing, FDM):在连接期间链路为每条链接专用一个频段
- 频段的宽度称为带宽(band-width)
- 时分复用(Time-Division Multiplexing, TDM):时间被划分为固定的帧,每个帧被划分为固定数量的时隙
- 传播速率:帧速率✖️一个时隙中的比特数量
- 电路交换的端到端时延与传输通过的链路数量无关
- 频分复用(Frequency-Division Multiplexing, FDM):在连接期间链路为每条链接专用一个频段
分组交换和电路交换的对比
- 分组交换不适合实时服务,端到端时延可变和不可预测
- 分组交换提供了比电路交换更好的带宽共享
- 比电路交换更简单更有效,实现成本更低
- 分组交换按需分配链路使用,电路交换不考虑需求
网络的网络
- 为让端系统连接至互联网ISP自身必须互联:借助路由器将同构或异构的网络实现互联互通
- 网络结构1:单个全球传输ISP互联所有接入ISP
- 接入ISP:客户(customer)
- 全球传输ISP:提供商(provider)
- 网络结构2:多个全球传输ISP和多个接入ISP
- 网络结构3:多个竞争的第一层ISP和多个竞争的区域ISP
- 网络结构4:跟今天因特网更为相似的网络,在网络结构3基础上增加存在点、多宿、对等和因特网交换
- 存在点(Point of Presence):提供商网络中一台或多台相同位置路由器群组
- 多宿(multi-home):除了第一层ISP之外任何ISP可以选择与两个或多个提供商ISP连接
- 对等(peer):为了减少向提供商的付费,位于相同等级结构层次的临近一对ISP能够将网络连到一起
- 因特网交换点(Internet Exchange Point, IXP):多个ISP在一起对等
- 网络结构5:现今的互联网,在网络结构4的顶部增加内容提供商网络
- 减少内容提供商向顶层ISP支付的费用,对服务最终如何交付给端用户有了更多的控制
分组交换网中的时延、丢包和吞吐量
概述
- 节点处理时延(nodal processing delay)
- 检测分组首部并决定将分组导向何处
- 检查比特级别的差错
- 排队时延(queuing delay)
- 分组在链路上等待传输时造成的时延
- 传输时延(transmission delay)
- 将一个分组的所有比特推向链路所需要的时间
- 传播时延(propagation delay)
- 一个比特由起点路由器传播至终点路由器所需要的时间
- 节点总时延:
排队时延和丢包
- 排队时延取决于流量到达该队列的速率、链路的平均速率和到达流量的性质
- 流量强度(traffic intensity):
- 分组到达队列的平均速度:a(pkt/s)
- 传输速率:R(bps)
- 分组的比特数:L
- 设计系统时流量强度不能大于1
- 流量强度越接近1链路越容易拥塞
- 丢包:路由器排队容量有限,若分组到达时队列已满,路由器将丢弃该分组
- 节点的性能根据时延和丢包概率来度量
端到端时延
- 假定源主机和目的主机之间有N-1台路由器,网络是无拥塞的
- 端到端时延:
- 端系统、应用程序和其他时延
- 希望向共享媒体(WiFi或电缆调制解调器)传输分组的端系统
- 媒体的分组化时延(VoIP)
计算机网络中的吞吐量
- 瞬时吞吐量(instantaneous throughput)和平均吞吐量(average throughput)
- 简单的两链路网络吞吐量是瓶颈链路(bottleneck link)的传输速率(近似)
- 吞吐量不仅取决于沿着路径的传输速率,而且取决于干扰流量
协议层次及服务模型
分层的体系结构
- 利用分层体系结构,可以讨论一个大而复杂系统定义良好的特定部分
协议分层
- 分层(layer):为了给网络设计的协议提供一个结构,网络设计者以分层(layer)的方式组织协议以及实现这些协议的硬件和软件
- 服务模型(service model):某层向他的上一层提供的服务
- 物理层和数据链路层的通信通常在网络接口卡中实现
- 优点:概念化和结构化
- 缺点:一层可能冗余较低层的功能(eg. 在链路层和传输层的某些协议均实现了差错检测)、某层的功能可能需要仅在其他某层出现的信息
- 协议数据单元 (Protocol data unit):⚠️本书用
packet(分组,我认为翻译为"封包"更加恰当) 统称Layer 2+的所有的协议数据单元,在给出Protocol的 定义 时还使用了报文 (message) 统称这些数据单元 (但在后文却专指应用层 PDU),介绍协议分层时用datagram称呼网络层分组,请注意区分,避免与配图和网络资料(上面两张图的网络层 PDU 的表示方式就不同,图 1 为 Packet,图 2 为 IP Datagram)混淆,是 TCP/IP 5-layer reference model 和 OSI model 的差异和教材为了教学便利的简化造成的 Layering evolution and representations in the literatureThe Layer 5:应用层 PDU 称为报文 (message),也可称数据(data)The Layer 4:传输层 PDU 称为报文段 (segment, TCP) 或数据报 (datagram, UDP),本书为了防止与网络层数据报混淆将两者统称为报文段 (segment)The Layer 3:网络层 PDU 称为分组 (packet),本书中称为数据报 (datagram)(IP 协议中这么称呼它的封包)The Layer 2:链路层 PDU 称为帧 (frame)The Layer 1:物理层 PDU 称为比特 (bit),或者更一般地称为符号 (symbol)
- 协议栈(protocol stack):协议分层后各层的所有协议,大黑皮使用了自顶向下的方法来组织内容
- 物理层
- 将链路层帧中的比特从一个节点移动到下一个节点
- 以太网具有许多物理层协议:关于双绞铜线的、关于同轴电缆的、关于光纤的······
- 链路层
- 帧(frame):链路层分组
- 某些协议基于链路提供可靠传递,从传输节点跨越一条链路到接收节点
- 网络层
- 负责将称为数据报(datagram)的网络层分组从一台主机移动到另一台主机
- 网际协议IP
- 路由选择协议
- 运输层
- 在应用层端点(主机上的进程)间传送应用层报文
- TCP:提供了面向连接的服务,包括确保传递和流量控制
- UDP:提供无连接服务,没有流量控制和拥塞控制
- 报文段(segment):运输层的分组
- 应用层
- 存留网络应用程序及应用层协议(HTTP/SMTP/FTP/DNS)
- 报文(message):位于应用层的信息分组
- 物理层
- OSI模型
- 20世纪70年代后期,ISO提出开放系统互联(OSI)模型
- OSI参考的7层:应用层、表示层、会话层、运输层、网络层、数据链路层和物理层
- 表示层:使通信的应用程序能够解释交换数据的含义,包括数据压缩和数据加密以及数据描述
- 会话层:提供了数据交换的定界和同步功能,包括了建立检查点和恢复方案的方法
- 图解计算机网络 给出的相对通俗易懂的解释可以作为参考
封装(encapsulation)
- 每一层每个分组有两种类型的字段:首部字段和有效荷载字段(payload field),有效荷载字段通常是来自上一层的分组
- 发送主机端,应用层报文(application-layer message)被传送给运输层
- 运输层报文段(transport-layer segment):运输层收到应用层报文并附上运输层首部信息,封装了应用层报文
- 网络层数据报(network-layer datagram):网络层添加了如源和目的端系统地址等网络层首部信息
- 链路层帧(link-layer frame):链路层添加链路层首部信息