📝 csnet 期末周复习

期末周复习自用,站建好了上传一下

计算机网络复习

1.五层协议栈及其作用:

  • 物理层(Physical Layer):负责比特流的传输,定义硬件设备的电气、机械、过程和功能规范。
  • 数据链路层(Data Link Layer):负责在物理链路上可靠地传输数据帧,进行差错检测与纠正。
  • 网络层(Network Layer):负责数据包从源到目的地的路由选择和转发,实现不同网络之间的互联。
  • 传输层(Transport Layer):为两台主机上的进程之间提供端到端的可靠或不可靠的数据传输服务。
  • 应用层(Application Layer):为用户的应用进程提供网络服务,如HTTP、FTP、SMTP等。

2.ISO七层模型及其作用:

  • 物理层(Physical Layer):负责比特流的传输,定义物理设备的电气、机械、过程和功能规范。
  • 数据链路层(Data Link Layer):负责在物理链路上可靠地传输数据帧,进行差错检测与纠正。
  • 网络层(Network Layer):负责数据包的路由选择和转发,实现不同网络之间的互联。
  • 传输层(Transport Layer):为主机间进程提供端到端的可靠或不可靠的数据传输服务。
  • 会话层(Session Layer):管理会话,建立、管理和终止进程间的会话。
  • 表示层(Presentation Layer):处理数据的表示、加密、解密和压缩,保证数据能被应用层正确识别。
  • 应用层(Application Layer):为用户的应用进程提供网络服务,如HTTP、FTP、SMTP等。

3.七层与五层协议的对应关系:

  • 物理层、数据链路层、网络层、传输层、应用层:在五层协议中与OSI模型的同名层直接对应。
  • OSI的会话层和表示层的功能,在五层协议中被合并到应用层中。
  1. 交换机与路由器(路由表)的功能比较:
  • 交换机(Switch):主要工作在数据链路层(第二层),根据MAC地址转发数据帧,通过维护MAC地址表实现局域网内的数据转发。
  • 路由器(Router):主要工作在网络层(第三层),根据IP地址转发数据包,通过维护路由表实现不同网络之间的数据转发。
  • 相同点:二者都实现了数据的转发和路径选择。
  • 不同点:交换机基于MAC地址、工作在二层,作用于局域网;路由器基于IP地址、工作在三层,作用于不同网络之间。
  1. TCP流量控制与窗口机制:

(1) TCP接收方RecvBuffer、LastByteRead、LastByteRecv,发送方LastByteSent、LastByteAck,这些参数需满足什么关系?

  • 接收方:LastByteRead < LastByteRecv ≤ RecvBuffer
  • 发送方:LastByteAck < LastByteSent

(2) 发送方怎么知道rwnd大小,rwnd=0时会发生什么,TCP如何解决?

  • 发送方通过ACK报文中的窗口字段获知rwnd。
  • rwnd=0时,发送方不能再发送数据,进入零窗口状态。
  • 发送方会周期性发送窗口探测报文(Zero Window Probe)以探测窗口是否打开。

(3) 这个问题涉及到TCP的什么功能?有何作用?

  • 涉及TCP的流量控制功能。
  • 作用:防止发送方发送过快导致接收方缓存溢出,保证数据可靠传输。

(4) 有协议规定太小的报文不发,等所有报文都收到ack后再一起发小报文,这样做的目的和负面影响?

  • 目的:减少小报文数量,降低网络开销,提高带宽利用率。
  • 负面影响:增加时延,降低实时性,应用层等待时间变长。
  1. 拥塞控制总结:

(1) 拥塞控制的四个阶段:

  • 慢启动(Slow Start):CWND(拥塞窗口)以指数方式增长,直到达到ssthresh(慢启动阈值)。
  • 拥塞避免(Congestion Avoidance):CWND以线性方式增长,每收到一个ACK,CWND增加1/CWND。
  • 快速重传(Fast Retransmit):收到3个冗余ACK时,立即重传丢失的数据包。
  • 快速恢复(Fast Recovery):ssthresh设置为当前CWND的一半,CWND调整为ssthresh+3,进入拥塞避免。

(2) 拥塞窗口CWND和ssthresh的变化:

  • 慢启动阶段CWND指数增长,达到ssthresh后进入拥塞避免。
  • 拥塞避免阶段CWND线性增长。
  • 丢包(超时或3个冗余ACK)时,ssthresh=当前CWND/2,CWND重置(超时为1,3冗余ACK为ssthresh+3)。

(3) 拥塞控制事件:

  • 丢包事件(如第16/22 RTT):CWND骤降,ssthresh调整。
  • 快速恢复后CWND和ssthresh的变化:CWND=ssthresh+3,ssthresh=原CWND/2。

(4) TCP-BIC(Binary Increase Congestion control):

  • 拥塞窗口采用二分法快速探测带宽上限,窗口收缩后以二分搜索方式快速恢复。
  • 优势:带宽利用率高,收敛速度快,适合高带宽高延迟网络,避免了TCP-Reno线性增长慢、带宽利用率低的问题。
  • 机制:丢包后窗口收缩到Wmin,然后以二分法探测Wmax,窗口增长更快且更平滑。
  1. 距离向量(DV)算法与毒性逆转:

(1) 距离向量(Distance Vector, DV)算法:

  • 每个路由器维护一张到所有目的网络的距离向量表(即到每个目的地的最短距离和下一跳)。
  • 路由器定期将自己的距离向量表发送给相邻的路由器。
  • 路由器收到邻居的距离向量后,利用Bellman-Ford算法更新自己的路由表。
  • 路由器只知道与自己直接相连的邻居信息,不知道全网的拓扑结构。
  • 典型协议:RIP(Routing Information Protocol)就是基于DV算法的。
  • 优点:实现简单,适合小型网络。
  • 缺点:收敛慢,容易出现“路由环路”和“计数到无穷”等问题。

(2) 毒性逆转(Poison Reverse):

  • 是DV算法中为防止路由环路和“计数到无穷”问题而采用的一种机制。
  • 当路由器A通过路由器B到达某个目的网络时,A会向B声明该目的网络的距离为“无穷大”(通常用16表示),即“毒性”信息。
  • 这样B就不会再把到该目的网络的路由信息传回A,避免了环路和错误信息的传播。
  • 毒性逆转能加快错误路由的收敛速度,但不能完全消除所有环路问题。
  1. IGP、EGP、BGP详解:

(1) IGP(Interior Gateway Protocol,内部网关协议):

  • IGP是指在同一个自治系统(AS)内部使用的路由协议,主要用于AS内部各路由器之间的路由信息交换和最优路径选择。
  • 常见的IGP协议有:
    • RIP(Routing Information Protocol):基于距离向量算法,适合小型网络,收敛慢。
    • OSPF(Open Shortest Path First):基于链路状态算法,支持大规模网络,收敛快,广泛应用于企业和运营商网络。
    • IS-IS(Intermediate System to Intermediate System):与OSPF类似,基于链路状态,常用于大型ISP和运营商网络。
  • IGP的特点是:只在AS内部传播路由信息,不负责AS之间的路由。

(2) EGP(Exterior Gateway Protocol,外部网关协议):

  • EGP是指用于不同自治系统(AS)之间的路由选择和信息交换的协议。
  • 早期的EGP协议是EGP(Exterior Gateway Protocol),但已被BGP取代。
  • 目前实际应用中,唯一广泛使用的EGP协议是BGP(边界网关协议)。
  • EGP的作用是实现互联网范围的路由可达性,负责AS之间的路由传播和策略控制。

(3) BGP(Border Gateway Protocol,边界网关协议):

  • BGP是目前互联网中唯一广泛使用的EGP协议,属于路径向量路由协议。
  • 主要用于不同AS之间的路由信息交换,是互联网的“主干”协议。
  • BGP通过维护AS路径(AS Path)等属性,实现路由选择和环路避免。
  • 支持路由策略控制,可以根据运营商、业务需求等灵活选择路由。
  • BGP分为eBGP(外部BGP,用于AS之间)和iBGP(内部BGP,用于AS内部路由器之间同步BGP信息)。
  • BGP的特点:可扩展性强,支持路由聚合和策略控制,适合大规模互联网环境。
  1. IGP与EGP的功能及配合:

(1) IGP(Interior Gateway Protocol,内部网关协议):

  • 用于自治系统(AS)内部的路由选择。
  • 常见协议有RIP、OSPF、IS-IS等。
  • 主要负责AS内部各路由器之间的路由信息交换和最优路径选择。

(2) EGP(Exterior Gateway Protocol,外部网关协议):

  • 用于不同自治系统(AS)之间的路由选择。
  • 目前实际应用中主要是BGP(边界网关协议)。
  • 负责AS之间的路由信息交换,实现互联网范围的路由可达性。

(3) IGP与EGP的配合方式:

  • IGP负责AS内部的路由收敛和最优路径,EGP负责AS之间的路由传播和策略控制。
  • 路由器在AS内部通过IGP学习和维护本地路由表,在AS边界通过EGP(如BGP)与其他AS交换路由信息。
  • 通常AS内部的路由信息通过汇总后由EGP向外通告,EGP学到的外部路由也会注入到IGP中供内部主机访问外部网络。
  1. RIP与OSPF详解:

(1) RIP(Routing Information Protocol,路由信息协议):

  • 基于距离向量(Distance Vector)算法的内部网关协议(IGP)。
  • 路由器定期向相邻路由器广播自己的路由表,度量值为“跳数”(Hop Count),最大跳数为15,16表示不可达。
  • 每30秒周期性更新,适合小型网络,配置简单。
  • 优点:实现简单,易于配置和管理。
  • 缺点:收敛慢,容易产生路由环路,最大跳数限制导致不适合大型网络,带宽利用率低。
  • 典型应用:早期企业局域网、小型网络。

(2) OSPF(Open Shortest Path First,开放最短路径优先):

  • 基于链路状态(Link State)算法的内部网关协议(IGP)。
  • 路由器通过洪泛方式向所有路由器通告链路状态信息,所有路由器获得完整的网络拓扑。
  • 使用Dijkstra算法计算最短路径,度量值为“成本”(Cost),可根据带宽等灵活设定。
  • 支持分层设计(区域Area),适合大规模网络,收敛速度快。
  • 支持认证、安全、负载均衡、VLSM等高级特性。
  • 优点:收敛快,扩展性强,适合大型复杂网络,支持多种网络类型。
  • 缺点:实现和配置较复杂,对硬件资源要求较高。
  • 典型应用:企业、运营商的大型网络环境。
  1. Internet分层的作用:
  • 简化网络设计:将复杂的网络通信过程分为多个层次,每层只关注自身功能,降低设计和实现难度。
  • 便于标准化和互操作:每一层有明确的接口和协议标准,不同厂商的设备和协议可以互通。
  • 易于维护和扩展:某一层的技术升级或更换不会影响到其他层,增强了网络的灵活性和可扩展性。
  • 促进技术创新:各层可以独立发展新技术,推动网络整体进步。
  • 有助于故障定位和管理:分层结构便于定位和排查网络问题,提高网络管理效率。
  • 协议分层有概念化和结构化的优点。
  • 降低复杂度、提高灵活性。

沙漏结构(hourglass)的意义:

  • 采用单一的网络层协议(IP),所有网络都通过IP协议互联。
  • 允许任意网络互通:只要支持IP的网络都能交换数据包。
  • 应用与底层网络技术解耦:应用程序不依赖于底层网络类型,能在所有网络上运行。
  • 支持IP层上下的同时创新:IP之上(如应用层协议)和IP之下(如链路层技术)都可以独立发展新技术。
  • 但IP协议本身难以更改(如IPv4升级到IPv6非常困难),因为整个互联网都依赖于IP协议。
  1. 常见报文格式
    UDP:
    alt text
    TCP:
    IPv4:alt text
    IPv6:alt text

  2. NAT与IP-in-IP隧道详解:

(1) NAT(Network Address Translation,网络地址转换):

  • NAT是一种在路由器或网关设备上实现的地址转换技术,用于在私有网络和公网之间转换IP地址。
  • 主要类型:
    • 静态NAT:一一映射,私有IP和公网IP固定对应。
    • 动态NAT:从公网IP池中动态分配公网地址给私有IP。
    • NAPT(端口地址转换,PAT/端口复用):多个私有IP通过同一个公网IP出网,靠端口号区分不同连接。
  • 作用:
    • 节省公网IP地址,实现局域网主机共享上网。
    • 隐藏内部网络结构,提高安全性。
    • 支持地址重用和网络结构灵活调整。
  • NAT的实现只需修改IP包头的源/目的地址和端口,不需要封装额外的IP头。

(2) IP-in-IP隧道:

  • IP-in-IP隧道是一种隧道协议,将一个IP数据包作为“数据”封装进另一个IP包中。
  • 实现方式:
    • 隧道入口(封装端)收到原始IP包后,加上新的外层IP头(源/目的地址为隧道两端公网IP),再发送到网络。
    • 隧道出口(解封端)收到后,去掉外层IP头,还原出原始IP包并继续转发。
  • 作用:
    • 实现不同网络或协议之间的互联,如IPv6 over IPv4、VPN、移动IP等。
    • 可穿越不支持某些协议或地址的中间网络,实现私有网络互通。
    • 提供虚拟专用通道,增强数据传输的灵活性和安全性。
  • IP-in-IP隧道本质是“IP包套IP包”,与NAT不同,NAT不需要使用IP-in-IP隧道。
  1. SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)是一种应用层协议,用于在电子邮件系统中传输邮件。它负责邮件的发送和转发,常用于邮件客户端与邮件服务器、邮件服务器之间的邮件传递。SMTP使用TCP端口25,保证邮件可靠送达目标服务器,但本身不负责邮件的接收和存储,接收通常由POP3或IMAP协议完成。

例题:DNS欺骗攻击与加密认证、RSA私钥求解

题目描述

如下图所示,DNS,设计一个攻击,攻击者用主动攻击让 Alice 收到假的 response 。

  • DNS,设计一个攻击,攻击者用主动攻击让 alice 收到假的 response 。

  • 服务器收到(m, Ks-(H(m)))问怎么判断是 s 发的?

  • 上面用的是私钥,问可不可以用公钥加密?

  • 这个加密算法可不可以防止第一问里面你写的攻击方法?

  • 最后一题 RSA 算法:Na=55,ea=3,Nb=33,eb=13,求 a、b 私钥。


答案解析

1. DNS欺骗攻击设计

  • 攻击者可以通过伪造 DNS 响应包,抢在真实 DNS 服务器之前将假的 response 发给 Alice,使其缓存错误的域名-IP 映射。
  • 具体方法:攻击者监听 Alice 的 DNS 查询请求,猜测或获取事务ID(Transaction ID),并伪造一个带有相同事务ID的响应包,提前返回给 Alice。
  • 这样 Alice 会将攻击者伪造的 IP 地址作为目标域名的解析结果,导致流量被劫持或重定向。

2. 服务器收到(m, Ks-(H(m)))如何判断是 s 发的?

  • Ks- 表示用 s 的私钥对消息摘要 H(m) 进行签名。
  • 服务器收到后,用 s 的公钥 Ks+ 验证签名:用 Ks+ 解密 Ks-(H(m)),得到 H(m)’,再与本地计算的 H(m) 比较。
  • 若一致,则说明消息确实由 s 发出且未被篡改。

3. 上面用的是私钥,能否用公钥加密?

  • 不能。公钥加密用于加密消息,保证机密性;私钥加密(签名)用于认证身份和完整性。
  • 若用公钥加密,任何人都能用公钥加密消息,无法证明消息是 s 发出的。
  • 数字签名必须用私钥加密(签名),公钥验证。

4. 该加密算法能否防止第一问的攻击?

  • 可以防止。
  • 因为只有合法的 s 拥有私钥,攻击者无法伪造合法签名,服务器可通过公钥验证签名,防止伪造响应。
  • 即使攻击者能伪造 DNS 响应,也无法生成合法签名。

5. RSA私钥求解

  • Na=55,ea=3,Nb=33,eb=13。
  • 求 a、b 的私钥:

(1)Na=55,分解质因数:55=5×11。

  • φ(Na) = (5-1)×(11-1) = 4×10 = 40。
  • ea=3,求 da,使 3×da ≡ 1 (mod 40)。
  • 3×da=1+40k,da=27(因为3×27=81,81-2×40=1)。
  • a的私钥为 (Na=55, da=27)。

(2)Nb=33,分解质因数:33=3×11。

  • φ(Nb) = (3-1)×(11-1) = 2×10 = 20。
  • eb=13,求 db,使 13×db ≡ 1 (mod 20)。
  • 13×db=1+20k,db=17(因为13×17=221,221-11×20=1)。
  • b的私钥为 (Nb=33, db=17)。

例题:五层协议“沙漏”结构与相关知识点

题目

  1. 沙漏中间的协议是( )
  2. 协议分层的好处
  3. 互联网“沙漏”型的好处
  4. TCP和UDP的区别
  5. 电子邮件使用的应用层协议

答案与解析

1. 沙漏中间的协议是( )

  • 答案:IP协议(Internet Protocol)。
  • 解析:五层协议栈的“沙漏”结构中,最窄处是网络层的IP协议,所有上层协议(如TCP、UDP、ICMP等)和下层链路协议(如以太网、PPP等)都通过IP协议进行数据传递。

2. 协议分层的好处

  • 降低复杂度:每层只关注本层功能,简化设计与实现。
  • 易于标准化:各层接口明确,便于不同厂商设备互通。
  • 便于维护和升级:某一层技术升级时,只要接口不变,不影响其他层。
  • 促进互操作性:不同实现可兼容,促进网络发展。

3. 互联网“沙漏”型的好处

  • 统一中间层(IP),简化互联:各种不同的物理网络和多样的应用协议都能通过IP互联。
  • 促进创新:上层应用协议和下层链路技术可以独立发展,极大促进了互联网的扩展性和多样性。
  • 降低成本:只需实现IP协议即可接入互联网,无需关心所有上层或下层细节。

4. TCP和UDP的区别

特性 TCP UDP
连接方式 面向连接(三次握手) 无连接
可靠性 可靠,保证数据顺序和完整性 不可靠,可能丢包、乱序
流量控制
拥塞控制
速度 较慢 较快
适用场景 文件传输、网页、邮件等 视频、语音、DNS等

5. 电子邮件使用的应用层协议

  • SMTP(Simple Mail Transfer Protocol):邮件发送协议。
  • POP3(Post Office Protocol 3):邮件接收协议,下载到本地。
  • IMAP(Internet Message Access Protocol):邮件接收协议,支持服务器端管理。

以太网最小帧长的计算逻辑

以太网采用CSMA/CD(载波监听多路访问/冲突检测)机制。为了保证发送端在数据帧还未全部发送完时能检测到碰撞,帧的发送时间必须大于等于信号在网络中往返一次的传播时延。

(1)计算公式
最小帧长(bit) = 2 × 最大物理距离 / 信号传播速率 × 带宽

简化为:
最小帧长 = 2 × 传播时延 × 带宽

  • 传播时延 = 最大距离 / 信号传播速率
  • 带宽单位需统一(如bit/s)

(2)原理说明

  • 如果帧太短,发送端可能在帧发完后才检测到碰撞,无法重发,导致冲突未被发现。
  • 规定最小帧长,确保碰撞一定能被检测到。

(3)例题应用

  • 例如最大距离500m,信号传播速率250m/μs,带宽100Mbps:
    • 传播时延 = 500m / 250m/μs = 2μs
    • 最小帧长 = 2 × 2μs × 100Mbps = 4μs × 100Mbps = 400bit = 50字节

CRC校验计算举例

假设:

  • 数据D = 1101011011(二进制)
  • 生成多项式G = 10011(二进制,4阶)

计算步骤:

  1. 在数据D后补4个0(G为4阶,多补4位):1101011011 0000
  2. 用补0后的数据与G做二进制模2除法(异或运算):
    • 11010 ÷ 10011 → 01001
    • 10011 ÷ 10011 → 00000
    • 10110 ÷ 10011 → 00101
    • …(依次进行,直到最后一位)
  3. 最终余数为4位(假设为R),即为CRC校验码。
  4. 发送时,数据D与CRC校验码拼接一起发送。

结果说明:

  • 接收方收到后,用相同的G对收到的数据(含CRC)做模2除法,若余数为0,则无差错。

简化示例:

  • D = 1101,G = 1011(3阶)
  • D补0:1101000
  • 1101 ÷ 1011 → 0110
  • 0110 ÷ 1011 → 0110(不足除,移下一位)
  • 01100 ÷ 1011 → 0101
  • 01010 ÷ 1011 → 0111
  • 01110 ÷ 1011 → 0105
  • 01010 ÷ 1011 → 0111
  • 01110 ÷ 1011 → 0105
  • 最终余数假设为101
  • 发送数据:1101 101

奇偶校验(Parity Checking)原理

奇偶校验是一种简单的数据链路层差错检测方法,主要用于检测单比特错误。

1. 单比特奇偶校验(Single Bit Parity)

  • 在每组数据后面加1位校验位(parity bit)。
  • 发送方根据数据中1的个数决定校验位取0或1,使得整个比特流中1的个数为偶数(偶校验)或奇数(奇校验)。
  • 接收方收到数据后,重新计算1的个数,若不符则说明发生了单比特错误。
  • 只能检测单个比特错误,无法纠正错误,也无法检测偶数个比特同时出错。

2. 二维奇偶校验(Two Dimensional Bit Parity)

  • 将数据按行和列分别加上奇偶校验位。
  • 每一行和每一列都增加一个校验位,形成一个校验矩阵。
  • 能检测并定位单比特错误(可纠正),也能检测部分双比特错误。
  • 检测能力比单比特奇偶校验更强。

应用说明:

  • 奇偶校验实现简单,适合对可靠性要求不高的场景。
  • 主要用于数据链路层的差错检测。

信道划分协议详解

信道划分协议(Channelization Protocols)是一类将共享信道资源在多个用户之间进行物理或逻辑划分,使多个用户可以同时或有序地使用信道的多路访问协议。其核心思想是将信道分割为若干互不干扰的子信道,每个用户占用不同的子信道,从而避免冲突。

常见的信道划分协议有:

1. 时分多路复用(TDMA, Time Division Multiple Access)

  • 将信道按时间划分为若干时隙,每个用户在分配到的时隙内独占信道发送数据。
  • 各用户轮流占用信道,互不干扰。
  • 适合同步环境,时钟同步要求高。
  • 优点:无冲突,时延可控,适合实时业务。
  • 缺点:信道利用率受限于分配,空闲时隙会浪费带宽。

2. 频分多路复用(FDMA, Frequency Division Multiple Access)

  • 将信道的频带划分为若干互不重叠的频段,每个用户占用不同的频段进行通信。
  • 各用户可同时发送,互不干扰。
  • 典型应用:传统模拟电话、无线电广播。
  • 优点:实现简单,互不干扰。
  • 缺点:频谱利用率有限,频带划分固定,灵活性差。

3. 码分多路复用(CDMA, Code Division Multiple Access)

  • 所有用户在同一时间、同一频带上发送数据,但每个用户使用不同的正交码对数据进行编码。
  • 接收方用相同的码解码,能区分不同用户的数据。
  • 典型应用:3G移动通信。
  • 优点:抗干扰能力强,频谱利用率高,支持动态接入。
  • 缺点:实现复杂,对码的正交性要求高。

4. 其他信道划分方式

  • 波分多路复用(WDMA):用于光纤通信,将不同波长分配给不同用户。
  • 空分多路复用(SDMA):通过空间定向天线等手段区分用户。

总结:
信道划分协议通过时间、频率、码等资源的分割,实现多个用户高效、无冲突地共享信道,广泛应用于有线和无线通信系统。


实践原则:保持各层独立

主机和路由器接口除了网络层地址(如IP地址)之外还有MAC地址,这样设计有以下原因:

  1. 局域网为任意网络层协议而设计,MAC地址是“中性”的,不依赖于IP或特定协议。如果适配器只用IP地址而没有MAC地址,就无法支持如IPX、DECnet等其他网络层协议。
  2. 如果适配器使用网络层地址而不是MAC地址,网络层地址必须存储在适配器RAM中,每次适配器移动或断电都要重新配置,管理复杂。
  3. 另一种做法是适配器不使用任何地址,让其接收所有帧并上传,由网络层软件判断是否匹配,但这样会导致主机处理大量无关帧,效率低下。

因此,为了使网络体系结构中各层次成为独立模块,不同层次需要有各自的寻址方案:

  • 应用层:主机名
  • 网络层:IP地址
  • 数据链路层:MAC地址

这种分层寻址方案保证了各层的独立性和灵活性。


有线局域网与无线局域网知识总结

一、有线局域网(Wired LAN)

  1. 定义与常见类型

    • 有线局域网是指通过物理介质(如双绞线、同轴电缆、光纤等)连接的局部范围内的计算机网络。
    • 典型代表:以太网(Ethernet)、令牌环(Token Ring)、FDDI等。
  2. 以太网(Ethernet)

    • 最常用的有线局域网标准,采用星型或总线型拓扑结构。
    • 采用MAC地址寻址,数据链路层协议。
    • 介质访问控制:CSMA/CD(载波监听多路访问/冲突检测)。
    • 标准最小帧长64字节,最大1518字节。
    • 速率:10Mbps、100Mbps、1Gbps、10Gbps等。
    • 物理介质:双绞线、光纤、同轴电缆。
    • 交换机(Switch)是现代以太网的核心设备。
  3. 令牌环(Token Ring)

    • 采用环形拓扑,令牌传递机制避免冲突。
    • 只有持有令牌的节点才能发送数据。
    • 速率常见为4Mbps、16Mbps。
    • 现已较少使用。
  4. 有线局域网的优缺点

    • 优点:带宽高、稳定性好、抗干扰能力强、安全性高。
    • 缺点:布线复杂、灵活性差、扩展性有限。

二、无线局域网(Wireless LAN, WLAN)

  1. 定义与标准

    • 无线局域网通过无线电波(如2.4GHz、5GHz)实现设备间的通信,无需物理布线。
    • 主要标准:IEEE 802.11系列(即Wi-Fi)。
  2. Wi-Fi(IEEE 802.11)

    • 采用星型拓扑,中心设备为无线接入点(AP, Access Point)。
    • 终端通过无线方式与AP通信,AP再与有线网络连接。
    • 速率:802.11b(11Mbps)、802.11g(54Mbps)、802.11n(600Mbps)、802.11ac/ax(上千Mbps)。
    • 频段:2.4GHz、5GHz,部分新标准支持6GHz。
    • 介质访问控制:CSMA/CA(载波监听多路访问/冲突避免),采用随机退避、ACK确认等机制,避免无线环境下的冲突。
    • 支持漫游、加密(WEP、WPA、WPA2、WPA3)等安全机制。
  3. 无线局域网的优缺点

    • 优点:布线灵活、易于扩展、支持移动性、部署方便。
    • 缺点:带宽有限、易受干扰、安全性相对较弱、信号覆盖有限。

三、有线与无线局域网的对比

特性 有线局域网(Ethernet等) 无线局域网(Wi-Fi等)
介质 双绞线/光纤/同轴电缆 无线电波
带宽 高(10M~10Gbps) 较低(几十M~几Gbps)
稳定性 易受干扰
安全性 需加密防护
灵活性
组网方式 星型/总线/环型 星型(AP为中心)
介质访问协议 CSMA/CD、令牌环等 CSMA/CA
典型设备 交换机、网卡、路由器 无线AP、无线网卡

四、应用场景

  • 有线局域网:企业、数据中心、对带宽和安全要求高的场所。
  • 无线局域网:家庭、办公区、公共场所、移动办公等。

交换机的功能简述

  • 交换机(Switch)是局域网中常用的数据链路层设备,主要功能是根据数据帧的目的MAC地址,在局域网内实现高效的数据转发。
  • 维护MAC地址表:自动学习和记录各端口对应的MAC地址,实现帧的定向转发。
  • 帧转发与过滤:只将数据帧转发到目标主机所在端口,减少广播和冲突,提高网络效率。
  • 支持全双工通信和端口隔离,提升带宽利用率。
  • 支持VLAN划分,实现逻辑隔离和安全管理。
  • 可进行环路检测与生成树协议(STP)防止广播风暴。

广播风暴详解

1. 概念

  • 广播风暴(Broadcast Storm)是指在局域网中,广播帧(如ARP请求、未知目的MAC的数据帧等)大量泛滥,导致网络带宽被严重占用,网络性能急剧下降甚至瘫痪的现象。

2. 产生原因

  • 以太网交换机在收到目的MAC地址未知的数据帧时,会将该帧广播到所有端口。
  • 当网络中存在环路(如多个交换机或网桥连接成环),广播帧会在环路中不断循环、复制,数量呈指数级增长。
  • 广播风暴也可能由病毒、错误配置或大量ARP请求等异常流量引发。

3. 危害

  • 占用大量带宽,导致正常数据无法传输。
  • 交换机、主机CPU资源被大量无用广播帧消耗,系统响应变慢甚至崩溃。
  • 网络延迟剧增,丢包严重,业务中断。

4. 典型场景

  • 多台交换机或网桥连接成环,未启用生成树协议(STP)。
  • 局域网内出现病毒或蠕虫,疯狂发送广播包。
  • 大量主机同时发起ARP请求,或网络中存在ARP欺骗攻击。

5. 预防与解决方法

  • 启用生成树协议(STP),自动阻断环路,保证网络拓扑无环。
  • 合理划分VLAN,限制广播域范围。
  • 配置广播风暴抑制(Broadcast Storm Control)功能,限制端口广播流量。
  • 加强网络安全管理,防止恶意广播流量。

6. 总结

  • 广播风暴是局域网设计和管理中必须重点防范的问题,合理的网络结构和管理措施是防止广播风暴的关键。

DHCP协议简介

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种应用层协议,用于在IP网络中自动为主机分配IP地址及相关网络配置信息(如子网掩码、网关、DNS服务器等)。

主要功能:

  • 自动分配IP地址,避免手动配置,提高管理效率。
  • 支持IP地址的动态分配、自动回收和续租。
  • 可集中管理整个网络的IP地址资源。

工作流程:

  1. 发现(Discover): 客户端广播DHCP Discover报文,寻找DHCP服务器。
  2. 提供(Offer): DHCP服务器响应,提供可用IP地址和配置信息。
  3. 请求(Request): 客户端选择一个服务器,广播DHCP Request报文,申请该IP。
  4. 确认(ACK): 服务器确认分配,发送DHCP ACK报文,客户端获得IP地址。

优点:

  • 简化网络管理,适合大中型网络。
  • 支持移动设备和临时接入主机的自动配置。

应用场景:

  • 企业、校园、家庭等各种IP网络环境。

ARP与DHCP的层次与作用对比

  • DHCP(动态主机配置协议):属于应用层协议,主要作用是为主机自动分配IP地址及相关网络参数(如网关、DNS等)。

    • 典型流程:主机刚接入网络时,通过广播方式向DHCP服务器请求分配IP地址。
    • 解决“主机如何获得IP地址”的问题。
  • ARP(地址解析协议):属于数据链路层与网络层之间的协议,主要作用是将已知的IP地址解析为对应的MAC地址。

    • 典型流程:主机已知目标IP地址,但不知道其MAC地址时,通过广播ARP请求,获得目标主机的MAC地址。
    • 解决“主机如何通过IP找到MAC地址”的问题。

总结:

  • DHCP用于“找IP地址”,属于应用层,负责主机的网络参数自动配置。
  • ARP用于“找MAC地址”,属于网络层与数据链路层之间,负责IP到MAC的映射。
  • 两者都采用广播、缓存和软状态等机制,但服务对象和协议层次不同。
    alt text

发现机制(Discovery Mechanisms)

在网络中,常见的发现机制主要有两种:

  1. 广播(Broadcast)机制

    • 典型协议:ARP、DHCP。
    • 工作方式:通过广播方式在局域网内发现目标(如ARP查找MAC地址、DHCP分配IP地址)。
    • 优点:
      • 无需预先配置,零配置,适合即插即用。
      • 没有中心化的单点故障,去中心化。
    • 缺点:
      • 采用泛洪(flooding)方式,随着网络规模增大,广播流量剧增,扩展性差。
      • 只适合小型或局部网络。
  2. 目录服务(Directory Service)机制

    • 典型协议:DNS。
    • 工作方式:通过集中式的目录服务进行资源发现和名称解析。
    • 优点:
      • 无需广播,具备良好的可扩展性,适合大规模网络。
    • 缺点:
      • 目录服务的根节点存在被攻击或失效的风险(缓存机制非常关键)。
      • 需要预先配置(如本地DNS、根服务器等)以实现引导和启动。

总结对比:

  • 广播机制适合小规模、无需配置的场景,但不适合大规模网络。
  • 目录服务机制适合大规模网络,但需要一定的配置和容错设计。

相关例子:ARP、DHCP采用广播发现,DNS采用目录服务发现。


CSMA/CD(载波监听多路访问/冲突检测)原理与机制

CSMA/CD(Carrier Sense Multiple Access with Collision Detection)是以太网中经典的介质访问控制协议,主要用于总线型或集线器型(半双工)以太网环境下多台主机共享同一信道时的数据传输协调。

工作原理:

  1. 载波监听(Carrier Sense):主机在发送数据前,先监听信道是否空闲,只有信道空闲时才开始发送。
  2. 多路访问(Multiple Access):多台主机可同时接入同一信道,具备竞争性。
  3. 冲突检测(Collision Detection):如果两台主机几乎同时检测到信道空闲并开始发送,数据会发生冲突。主机在发送数据时持续监听信道,若检测到信号异常(冲突),立即停止发送。
  4. 退避重传(Backoff):发生冲突后,主机会发送阻塞信号(Jamming Signal),然后各自等待一个随机退避时间后再次尝试发送。退避时间采用二进制指数退避算法,冲突次数越多,等待时间越长。

特点与应用:

  • 适用于传统总线型、集线器型以太网(半双工),现代全双工交换式以太网已不再使用CSMA/CD。
  • 随着网络负载增加,冲突概率上升,信道利用率下降。
  • 以太网最小帧长的设计与CSMA/CD机制密切相关,保证冲突能被检测到。

局限性:

  • 只适用于半双工、共享信道的环境。
  • 在全双工和交换式以太网中已被淘汰。

总结:
CSMA/CD通过监听信道、检测冲突和随机退避,有效协调了多主机对共享信道的访问,是经典以太网的核心机制之一。


CSMA/CA(载波监听多路访问/冲突避免)原理与机制

CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)是无线局域网(如Wi-Fi/IEEE 802.11)中常用的介质访问控制协议,用于协调多台设备对共享无线信道的访问,避免数据冲突。

工作原理:

  1. 载波监听(Carrier Sense):终端在发送数据前,先监听信道是否空闲。
  2. 冲突避免(Collision Avoidance)
    • 若信道空闲,终端等待一个随机退避时间(Backoff),若期间信道仍空闲,则开始发送。
    • 若信道忙,终端持续监听并等待信道空闲后再退避。
    • 采用随机退避机制,减少多个终端同时发送的概率。
  3. 确认机制(ACK):数据帧发送后,接收方需返回ACK确认帧,发送方收到ACK才认为发送成功,否则重传。
  4. RTS/CTS机制(可选):为进一步减少冲突,发送方可先发送RTS(请求发送)帧,接收方回复CTS(清除发送)帧,收到CTS后再正式发送数据。
    • 该机制可有效解决“隐藏终端”问题。

特点与应用:

  • 主要用于无线局域网(如Wi-Fi),适合广播式、易受干扰的无线环境。
  • 由于无线信道无法像有线以太网那样检测冲突(无法边发边听),采用冲突避免而非冲突检测。
  • 通过ACK和RTS/CTS机制提高可靠性和信道利用率。

局限性:

  • 存在信道占用、退避等待等开销,信道利用率受限。
  • 在高密度或高负载环境下,冲突和重传概率仍可能较高。

总结:
CSMA/CA通过监听信道、随机退避、确认应答和可选的RTS/CTS机制,有效减少了无线环境下的冲突,是无线局域网的核心介质访问控制机制。


CSMA/CD 与 CSMA/CA 的区别总结

对比项 CSMA/CD(冲突检测) CSMA/CA(冲突避免)
典型应用场景 有线以太网(Ethernet,半双工) 无线局域网(Wi-Fi/IEEE 802.11)
介质类型 有线,信号可检测 无线,信号难以边发边听
冲突处理方式 允许冲突发生,检测到冲突后停止发送并退避 通过退避和控制机制尽量避免冲突发生
主要机制 监听信道、检测冲突、冲突后退避重传 监听信道、随机退避、ACK确认、RTS/CTS机制
能否检测冲突 可以(边发边听) 不能(无线无法边发边听)
退避算法 二进制指数退避 随机退避
可靠性机制 无确认机制 ACK确认机制,RTS/CTS可选
适用网络结构 总线型/集线器型有线网络 无线广播式网络
现状 现代全双工以太网已不再使用 仍为Wi-Fi等无线局域网的核心机制

简要总结:

  • CSMA/CD 适用于有线以太网,允许冲突发生并检测冲突,依赖于信号可检测。
  • CSMA/CA 适用于无线局域网,因无线信道无法检测冲突,采用冲突避免和确认机制。
  • 两者都属于多路访问协议,但根据物理介质和应用场景采用不同的冲突处理策略。

网桥的作用与工作原理

1. 网桥的作用

  • 网桥(Bridge)是一种工作在数据链路层的网络互联设备,用于连接两个或多个局域网段,实现不同局域网之间的数据转发和隔离冲突域。
  • 能够根据MAC地址转发数据帧,减少广播域范围,提高网络性能。
  • 典型应用于以太网分段、扩展局域网、隔离冲突域等场景。

2. 网桥的工作原理

  • 网桥通过监听经过的数据帧,自动学习源MAC地址与端口的对应关系,建立转发表(MAC地址表)。
  • 当接收到数据帧时,查找转发表:
    • 若目标MAC地址已在表中,定向转发到对应端口。
    • 若未知,则广播该帧到除接收端口外的所有端口。
  • 通过地址学习和转发表,实现帧的高效转发和冲突域隔离。

3. 网桥的路由机制

  • 转发表(Forwarding Table):记录MAC地址与端口的映射关系,实现定向转发。
  • 地址学习(Address Learning):自动学习源MAC地址,动态维护转发表。
  • 生成树算法(Spanning Tree Protocol, STP):为防止网络环路,网桥间运行生成树协议,自动阻断冗余链路,形成无环拓扑,避免广播风暴。
  • 路由发现机制:通过生成树协议和地址学习,自动发现网络结构和最优转发路径,无需人工配置。

总结:

  • 网桥通过地址学习和转发表实现高效转发,通过生成树协议防止环路和广播风暴,是局域网互联和分段的重要设备。

集线器(Hub)的作用与原理

1. 集线器的定义与结构

  • 集线器(Hub)是局域网中常见的物理层设备,常用于星型拓扑(star layout)结构的网络。
  • 在星型拓扑中,所有终端(主机)通过两根线(发送和接收)与中心的集线器相连。

2. 工作原理

  • Hub 的主要功能类似于中继器(Repeater),属于“无智能”设备。
  • 当某个终端发送数据时,Hub 会将收到的信号复制并转发到所有其他端口(即所有其他终端)。
  • Hub 不会分析数据内容,也不区分目标,只是简单地广播信号。

3. 物理与逻辑结构

  • 物理上,Hub 组网为星型结构(每个终端都连到中心 Hub)。
  • 逻辑上,Hub 组网等价于总线型(bus):任何一个终端发出的数据,所有终端都能收到。
  • 如果有两个终端同时发送数据,会发生冲突(collision),所有终端都处于同一个冲突域。

4. 特点与局限

  • Hub 不具备数据定向转发能力,所有端口共享带宽,冲突概率高。
  • 适用于小型、低速、对性能要求不高的局域网。
  • 现代以太网已被交换机(Switch)取代,Hub 基本淘汰。

5. 小结

  • Hub 是星型拓扑的中心设备,起到信号中继和广播的作用。
  • 物理上为星型,逻辑上为总线型,所有终端共享冲突域。
  • 不具备智能转发和隔离冲突域的能力。

IEEE 802.11 无线局域网体系结构(WLAN Architecture)

1. Station(STA,站点)

  • 指具备IEEE 802.11标准MAC和物理层功能的无线设备,如无线网卡、手机、笔记本等终端。

2. Access Point(AP,无线接入点)

  • 作为无线终端与分布式系统(DS)之间的桥梁,负责协调和管理无线终端的接入。
  • 通过无线信道为终端提供接入服务。

3. Basic Service Set(BSS,基本服务集)

  • 由一个AP和若干STA组成的最小无线局域网单元。
  • 一个BSS通常覆盖一个物理区域(如一个房间),由AP协调管理。

4. Extended Service Set(ESS,扩展服务集)

  • 由多个BSS通过分布式系统(DS)互联组成。
  • DS可以是交换机、有线网络或无线网络。
  • ESS对用户呈现为一个单一的逻辑局域网,实现无线漫游和大范围覆盖。
  • 通过Portal(如路由器)实现与有线LAN/Internet的互通。

5. Distribution System(DS,分布式系统)

  • 用于连接多个BSS和集成有线LAN,形成一个ESS。
  • DS可采用多种实现方式(如以太网交换机、无线Mesh等)。

6. 体系结构图解说明

  • 图中展示了多个BSS(每个BSS有一个AP和若干STA),通过DS互联,组成一个ESS。
  • Portal实现ESS与有线LAN/Internet的连接。
  • ESS为用户提供无缝漫游和统一的无线局域网服务。

7. 小结

  • IEEE 802.11 WLAN采用分层、分区的体系结构,支持灵活扩展和大范围覆盖。
  • 关键组件包括STA、AP、BSS、ESS、DS和Portal。
  • ESS实现了多个BSS的互联和统一管理,是企业和校园无线网络的基础架构。

IEEE 802.11 帧间隔优先级机制(SIFS、PIFS、DIFS)

IEEE 802.11 无线局域网采用三种不同的帧间隔(IFS, Inter Frame Space)来实现信道访问的优先级控制,分别是:

  • SIFS(Short Inter Frame Space,短帧间隔)
    • 最短的IFS,优先级最高。
    • 用于所有需要立即响应的场景,如ACK、CTS、数据帧之间的连续发送等。
  • PIFS(Point Coordination Function IFS,点协调功能帧间隔)
    • 中等长度的IFS。
    • 主要由中心控制器(AP)在PCF(点协调功能)模式下发起轮询时使用。
  • DIFS(Distributed Coordination Function IFS,分布式协调功能帧间隔)
    • 最长的IFS,优先级最低。
    • 用于普通终端争用信道时的异步数据帧发送。

三者的关系为:SIFS < PIFS < DIFS。

这种设计保证了:

  • 需要快速响应的帧(如ACK、CTS)能优先获得信道,减少时延。
  • 控制帧(如AP轮询)优先于普通数据帧。
  • 普通数据帧需等待最长的DIFS,优先级最低。

下图为三种IFS的相对长度和优先级关系示意:

1
2
3
4
DIFS
PIFS
SIFS
Frame |<--SIFS-->| Frame |<--PIFS-->| Frame |<--DIFS-->| Frame

通过这种分级帧间隔机制,IEEE 802.11 实现了无线信道访问的公平性和高效性。


IEEE 802.11 点协调功能(PCF)与超级帧机制

1. 点协调功能(PCF, Point Coordination Function)

  • PCF是一种中心化的无线介质访问控制机制,由接入点(AP)作为点协调器(Point Coordinator, PC)统一调度。
  • AP定期以轮询(round-robin)方式向各终端(STA)发起轮询(poll),被轮询到的终端才能发送数据,避免冲突,适合时延敏感业务。
  • AP在发起轮询时使用PIFS(优先级高于普通终端的DIFS),可以抢占信道,锁定异步流量,保证轮询和响应期间的信道独占。
  • 终端收到轮询后,若有数据需发送,则用SIFS(最高优先级)立即响应。
  • 若AP未收到响应,在预期时间内会继续轮询下一个终端,直到本轮结束。

2. 超级帧(Super-frame)机制

  • 超级帧由PCF定义,将时间划分为轮询期和争用期两部分。
    • 轮询期(contend-free period):AP轮询所有终端,保证无冲突通信。
    • 争用期(contention period):允许普通终端采用DCF机制争用信道,进行异步通信。
  • 超级帧开始时,AP通过beacon帧宣布超级帧的起点,并创建无冲突期。
  • 超级帧结束时,AP再次用PIFS争用信道,进入下一个超级帧周期。
  • 这样既保证了时延敏感业务的服务质量,又兼容普通异步业务的接入。

超级帧机制通过轮询和争用期的划分,实现了无线局域网中有中心调度与分布式竞争的结合,提升了服务质量和信道利用率。


IEEE 802.11 分布式协调功能(DCF)原理与工作流程

1. DCF(Distributed Coordination Function)原理

  • DCF是IEEE 802.11无线局域网中最基本、最常用的介质访问控制机制,采用**CSMA/CA(载波监听多路访问/冲突避免)**协议。
  • 所有终端平等竞争信道,无中心调度,适合异步、分布式的无线通信环境。
  • 由于无线环境无法像有线以太网那样检测冲突(不能边发边听),DCF采用冲突避免和确认机制来保证数据可靠传输。

2. DCF的完整工作流程

  1. 监听信道(Carrier Sensing)

    • 终端准备发送数据前,先监听信道是否空闲。
    • 若信道忙,则持续监听,直到信道空闲。
  2. 等待DIFS(Distributed Inter Frame Space)

    • 信道空闲后,终端需等待一个DIFS时间(最长的帧间隔,优先级最低),以保证高优先级帧(如SIFS、PIFS)优先发送。
  3. 随机退避(Backoff)机制

    • 若有多个终端同时等待发送,为避免冲突,每个终端在DIFS后会选择一个随机退避时间(Backoff Time)。
    • 退避时间以时隙为单位,在[0, CW-1]之间随机选择(CW为争用窗口)。
    • 退避计数在信道空闲时递减,若信道变忙则暂停计数,等信道再次空闲后继续。
  4. 发送数据帧

    • 退避计数减为0时,终端开始发送数据帧。
  5. 等待ACK确认

    • 数据帧发送后,接收方在SIFS(最短帧间隔)后立即返回ACK确认帧。
    • 发送方收到ACK,认为本次发送成功;若未收到ACK,则认为发生冲突或丢包,进入重传流程。
  6. 重传与退避窗口调整

    • 若发送失败,终端将CW加倍(指数退避),重新选择退避时间,重复上述流程,直到发送成功或达到最大重传次数。

3. DCF的关键机制与特点

  • CSMA/CA:通过监听信道和随机退避,尽量避免冲突发生。
  • ACK确认:每次数据发送都需接收方返回ACK,保证可靠性。
  • 无冲突检测:无线环境无法检测冲突,只能通过ACK机制间接判断。
  • 优先级控制:通过不同的IFS(SIFS、PIFS、DIFS)实现帧类型的优先级调度。
  • RTS/CTS机制(可选):为解决隐藏终端问题,可在数据发送前先交换RTS/CTS帧,进一步减少冲突。

DCF机制保证了无线局域网中各终端公平、有效地竞争信道,适用于大多数Wi-Fi应用场景。


解决隐藏终端问题

在无线局域网中,隐藏终端问题是指两个终端A和C虽然都能与接入点B通信,但A和C之间互相不可见(即彼此信号覆盖不到),导致它们可能会同时向B发送数据,从而发生冲突,但A和C无法直接检测到对方的存在。

1. RTS/CTS机制

IEEE 802.11为了解决隐藏终端问题,引入了RTS/CTS(Request to Send / Clear to Send)机制

  • 发送前协商:发送方先发送RTS帧(请求发送)给接入点(或目标终端),请求占用信道。
  • 接收方响应:接收方收到RTS后,若信道空闲,则回复CTS帧(允许发送)。
  • 通知周围终端:收到CTS帧的所有终端会在指定时间内避免发送数据,防止冲突。
  • 数据发送:发送方收到CTS后,立即发送数据帧,保证数据传输期间信道独占。
  • ACK确认:数据帧发送完毕后,接收方返回ACK确认帧。

通过RTS/CTS机制,即使A和C互不可见,只要它们都能收到B的CTS,就能避免同时发送数据,减少冲突。


802.11的帧类型和帧格式

1. 802.11帧类型

IEEE 802.11定义了三大类帧类型:

  • 管理帧(Management Frame):用于网络的建立、维护和终止,如Beacon、Probe、Authentication、Association等。
  • 控制帧(Control Frame):用于信道控制和数据传输的协作,如RTS、CTS、ACK、PS-Poll等。
  • 数据帧(Data Frame):用于实际的数据传输。

2. 802.11帧格式

典型的802.11数据帧格式如下:

字段 说明
Frame Control 帧类型、子类型、控制信息
Duration/ID 信道占用时间或标识
Address 1 接收方地址
Address 2 发送方地址
Address 3 BSSID或目的/源地址
Sequence Control 序列号、分片号
Address 4 (仅在WDS时使用)
Payload 数据载荷
crc 帧校验序列
  • 802.11帧最多可包含4个地址字段,支持多种转发场景(如AP、STA、分布式系统等)。
  • 帧控制字段包含帧类型、子类型、加密、重传等控制信息。

alt text


802.11与以太网帧格式比较

对比项 802.11帧格式 以太网帧格式
地址字段 最多4个(支持AP、STA、DS等场景) 2个(源MAC、目的MAC)
帧类型 管理帧、控制帧、数据帧 仅数据帧
控制字段 帧控制、序列控制、持续时间等 类型/长度字段
校验 FCS FCS
适用场景 无线局域网,支持多跳、漫游 有线局域网,点对点或广播
其他 支持加密、分片、功率管理等 不支持
  • 802.11帧结构更复杂,适应无线环境的多样需求,如漫游、功率管理、加密等。
  • 以太网帧结构简单,主要用于有线点对点或广播通信。

非对称加密算法:RSA算法

1. 密钥生成过程

  1. 选择两个大素数:随机选择两个足够大的素数p和q。
  2. 计算模数n:n = p × q,n将作为公钥和私钥的一部分。
  3. 计算欧拉函数φ(n):φ(n) = (p-1) × (q-1)。
  4. 选择公钥指数e:选择一个与φ(n)互质的整数e(1 < e < φ(n)),常用65537。
  5. 计算私钥指数d:d是e关于φ(n)的模反元素,即满足 e × d ≡ 1 (mod φ(n))。
  6. 公钥和私钥
    • 公钥:(n, e)
    • 私钥:(n, d)

2. RSA加密和解密计算过程

  • 加密过程
    明文M,密文C的计算公式为:
    C = M^e mod n

  • 解密过程
    密文C,明文M的计算公式为:
    M = C^d mod n

3. 原理说明

  • RSA是一种典型的公钥加密算法,属于非对称加密,安全性基于大数分解难题。
  • 加密密钥和解密密钥不同,公钥可公开,私钥需保密。
  • 既可用于加密数据,也可用于数字签名(用私钥加密摘要,公钥验证)。

RSA算法广泛应用于数据加密、身份认证和数字签名等场景,是现代网络安全的基础算法之一。


公钥系统相关知识详解

1. 公钥加密机制的组成元素

  • 公钥(Public Key)与私钥(Private Key):每个用户拥有一对密钥,公钥公开,私钥保密。
  • 加密算法:如RSA、ElGamal等,利用公钥加密、私钥解密,实现机密性。
  • 签名算法:用私钥对消息摘要签名,公钥验证签名,实现认证与完整性。
  • 密钥分发与管理:如何安全地分发和管理公钥,防止伪造和中间人攻击。

2. 加密和数字签名

  • 加密:发送方用接收方的公钥加密消息,只有接收方能用私钥解密,保证机密性。
  • 数字签名:发送方用自己的私钥对消息摘要加密(签名),接收方用发送方公钥验证签名,保证消息来源和完整性,防止否认。

3. Diffie-Hellman密钥交换过程

  • Diffie-Hellman是一种安全的密钥协商协议,允许双方在不安全信道上协商出一个共享密钥。
  • 过程简述
    1. 双方约定一个大素数p和基g。
    2. A选择随机数a,计算A = g^a mod p,发送给B。
    3. B选择随机数b,计算B = g^b mod p,发送给A。
    4. A计算共享密钥K = B^a mod p,B计算K = A^b mod p,结果相同。
  • 特点:密钥协商过程即使被窃听,攻击者也无法推算出最终密钥(基于离散对数难题)。

4. 数字证书的概念和构造,CA

  • 数字证书(Digital Certificate):由权威机构(CA,证书授权中心)签发,绑定公钥与身份信息,防止公钥伪造。
  • 内容:持有者身份、公钥、有效期、CA签名等。
  • CA(Certificate Authority):负责验证身份、签发和吊销证书,是信任链的根。
  • 作用:通过证书链和CA签名,用户可验证对方公钥的真实性,防止中间人攻击。

5. 安全电子邮件系统设计

  • 目标:保证邮件的机密性、完整性、认证和不可否认性。
  • 常用方案
    • 加密:用收件人公钥加密邮件内容,防止被窃听。
    • 数字签名:发件人用私钥签名邮件,收件人用公钥验证,保证来源和内容未被篡改。
    • 数字证书:用于分发和验证公钥,防止伪造。
  • 典型协议:PGP(Pretty Good Privacy)、S/MIME(安全多用途互联网邮件扩展)。
  • 流程
    1. 发件人对邮件内容做摘要并签名。
    2. 用收件人公钥加密邮件和签名。
    3. 收件人用私钥解密,再用发件人公钥验证签名。

总结
公钥系统通过加密、签名、密钥交换和数字证书等机制,保障了网络通信的安全性和可靠性,广泛应用于HTTPS、VPN、安全邮件等场景。


NAT原理及优缺点

**NAT(Network Address Translation,网络地址转换)**是一种将私有网络地址与公网地址进行转换的技术,常用于局域网主机共享上网。

  • 原理:NAT设备(如路由器)在数据包通过时,将私有IP地址和端口号转换为公网IP和端口号,返回时再转换回来。
  • 类型
    • 静态NAT:一一映射,私有IP和公网IP固定对应。
    • 动态NAT:从公网IP池中动态分配公网地址。
    • NAPT(端口复用):多个私有IP通过同一公网IP出网,靠端口号区分。
  • 优点
    • 节省公网IP地址资源。
    • 隐藏内部网络结构,提高安全性。
    • 支持局域网主机共享上网。
  • 缺点
    • 破坏端到端通信,某些协议(如P2P、VoIP)兼容性差。
    • 需要特殊处理端口映射和某些应用层协议。
    • 影响IP包头校验和,增加处理开销。

ARP地址解析原理和流程

**ARP(Address Resolution Protocol,地址解析协议)**用于将IP地址解析为对应的MAC地址,工作在网络层与数据链路层之间。

  • 原理:主机已知目标IP地址,但不知道其MAC地址时,通过ARP协议查询。
  • 流程
    1. 主机在局域网内广播ARP请求包,询问“谁是这个IP地址,请告诉我你的MAC地址”。
    2. 目标主机收到后,回复ARP响应包,告知自己的MAC地址。
    3. 发送方收到响应后,将IP-MAC映射缓存到本地ARP表中,后续直接使用。
  • 特点
    • 采用广播方式,适合局域网。
    • 有ARP缓存,减少频繁广播。
    • 存在ARP欺骗等安全隐患。

DHCP动态地址获取的过程

**DHCP(Dynamic Host Configuration Protocol)**用于自动为主机分配IP地址及相关网络参数。

  • 流程
    1. Discover:客户端广播DHCP Discover报文,寻找DHCP服务器。
    2. Offer:服务器响应,提供可用IP地址和配置信息(DHCP Offer)。
    3. Request:客户端选择一个服务器,广播DHCP Request报文,申请该IP。
    4. ACK:服务器确认分配,发送DHCP ACK报文,客户端获得IP地址。
  • 优点
    • 自动分配IP,简化管理。
    • 支持IP地址动态分配、回收和续租。
  • 应用场景:企业、校园、家庭等各种IP网络环境。

ICMP:用于发送出错信息,Ping和traceroute的实现原理

**ICMP(Internet Control Message Protocol,互联网控制报文协议)**是IP协议的辅助协议,主要用于发送网络错误报告和诊断信息。

  • 作用
    • 发送网络层错误信息(如目标不可达、超时等)。
    • 支持网络诊断工具(如Ping、traceroute)。

Ping原理

  • Ping利用ICMP的Echo Request(回显请求)和Echo Reply(回显应答)报文测试主机连通性和时延。
  • 流程:发送方向目标主机发送ICMP Echo Request,目标主机收到后回复Echo Reply,发送方统计往返时间和丢包率。

Traceroute原理

  • Traceroute用于探测数据包到目标主机所经过的路由路径。
  • 实现方式:发送TTL(生存时间)递增的IP包,每经过一个路由器TTL减1,TTL为0时路由器返回ICMP超时报文,发送方据此确定路径上的每一跳。
  • 最终目标主机收到包后返回ICMP端口不可达或Echo Reply,路径探测完成。

总结

  • NAT实现私有网络与公网的地址转换,节省IP资源但影响端到端通信。
  • ARP实现IP到MAC的映射,保证局域网内通信。
  • DHCP自动分配IP地址,简化网络管理。
  • ICMP用于网络错误报告和诊断,Ping和traceroute是常用的网络测试工具。

自治系统与路由方式详解

1. IGP与EGP的概念

  • 自治系统(AS, Autonomous System):由同一技术管理和路由策略控制的一组IP网络和路由器,通常由一个运营商或大型机构管理。
  • IGP(Interior Gateway Protocol,内部网关协议):用于AS内部各路由器之间的路由信息交换和路径选择,如RIP、OSPF等。
  • EGP(Exterior Gateway Protocol,外部网关协议):用于不同AS之间的路由信息交换和路径选择,当前主要指BGP。

2. 内部路由协议(IGP)

  • 距离向量协议(RIP, Routing Information Protocol)

    • 基于距离向量算法,每个路由器定期向邻居广播自己的路由表。
    • 跳数作为度量,最大跳数为15,16表示不可达。
    • 实现简单,适合小型网络,但收敛慢,易产生环路。
  • 链路状态协议(OSPF, Open Shortest Path First)

    • 基于链路状态算法,路由器通过洪泛方式通告链路状态信息,获得全网拓扑。
    • 使用Dijkstra算法计算最短路径,度量为“成本”。
    • 收敛快,支持大规模网络和分层设计(区域Area),广泛应用于企业和运营商网络。
  • 路由结构图与路由表的生成

    • 距离向量协议通过邻居信息逐步更新路由表。
    • 链路状态协议通过全网拓扑图计算最优路径,生成路由表。

3. BGP(边界网关协议)

  • BGP的功能

    • BGP(Border Gateway Protocol)是目前互联网中唯一广泛使用的EGP协议。
    • 主要用于不同AS之间的路由信息交换,实现互联网范围的路由可达性和策略控制。
    • 支持路由聚合、环路避免、策略过滤等高级功能。
  • BGP的基本报文类型和工作方式

    • 报文类型:OPEN(建立连接)、UPDATE(通告路由)、KEEPALIVE(保持连接)、NOTIFICATION(错误通知)。
    • 工作方式
      • BGP路由器之间建立TCP连接,交换OPEN报文建立邻居关系。
      • 通过UPDATE报文通告可达前缀和撤销路由。
      • 定期发送KEEPALIVE报文保持连接。
      • 支持路径向量机制,通过AS Path等属性避免环路。
      • 支持灵活的路由策略和过滤,适应复杂的互联网环境。

总结

  • IGP(如RIP、OSPF)用于AS内部路由,侧重于快速收敛和最优路径选择。
  • EGP(主要是BGP)用于AS之间路由,侧重于策略控制和全网可达性。
  • 路由表的生成方式和协议机制决定了网络的规模、收敛速度和灵活性。

可靠传输协议的设计要点

可靠传输协议(如TCP)需要保证数据在不可靠信道上传输时的正确性、完整性和顺序。主要设计要点如下:

  1. 数据包损坏检测:校验和、ACK、NAK信号

    • 校验和:每个数据包都带有校验和,接收方收到后进行校验,发现错误则丢弃。
    • ACK(确认)信号:接收方收到正确的数据包后,发送ACK确认给发送方。
    • NAK(否认)信号:接收方检测到数据包损坏时,发送NAK,通知发送方重传。
  2. 数据包丢失检测:超时计时器

    • 发送方在发送数据包后启动超时计时器,若在规定时间内未收到ACK,则认为数据包丢失,自动重传。
  3. 按序交付、副本检测:序列号机制

    • 每个数据包分配唯一的序列号,接收方根据序列号判断数据包顺序,保证按序交付。
    • 序列号还能区分新旧数据,防止重复包被误收。
    • 要求序列号空间足够大,以避免序列号回绕导致的混淆。
  4. 传输效率:流水线协议

    • 为提高效率,采用流水线协议(如滑动窗口协议),允许发送方在未收到ACK前连续发送多个数据包,提高信道利用率。

总结
可靠传输协议通过校验和、ACK/NAK、超时重传、序列号和流水线机制,确保数据可靠、有序、高效地传输到接收方。


流量控制

流量控制用于防止发送方发送过快导致接收方缓存溢出,保证端到端通信的可靠性和高效性。主要机制包括:

  1. 滑动窗口机制的设计

    • 滑动窗口是一种允许发送方在未收到ACK前可以连续发送多个数据包的机制。
    • 发送窗口和接收窗口分别控制发送方和接收方的缓存和数据流动。
    • 窗口的“滑动”表示随着ACK的到来,窗口范围向前移动,允许发送新的数据。
  2. 信用量窗口(Credit Window)

    • 信用量窗口是接收方根据自身缓冲区剩余空间,动态告知发送方还能发送多少数据。
    • 发送方根据接收方通告的窗口大小调整自己的发送速率,防止接收方溢出。
  3. TCP复合的窗口管理方式

    • TCP流量控制采用滑动窗口和信用量窗口的结合。
    • 发送方维护发送窗口,接收方通过ACK报文中的窗口字段(rwnd)通告剩余缓冲区大小。
    • 发送方实际可发送的数据量受限于发送窗口、接收窗口和拥塞窗口三者的最小值。

连接维护

TCP是面向连接的协议,连接的建立和终止都需要严格的握手过程,确保双方状态同步。

  1. 连接建立:三次握手

    • 第一次:客户端发送SYN报文,发起连接请求。
    • 第二次:服务器收到后,回复SYN+ACK报文,表示同意连接。
    • 第三次:客户端收到SYN+ACK后,发送ACK报文,连接建立完成。
    • 三次握手的必要性:防止历史失效连接请求影响当前连接,确保双方都具备发送和接收能力。
  2. 连接终止:四次挥手

    • 第一次:主动关闭方发送FIN报文,表示无数据可发。
    • 第二次:被动关闭方收到FIN后,回复ACK,表示收到终止请求。
    • 第三次:被动关闭方处理完剩余数据后,发送FIN报文,表示同意关闭。
    • 第四次:主动关闭方收到FIN后,回复ACK,连接彻底关闭。
    • 四次挥手保证双方数据都能完整传输,避免数据丢失。

拥塞控制算法

拥塞控制用于防止网络因过载而性能下降,TCP通过多种算法动态调整发送速率,主要内容如下:

  1. 时延RTT估计算法

    • RTT(Round Trip Time,往返时延)用于估算数据包从发送到收到ACK的时间。
    • TCP根据历史RTT测量值,采用加权平均等方法动态估算当前RTT,为超时重传和拥塞控制提供依据。
  2. RTO计时器管理算法

    • RTO(Retransmission Timeout,重传超时时间)是TCP判断数据包丢失并触发重传的超时时间。
    • RTO根据RTT的估算值和波动性动态调整,防止过早或过晚重传。
  3. Jacobson’s Reno算法(TCP Reno)

    • 经典的TCP拥塞控制算法,包含以下机制:
      • 慢启动(Slow Start):初始拥塞窗口(cwnd)较小,每收到一个ACK,cwnd指数增长,快速探测可用带宽。
      • 拥塞避免(AIMD):窗口增长采用加性增大/乘性减小(AIMD, Additive Increase Multiplicative Decrease)算法。正常时线性增长,发生丢包时窗口减半。
      • 快重传(Fast Retransmit):收到3个重复ACK时,立即重传丢失的数据包,无需等待超时。
      • 快恢复(Fast Recovery):丢包后窗口减半,不回到慢启动,维持较高的吞吐量。

总结
TCP通过RTT估计、RTO管理和Reno算法(慢启动、AIMD、快重传、快恢复)等机制,实现了高效、动态的拥塞控制,保证网络稳定和公平利用。

URL格式

<protocol>://<host>:<port>/<path>?query_string
这个URL格式各部分的含义如下:

  • <protocol>:协议类型,如 http、https、ftp 等,指定访问资源所用的协议。
  • <host>:主机名或IP地址,表示服务器的地址。
  • <port>:端口号,指定服务器上用于该协议的端口(如http默认80,https默认443),可省略则用默认端口。
  • <path>:资源路径,表示服务器上具体的文件或资源位置。
  • ?query_string:查询字符串,通常用于传递参数给服务器,格式为 key1=value1&key2=value2。

举例说明:

1
https://www.example.com:8080/index.html?name=alice&id=123
  • https:协议
  • www.example.com:主机
  • 8080:端口
  • /index.html:路径
  • ?name=alice&id=123:查询参数

http无状态的优缺点

这张图讲的是HTTP是无状态协议(stateless),即每个请求-响应都是独立的,服务器不需要保存客户端的状态。

  • 优点(Good):

    • 提高服务器端的可扩展性(scalability)。
    • 故障处理更简单。
    • 能处理更高的请求速率。
    • 请求顺序无关紧要。
  • 缺点(Bad):

    • 某些应用需要持久状态(persistent state),比如需要唯一标识用户或保存临时信息。
    • 典型场景:购物车、用户资料、使用跟踪等。

总结:
HTTP无状态带来扩展性和简化管理,但对于需要记住用户状态的应用(如购物车),就需要额外机制(如cookie)来实现状态保持。

cookies的作用

Cookies 主要用来解决HTTP协议无状态的问题。

HTTP协议本身是无状态的,即服务器无法区分同一个用户的多次请求。Cookies 通过在客户端(浏览器)保存少量数据,并在每次请求时自动携带这些数据,实现了“会话跟踪”和“用户识别”。

主要用途:

  • 记录用户登录状态(如免登录、购物车等)
  • 识别和跟踪用户(如个性化设置、广告推荐)
  • 实现会话管理(如区分不同用户的访问)

总结:
Cookies 让服务器能够识别同一个用户的多次访问,实现用户状态的保持和个性化服务。
alt text


DNS系统的三大核心知识点

  1. 层次域名空间

    • DNS采用树状的层次结构进行域名管理,从根域(.)开始,向下分为顶级域(如.com、.cn)、二级域(如example.com)、三级域(如www.example.com)等。
    • 每一级域名由点号分隔,层次结构便于分布式管理和扩展。
    • 域名空间的分层设计,使得全球范围内的域名可以高效、唯一地分配和解析。
  2. 域名服务器

    • DNS系统由多种类型的服务器组成,包括:
      • 根域名服务器(Root DNS Server):位于域名空间的最顶层,负责管理顶级域的指向。
      • 顶级域名服务器(TLD DNS Server):管理如.com、.cn等顶级域下的域名。
      • 权威域名服务器(Authoritative DNS Server):负责某一具体域名的最终解析结果,存储该域名的真实IP地址。
      • 本地域名服务器(Local/Resolver DNS Server):通常由ISP或企业提供,负责接收用户的DNS查询请求,并递归或迭代地向其他DNS服务器查询结果。
    • 各类服务器协作,实现分布式、高可用的域名解析服务。
  3. 域名解析过程

    • 域名解析是将用户输入的域名(如www.example.com)转换为对应IP地址的过程,主要包括以下步骤:
      1. 用户主机向本地域名服务器发起DNS查询请求。
      2. 本地域名服务器若缓存中无结果,则递归或迭代查询根服务器、顶级域服务器、权威服务器。
      3. 查询过程可能涉及多级跳转,最终获得目标域名的IP地址。
      4. 本地域名服务器将结果返回给用户主机,并缓存结果以加速后续查询。
    • 域名解析过程支持递归查询(由本地服务器全权负责)和迭代查询(每级服务器只告诉下一级的地址)。

总结:

  • DNS系统通过层次化的命名空间、分布式的服务器体系和高效的解析流程,实现了域名到IP地址的高效映射,是互联网正常访问的基础。

ECN 🆚 TCP

ECN(Explicit Congestion Notification,显式拥塞通知)
是一种网络拥塞控制机制,允许路由器在发生拥塞时,不丢弃数据包,而是在IP头部设置ECN标志,通知接收方发生了拥塞。接收方收到后,反馈给发送方,发送方据此降低发送速率。

TCP拥塞控制与ECN的优缺点比较:

  • 传统TCP拥塞控制(如丢包检测)

    • 优点:实现简单,无需网络设备支持,兼容性好。
    • 缺点:只能通过丢包感知拥塞,导致不必要的数据包丢失和重传,增加延迟和网络负载。
  • ECN

    • 优点:无需丢包即可感知拥塞,减少重传和延迟,提高网络性能和吞吐量。
    • 缺点:需要端到端(主机和路由器)都支持ECN,部署成本较高,部分老旧设备不兼容。

总结:
ECN通过显式标记通知拥塞,能更高效、低损地进行拥塞控制,但需要全网支持;传统TCP通过丢包感知拥塞,简单但效率低。


感谢阅读!如果这篇文章对你有帮助,欢迎点赞和分享。