计算机网络:自顶向下方法 - 第一章知识总结

发布时间:2026/5/19 12:56:52

计算机网络:自顶向下方法 - 第一章知识总结 计算机网络自顶向下方法 - 第一章知识总结文章目录计算机网络自顶向下方法 - 第一章知识总结一、1.1 什么是因特网 (What Is the Internet?)二、1.2 网络边缘 (The Network Edge)三、1.3 网络核心 (The Network Core)四、1.4 分组交换网络中的延迟、丢包和吞吐量五、1.5 协议分层与服务模型 (Protocol Layers and Their Service Models)六、1.6 网络安全攻击 (Networks Under Attack)七、1.7 计算机网络和互联网的发展历史 (History)八、串联全章Alice 发照片的旅程第一步准备出发网络边缘与应用第二步打包行李协议分层与封装第三步驶上小路接入网与物理媒介第四步漫漫长途与立交桥网络核心与分组交换第五步遭遇堵车与限速延迟、丢包与吞吐量第六步沿途的坏人网络安全第七步抵达与拆包接收端处理九、串联全章小结十、课后习题解答第2题第3题第9题第10题第11题第16题第17题第18题第30题第36题《计算机网络自顶向下方法》第一章计算机网络和因特网为您提供了整个计算机网络领域的宏观概览。这一章旨在通过自顶向下的视角帮助读者建立对网络基本组件、架构、核心概念以及发展历史的全面理解。以下是第一章核心知识点的详细讲解一、1.1 什么是因特网 (What Is the Internet?)可以通过两种方式来描述因特网具体构成描述 (A Nuts-and-Bolts Description)端系统/主机 (End systems / Hosts)连接到互联网上的数十亿计算设备包括传统的PC、服务器以及智能手机、平板电脑、智能家电等非传统设备设备。通信链路 (Communication links) 和 分组交换机 (Packet switches)端系统通过通信链路如光纤、铜线、无线电波和分组交换机主要是路由器 (Routers) 和链路层交换机 (Link-layer switches)相互连接。互联网服务提供商 (ISPs)端系统通过本地ISP接入互联网而底层的ISP则通过国家级或国际级的高层ISP骨干网互连形成网络之网络。协议 (Protocols)控制互联网内信息接收和发送的规则其中最核心的是 TCP/IP 协议。互联网标准主要由 IETF 制定其标准文档称为 RFC (Requests for Comments)。服务描述 (A Services Description)因特网是为分布式应用程序提供服务的通信基础设施。套接字接口 (Socket interface)连接到互联网的端系统提供了一套规则套接字接口发送程序必须遵循这些规则才能让因特网将数据交付给目的程序。这类似于寄信时必须遵循邮政系统的格式规范。协议的定义协议定义了在两个或多个通信实体之间交换报文的格式和顺序以及在传输和/或接收报文或其他事件时所采取的动作。二、1.2 网络边缘 (The Network Edge)网络边缘指的是连接到互联网上的端系统及运行在其中的网络应用。端系统可分为客户端 (Clients) 和服务器 (Servers现代服务器通常集中在大型数据中心 Data Centers 内)。接入网 (Access Networks)将端系统物理连接到边缘路由器到达其他端系统路径上的第一台路由器的网络。家庭接入包括数字用户线 (DSL)、电缆互联网接入 (Cable属于混合光纤同轴HFC是一种共享广播介质)、光纤到户 (FTTH) 以及5G固定无线网络。企业/家庭内部接入最常见的是局域网 (LAN) 技术包括有线的以太网 (Ethernet)通常使用双绞线连接到以太网交换机和无线的 WiFi (基于IEEE 802.11标准)。广域无线接入移动设备通过蜂窝网络提供商的基站发送/接收数据如 3G、4G (LTE) 和 5G 网络。物理媒介 (Physical Media)分为导引型媒介 (Guided media)电波沿着固体媒介传播如双绞线铜线、同轴电缆、光纤和非导引型媒介 (Unguided media)电波在空气或太空中传播如陆地无线电、卫星链路。三、1.3 网络核心 (The Network Core)网络核心是互连因特网端系统的分组交换机和链路构成的网状网络。主要通过两种基本方法传输数据分组交换 (Packet Switching)存储转发传输 (Store-and-forward transmission)源端将长报文分割成较小的数据块分组/Packets。分组交换机必须先接收到整个分组后才能开始向输出链路转发该分组的第一位。排队延迟和丢包 (Queuing delays and Packet loss)如果到达路由器的分组速率暂时超过了输出链路的传输速率分组就必须在输出缓冲区队列中等待排队延迟如果缓冲区已满新到达的分组或已排队的分组将被丢弃丢包。转发表与路由协议 (Forwarding Tables and Routing Protocols)路由器使用分组的目的地址来查找转发表以决定输出链路。路由协议则用于自动计算和设置这些转发表。电路交换 (Circuit Switching)在通信会话期间网络会为端系统之间的通信预留独占资源如链路传输速率。典型实现方式为频分复用 (FDM) 和时分复用 (TDM)。对比分组交换按需分配资源可能引发拥塞但对突发性数据传输效率更高支持更多用户同时使用电路交换性能稳定但线路闲置时会造成资源浪费。网络的网络 (A Network of Networks)由于端系统通过接入ISP相连这些ISP本身也必须互连。这形成了一个极其复杂的层级结构从底层接入ISP到顶级Tier-1 ISPs。为了降低成本并更好地控制服务内容提供商网络如Google私有网络通过直接与下层ISP互连通过IXP等绕过顶层ISP。四、1.4 分组交换网络中的延迟、丢包和吞吐量四种类型的延迟 (Types of Delay)分组从一个节点传输到下一个节点会经历四种主要延迟合称为节点总延迟节点处理延迟 (Processing delay)检查首部、决定转发方向及错误检测所需的时间。排队延迟 (Queuing delay)分组在输出队列中等待传输的时间长短取决于网络拥塞程度。传输延迟 (Transmission delay)将分组所有比特推向链路所需的时间即 L/R分组长度 L 除以链路传输速率 R这与链路带宽有关。传播延迟 (Propagation delay)比特在物理媒介中传播到下一个节点所需的时间取决于链路距离和信号传播速度。注意传输延迟是路由器把数据挤上公路的时间传播延迟是数据在公路上开车的时间。排队延迟与丢包排队延迟受流量强度 (Traffic Intensity La/R) 的影响很大。当流量强度接近1时排队延迟会急剧上升当到达率超过传输能力导致缓冲区满时就会发生丢包。端到端延迟不仅包含沿途各个路由器的上述四种延迟之和还包括端系统中的应用层延迟如音视频的媒体打包延迟等。可以通过 Traceroute 程序来测量。吞吐量 (Throughput)主机接收文件的速率bps。在多链路网络中端到端吞吐量往往取决于路径上的瓶颈链路 (Bottleneck link) 的传输速率如果核心网络带宽充足瓶颈通常是接入网链路。五、1.5 协议分层与服务模型 (Protocol Layers and Their Service Models)由于网络极其复杂网络设计者采用分层架构 (Layered Architecture) 来组织协议。分层的最大优势是提供模块化只要层间接口不变某一层具体实现的改变不会影响其他层。因特网五层协议栈 (Internet Protocol Stack)应用层 (Application Layer)网络应用及协议所在的层如 HTTP, SMTP, FTP, DNS该层的数据信息称为报文 (Message)。传输层 (Transport Layer)负责在应用端点之间传输应用层报文如面向连接、可靠的 TCP 和无连接、不可靠的 UDP该层的分组称为报文段 (Segment)。网络层 (Network Layer)负责将称为数据报 (Datagram) 的网络层分组从一台主机路由到另一台主机核心是 IP 协议和多种路由协议。链路层 (Link Layer)负责将分组从一个节点主机或路由器移动到路径上的下一个相邻节点如 Ethernet, WiFi该层的分组称为帧 (Frame)。物理层 (Physical Layer)负责将帧中的每一个比特在相邻节点间的物理媒介上移动。封装 (Encapsulation)数据从发送端向下经过各层时每一层都会将上层的载荷 (Payload) 加上本层的首部信息 (Header) 进行封装在接收端向上逐层去封装 (De-encapsulation)。六、1.6 网络安全攻击 (Networks Under Attack)互联网最初的设计模型基于互信用户对安全性考虑不足。目前网络面临许多安全威胁必须理解它们以设计防御机制恶意软件 (Malware)可通过网络感染主机受感染的主机可以组成受黑客控制的僵尸网络 (Botnet)用于分发垃圾邮件或发起 DDoS 攻击。拒绝服务攻击 (DoS/DDoS)攻击者导致网络、主机或基础设施无法为合法用户提供服务。主要形式包括漏洞攻击、带宽泛洪 (Bandwidth flooding) 和连接泛洪 (Connection flooding)。DDoS通过控制多个源同时发起攻击更难防御。分组嗅探 (Packet Sniffing)在无线网络或共享广播有线网络中被动接收器记录路过的所有分组如密码、隐私数据。IP欺骗 (IP Spoofing)通过向互联网注入具有虚假源地址的分组伪装成受信任的另一个用户。七、1.7 计算机网络和互联网的发展历史 (History)这一节梳理了网络的演进过程1961-1972 (早期与分组交换)Leonard Kleinrock 等人提出了分组交换理论。美国国防部主导的 ARPAnet 成为互联网的前身并诞生了第一个主机间协议 NCP。1972-1980 (专用网络和互连网)网络不断增多。Vinton Cerf 和 Robert Kahn 开发了互连各种网络的体系结构诞生了 TCP/IP 协议。1980-1990 (网络激增)TCP/IP 成为 ARPAnet 的标准。DNS域名系统诞生拥塞控制被加入 TCP。1990年代 (Web爆炸)Tim Berners-Lee 发明了万维网 (World Wide Web)让因特网进入公众视野推动了浏览器的出现和商业化。新千年至今宽带接入和高速无线的普及智能手机和永远在线的设备爆发在线社交网络构建在互联网上的人际网络和云计算服务亚马逊 AWS, 微软 Azure 等内容提供商如 Google建立了自己的庞大私有网络八、串联全章Alice 发照片的旅程北京的 Alice 通过微信或 WhatsApp给远在纽约的 Bob 发送了一张 5MB 的高清新年问候照片。我们将跟随着这张照片的脚步把第一章的核心知识点全部串联起来。第一步准备出发网络边缘与应用Alice 的智能手机和 Bob 的手机在网络术语中被称为端系统End systems/ 主机Hosts。微信是一个分布式应用程序Distributed application。 当 Alice 点击发送时微信并没有直接接触物理网线而是通过操作系统提供的一组规则——套接字接口Socket interface也就是门将照片推给互联网基础设施请求它将数据交付给纽约的 Bob。这一切都遵循着特定的协议Protocols即通信双方必须遵守的格式和动作规则。第二步打包行李协议分层与封装5MB 的照片太大了网络无法一次性吞下必须进行切割和封装Encapsulation。这个过程自顶向下经过了五层因特网协议栈应用层Application Layer微信将照片格式化为应用层报文Message。传输层Transport Layer由于照片不能丢失任何像素传输层选择了 TCP 协议提供可靠传输。TCP 将报文切分成小块加上包含端口号等信息的首部变成了报文段Segment。网络层Network Layer网络层的 IP 协议给报文段加上了 Alice 和 Bob 的 IP 地址将其封装成数据报Datagram就像在信封上写上了发件人和收件人的地址。链路层Link Layer为了把数据从 Alice 的手机传到她家客厅的路由器链路层如 WiFi 协议加上了 MAC 地址等控制信息封装成帧Frame。物理层Physical Layer最后物理层将帧中的每一个比特Bit转化为无线电波发送出去。第三步驶上小路接入网与物理媒介Alice 的手机通过无线电波非导引型物理媒介 Unguided media连接到家里的无线路由器WiFi 接入。路由器又通过墙上的光纤或同轴电缆导引型物理媒介 Guided media如 FTTH 光纤到户连接到了当地的中国联通本地 ISP。这就是网络边缘连接到互联网的接入网Access Networks。第四步漫漫长途与立交桥网络核心与分组交换照片的比特流现在进入了网络核心Network Core。分组交换Packet Switching互联网并没有为 Alice 和 Bob 专门拉一条独占的电话线这叫电路交换 Circuit Switching适合传统电话会预留资源。相反照片被切成的这些数据包在网络中独立穿梭按需共享链路资源。存储转发Store-and-forward途经的每一个路由器Router都必须完整地接收下整个数据包才能开始向下一个节点转发。路由与转发表Routing Forwarding路由器就像十字路口的交警。它检查数据包上的纽约目的 IP 地址利用路由协议Routing protocols/ 转发表Forwarding tables决定把数据包扔向哪条输出链路。网络的网络Network of Networks数据包从中国联通底层 ISP一层层向上传递到跨国海底光纤的提供商顶级 Tier-1 ISP最终到达美国纽约的宽带提供商Bob的接入 ISP。这种极其复杂的层级结构构成了当今的互联网。第五步遭遇堵车与限速延迟、丢包与吞吐量在飞越大洋的途中数据包并不是瞬间到达的它在每个路由器节点都会经历四种延迟Nodal Delay处理延迟Processing delay路由器检查数据包有没有出错查找转发表找路花费了微秒级的时间。排队延迟Queuing delay碰巧正值跨年夜大家都往美国发祝福网络流量极大流量强度 Traffic Intensity 接近 1。Alice 的数据包只能在路由器的输出缓冲区里排队等待。丢包Packet Loss如果某个路由器由于排队的数据包太多缓冲区被撑爆了满了Alice 的某个数据包就会被无情地丢弃。好在 Alice 手机里的 TCP 协议发现了这件事帮她进行了重传Retransmission。传输延迟Transmission delay路由器把数据包的比特挤到海底光纤上需要的时间 (L/R)。传播延迟Propagation delay光信号在几千公里的海底光纤中以光速飞驰所需的时间 (d/s)。由于跨国链路可能有宽带限制或者 Bob 正在用极其缓慢的公共 WiFi这整张 5MB 照片的接收速度吞吐量 Throughput将取决于从北京到纽约整条路径上最慢的那段链路——瓶颈链路Bottleneck link。第六步沿途的坏人网络安全这趟旅途并不安全。如果 Alice 在咖啡馆连了不加密的免费 WiFi旁边的黑客 Trudy 可能用分组嗅探器Packet Sniffer抓取了数据包想偷看照片。甚至有人可能伪造 Alice 的源 IP 地址IP 欺骗 IP Spoofing给 Bob 发送诈骗信息。或者黑客用僵尸网络发起 DDoS 攻击拒绝服务攻击用海量垃圾流量把微信的服务器淹没导致 Alice 根本发不出信息。 这也是为什么我们后续章节需要学习密码学和网络安全防御的原因。第七步抵达与拆包接收端处理历经千辛万苦所有的数据包终于抵达了 Bob 的手机。 Bob 的手机执行了与 Alice 完全相反的操作——解封装De-encapsulation。 物理层接收电波变成比特链路层剥去 MAC 帧头网络层剥去 IP 首部传输层的 TCP 将乱序到达的数据包重新拼装好并剥去端口号最后交给了应用层。叮的一声微信收到了这 5MB 的载荷数据。屏幕亮起Bob 看到了 Alice 发来的高清新年照片。九、串联全章小结通过 Alice 给 Bob 发照片的例子我们系统地看到了 数据是如何在网络边缘端系统/应用层/ 协议分层的封装如何通过接入网物理媒介/ 网络核心在其中通过路由器的存储转发和转发表进行分组交换。同时我们也看到了它在网络的网络中不可避免地遭遇的延迟和丢包受限于吞吐量并面临着各种安全威胁。十、课后习题解答第2题英文原题 The performance of a client-server system is strongly influenced by two major network characteristics: the bandwidth of the network (that is, how many bits/sec it can transport) and the latency (that is, how many seconds it takes for the first bit to get from the client to the server). Give an example of a network that exhibits high bandwidth but also high latency. Then give an example of one that has both low bandwidth and low latency.中文翻译 客户端-服务器系统的性能受到两个主要网络特征的强烈影响网络带宽即每秒可传输多少比特和延迟即第一位数据从客户端到达服务器需要多少秒。请举一个具有高带宽但也具有高延迟的网络示例然后再举一个兼具低带宽和低延迟的网络示例。中文作答高带宽、高延迟的网络 一个典型的例子是地球同步卫星链路Geostationary satellite links。这种链路可以提供数百Mbps的高带宽但由于信号需要往返于距地球表面36000公里的太空会产生约280毫秒的极高传播延迟。低带宽、低延迟的网络 传统的56kbps拨号调制解调器连接或者同一房间内两台通过低速串行线直接连接的计算机。因为物理距离极短信号传播几乎是瞬间的低延迟但其物理介质和调制技术的限制导致传输速率非常低低带宽。第3题英文原题 Besides bandwidth and latency, what other parameter is needed to give a good characterization of the quality of service offered by a network used for (i) digitized voice traffic? (ii) video traffic? (iii) financial transaction traffic?中文翻译 除了带宽和延迟之外还需要什么其他参数来良好地表征用于以下用途的网络所提供的服务质量QoS(i) 数字化语音流量(ii) 视频流量(iii) 金融交易流量中文作答(i) 数字化语音流量 还需要考虑丢包率Packet loss/ 抖动Jitter即端到端延迟的变异性。此外对于VoIP应用来说打包延迟等端系统处理延迟也是影响用户感知质量的重要参数。(ii) 视频流量 与语音流量类似视频流也是容忍部分数据丢失Loss-tolerant的但极度依赖于抖动和丢包率的控制以确保视频连续播放且不卡顿。(iii) 金融交易流量 最重要的是可靠性Reliability/No loss/ 安全性Security。金融交易对数据丢失零容忍并且需要强有力的加密、数据完整性校验和端点身份验证。第9题英文原题 A disadvantage of a broadcast subnet is the capacity wasted when multiple hosts attempt to access the channel at the same time. As a simplistic example, suppose that time is divided into discrete slots, with each of the n hosts attempting to use the channel with probability p during each slot. What fraction of the slots will be wasted due to collisions?中文翻译 广播子网的一个缺点是当多个主机同时尝试访问信道时会浪费信道容量。作为一个简单的例子假设时间被划分为离散的时隙n个主机中的每一个在每个时隙内以概率p尝试使用信道。由于冲突而浪费的时隙比例是多少中文作答在任何给定的时隙中所有主机都不发送的概率空闲时隙为(1−p)^n。恰好有一个主机发送的概率成功传输的时隙为n⋅p⋅(1−p)^(n−1)。冲突发生在两个或两个以上的主机同时发送数据时。因此因为冲突而浪费的时隙比例为1−(1−p)n−n⋅p⋅(1−p)(n−1)。第10题英文原题 What are two reasons for using layered protocols? What is one possible disadvantage of using layered protocols?中文翻译 使用分层协议的两个原因是什么使用分层协议的一个可能缺点是什么中文作答原因/优点 1) 提供模块化Modularity它允许我们将复杂的大型系统分解为定义明确的具体部分便于讨论和设计。2) 易于更新和维护只要层间接口保持不变改变某一层提供的具体实现方式并不会影响系统的其他层。缺点 1) 可能导致功能冗余比如在链路层和传输层可能都在执行错误恢复。 2) 当某一层需要访问另一层内部被限制的信息时会打破分层隔离的原则。此外每一层都需要加上本层的首部增加了数据传输的开销。第11题英文原题 What is the principle difference between connectionless communication and connection-oriented communication? Give one example of a protocol that uses 1) connectionless communication 2)connection-oriented communication.中文翻译 无连接通信和面向连接通信之间的主要区别是什么请各举一个使用这两种通信方式的协议示例1) 无连接通信 2) 面向连接通信。中文作答主要区别 在面向连接的通信中两个通信的进程在开始传输应用层数据之前必须先进行握手以建立连接状态例如TCP连接。而在无连接的通信中发送方直接将数据包发送给接收方无需预先建立连接且通常不提供可靠性保证。示例 1) 无连接通信UDP用户数据报协议或IP协议。2) 面向连接通信TCP传输控制协议。第16题英文原题 Which of the OSI layers and TCP/IP layers handles each of the following: 1) Dividing the transmitted bit stream into frames 2) Determining which route through the subnet to use.中文翻译 OSI层和TCP/IP层中的哪一层分别处理以下任务1) 将传输的比特流划分为帧 2) 决定使用子网中的哪条路由。中文作答将比特流封装划分为帧Frames在TCP/IP和OSI模型中这都是由链路层Link Layer / Data Link Layer负责的。决定使用哪条路由Routing在TCP/IP和OSI模型中路由选择是由**网络层Network Layer**负责的。第17题英文原题 If the unit exchanged at the data link level is called a frame and the unit exchanged at the network level is called a packet, do frames encapsulate packets or do packets encapsulate frames? Explain your answer.中文翻译 如果在数据链路层交换的单元称为帧frame在网络层交换的单元称为分组packet那么是帧封装分组还是分组封装帧请解释你的答案。中文作答帧封装分组Frames encapsulate packets。解释 在自顶向下的网络架构中数据是从上层向底层传递的。当网络层将分组即数据报 datagram传递给链路层时链路层会将整个网络层分组作为其有效载荷Payload并在其前后添加链路层的首部包含链路层源和目的地址等和尾部从而将其封装成一个链路层帧然后再通过物理链路发送出去。第18题英文原题 A system has an n-layer protocol hierarchy. Applications generate messages of length M bytes. At each of the layers, an h-byte header is added. What fraction of the network bandwidth is filled with headers?中文翻译 一个系统有 n 层协议层次结构。应用程序生成长度为 M 字节的消息。在每一层都会添加一个 h 字节的首部。请问网络带宽中有多少比例被首部填充中文作答每一层都会添加 h 字节的首部总共 n 层因此附加的总首部大小为 n⋅h 字节。经过 n 层封装后最终在物理介质上传输的数据总大小为原始消息加上所有首部即 Mn⋅h 字节。因此被首部占用的带宽比例为(n⋅h) / (Mn⋅h)。第30题英文原题 Suppose there is a change in the service (set of operations) provided by layer k. How does this impact services at layers k-1 and k1?中文翻译 假设第 k 层提供的服务操作集合发生了变化。这会对第 k-1 层和第 k1 层产生什么影响中文作答对第 k-1 层下层没有影响 因为第 k 层是服务的使用者第 k-1 层是服务的提供者。第 k-1 层独立工作不依赖于第 k 层。对第 k1 层上层有重大影响 第 k1 层依赖于第 k 层提供的服务。如果第 k 层的服务功能或接口发生变化第 k1 层很可能需要重新设计和修改以适配这些新的服务或填补缺失的服务。第36题英文原题 Compare the delay in sending an x-bit message over a k-hop path in a circuit-switched network and in a (lightly loaded) packet-switched network. The circuit setup time is s sec, the propagation delay is d sec per hop, the packet size is p bits, and the data rate is b bps. Under what conditions does the packet network have a lower delay? Also, explain the conditions under which a packet-switched network is preferable to a circuit switched network.中文翻译 比较在电路交换网络和轻载的分组交换网络中通过 k跳 路径发送 x比特 消息的延迟。电路建立时间为 s 秒每跳的传播延迟为 d 秒分组大小为 p 比特数据速率为 b bps。在什么条件下分组网络的延迟更低同时解释在什么条件下分组交换网络比电路交换网络更可取。中文作答电路交换网络延迟 (Circuit-switched delay) 总延迟 建立电路的时间 发送消息的时间 传播时间 s x/b k⋅d分组交换网络延迟 (Packet-switched delay) 消息被划分为 x/p 个分组。根据存储转发机制传输整个文件的时间加上最后一个分组穿过剩余 (k−1) 个路由器的存储转发时间再加上总传播延迟。 总延迟 x/b (k−1)⋅p/b k⋅d。分组网络延迟更低的条件 令 分组交换延迟 电路交换延迟即x/b (k−1)⋅p/b k⋅d s x/b k⋅d化简可得(k−1)⋅p/b s。也就是说当分组在各个路由器的存储转发耗时总和小于电路交换所需的建立连接时间时分组交换的延迟更低。分组交换网络更可取的条件当流量具有突发性bursty时分组交换网络无需像电路交换那样预留闲置资源能提供更好的传输容量共享效率。建立端到端电路连接所需的时间和信令软件成本太高时分组交换更简单、更高效且成本更低。需要支持更多同时在线的用户且大多数用户仅在很小比例的时间内活跃统计多路复用。

相关新闻