东南大学计算机网络知识点总结

tech2026-04-16  4

《计算机网络(第7版)-谢希仁》前五章知识点总结,适合期末考试、考研保研面试复习。 2020.9.4 By KingO(盒子先生)

第一次写blog,格式不太好,多多包涵。

第一章 绪论 • 计算机网络向用户提供两个最重要功能: 连通性、共享 • 计算机网络: 由若干结点(node)和连接这些结点的链路(link)组成,结点可以是 计算机、集线器、交换机 或 路由器 • internet: 互连网,泛指多个计算机网络互连而成的计算机网络 网络的网络 • **Internet:**互联网、因特网,专用名词,指当前全球最大的、开放的、由众多网络相互连接而成的特定互连网,采用TCP/IP协议族作为通信的规则,且其前身是美国的ARPANET • ISP: 互联网服务提供者

• 路由器: 实现分组交换(packet switching) 的关键构件,其任务是转发收到的分组

• 互联网的组成:边缘部分(连接在因特网上的主机) + 核心部分(大量的网络和连接这些网络的路由器)

计算机通信: i. 客户-服务器方式 { C/S ) ii. 对等方式 ( P2P ) (下载的人越多,下载的速度越快)

• 电路交换: 电话 在通话的全部时间内,通话的两个用户始终占用端到端的通信资源 • 报文交换: 电报 整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点 • 分组交换:因特网 单个分组(这只是整个报文的一部分)传送到相邻结点,存储下来后查找转发表,转发到下一个结点

带宽: • 信号的带宽:信号所包含的各种不同频率成分所占据的频率范围 Hz KHz GHz • 计算机网络:网络中某通道传送数据的能力, 网络带宽表示在单位时间内网络中的某信道所能通过的“最高数据率” bit/s

吞吐量:单位时间内通过某个网络(或信道、接口)的实际的数据量

网络协议的三要素: • 语法:数据与控制信息的结构或格式 • 语义:需要发出何种控制信息,完成何种动作以及做出何种响应 • 同步:事件实现顺序的详细说明

计算机网络体系结构——五层协议 (自上而下) • 应用层 ○ 任务:通过应用进程间的交互来完成特定网络应用 HTTP、DNS ○ 数据单元:报文 • 运输层 TCP UDP ○ 数据单元 : 报文段 ○ 任务:负责向两台主机进程之间的通信提供通用的数据传输服务 应用进程利用该服务传送应用层报文 ○ 主要使用以下两种协议: □ 传输控制协议 TCP —— 提供面向连接的、可靠的数据传输服务,其数据传输的单位是 报文段 □ 用户数据报协议 UDP —— 提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报UDP • 网络层 IP ○ 任务:为分组交换网上的不同主机提供通信服务, 在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送 ○ 在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报 ○ 网络层、网际层、IP层 同义语 • 数据链路层 ○ 任务:由于两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要专门的链路层协议。在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧。 ○ 数据单元:帧 (数据+必要的控制信息) • 物理层 ○ 任务: § 物理层要考虑用多大的电压代表“1”或“0", 以及接收方如何识别出发送方所发送的比特。 § 物理层还要确定连接电缆的插头应该有多少根引脚以及各引脚应如何连接。 § 解释比特代表的意思不是物理层任务 § 传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线通道等,并不在物理层协议之内而是在物理层协议的下面 ○ 传送数据单位:比特

• 协议:控制两个对等实体(或多个实体)进行通信的规则的集合 ”水平“ 数据单位:PDU • 服务:在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务 ”垂直“ 数据单位:SDU • everything over IP: 可以为各式各样的的应用提供服务 • IP over everything: 允许IP协议在各式各样的网络构成的互联网上运行

第二章 物理层 • 物理层 的主要任务是确定与传输媒体的接口有关的一些特性,如机械特性、电气特性、功能特性、过程特性 • 单工通信 、 半双工通信、 双工通信 • 信道复用技术: 频分复用、时分复用、统计时分复用、码分复用、波分复用 这部分掌握码分复用计算即可 • 频分复用FDM (Frequency Division Multiplexing):所有用户在同样的时间占用不同的频率带宽资源。 • 时分复用TDM(Time Division Multiplexing)则是将时间划分为一段段等长的时分复用帧(TDM 帧)。 • 统计时分复用 STDM(Statistic TDM)是改进的时分复用,明显地提高信道的利用率。 • 波分复用 WDM (Wavelength Division Multiplexing):光的频分复用 • 码分复用 CDM (Code Division Multiplexing)常用的名词是码分多址 CDMA:有很强的抗干扰能力。 码分多址的计算靠一个例题就基本会了:

第三章 数据链路层

• 点对点信道: 一对一 PPP协议 • 广播信道: 一对多 CSMA/CD协议

• 链路:从一个结点到相邻结点的一段物理线路 • 数据链路:把实现这些协议的硬件和软件加载链路上

三个基本问题: • 封装成帧 加上帧头帧尾 帧定界是分组交换的必然要求 • 透明传输 ”透明“:无论什么样的比特组合的数据,都能够按照原样没有差错地通过这个数据链路层 比如不会因遇到EOT提前终止 解决办法:字节填充/字符填充 透明传输避免消息符号与帧定界符号相混淆 • 差错检测 循环冗余校验 CRC (无差错传输,并不是可靠传输) 差错检测防止无效数据帧浪费后续路由上的传输和处理资源

传输差错: • 比特差错 • 帧丢失、帧重复、帧失序

CSMA/CD: • 多点接入 • 载波监听 • 碰撞检测 截断二进制指数退避算法

把总线上的单程端到端传播时延记为t, A发送数据后,最迟要经过2t才能知道自己发送的数据和其它站发送的数据有没有碰撞

• 集线器: 物理层 • 路由器: 下三层 • 交换机: 物理层+数据链路层

MAC层的 硬件地址、物理地址、MAC地址: 名字指出我们所要寻找的那个资源,地址指出那个资源在何处,路由告诉我们如何到达该处

只有用路由器连接才是网络的网络

扩展以太网更常用的方法是在数据链路层进行 ———— 以太网交换机

扩展以太网 • 在物理层扩展 —— 集线器 • 在数据链路层扩展 —— 网桥

第四章 网络层

网络层向上只提供简单灵活的、无连接的、尽量大努力交付的数据报服务 网络层不提供服务质量的承诺 • 虚电路服务 ○ 可靠通信应当由网络来保证 ○ 连接的建立: 必须有 ○ 分组的转发: 属于同一条虚电路的分组均按照同一路由进行转发 ○ 可靠传输 • 数据报服务 ○ 可靠通信应当由用户主机来保证、 ○ 连接的建立: 不需要 ○ 分组的转发: 每个分组独立选择路由进行转发 ○ 尽最大可能传输

中间设备 • 物理层: 转发器 • 数据链路层: 网桥或桥接器 • 网络层: 路由器 • 网络层以上: 网关

网际协议IP——虚拟互连网络: 消除各种物理网络的异构性,使这些各异的网络在网络层上看起来好像是一个统一的网络 • 物理地址: 数据链路层和物理层使用的地址 • IP地址: 网络层和以上各层使用的地址,是一种逻辑地址

• IP 地址 ::= {<网络号>,<主机号>} IP 地址类别 网络号 网络范围 主机号 IP 地址范围 A 类 8bit,第一位固定为 0 0 —— 127 24bit 1.0.0.0 —— 127.255.255.255 B 类 16bit,前两位固定为 10 128.0 —— 191.255 16bit 128.0.0.0 —— 191.255.255.255 C 类 24bit,前三位固定为 110 192.0.0 —— 223.255.255 8bit 192.0.0.0 —— 223.255.255.255 D 类 前四位固定为 1110,后面为多播地址 E 类 前五位固定为 11110,后面保留为今后所用

IP地址编制方法的三个阶段 • 分类的IP地址 • 子网的划分 • 构成超网

IP数据报格式:

ARP 地址解析协议: ARP是解析同一个局域网上的主句或路由器的IP地址和硬件地址的映射问题

分组转发 (1) 从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N。 (2) 若网络 N 与此路由器直接相连,则把数据报直接交付目的主机 D;否则是间接交付,执行(3)。 (3) 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。 (4) 若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行(5)。 (5) 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6) (6) 报告转发分组出错。

划分子网 子网掩码:将IP地址划分为网络地址和主机地址

构造超网 地址掩码:一连串的1和0组成,而1的个数就是网络前缀长 构成超网:由于一个CIDR地址块中含有很多地址,所以在路由表中就利用CIDR地址块来查找目标网络,这种地址的聚合常称为路由聚合,也称构成超网。

两大类路由选择协议: • 内部网关协议 IGP:一个自治系统内部使用的路由选择协议。有多种协议,如 RIP 和OSPF 协议。 • 外部网关协议EGP:一个自治系统的边界,将路由选择信息传递到另一个自治系统中。目前使用的就是BGP

RIP协议的优缺点: • RIP 存在的一个问题是当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。 • RIP 协议最大的优点就是实现简单,开销较小。 • RIP 限制了网络的规模,它能使用的最大距离为 15(16 表示不可达)。 • 路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加。

RIP是一种分布式的基于距离向量的路由选择协议,其主要特点: (1)仅和相邻路由器交换信息。 (3)按固定的时间间隔交换路由信息,例如,每隔30秒。 OSPF最主要的特征就是使用分布式的链路状态协议,其主要特点: (1)使用洪泛法向本自治系统中所有路由器发送信息。 (2)发送的信息是与本路由器相邻的所有路由器的链路状态。 (3)只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。 BGP是不同自治系统的路由器之间交换路由信息的协议,它采用路径向量路由选择协议,其主要特点: (2)自治系统AS之间的路由选择必须考虑有关策略。 (3)BGP只能力求寻找一条能够到达目的网络且比较好的路由,而并非要寻找一条最佳路由

路由表包含什么? • 网络 ID(Network ID, Network number):就是目标地址的网络 ID。 • 子网掩码(subnet mask):用来判断 IP 所属网络 • 下一跳地址/接口(Next hop / interface):就是数据在发送到目标地址的旅途中下一站的地址。其中 interface 指向 next hop(即为下一个 route)。一个自治系统(AS, Autonomous system)中的 route 应该包含区域内所有的子网络,而默认网关(Network id: 0.0.0.0, Netmask: 0.0.0.0)指向自治系统的出口。

第五章 运输层

通信的真正端点并不是主机而是主机中的进程 • 任务:运输层为相互通信的应用进程提供逻辑通信 • 功能: ○ 复用:发送方不同的应用进程都可以使用同一个运输层协议传送数据 ○ 分用:接收方的运输层在剥去报文的首部后能够把这些数据正确交付目的应用进程 • 网络层为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信 • 端口 ○ 硬件端口:不同硬件设备进行交互的接口 ○ 软件端口: 应用层的各种协议进程与运输实体进行层间交互的一种地址 ○ 端口号只具备本地意义,即端口号只是为了标志本计算机应用层中的各进程 • UDP: ○ 无连接 ○ 尽最大努力交互 ○ 面向报文 ○ 没有拥塞控制 ○ 支持一对一、一对多、多对一、多对多 ○ IP数据报的检验和只检验IP数据报的首部,但UDP的检验和是把首部和数据部分一起检验 • TCP: ○ 面向连接 ○ 可靠交付 ○ 全双工通信 ○ 面向字节流 ○ 一对一 ○ 超时重传定时器 ○ 拥塞控制

套接字 socket = ( IP地址 : 端口号 ) 应用编程接口 API ( application programming interface )

TCP 如何保证可靠传输: • 确认和超时重传 • 数据合理分片和排序 • 流量控制 • 拥塞控制 • 数据校验

TCP可靠传输的实现 • 以字节为单位的滑动窗口 • 超时重传时间 • 选择确认SACK TCP的流量控制 • ->发送方的发送速率不要太快,接收方来得及接收 • 持续计时器 TCP的拥塞控制 • ->防止过多的数据注入网络中,这样可以使网络中的路由器或链路不致过载 • 控制算法: 慢开始 、 拥塞避免 、 快重传 、 快恢复

TCP的连接建立采用三报文握手机制 TCP的连接释放采用四报文握手机制

TCP首部中的确认号是期望收到对方下一个报文段的第一个数据字节的序号。若确认号为N,则表明:到序号N-1为止的所有数据都已正确收到。

TCP 与 UDP 的区别 • TCP 面向连接,UDP 是无连接的; • TCP 提供可靠的服务,也就是说,通过 TCP 连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP 尽最大努力交付,即不保证可靠交付 • TCP 的逻辑通信信道是全双工的可靠信道;UDP 则是不可靠信道 • 每一条 TCP 连接只能是点到点的;UDP 支持一对一,一对多,多对一和多对多的交互通信 • TCP 面向字节流(可能出现黏包问题),实际上是 TCP 把数据看成一连串无结构的字节流;UDP 是面向报文的(不会出现黏包问题) • UDP 没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如 IP 电话,实时视频会议等) • TCP 首部开销20字节;UDP 的首部开销小,只有 8 个字节

TCP 三次握手建立连接 【TCP 建立连接全过程解释】 1. 客户端发送 SYN 给服务器,说明客户端请求建立连接; 2. 服务端收到客户端发的 SYN,并回复 SYN+ACK 给客户端(同意建立连接); 3. 客户端收到服务端的 SYN+ACK 后,回复 ACK 给服务端(表示客户端收到了服务端发的同意报文); 4. 服务端收到客户端的 ACK,连接已建立,可以数据传输。 TCP 为什么要进行三次握手? 【答案一】因为信道不可靠,而 TCP 想在不可靠信道上建立可靠地传输,那么三次通信是理论上的最小值。(而 UDP 则不需建立可靠传输,因此 UDP 不需要三次握手。) 【答案二】因为双方都需要确认对方收到了自己发送的序列号,确认过程最少要进行三次通信。 【答案三】为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。 TCP 四次挥手释放连接 【TCP 释放连接全过程解释】 1. 客户端发送 FIN 给服务器,说明客户端不必发送数据给服务器了(请求释放从客户端到服务器的连接); 2. 服务器接收到客户端发的 FIN,并回复 ACK 给客户端(同意释放从客户端到服务器的连接); 3. 客户端收到服务端回复的 ACK,此时从客户端到服务器的连接已释放(但服务端到客户端的连接还未释放,并且客户端还可以接收数据); 4. 服务端继续发送之前没发完的数据给客户端; 5. 服务端发送 FIN+ACK 给客户端,说明服务端发送完了数据(请求释放从服务端到客户端的连接,就算没收到客户端的回复,过段时间也会自动释放); 6. 客户端收到服务端的 FIN+ACK,并回复 ACK 给客户端(同意释放从服务端到客户端的连接); 7. 服务端收到客户端的 ACK 后,释放从服务端到客户端的连接。 TCP 为什么要进行四次挥手? 【问题一】TCP 为什么要进行四次挥手? / 为什么 TCP 建立连接需要三次,而释放连接则需要四次? 【答案一】因为 TCP 是全双工模式,客户端请求关闭连接后,客户端向服务端的连接关闭(一二次挥手),服务端继续传输之前没传完的数据给客户端(数据传输),服务端向客户端的连接关闭(三四次挥手)。所以 TCP 释放连接时服务器的 ACK 和 FIN 是分开发送的(中间隔着数据传输),而 TCP 建立连接时服务器的 ACK 和 SYN 是一起发送的(第二次握手),所以 TCP 建立连接需要三次,而释放连接则需要四次。 【问题二】为什么 TCP 连接时可以 ACK 和 SYN 一起发送,而释放时则 ACK 和 FIN 分开发送呢?(ACK 和 FIN 分开是指第二次和第三次挥手) 【答案二】因为客户端请求释放时,服务器可能还有数据需要传输给客户端,因此服务端要先响应客户端 FIN 请求(服务端发送 ACK),然后数据传输,传输完成后,服务端再提出 FIN 请求(服务端发送 FIN);而连接时则没有中间的数据传输,因此连接时可以 ACK 和 SYN 一起发送。 【问题三】为什么客户端释放最后需要 TIME-WAIT 等待 2MSL 呢? 【答案三】 1. 为了保证客户端发送的最后一个 ACK 报文能够到达服务端。若未成功到达,则服务端超时重传 FIN+ACK 报文段,客户端再重传 ACK,并重新计时。 2. 防止已失效的连接请求报文段出现在本连接中。TIME-WAIT 持续 2MSL 可使本连接持续的时间内所产生的所有报文段都从网络中消失,这样可使下次连接中不会出现旧的连接报文段。

参考网址: https://blog.csdn.net/hushhw/article/details/78985307 https://github.com/huihut/interviewtdsourcetag=s_pctim_aiomsg#computer-network

最新回复(0)