计算机网络笔记 (1) | 计算机网络和因特网
名词及解释
本章涉及到非常多的专有名词,故在此列举名词及其解释,防止遗忘。
- 主机 (host) 或 端系统 (end system):所有连入互联网的设备。在学习中,主机 端系统。主机有时又被分成两类: 客户 (client) 和 服务器 (server) 。
- 通信链路 (communication link):一个连接两个或两个以上设备的传输介质中的信道,由不同类型的物理媒介组成,有同轴电缆,铜线,光纤和无线电频谱。可理解为高速公路。
- 分组 (packet):当一台端系统要向另一台端系统发送数据时,发送端系统将数据分段,并为每段加上首部字节,由此形成的信息包叫分组。可理解为工厂把一个大货物分装成很多小货物,并且在上面标明了如何组装回原来的大货物,而分组就是装载小货物的卡车。(有一说一,分组这个翻译实在是容易让人理解成动词······)
- 分组交换机 (packet switch):交换分组的机器。主要有 路由器 (router) 和 链路层交换机(link-layer switch) 两类。可理解为高速公路交叉口。
- 链路的 传输速率 (transmission rate):链路传输数据的速度,以 bit/s 度量。可理解为高速公路上的货车的速度。
- 路径 (route / path):从发送端系统到接受端系统,一个分组所经历的一系列通信链路和分组交换机称为通过该网络的路径。可理解为将货物从一个地方运输到目的地所经历的所有高速公路和收费站、交叉路口等等。
- 因特网服务提供商 (Internet Service Provider, ISP):每个ISP自身是一个由多台分组交换机和多段通信链路组成的网络。各ISP为端系统提供各种不同类型的网络接入,也为内容提供者提供网络接入服务。每个ISP网络是独立管理的,运行着IP协议,遵循一定的命名和地址规则。
- 协议 (protocol):定义了在两个或多个通信实体之间交换的报文的格式和顺序,以及报文的发送/接受或其他事件所采取的操作。 TCP (Transmission Control Protocol, 传输控制协议) 和 IP (Internet Protocol, 网际协议) 是因特网中两个最为重要的协议。因特网的主要协议统称为 TCP/IP。
- 因特网标准 (Internet standard):由因特网工程任务组 (Internet Engineering Task Force, IETF) 研发。IETF的标准文档称为 请求评论 (Request For Comment, RFC)。
- 分布式应用 (distributed application):涉及多个相互交换数据的端系统的应用,如即时通信,电影和电视节目,社交媒体等。
- 套接字接口 (socket interface):是一套发送程序必须遵循的规则集合。可理解为:写信时,我们需要在信封上写上收件人、收件地址、邮政编码,以及贴上邮票,最后将信封丢入邮箱。这一套流程或者规则就是“邮政服务接口”。同理,在互联网上发送数据也需要遵守套接字接口的规则。
- 边缘路由器 (edge router):是端系统到任何其他远程端系统的路径上的第一台路由器。
- 接入网 (access network):指将端系统物理连接到其边缘路由器的网络。
- 家庭接入:DSL、电缆、FTTH 和 5G 固定式无线( DSL (Digital Subscriber Line):数字用户线,FTTH (Fiber To The Home):光纤到户)
- 企业(和家庭)接入:以太网和 WiFi(WiFi:基于 IEEE 802.11 技术的无线 LAN 接入)
- 广域无线接入:3G、LTE 4G 和 5G
- DSLAM (Digital Subscriber Line Access Multiplexer):数字用户线接入复用器。
- HFC (Hybrid Fiber Coax):混合光纤同轴,一个同时使用光纤和同轴电缆接入的系统。
- 物理媒介分为 导引型媒介 (guided media) 和 非导引型媒介 (unguided media):对于导引型媒介,电波沿着固体媒介传播,如光缆、双绞铜线或同轴电缆;对于非导引型媒介,电波在空气或外层空间中传播,如在无线局域网或数字卫星频道中传播。
- 存储转发传输 (store-and-forward transmission):在交换机开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。多数分组交换机在链路的输出端使用存储转发传输机制。
- 输出缓存 (output buffer / output queue,输出队列):存储路由器准备发往某链路的分组,具有 排队时延 (queuing delay) 。当缓存被完全充满时,到达的分组或已经排队的分组之一将被丢弃,称为 分组丢失(丢包) (packet loss) 。
- 转发表 (forwarding table):每台路由器具有转发表,用于将目的地址(或目的地址的一部分)映射为输出链路。当某分组到达一台路由器时,路由器检查该地址,并用这个目的地址搜索其转发表,以发现适当的出链路,再将分组导向该出链路。可理解为:分组向路径上到达的每个路由器询问接下来需要去的地址,以到达最终目的地。因特网具有 路由选择协议 (routing protocol) 用于自动设置这些转发表。
- 通过网络链路和交换机移动数据有两种基本方法,分别为 电路交换 (circuit switching) 和 分组交换 (packet switching) 。
- 电路交换 (circuit switching):在端系统通信会话期间,预留了端系统间沿路径通信所需要的资源。在分组交换网络中,这些资源则不是预留的。电路交换类似于需要提前预定的餐馆,到该餐馆即有位置;而分组交换类似于不需要预定的餐馆,但是可能需要排队才有位置。当两台主机要通信时,电路交换网络在两台主机之间创建一条专用的 端到端连接 (end-to-end connection) 。电路交换的连接称为一条 电路 (circuit) 。链路中的电路通过 频分复用 或 时分复用 来实现。
- 频分复用 (Frequency-Division Multiplexing, FDM):链路的频谱由跨越链路创建的所有连接共享,在连接期间链路为每条连接专设一个频段。频段的宽度称为 带宽 (bandwidth) 。
- 时分复用 (Time-Division Multiplexing, TDM):时间被划分成固定时段的帧,每个帧被划分为固定数量的时隙。当网络跨越一条链路创建一条连接时,网络在每个帧中为该连接指定一个时隙。这个时隙专门由该连接单独使用,一个时隙(在每个帧内)可用于传输该连接的数据。
- 区域ISP (regional ISP) 和 第一层ISP (tier-1 ISP):区域中的接入ISP与区域ISP相连,每个区域ISP与第一层ISP相连。第一层ISP类似于全球传输ISP,有大约十几个第一层ISP。
- 存在点 (Point of Presence, PoP):指提供商网络中的一台或多台路由器群组(在相同位置),其中客户ISP能与提供商ISP相连。
- 多宿 (multi-home):任何ISP(除了第一层ISP)都可以选择多宿,即可以与两个或更多提供商ISP连接。
- 对等 (peer):位于相同等级结构层次的邻近的一对ISP能够对等,即能够直接将它们的网络连到一起,使它们之间的所有流量经直接连接而不是通过上游的中间ISP传输。当两个ISP对等时,通常不进行结算。第一层ISP相互对等,它们之间无结算。
- 因特网交换点 (Internet Exchange Point, IXP):IXP是一个汇合点,多个ISP能够在这里一起对等。
- 处理时延 (nodal processing delay):路由器处理分组所需要的时间。包括检查分组首部和决定将该分组导向何处,检查比特级别的差错等时间。通常是微秒或更低的数量级。
- 排队时延 (queuing delay):分组排队所需的时间。通常是毫秒到微秒数量级。
- 传输时延 (transmission delay):将所有分组的比特推向链路所需要的时间。对于 bit 的分组和 速率的链路传输速率,传输时延是 。通常是毫秒到微秒数量级。
- 传播时延 (propagation delay):从链路起点到目的地路由器分组传播所需要的时间是传播时延。对于 距离的两台路由器和 传播速率的链路,传播时延是 。传播速率取决于该链路的物理媒介,范围在 ~ ,等于或略小于光速。通常是毫秒数量级。
- 流量强度 (traffic intensity):令 表示分组到达队列的平均速度, 表示所有分组的大小( bit), 表示传输速率,则流量强度为 。如果 ,则比特到达队列的平均速率超过从该队列传输出去的速率,该队列趋向于无限增加,排队时延趋向无穷大;如果 ,则当到达速率超过传输能力时(由于分组到达速率的波动)将存在时间间隔,在这些时段中将形成队列,当到达速率小于传输能力时,队列的长度将缩短。随着流量强度接近1,平均排队长度变得越来越长。
- 瞬时吞吐量 (instantaneous throughput) 和 平均吞吐量 (average throughput):瞬时吞吐量指主机接收到文件的速率 (bps);如果该文件由 bit 组成,接收所有 bit 用去 s,则平均吞吐量为 bps。
- 瓶颈链路 (bottleneck link):所有传输链路中传输速率最小的链路,即 。
- 各分层的所有协议被称为 协议栈 (protocol stack)
- 应用层:HTTP,SMTP,FTP等。位于应用层的信息分组称为 报文 (message) 。
- 运输层:TCP,UDP。位于运输层的分组称为 报文段 (segment) 。
- 网络层:IP。位于网络层的分组称为 数据报 (datagram) 。
- 链路层:以太网,WiFi,电缆接入网的DOCSIS协议等。位于链路层的分组称为 帧 (frame) 。
- 物理层:双绞铜线,单模光纤,同轴电缆等。将帧中的一个个比特从一个节点移动到下一个节点。
什么是协议?
在书中,协议被类比为人类的活动。简而言之,人类协议规定了人类如何交流。下面概括书中的例子。
比如,A 需要向 B 询问时间(类似于下载文件)。A 首先问候 B “你好”(TCP连接请求)。对“你好”的典型响应是返回一个“你好”报文(TCP连接响应)。若B返回一个“你好”作为回应,说明能够继续向他询问。接着,A 询问“几点了?”(GET),B 返回“2:00”(<文件>),则通信完成。最初对A的不同响应(如“不要烦我”等)可能表明了勉强或者不能进行的通信。
总之,人类的协议中有我们发送的特定报文,也有根据接收到的应答报文或其他事件(如在给定时间内没有响应)采取的操作。如果人们使用不同的协议(如B不理解时间的概念),则这些协议就不能交互,因此不能完成有用的工作。因此,网络中要求两个或多个通信实体运行相同的协议。
时延
假设每个分组大小为 bit,忽略传播时延,则 个分组通过由 条速率均为 的链路组成的路径(在源和目的地之间有 台路由器)的端到端时延是
因为总时延是从开始发送到最后一个分组被接收的时间,则考虑前 个分组的总时延是 ,而最后一个分组从发送到接收的总时延是 。
考虑从源到目的地的总时延。假设网络无拥塞(排队时延微不足道),在每台路由器和源主机上的处理时延是 ,每台路由器和源主机的输出速率是 bps,每条链路的传播时延是 ,累加得到端到端时延
同样, , 是分组长度。这是 的一般形式。