计算机网络

Last updated on August 23, 2022 pm

计算机网络

一、计算机网络体系结构

1. 计算机网络定义

一组通过   相互连接的    。完整的计算机网络由硬件、软件、协议三大部分组成。协议是计算机网络的核心。

2. 计算机网络分类

按传输技术分为   链路和   链路;按网络尺度可以分为   (如蓝牙)、   (一般在一座建筑物内或附近;用于公司时成为企业网络)、   (例如基于有线电视网的)、   (范围很大)。其中俗称   的 IEEE 802.3 是最常见的有线   。一组相互连接的网络称为互联网络,将两个或多个网络连接起来并提供必要转换的机器的硬件和软件方面的总称叫   ;按网络的拓扑结构分为   (节省线路,对故障敏感、重负载时效率低)、   (便于集中控制,成本高,中央设备故障敏感)、   (最典型例子是   ,信号单向传输)、   (可靠性高,控制复杂、成本高);按交换技术分为   (数据直接传送,时延小,但利用率低)、    (也称    网络)(可以实现不同链路间不同传输速率的转换,资源开销   ,缓冲区难以管理)、    (也称   网络,其缓冲易于管理,现在的主流网络基本都可视为这一网络)(王道P3)。

3. 参考模型

网络软件:为了降低网络设计的复杂性,绝大多数网络组织成一个层次栈或分级栈,每一层向上一层提供服务,相邻层次之间的是   ,不同机器上构成相应层次的实体称为    。P22 下层可以向上层提供面向连接的或无连接的服务。
参考模型:OSI参考模型又称为ISO的开放系统互连参考模型,自底向上分别有                     七层;底四层协议数据单元(PDU)分别为            (太硬了,包你断),物理层传输原始比特,数据链路层需要让原始的传输设施变成一条没有漏检传输错误的线路,网络层的关键问题是路由;传输层把上一层的数据分割成较小单元,确保其正确地发送。TCP/IP 参考模型以最主要的两个协议命名,分为            

4. Internet 标准领域有影响力的组织

建立 ARPANET 时成立的非正式委员会 -> Internet 活动委员会(其交流过程通过一系列技术报告实现,称“请求注释” RFC) -> 重组为 Internet 研究任务组(IRTF)和 Internet 工程任务组(IETF)。RFC 要上升为因特网的正式标准需经过   ->    (从这个阶段开始正式成为 RFC 文档)->    ->   。基本思想 -> RFC -> 可正常工作实现,严格测试 -> Internet 标准。万维网联盟(W3C)则负责制定 Web 标准。国际标准化组织(ISO)(提出 OSI)、国际电信联盟(ITU)下属的 ITU-T、国际电气电子工程师协会(IEEE)(提出 802)都是相关的网络标准。(王道P5)
度量单位:1kbps = 1000 bit/s,1Mbps=10^6 bit/s,但 1KB = 2^10B。

二、物理层

物理层在网络设备之间提供透明的比特流传输。

1. 数据通信理论基础

码元是指用一个固定时长(码元宽度)的信号波形(数字脉冲)表示一位 k 进制数字。
可以双向同时使用的链路称为全双工链路,可以双向使用但一次只能使用一个方向的链路称为半双工链路,只能单向传输的链路是单工链路。
一般情况下,在 0 到 fc 的频率范围内,振幅在传输过程中不会衰减,fc   ,这段在传输过程中振幅不会明显减弱的频率的宽度就称为   ,其本质是传输信道的物理特性。“带宽在 3MHz 到 4MHz 之间” -> 带宽为  MHz。(P71)
模拟带宽(物理带宽)单位为   ,指的是   ;数字带宽单位为   ,指的是       指的是单位时间内数字通信系统传输的码元的个数,单位是    。(王道P32)
奈奎斯特定理:经过物理带宽为 B Hz 的低通滤波器后,只需进行每秒     次采样,就可以完全重构信号。如果信号包括 V 个离散等级,最大传输速率为    。(P73)当一次采样 16bit 时,信号的离散等级为?
噪声分贝值计算公式?
香农定理:带宽为 B Hz、噪声比为 S/N 的有噪声信道,最大数据速率为    。(为了记住公式:极端情况下,可达到 0)

2. 传输介质

磁介质:磁带、磁盘手动传送(P74)
双绞线:最常用的古老传输介质(电话系统),由两根相互绝缘的铜线牢牢地缠绕在一起构成。   用于连接异种设备,   用于连接同种设备。其带宽取决于铜线的粗细和传输距离,距离太远时对于模拟信号需要使用放大器,对于数字信号需要中继器。5 类双绞线单位长度缠绕更紧,串扰更少,可用于 100Mbps、1Gbps 以太局域网。到 6 类线为止,所有的双绞线都是   双绞线(UTP),价格较低廉;7 类线有屏蔽层。(P75)
同轴电缆(coax):分为 50Ω 和 75Ω,抗干扰性更好,广泛应用于有线电视和城域网。
光纤:利用光导纤维传递光脉冲(全反射),由      组成,其中   传播单一光线,直径  ,成本  ,带宽   ,适合   距离传输;多模光纤适合   距离传输。光纤容量  ,损耗  ,抗电磁干扰能力   ,保密性   ,重量   。(王道P54)多根光纤包在护套中可以形成光缆。
光纤 VS 铜线:光纤的带宽高、衰减低;光纤受电磁干扰小;不易被腐蚀。但光纤易折断,光纤接口成本高。

3. 物理层接口

四个重要特性为   (接线器形状)、   (某条线上的电压范围)、    (某一电平的意义)、   (事件顺序)。(没有“物理特性”!)

4. 数字调制

把数据从数字变为模拟信号称为   ,把模拟信号变回数字信号称为   ,把数据从数字变为数字信号称为   。一般将从 0 到某个最大频率的信号称为     信号,将被搬移并占用某个更大频率范围的信号称为   ,无线连接一般采用通带传输,而基带传输常用于有线。
数字数据编码为数字信号:
归零编码:每个周期的后半段均为 0。
不归零(NRZ)编码简单,但很少使用,曼彻斯特编码(起源于与时钟异或)需要两倍带宽(以太网使用)(从低电平到高电平是  ,从高电平到低电平是   ),不归零逆转(NRZI)对于 1    ,对于 0    。USB 使用 NRZI。4B/5B 编码是什么?什么是双极编码(AMI)?
数字数据编码为模拟信号:通带传输可以使用   键控、   键控、   键控,结合振幅和相位时可以形成   (QAM),可以作出星座图,当波特率为 B,采用 m 个相位,n 种振幅时数据传输速率=   。为了让少量突发噪音引发的比特出错的位数尽可能小,提出了   码,其相邻符号比特只有一个比特不同。
模拟数据编码为数字信号:PCM(   ,用于电话系统)P119

5. 多路复用

复用模式使得多个信号共享传输线路,   将频谱分成多个频段,每个用户占有一个频段,如 AM 调幅,   使信道之间完全隔离(正交频分复用是没有的);   中每个用户周期性地获得整个带宽一个非常短的时间,可能需要保护时间间隔;   是扩展频谱通信的一种形式,用户只能发送分配给它的   (1)或其   (0),所有的码片序列都两两      (WDM)在光纤上复用信号,本质上与 FDM 相同。

6. 公共电话交换网络

电话机 —<—本地回路,传送模拟信号的双绞线—>— 端局(编码解码器(codec)采用 PCM 进行模拟数据->数字信号)—<—中继线,数字光纤—>— 交换局 <..
电话系统分为         (P111)。
为了减少错误,采用   编码调制(TCM 或网格编码调制)在样本中留出额外的位进行纠错。
基于 PCM 的 TDM 中,北美、日本使用   ,其余国家使用   

7. 交换技术

   在发送数据前需要建立一条端到端的路径,分为连接建立、数据传输和连接释放三个阶段,其时延小、有序、无冲突、控制简单,但建立连接速度慢,且线路独占效率低,难以规格化;   在交换节点采用存储转发的方式,无须建立连接、动态分配线路,可靠性高、利用率高,但有转发时延,且网络结点缓存空间大,现在常常被   取代,这是一种限制每次传送的数据块大小的上限以形成分组的方式,其优点在于相对报文交换简化了存储管理、缩短传输时延,且分组逐个传输使得后一个分组的存储和前一个分组的转发可以并行,减少出错和重发,但需要传输额外的控制信息,控制复杂,处理时间长,同时分组顺序无保证。(王道P36)
分组交换根据其通信子网向端点提供的服务分为面向连接的   (保证到达,对长时间、频繁的数据交换效率高,每个分组使用长度较短的虚电路号)和无连接的   (不保证可靠性,不一定按序,每个分组使用长度较长的目的 IP)。网络中传输是否有确认和这两种服务没有关系。(王道P38)

8. 物理层设备

中继器:将信号整形放大再转发出去;两端必须是同一协议
集线器:本质上是多端口的中继器,因扩大冲突域、降低性能而走向消亡;  双工。(王道P58)

三、数据链路层

重新复习三.1,选择重传常常跟   策略结合到一起,简述 1-坚持载波检测多路访问(CSMA)(冲突时等待多久?冲突的机会取决于   ?)什么是 CSMA/CD ?检测冲突的最小时间是?其低负载(只有一个站发送数据)下的信道利用率、高负载(所有站都要发数据)下的信道利用率如何计算?802.11 帧有         三种。VLAN 发送过程?VID?802.11Q 帧?

1. 数据链路层的功能

通常可以为上层(网络层)提供无确认的无连接服务(如    ,适合错误率   或实时通信如语音传输),有确认的无连接服务(适用于错误率高的信道,如    ),有确认的有连接服务(长距离且不可靠,如卫星信道)。不存在无确认的有连接服务。
为了方便检测错误或纠正错误,可以将比特流拆成多个离散的帧。成帧可以使用   (利用头部的一个字段标识帧中字节数,简单,但一旦出错难以恢复)、   (任意比特数的帧不适用,必须是 8 的倍数)、    (任意字节可用)、    (不再需要字节填充或比特填充,效率高)。成帧时既要首部,也要尾部,因为要从一串比特流中区分开来;而有了帧尾后其上的分组(IP 数据报)就不需要尾部了。
首部和尾部的重要作用是确定帧的分界,其余的(帧的数据部分)长度上限为最大传送单元(英文   )(王道P66)。
数据链路层还可以进行差错控制、流量控制。
网卡工作在物理层和数据链路层的 MAC 子层。

2. 差错检测和纠正

假设有 m 个数据位,r 个校验位,n=m+r,一个包含了数据位和校验位的 n 位单元称为 n 位码字,码率为 m/n,两个码字中   称为海明距离,全部码字的海明距离指的是       。为了检测 d 位错误,需要的海明距离最小为    ;为了纠正 d 位错误,需要的海明距离最小为    。(P159)
纠错码可以在错误发生频繁的信道(如无线链路)应用。为了纠正单个错误,m、r 有什么关系?    。(P160)掌握海明码是如何纠一位错的?纠一位错的海明码可以纠突发错误吗?(可以,将 k 个码字按行排列成矩阵,按列发送。发生突发错误时,每列至多只有一个错误时,可以纠正。)
检错码适合用在出错较少的光纤等,可以用奇偶校验码(突发错误有 1/2 可能检测不出来)、循环冗余检验码(CRC,广泛应用于数据链路层)。CRC 中最高位和最低位的系数为   ,生成多项式 G(x)=x^4+x+1 的阶数 r=   ,除以多少?列竖式时最后要补几个零?,如何计算 CRC?以 1101011011,G(x)=x^4+x+1 为例。带 r 个校验位的多项式编码可以检测到所有长度   的突发错误。

3. 基本数据链路层协议

发送方在前移到下一个数据之前必须等待肯定确认的协议称为肯定确认重传协议。

4. 滑动窗口协议

暂时延缓确认以便于将确认信息搭载到下一个出境数据帧的技术称为   ,其可以更好地利用信道带宽。
在滑动窗口协议中,发送方维持一组序号对应着允许它发送(包括已发送未被确认)的帧,这些帧落在   中,当有新的数据包从网络层到来时(前提是窗口没达到最大尺寸),被赋予窗口中的下一个最高序号,窗口的上边界前移,收到确认时下边界前移;接收方维持一组序号对应着允许它接收的帧,这些帧落在   中。两个窗口可以不同大小。但接收时数据链路层交给网络层的数据包必须与发送时数据包的次序相同。
为了找到合适的连续发送帧的上限数 w,需要计算一帧从发送到被接收方接收期间信道上可容纳的帧数(    )BD,则 w=   。(P180)
在管道化传输中哪两种基本方法可以解决错误?(GBN,SR)P181 错误较少发生时适合使用哪个?选择重传常常跟   策略结合到一起。对于回退 n 帧协议而言,可以发送的帧数量与序号个数有什么关系?选择重传呢?选择重传中接收方需要多大缓冲区?P188 NAK 丢了会怎样?会重发 NAK 吗?P188
解释信道效率(信道利用率)、信道吞吐率?发送方在一个发送周期(如,从开始发送数据到收到第一个确认帧为止)的时间内有效地发送数据所需要的时间占整个发送周期的比率;信道吞吐率为信道利用率×发送方的发送速率,单位 bps。

5. 介质访问控制

用来确定多路访问信道下一个使用者的协议属于数据链路层的介质访问控制子层(MAC,Medium Access Control)。
静态信道分配方法:FDM、TDM、WDM、CDMA 等,不能适应突发流量。
冲突检测:比较收发信号能量和脉冲宽度的变化
冲突窗口:    ,等于信号在最远两工作站传输延迟的两倍,即一倍的 RTT(Round Trip Time),因此发送最短帧的用时也要大于冲突窗口时间。
竞争协议:ALOHA 协议:想发就发,先发后听;有帧损坏,随机等待。其中又分为         。(所有帧长度相等)用帧时表示      ,那么纯 ALOHA 的冲突危险期为     ,最好的信道利用率约为   ;分槽 ALOHA 的冲突危险期为    ,最好的信道利用率为   (1/e)。P202
站监听是否有传输并据此行动的协议称为    。有线网络通常  载波侦听,无线通常  载波侦听(eg. A 和 B 接入同一 WiFi,A 不一定和 B 在彼此信号范围内)。简述 1-坚持载波检测多路访问(CSMA)(冲突时等待多久?冲突的机会取决于   ?)?非坚持 CSMA(在有站传输时会一直监听吗)?p-坚持 CSMA(p 是发送还是不发送的概率?适用于时间连续还是离散?在有站发送时等待多久?无站发送却因为概率原因不发送的话等待一个时间槽还是随机时间)?什么是 CSMA/CD ?其原则用八字怎么描述?检测冲突的最小时间是?
(总结:有站传输时要么不管它,要么等待随机时间)
无冲突协议(了解):

  • 位图协议(采用了基本位图法),在发送之前先广播自己的意愿的协议叫   :竞争期 j 号站在 j 号槽中插入一位来声明要发送帧,当所有 N 个槽经过后,所有在槽中插入 1 位的站按   顺序传送数据。其低负载(只有一个站发送数据)下的信道利用率、高负载(所有站都要发数据)下的信道利用率如何计算?P209
  • 令牌传递:拿到令牌后,有帧则先发送帧,之后再给下一个站传递令牌。用物理总线实现令牌环为令牌总线。 P210
  • 二进制倒计数 P210

有限竞争协议(了解):自适应树遍历协议 P212
无线局域网协议(了解):隐藏终端问题,暴露终端问题

6. 局域网之以太网

分为经典以太网(原始形式,  双工,1-坚持 CSMA/CD)、交换式以太网(速度可达 Gbps,是目前使用的)。
DIX 以太网帧(通常的使用标准)和 IEEE 802.3 帧有细微的区别:
IEEE 802.3 帧:
前导码 10101011 | 目的地址(第 1 字节最低位为 1 说明是组播) | 源地址(MAC)| 长度(不包括前导码,包括帧头帧尾,64~1518 字节,最长防止缓冲区溢出;不和上层打交道,不用类型;值 < 1536)| 数据(最少 46 字节,保证最小 64 字节)| 校验(CRC32,4 字节,校验除了前导码的内容)(“钱墓园常数觉”)
以太帧:
前导码 10101010 | 目的地址 | 源地址 | 长度 | 类型 (值 > 1536 即 0x600)| 数据
MAC 地址:前 24 二进制位是 OUI,代表组织。可以用破折号、冒号或句点,但必须是 16 进账。
经典以太网使用 1-持续的 CSMA/CD,当冲突发生后时间被分为长度等于往返传播时间的离散的时间槽,用   算法确定随机等待的时间。达到   次冲突后随机数的区间固定为  ,达到   次冲突时放弃。
交换式以太网:交换机分割了冲突域,可以连接两个不同协议的网络,可以连接快速与慢速的主机(进行缓存),可以只把流量转发到其目的端口。
以太网命名方式:
10:10Mbps 传输带宽 Base:基带传输 2(或 5):同轴电缆传输的长度,5 - 500m,2 - 185m
10Base5 - 粗缆 总线型拓扑
10Base2 - 细缆 总线型拓扑
10BaseTX:T - 铜质非屏蔽双绞线 100m 星形拓扑(中心为集线器)
F - 光缆 2000m P217和袁老师课件 点对点拓扑
快速以太网 100Base-T,如果使用全双工方式的话就不需要 CSMA/CD 了。

7. 局域网之 IEEE 802.11

无线局域网分为     的无线局域网(星形拓扑,中心叫   ,是数据链路层设备,采用 CSMA/CA)和无     的无线局域网(又叫自组织网络)。王道P112
802.11 帧有         三种。P113(数控管)
802.11 数据帧由 MAC 首部(较为复杂)、帧主体(数据)、MAC 尾部(帧校验序列)组成,MAC 首部中前三个地址字段的内容取决于帧控制字段的“去往 AP”和“来自 AP”,地址 1 是直接接收数据帧的结点地址,地址 2 是实际发送数据帧的结点地址。A —(去往 AP, AP, A, B)—> AP —(来自 AP, B, AP, A)—> B 王道P114
路由器与 AP 是独立的,路由器是网络层设备。

8. VLAN

通过虚拟局域网(VLAN),可以把一个较大的局域网分割成一些较小的逻辑上的 VLAN,每个 VLAN 是一个较小的   。王道P115
注意,VLAN 既可以隔离冲突域,又可以隔离广播域。王道P138
发送过程?(在何处交换的是 802.11Q 帧?)VID?王道P116

9. 数据链路层设备

两个或多个以太网通过网桥连接后形成覆盖范围更大的以太网,原来的每个以太网成为一个网段。以太网交换机是一个多端口的网桥,工作在数据链路层,交换机可以隔离   。以太网交换机可以同时连通多对端口,使每对互相通信的主机都能无碰撞地传输数据。
以太网交换机的交换方式可以采用   (速度快,但无法在不同速率端口之间交换,缺乏安全性(错帧被转发))、   (有延迟,但可靠性高,可以在不同速率之间转换)、无碎片交换(折中,因为很多发生冲突的帧是小于 64 字节的残帧)。P263
网桥工作在混杂模式下,每个网桥有一个(哈希)表,使用后向学习算法(泛洪,转发,过滤,学习):
对于每个入境帧,如果去往目标地址的端口和源端口相同,则   ;如果去往目标地址的端口和源端口不同,则   ;如果目标地址未知,则采用   法,将帧发送到除      端口;
记录(或更新)端口上发送的帧的源地址以及时间到表中;
有一个进程定期删除一段时间前的表项。P259

交换机和网桥的不同之处:王道P138(连-通-发)
交换机一般直接连接局域网主机,网桥常常要连接集线器(网桥只有两个端口)
交换机允许多对计算机同时通信,网桥仅允许每个网段上的计算机同时通信
网桥只能采用存储转发方式,交换机还可以采用直通方式

10. 生成树协议

(这部分填空答案在下面,因为课本、王道上好像没有)
网桥之间的冗余链路生成了拓扑环路,可能产生广播风暴、多帧传送、MAC 地址库不稳定的问题。
为此,STP(Spanning Tree Protocol)规定每个网络有一个根网桥,每个网桥有一个根端口,每一个网段有一个   ;只使用   转发;   侦听工作报文,在某些端口失效时可以重新启用。
生成树算法生成无逻辑回路的生成树,但不能保证    

答案:指定端口 指定端口 非指定端口 路径最优

四、网络层

复习:IPv4 和 v6 头部的长度字段比较?网点本地地址?可聚合   地址?

1.网络层功能与设计

网络层任务之一是将异构网络互联,网络层中继系统为   ,网络层以上的中继系统为   。王道P140
网络层向传输层提供无连接服务,这样的网络叫    ;提供面向连接的服务,这样的网络叫   。IP 协议是    的重要范例。在面向连接的服务中,每个数据包包含一个标识符(虚电路号),路由器具有替换出境数据包中连接标识符的能力以防不同的源主机发出同样标识符的数据包而冲突,这叫标签交换。P276

2. 路由算法

路由算法分为非自适应算法(   )(网络管理员手工配置,在小型网络中易实施、安全稳定开销小)、自适应算法(    )(最常见;有助于流量控制,开销大)。
路由算法的目的是为所有路由器发现和使用   。P281
   算法(DV):每个路由器维护一张以网络每个路由器对应一个表项的路由选择表(即矢量),储存每个目的网络及到其的最短距离(距离又称代价)(可以用跳数或平均延迟、带宽之类的衡量)以及下一跳,如   协议(这一协议使用   作为距离的度量,且最大值为 15,可见只适用于小型网络,王道P146)。所有结点都定期地(RIP 是 30s)将他们的整个路由选择表传送给所有直接相邻的结点,当某一结点被通告一条新的、在本地路由表中不存在的路由时加入这条新的路,当发来的路由信息中有一条到达某目的地的路由代价更小时替换。P285
距离-向量路由算法更新报文的大小与通信子网的结点数成正比,在通信子网上传送的路由选择信息的数量容易变大。王道P146
距离矢量路由算法对于好消息反应迅速,对于坏消息反应迟缓(慢收敛),坏消息具有    问题,可以用毒性逆转等方式缓解(解释毒性逆转?)。P287

   (LS)算法使用   法将包含发送方            及代价的链路状态数据包向本自治系统中所有路由器发送信息(而不是只向相邻的发送;采用序号作为标识,链路状态数据包中还记录着年龄,请判断是每一跳减少年龄还是每秒钟?),且可以在仅当链路状态发生变化时才发送。P289
此算法每个结点使用同样的原始状态数据独立计算路径,不依赖   的计算;   排查故障;且由于链路状态报文仅运载单个结点关于直接链路的信息,大小与网络中的路由结点数   ,有更好的规模可扩展性。
DV 是应用层协议,OSPF 是网络层协议。OSPF 有哪五种分组类型?王道P189
(答案:问候分组,数据库描述分组,链路状态请求分组,链路状态更新分组,链路状态确认分组)
层次路由:网络规模增长,路由表过大,路由需要分层;因特网将整个互联网划分为许多较小的自治系统,在一个自治系统内部所使用的路由选择协议称为内部网关协议(英文   ,例如 RIP、OSPF;网关是路由器的旧称),在自治系统之间的路由选择协议称为外部网关协议(英文   ,如 Internet 上的 BGP)。
广播路由:逆向路径转发算法、使用生成树。
组播路由
选播路由:数据包被传给最近的组成员
移动主机路由:家乡代理,三角路由
自组织网络(Ad hoc)路由

3. 拥塞控制算法(站在更高角度了解)

按生效从慢到快:
流量感知路由(把延迟算入权重,路由表可能会剧烈摇摆)
准入控制(广泛应用在虚电路)
流量调节(向源主机返回抑制包,显式拥塞通知;逐跳后压(生效较快,但需要每个路由器具有缓存空间))
负载脱落

4. 服务质量(站在更高角度了解)

应用需求(分带宽、延迟、抖动、丢失)
流量整形(不考)
包调度
准入控制

5. 网络互联

今天,网桥主要用来连接链路层的同类网络,路由器用来连接网络层不同的网络。P330
网络层屏蔽了不同网络的硬件体系上的差异。
多协议路由器可以处理多个网络协议。
隧道:源主机和目标主机所在网络的类型完全相同,但中间隔着一个不同类型的网络。但隧道无法到达位于隧道之下网络的主机。
数据包分段:大数据包穿过路径最大传输单元(MTU)更小的网络时,需要允许   将数据包拆分成段。P333
将分段重新组成原始的数据包,有   分段(重组发生在   分段中提供计数字段,且所有数据包必须经过   出口路由器,还需要   到达的段)和   分段(重组发生在   ;开销可能比透明分段高)两种策略,IP 采用的是   
路径 MTU 发现:找到路径上最小的 MTU

6. Internet 网络层

IP 提供一种尽力而为(Best Effort)的(不可靠服务);为路由提供信息,被称作“被路由”协议
IP 地址实际上指向的是网络接口。
IP 地址分为 A、B、C、D、E 五大类;A 第一个八位组为网络部分,第一位为 0(0~127);B 前两个八位组为网络部分,前 2 位为 10(128~191);C 前三个八位组为网络部分,前 3 位为 110(192~223),最多只有 254 台主机(主机部分全为 0 的是网络地址,全为 1 的是广播地址,主机或接口都不能使用);D 类用作组播,E 类用作科研。

0.0.0.0 指的是这个主机、这个网络,或路由器默认网关(转发时,目的网络是其他网络时选择默认路由);255.255.255.255 是泛洪广播地址,为了避免广播风暴,事实上是本地广播地址,路由器不会转发;127 开头的是 Lookback Network(环回地址);169.254.0.0 是非法地址,如无法从 DHCP Server 正常拿到地址,此地址无法正常通信。

主路由器(边界路由器)利用子网掩码机制决定分组向内部哪个转发。子网掩码既可以用点分十进制,也可用斜杠 网络位数+子网位数 表示(子网位数是从主机位数借位而来);路由器不必记录全部主机的 IP,只用按位与;IP 地址由两级结构变成了三级结构。广播地址、网络地址不能标识主机,因此子网的主机位数至少保留 2 位(否则除了全 0 就是全 1)。网络地址正是路由表的查找入口。

IP 寻址只找到目的机所在的网络,MAC 地址找到目的机。执行 IP 寻址的主要设备就是路由器,一个路由器一跳(hop),最后一跳会解开,最后一个网络上 MAC 寻址会起作用(主要是交换机执行)。MAC 寻址对比 IP 寻址?MAC 寻址只适合小型网络,而 IP 寻址在整个互联网上逐跳推进,MAC 地址是平面的,IP 地址是结构化的,本身携带了位置信息;分别位于数据链路层、网络层;MAC 地址目前还没有用尽的可能,IPv4 已经枯竭;表示的格式不同。
路由器收到分组后有三个动作:解封装(打开到网络层,取目的 IP);目的 IP 和子网掩码进行按位与,得到目的网络(目的网络是路由表的查找入口;路由表只保存网络地址,不保存具体的主机);重新封装,传给路由表中的下一条(TTL 要减一;TTL - 1 为 0 后会向源发送一个超时信息,同时丢弃)。
在不同网络中传送时,MAC 帧中的源地址和目的地址是否会发生变化?王道P158(这是因为具体传送数据帧的数据链路层只认识 MAC)

IP 分组:头部 + 数据。
头部:12 基本字段(20 字节) + 选项部分。
IPv4 头部格式:
协议版本(0100:v4,4 位);报头长度(4 位,单位是 4 字节,即要乘 4;0101(头部最小是 20 字节)~1111);区分服务(Differentiated Service,8 位,没怎么用);数据报总长度(16 位,单位为字节);数据包标识号(16 位,确定分段属于哪一个数据报,是为分段准备的),标志位(3 位,决定是否要分片,如从大 MTU 网络进入小 MTU 网络;MF=1 说明有 More Fragment,即还没到结尾;DF=1 说明 Dont Fragment,不可分段),分段偏移量(13 位,分片后可以用于重组;以 8 字节为偏移单位,因此除了最后一个分片外,每个分片的长度都是 8B 的整数倍),生存时间(TTL,8 位,目前单位为跳数),用户协议(8 位,说明传输层用的是什么协议,17 - UDP,6 - TCP),报头校验和(16 位,只对头部计算),源 IP 地址(32 位),目的 IP 地址(32 位),可变长选项(很少使用),填充(将选项填充为 32 位的整数倍,否则报头长度没法是 4 字节的整数倍)。

有了地址聚合,同样一个 IP 地址,不同的路由器可以将其作为不同大小的子网的一部分(更外围的路由器可以将多个小前缀的地址块合并成一个大前缀的地址块),减小路由表大小,此设计叫    ;前缀重叠时,采用    。P343

NAT 中文名叫做    ,使用的三个私有 IP 地址(可重用 IP 地址)范围是      ,出境数据包进入 NAT 盒子后替换源 IP 地址和     。NAT 减少地址消耗,隐藏内部网络结构,但 NAT 实际上违反了协议分层规则:NAT 路由器还需要查看和转换传输层的端口号(工作在传输层)。P347

IPv6:根本上解决 IP 地址耗尽问题,支持单播、      (不是广播!),但我们本科生只关注单播,使用    书写方式(八个 16 位组),0123->123,双冒号表示多个全 0(只能出现一次)。从 v4 向 v6 过渡可以采用双协议栈或隧道技术。

“邻节点”在同一链路(这里的“链路”是由内部路由器分割的线路)上可以跨越交换机。
特殊的 IPv6 地址:
::/128:未指定(还没获取到地址;路由表默认路由)
::1/128 (127 个 0):环回地址,相当于 127.0.0.1
FF 开头(高八位全是 1):组播
FE80 开头 FE80::/10:链路本地地址
FEC0 开头 FEC0::/10:网点本地地址
链路本地地址只用在单一链路上,不转发到其他链路上,模式为 FE80:0:0:0:EUI 地址。EUI 由 MAC 生成,把 MAC 从中间切开,加上 15 个 1,1 个 0 后把(后 64 位的)从高位数第七位改成 1,形成 64 位 IPv6。
可聚合全球单播地址:高 64 位为网络位,低 64 位为主机位(Interface ID);最高的 48 位是提供商分配的,中间 16 位可以用来子网规划。如何生成?启动后 -> 链路本地地址 -> 和默认网关通信,获取全球 IPv6 地址前缀 -> 加上 Interface ID(三种方式生成:手工,EUI-64 生成(安全隐患),随机生成)生成

  • IPv6 固定头部(基本头部)相比 IPv4 的变化:只有 8 个字段,更精简;但有 40 个字节(IPv4 不含选项只要 20 字节)。
    协议版本 4bit 0110 | 业务等级(提供区分服务,表明优先级) 8bit | 流标签(建立伪连接的能力) 20bit | 净荷长度(指明数据长度,不包括报头) 16bit | 下一个头(指明了当前头之后有哪种扩展头;如果当前是最后一个,就退化为表明搭载的协议,6 - TCP 17 - UDP) 8bit | 跳数限制(HP=TTL) 8bit | 源地址 128bit | 目的地址 128bit
    相对 IPv4 增加:流标签 修改:长度(v6 只有一个长度了,因为有个“下一个头”)、跳数限制 删除:分段用的标志、分段偏移量(IPv6 需要先知道最小的 MTU)、校验和(数据链路层、传输层常常都校验)、选项
  • IPv6 扩展头

7. Internet 控制协议

ARP 协议中文叫   ,每台主机有 ARP 高速缓存;如果转发时 ARP 高速缓存中有目的主机 MAC,则将 MAC 地址写入 MAC 帧;如果没有,则把     写入 MAC 目的地址并广播 ARP 请求分组,目标主机收到后发送单播还是广播响应?王道P158

ICMP(Internet 控制消息协议):ICMP 是网络层协议,被封装在   中,ICMP 报文分为 ICMP 询问报告(如 ECHO)、ICMP 差错报告(TIME EXCEEDED(TTL=0))。P358
(这部分是 MOOC 上的,答案在后面)ping 命令:向目的站点发送   报文,目的站点发回    报文。tracert 命令是通过   得到途径的路由器列表。PMTU(路径 MTU)发送 DF=1 的数据包,得到 PMTU。
答案:ICMP 回声请求 ICMP 回声应答 ICMP 超时报文

DHCP(动态主机配置协议):客户端-服务器模式

8. 网络层设备

路由器分割广播域。
王道考研认为,转发表/路由表是不一样的,分组的转发实际上靠的是转发表(讨论路由选择的原理时一般不区分)
路由表:目的网络/子网掩码,代价(跳数、带宽),…
直连路由:接口直连的子网
静态路由:人工配置(其中有个默认路由,找不到路时从这里转发)(在小型网络中容易实施,稳定安全开销小;适合小型的网络或默认路由)
动态路由:路由选择协议自动建立的(最常见,适合大型的、动态变化的,使实施更复杂,有安全隐患,维护需要 CPU 内存 带宽开销)

五、传输层

1. 传输服务

完成传输层任务的硬件或软件叫传输实体,传输层协议数据单元为 TPDU(数据段 Segment)。
传输层提供应用进程之间的逻辑通信,不同应用进程可以使用同一协议;传输层对收到的报文(首部和数据部分)进行差错检测,但网络层只检查 IP 数据报的首部。
网络层往往为运营商架设,传输层能让用户控制;传输层为网络应用程序员提供统一的接口;网络层是主机到主机,传输层送到进程(端到端)。
通信模型:通信五元组?通信三元组?
答案(MOOC):源 IP,源 Port,传输协议,目的 IP,目的 Port;源端点,传输协议,目的端点。

2. UDP(用户数据报)协议

无连接。
数据段头:
源端口 16 | 目的端口 16 | UDP 长度(头部 + 数据)| 校验和(不计算时置 0)
应用层的各种应用进程通过端口将其数据交付给传输层。应用程序用   bit 的端口号标识,服务端的端口中知名端口只能由 UNIX 特权用户使用(小于   ),如 FTP 使用    ,SSH 使用    ,SMTP 使用    ,HTTP 使用    ,HTTPS 使用    。P427
服务端的登记端口/注册端口(非特权用户端口/用户端口)号范围是?客户端的动态端口(私人端口)号呢?王道P218
UDP 支持一对多、多对一、多对多吗?王道P222
UDP 校验和计算?(如果数据不是偶数怎么办?)王道P223

3. TCP 协议

TCP 协议是   双工、点到点的面向连接服务,将数据视为无结构的字节流。开销大,   支持组播、广播。P427
TCP 连接的端口称为套接字。
TCP 报文段的段头(最短为 20 字节,大于 UDP):
源端口 16 | 目的端口 16 | 序号 32(发送数据的每个字节都占用一个序号,头部的不算)| 确认号(期待接收的字节编号;累计确认)32 | TCP 段头长度(单位是 4 字节,和 IPv4 一样)4 | 保留 + 控制位 | 窗口尺寸 16(从确认字节号开始连续发送的字节总数,防止接收方被数据淹没)| 校验和 | 紧急指针(指向从当前序号开始找到紧急数据的字节偏移量)
TCP 三次握手建立连接是具体怎样的?答:
Server 常常被动等待。
Client 发送连接请求 SYN=1,ACK=0,seq=x(随机;交换初始序列号),变为 SYN-SENT 状态
处于 LISTEN 状态的 Server 变为 SYN-RCVD 状态发送连接应答,SYN=1,ACK=1,seq=y,ack=x+1
Client 变为 ESTABLISHED 状态并发送:SYN=0,ACK=1,seq=x+1,ack=y+1
Server 收到后也变成 ESTABLISHED 状态。

SYN 泛洪,使用伪造的源 IP,服务器等不来第三次握手了

TCP 四次握手(四次挥手)释放连接:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
(ESTABLISHED)               (ESTABLISHED)
主动关闭方 ----FIN=1,seq=u----> 被动关闭方
(FIN-WAIT-1)
<----ACK=1,seq=v,ack=u+1----
(FIN-WAIT-2) (CLOSE-WAIT)
此时已经释放掉客户端向服务器发送数据的通道
<----进行未完成的数据传送----

<---FIN=1,ACK=1,seq=w,ack=u+1
(LASK-ACK)
----ACK=1,seq=u+1,ack=w+1---->
(TIME-WAIT) (CLOSED)
等待 2MSL
(CLOSED)

我猜双方各自关闭各自的发送方向,因此只出现两次 FIN。

TCP 可靠传输的保障是什么?
答案(袁老师 PPT P107):采用肯定确认重传技术;采用面向连接的数据传输服务;做了收发双方的优化;采用了窗口技术(接收窗口,拥塞窗口,发送窗口);采用快速重传、快速恢复技术。(“肯连窗快”)
王道答案:校验,序号(首部的序号字段),确认(累计确认),重传(超时重传,冗余 ACK 重传 -> 与累计确认紧密相关)王道P232

TCP 窗口为 0 时,发送者可以发送一个字节的数据段,以便让接受者再次发送期待接收的字节号和窗口数;或发送 Urgent 数据以杀掉远程机器的进程;但其他情况下不能正常发送数据段。
简述 Nagle 算法?当数据一个一个字节地发送时,只发送第一个字节,然后将后续的字节缓存起来直到发出的字节得到确认。只有第一次发送的数据包是小数据包。这样减少了所需带宽,但不利于 Internet 游戏。
简述 Clark 解决方案?接收方等到有了一定数量的空间之后再告诉发送方。(解决了傻瓜窗口综合症问题)
Nagle 送,Clark 收(拿镐送)

传输层流量控制 VS 数据链路层流量控制?王道P234(传输层是端到端,数据链路层是两个中间的相邻结点的流量控制;数据链路层的滑动窗口协议的窗口大小不能动态变化,传输层的可以)
TCP 拥塞控制:假设超时是由拥塞引起的。发送者维护接收窗口 rwnd(易获取)、拥塞窗口 cwnd(网络目前容量,难获取),发送窗口是这两个窗口的最小值。
慢启动算法:从当前使用的最大数据段长度初始化拥塞窗口,然后发送一个最大的数据段;如果未超时且未超过慢启动阈值,则翻倍(但不能跃过慢启动阈值);如果超过了慢启动阈值,每个往返时间拥塞窗口只增加一段;收到三个冗余 ACK 则认为慢启动阈值(ssthresh)是当前拥塞窗口大小的一半(但不能小于 2),之后拥塞窗口设为 1。(王道认为,超时时拥塞窗口会直接设为 1)
发生重传后,慢启动阈值被设置为当前拥塞窗口的一半,拥塞窗口被设为 1 个包。(TCP Tahoe)
快速恢复:TCP Reno(拥塞窗口被设为慢启动阈值)
快速重传:利用冗余 ACK 表达中间有包丢了(因为是累计确认的),三个重复 ACK 会重传,不必等重传计时器超时

TCP 四个计时器具体是?      (防止接收窗口为 0 时死锁)、        。(袁老师 PPT)
答案:重传计时器、持续计时器、保活计时器、时间等待计时器。

六、应用层

1. DNS 域名系统

Internet 被划分为多个   域名,顶级域名被分为       两种类型。绝对域名总是以   结束。P472
顶级域名下还有二级域名、三级域名……每个域负责分配其子域。

DNS 的基本功能是将域名映射到资源记录,一条资源记录包括哪五元组?IPv4、IPv6 的类型是?P475

域名解析:将域名映射为 IP 地址。主机查询本地域名服务器(递归查询):如果要寻找的域在本地域名服务器管辖范围内,本地域名服务器返回权威记录;如果被请求的域名是远程的,且本地未缓存,则本地域名服务器向根域名服务器发送查询请求(迭代查询,反复查询):根域名服务器可能直接给出资源记录,也可能告诉它向哪个顶级域名服务器发起查询。

1
2
3
4
5
6
7
8
9
y.abc.com --递归查询-> dns.xyz.com --迭代查询-> 根域名服务器
<-
-> dns.com
<- 找
-> dns.abc.com
<- 权威资源记录 或 明确回答非法
<-
z.abc.com -> dns.xyz.com
<-缓存-

共有  个根域名服务器?命名为?

DNS 消息通常使用 UDP 搭载,但 UDP 报文超过 512 字节时,需要用 TCP;主从域名服务器数据更新同步也需要 TCP。

2. 电子邮件

电子邮件系统包括      两类子系统,
SMTP 采用 ASCII 发送(用 MIME 收发多媒体邮件,二进制数据基于   编码),在两个 MTA 之间运行。由 ISP 的 MTA 暂存,在用户接受邮件后删除:   协议;MTA 永久保存:   协议。P481(SMTP 发,另两个收)

3. 万维网

从体系结构方面看,Web 应用包括         三个组成部分。P500
服务器返回 Cookie,浏览器将其保存在本地,在访问时一并发送。
什么是代理?(eg.很多学生访问 12306,校园网代理能减少出口带宽)P501笔记
TCP 移交?

4. 对等网络(P2P)

所有参与节点均提供资源。
DHT(分布式哈希表)是   的 P2P 网络,如 Chord:节点标识符为 160 位全体数字,排列成环;用 SHA-1 把 Chord 中的 IP 地址变成 160 位,这些节点标识符有节点(即 IP 地址)所对应;successor(k) 为      ,所有 160 位的数字排列成环,大多数标识符不对应节点;求要查找文件的文件名的 SHA-1,该文件就在 SHA-1 或其 successor 函数作为节点标识符对应的节点上。什么是指取表?第一项是加多少?P582

七、Cisco Packet Tracer

有连接:TCP
无连接:802.3(无确认) 802.11 (有确认) IP UDP TFTP

RTT 是往返时间,不是单程
MSS:最大报文段长度

部分参考了王道考研《计算机网络》。


计算机网络
https://zhaozihanzzh.github.io/2022/07/31/computer-networks/
Author
zhaozihanzzh
Posted on
July 31, 2022
Licensed under