深入分析计算机网络数据链路层和网络层面试题

计算机网络体系结构

1. 请简述 OSI 七层模型和 TCP/IP 四层模型,并比较它们的异同。

OSI 七层模型

  • 应用层:直接为用户的应用进程提供服务,如 HTTP(超文本传输协议,用于 Web 浏览器与服务器通信)、FTP(文件传输协议,用于文件的上传和下载)、SMTP(简单邮件传输协议,用于发送电子邮件)等。
  • 表示层:负责处理在两个通信系统中交换信息的表示方式。包括数据格式转换(如将 ASCII 码转换为 EBCDIC 码)、数据加密与解密(保障数据的安全性,防止信息被窃取)、数据压缩与解压缩(减少数据传输量,提高传输效率)等。
  • 会话层:负责建立、管理和终止表示层实体之间的通信会话。例如,会话的建立可以通过用户登录认证来实现;在数据传输过程中,负责处理会话的同步,如设置检查点,当出现故障时可以从检查点恢复,实现断点续传;还负责解决数据的粘包与分包问题,确保数据的正确传输和接收。
  • 传输层:主要任务是向两台主机进程之间的通信提供通用的数据传输服务。有两个重要协议,TCP(传输控制协议)和 UDP(用户数据报协议)。TCP 提供面向连接的、可靠的字节流传输服务,通过序列号、确认应答、重传机制等保证数据的可靠传输,适用于对数据准确性要求高的场景,如文件传输、邮件发送等;UDP 提供无连接的、不可靠的报文传输服务,传输效率高,适用于对实时性要求高但对数据准确性要求相对较低的场景,如视频直播、语音通话等。
  • 网络层:负责将分组从源端传输到目的端,主要功能包括逻辑地址寻址(如 IPv4 地址或 IPv6 地址)、路由选择(确定数据包从源到目的的最佳路径)以及拥塞控制等。网络层协议如 IP 协议(网际协议)负责将数据封装成 IP 数据包,并根据目的 IP 地址进行路由转发;ICMP 协议(互联网控制报文协议)用于在网络设备之间传递控制信息,如差错报告、网络诊断等;IGMP 协议(互联网组管理协议)用于管理多播组,实现多播数据的正确传输。
  • 数据链路层:将网络层交下来的 IP 数据包组装成帧,并在两个相邻节点间的链路上传送帧。它负责实现链路管理(如建立、维持和释放数据链路连接)、帧的封装与解封(在帧头和帧尾添加相应的控制信息)、差错检测(通过 CRC 校验等方式检测数据在传输过程中是否发生错误)以及介质访问控制(决定哪个设备有权在共享介质上传输数据)。数据链路层的设备有网卡、网桥、交换机等。
  • 物理层:实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。它定义了物理设备的标准,如电缆的类型、接口的形状和引脚定义等;规定了信号的编码方式(如曼彻斯特编码、差分曼彻斯特编码等),将数字信号转换为适合在传输介质上传输的模拟信号;还涉及传输介质的选择,如双绞线、同轴电缆、光纤等。

TCP/IP 四层模型

  • 应用层:对应 OSI 模型的应用层、表示层和会话层的功能。包含众多应用层协议,如 DNS(域名系统,将域名解析为 IP 地址)、HTTP、SMTP 等,为用户提供各种网络应用服务。
  • 传输层:与 OSI 模型的传输层功能类似,定义了 TCP 和 UDP 两种协议。TCP 提供可靠的面向连接服务,UDP 提供不可靠的无连接服务。
  • 网际层:对应 OSI 模型的网络层。主要负责处理网络上主机之间的通信,通过 IP 协议实现数据包的路由和转发,同时还包括 ICMP、IGMP 等协议,用于网络控制和管理。
  • 网络接口层:对应 OSI 模型的数据链路层和物理层。负责将 IP 数据包封装成适合在物理网络上传输的帧,并通过物理介质进行传输。它包括各种物理网络的接口标准和协议,如以太网协议、无线局域网协议等,以及物理设备的驱动程序等。

两者异同点

  • 相同点
    • 都采用了分层的思想,将复杂的网络通信问题分解为多个层次,每个层次专注于特定的功能,使得网络体系结构更加清晰、易于理解和维护。
    • 都有应用层、传输层和网络层,且这三层在功能上有相似之处。应用层都为用户提供应用服务;传输层都负责数据传输服务,提供不同可靠性和传输特性的协议;网络层都处理网络寻址和数据包转发等功能。
  • 不同点
    • 层数不同:OSI 模型严格分为七层,层次结构更为复杂;TCP/IP 模型分为四层,相对简洁。
    • 设计理念不同:OSI 模型是先有理论模型,再进行协议实现,是一种理想化的标准模型;TCP/IP 模型是在实际应用中逐步发展起来的,更注重实用性和兼容性,许多互联网的实际应用都是基于 TCP/IP 模型开发的。
    • 某些层的功能合并:TCP/IP 模型将 OSI 模型中的表示层和会话层的功能合并到应用层中,在一定程度上简化了模型结构。
    • 应用普及程度不同:由于 TCP/IP 模型更符合实际应用需求,在互联网领域得到了广泛的应用,几乎成为了互联网的标准体系结构;而 OSI 模型虽然理论上很完善,但由于其复杂性和实现难度,在实际应用中并未得到广泛采用,更多地作为一种理论参考模型。

2. 五层体系结构与上述两种模型的关系是怎样的?

五层体系结构是综合了 OSI 七层模型和 TCP/IP 四层模型的优点,在实际教学和网络分析中常用的一种简化模型。它包括应用层、传输层、网络层、数据链路层和物理层。

与 OSI 七层模型的关系

  • 五层体系结构的应用层对应 OSI 七层模型的应用层、表示层和会话层的功能。在五层体系结构中,将 OSI 模型中表示层负责的数据格式转换、加密解密、压缩解压缩以及会话层负责的会话建立管理等功能,都整合到应用层中进行统一处理。这样简化了模型结构,更符合实际应用场景,因为在很多实际应用中,这些功能是紧密结合在一起为应用服务的。
  • 五层体系结构的传输层、网络层、数据链路层和物理层与 OSI 七层模型中的对应层次功能基本一致。传输层同样负责为应用进程提供数据传输服务,通过 TCP 或 UDP 协议实现不同的传输特性;网络层负责逻辑地址寻址和数据包的路由转发;数据链路层负责将网络层的数据包封装成帧并在相邻节点间传输;物理层负责实现比特流在物理介质上的传输。

与 TCP/IP 四层模型的关系

  • 五层体系结构在 TCP/IP 四层模型的基础上,将网络接口层进一步细分为数据链路层和物理层。TCP/IP 模型的网络接口层实际上涵盖了数据链路层和物理层的功能,但在五层体系结构中,将这两层分开描述,使得各层功能更加清晰明确。数据链路层专注于数据帧的封装、解封、差错检测以及链路管理等功能;物理层专注于物理介质的特性、信号编码和传输等功能。
  • 五层体系结构的应用层、传输层和网际层(对应 TCP/IP 模型的网络层)与 TCP/IP 四层模型中的对应层次功能相同,都是为了实现网络应用、数据传输和网络通信等核心功能。

五层体系结构吸收了 OSI 七层模型和 TCP/IP 四层模型的优点,既具有相对简洁的结构,又能清晰地描述网络通信的各个层次功能,在网络教学、网络设计和网络分析等方面都具有重要的应用价值。

数据链路层

1. 数据链路层的主要功能有哪些?

数据链路层作为计算机网络体系结构中的重要层次,主要承担以下关键功能:

  • 链路管理:负责数据链路的建立、维持和释放。在通信双方进行数据传输之前,需要通过一定的机制建立起可靠的数据链路连接,确保双方能够正确地进行数据交互。例如,在局域网中,当一台主机要与另一台主机进行通信时,数据链路层会进行一系列的初始化操作,包括协商通信参数、分配资源等,以建立起数据链路连接。在通信过程中,数据链路层要维持链路的正常运行,监测链路状态,及时处理链路中的错误和异常情况。当通信结束后,数据链路层负责释放所占用的链路资源,以便其他设备可以使用。
  • 帧的封装与解封:将网络层传来的 IP 数据包封装成数据帧,以便在物理链路上进行传输。在封装过程中,会在 IP 数据包的前面添加帧头,在后面添加帧尾。帧头中包含了源和目的 MAC 地址(介质访问控制地址,用于在局域网中唯一标识设备)、帧类型等重要信息,这些信息对于数据帧在链路上的正确传输和接收至关重要。帧尾通常包含用于差错检测的校验字段,如 CRC(循环冗余校验)码。接收方的数据链路层在接收到物理层传来的信号后,会根据帧头和帧尾的格式信息进行帧的解封,将封装在帧中的 IP 数据包提取出来,交给网络层进行进一步处理。
  • 差错检测:通过各种差错检测算法,对传输过程中可能出现的错误进行检测。由于物理链路可能会受到噪声干扰、信号衰减等因素的影响,导致数据在传输过程中发生错误。数据链路层采用 CRC 校验等方法,在发送方对数据帧进行计算,生成 CRC 校验码并附加在帧尾。接收方在接收到数据帧后,同样对数据部分进行 CRC 计算,并将计算结果与接收到的校验码进行比较。如果两者不一致,则说明数据帧在传输过程中出现了错误,接收方会要求发送方重新发送该数据帧,从而保证数据传输的准确性。
  • 介质访问控制:在共享介质的网络环境中,决定哪个设备有权在特定时刻访问传输介质。例如,在以太网中,采用 CSMA/CD(载波监听多路访问 / 冲突检测)协议来实现介质访问控制。每个设备在发送数据之前,首先要监听介质上是否有其他设备正在传输数据。如果介质空闲,则设备可以发送数据;在发送数据的同时,设备还要继续监听介质,以检测是否发生冲突。如果检测到冲突,设备会立即停止发送数据,并发送一个冲突信号,通知其他设备。然后,设备会采用一定的退避算法,等待一段时间后再次尝试发送数据。这种介质访问控制机制有效地避免了多个设备同时发送数据导致的冲突,提高了网络的传输效率。

2. 以太网协议的工作原理是什么?

以太网协议是目前应用最为广泛的局域网通信协议,其工作原理主要基于以下几个方面:

  • 载波监听多路访问(CSMA):在以太网中,所有设备共享同一传输介质。每个设备在发送数据之前,都需要先监听传输介质上是否有其他设备正在发送信号,即载波监听。如果监听到介质上有信号传输,说明介质忙,设备会等待一段时间后再次监听;只有当监听到介质空闲时,设备才认为可以发送数据。这种机制通过让多个设备共同监听介质,减少了冲突的可能性。
  • 冲突检测(CD):当一个设备开始发送数据后,它并不会立即停止监听介质。因为在网络中可能存在信号传播延迟,即使设备在发送数据前监听到介质空闲,也不能完全排除在它发送数据的同时,其他设备也开始发送数据的情况,从而导致冲突。因此,设备在发送数据的过程中,会同时检测介质上的信号。如果检测到的信号强度超过了正常发送信号的强度,说明发生了冲突。一旦检测到冲突,设备会立即停止发送数据,并发送一个强化冲突的信号,以便让其他设备也能尽快检测到冲突。
  • 冲突解决与退避算法:当检测到冲突后,为了避免多个设备同时再次尝试发送数据而导致新的冲突,以太网采用了退避算法。常用的退避算法是截断二进制指数退避算法。具体来说,设备在检测到冲突后,会随机选择一个退避时间进行等待。退避时间的计算与冲突发生的次数有关,冲突次数越多,退避时间的取值范围越大。例如,第一次冲突后,设备会在 0 到 2 - 1(即 0 或 1)个时间片之间随机选择一个时间片进行等待;第二次冲突后,会在 0 到 2² - 1(即 0 到 3)个时间片之间随机选择;第三次冲突后,在 0 到 2³ - 1(即 0 到 7)个时间片之间随机选择,以此类推,直到冲突次数达到 16 次,如果仍然冲突,则丢弃该数据帧,并向上层报告错误。通过这种退避算法,随着冲突次数的增加,设备再次发送数据时发生冲突的概率会逐渐降低,从而提高了网络的稳定性和传输效率。
  • 数据封装与传输:在发送数据时,以太网协议将网络层传来的 IP 数据包封装成以太网帧。以太网帧的格式包括前导码(用于同步接收方的时钟)、帧起始定界符、目的 MAC 地址、源 MAC 地址、类型字段(用于标识上层协议类型,如 IP 协议、ARP 协议等)、数据字段(包含封装的 IP 数据包)以及帧校验序列(FCS,用于差错检测)。封装完成后,设备将以太网帧通过物理层发送到传输介质上,以二进制比特流的形式在网络中传播。接收方的设备在接收到比特流后,会按照以太网帧的格式进行解析,提取出其中的 IP 数据包,并交给网络层进行后续处理。

3. 交换机的工作原理和作用是什么?它与集线器有何区别?

交换机工作原理和作用

  • 工作原理:交换机通过学习连接到其端口的设备的 MAC 地址,构建 MAC 地址表。当交换机接收到一个数据帧时,它会检查帧中的目的 MAC 地址,并在 MAC 地址表中查找对应的端口。如果找到匹配的端口,交换机就将该数据帧转发到该端口;如果在 MAC 地址表中未找到目的 MAC 地址,交换机则会将数据帧泛洪到除接收端口之外的所有其他端口。随着时间的推移,交换机不断学习新的 MAC 地址与端口的对应关系,更新 MAC 地址表,从而能够更准确地转发数据帧。例如,当主机 A 向主机 B 发送数据帧时,交换机接收到该帧后,首先查看帧中的源 MAC 地址(即主机 A 的 MAC 地址),并将其与接收该帧的端口号记录到 MAC 地址表中。然后,交换机查看目的 MAC 地址(即主机 B 的 MAC 地址),若 MAC 地址表中已有主机 B 的 MAC 地址与对应端口的记录,则将数据帧转发到该端口;若没有记录,则向除接收端口外的其他所有端口发送该数据帧。当主机 B 回复数据帧给主机 A 时,交换机同样进行上述操作,同时也更新了 MAC 地址表中主机 B 的相关记录,使得下次转发主机 A 与主机 B 之间的数据帧时能够更高效。
  • 作用:交换机主要用于在局域网中实现设备之间的数据交换,能够隔离冲突域。由于交换机根据 MAC 地址进行数据帧的转发,每个端口都可以看作是一个独立的冲突域,不同端口之间的数据传输不会相互干扰,大大提高了网络的传输效率和性能。与共享式网络(如使用集线器的网络)相比,交换机能够减少冲突的发生,提高网络带宽的利用率。例如,在一个办公室网络中,有多台计算机和服务器通过交换机连接。当一台计算机向服务器发送数据时,交换机能够准确地将数据帧转发到服务器所连接的端口,而不会影响其他计算机之间的通信,从而保证了网络的流畅运行。

交换机与集线器的区别

  • 工作层次不同:交换机工作在数据链路层,它根据数据帧中的 MAC 地址进行转发决策;而集线器工作在物理层,它只是简单地将接收到的信号进行放大和广播,不具备对数据帧进行分析和处理的能力。
  • 数据转发方式不同:交换机采用存储转发的方式,接收到数据帧后,先存储在缓存中,然后根据 MAC 地址表进行转发;集线器则是将接收到的信号广播到所有端口,不管目的设备是否连接到该端口。例如,当集线器接收到一个数据帧时,它会将该数据帧的信号复制并发送到所有与之相连的端口,导致网络中存在大量不必要的广播流量,容易造成网络拥塞。而交换机只有在 MAC 地址表中找不到目的 MAC 地址时才进行泛洪,正常情况下能够准确地将数据帧转发到目标端口,减少了广播流量,提高了网络效率。
  • 冲突域不同:集线器连接的所有设备处于同一个冲突域,任何一个设备发送数据时,其他设备都可能发生冲突;而交换机的每个端口都构成一个独立的冲突域,不同端口之间的数据传输不会产生冲突,大大降低了冲突的概率,提高了网络的性能和可靠性。
  • 带宽利用不同:集线器共享带宽,所有连接到集线器的设备共享同一传输介质的带宽。例如,一个 100Mbps 的集线器连接了 10 台设备,那么每台设备理论上只能获得 10Mbps 的平均带宽;而交换机的每个端口都有独立的带宽,例如一个 100Mbps 端口的交换机连接了 10 台设备,每台设备都可以独占 100Mbps 的带宽进行数据传输,大大提高了数据传输的速度和效率。

网络层

1. IP 协议的作用是什么?IPv4 和 IPv6 有哪些主要区别?

IP 协议的作用
IP 协议(网际协议)是网络层的核心协议,主要承担以下重要作用:

对比维度IPv4IPv6
地址长度32 位,约 43 亿个地址,目前已耗尽128 位,地址空间极大(约 3.4×10³⁸个),可满足未来长时间的需求
地址表示点分十进制,如 192.168.1.1冒分十六进制,如 2001:0db8:85a3::8a2e:0370:7334(支持零压缩,连续的零可省略为 “::”)
首部格式首部长度可变(20-60 字节),包含较多字段(如 IHL、服务类型、总长度、标识、标志、分片偏移、TTL、协议、首部校验和、源地址、目的地址、选项等)首部长度固定为 40 字节,字段简化(如版本、流量类别、流标签、有效载荷长度、下一个首部、跳数限制、源地址、目的地址),取消了首部校验和(由数据链路层和传输层负责校验),选项移至扩展首部
分片机制发送端和中间路由器都可进行分片仅发送端可进行分片,中间路由器遇到过大的数据包时会丢弃并返回 ICMPv6 差错报文,由发送端重新调整分片大小,提高了路由效率
地址类型分为 A、B、C、D、E 类,包含单播、广播、多播地址取消广播地址,引入单播、多播、任播地址。任播地址用于标识一组设备中的一个,数据包会被发送到距离最近的设备(根据路由协议判断),适用于负载均衡、内容分发等场景
自动配置主要依赖 DHCP(动态主机配置协议)获取地址,无状态自动配置(如 APIPA)功能有限支持无状态地址自动配置(SLAAC),主机可通过邻居发现协议(NDP)自动获取前缀信息并生成全球唯一的 IPv6 地址,无需 DHCP 服务器,简化了网络配置
安全机制安全性依赖上层协议(如 SSL/TLS),无内置安全功能内置 IPsec(IP 安全)协议,提供数据加密、认证和完整性校验,从网络层保障通信安全,无需额外配置即可实现端到端的安全通信
QoS 支持通过服务类型(TOS)字段支持,但功能有限新增 “流标签” 字段,可对特定数据流进行标记,路由器根据流标签为数据包提供差异化的服务质量(如带宽保障、低延迟),更适合实时音视频等对 QoS 要求高的应用
NAT 依赖由于地址短缺,广泛使用 NAT(网络地址转换)实现私有地址到公有地址的转换,但 NAT 会破坏端到端通信,增加网络复杂性地址充足,无需依赖 NAT,可实现真正的端到端通信,简化了网络结构,便于 P2P(对等网络)应用的部署

2. 什么是子网掩码?它的作用是什么?如何计算子网?

子网掩码的定义
子网掩码(Subnet Mask)是一个 32 位的二进制数,与 IPv4 地址配合使用,用于区分 IP 地址中的网络部分和主机部分。子网掩码的二进制表示中,“1” 对应的位表示 IP 地址的网络位,“0” 对应的位表示主机位。通常子网掩码也以点分十进制形式表示,如 255.255.255.0。

子网掩码的作用

3. 路由协议的分类有哪些?RIP 和 OSPF 的区别是什么?

路由协议的分类
路由协议用于在路由器之间交换路由信息,生成和维护路由表,可分为以下几类:

RIP 和 OSPF 的区别

对比维度RIPOSPF
协议类型距离矢量路由协议链路状态路由协议
度量值以跳数(经过的路由器数量)作为度量值,最大跳数为 15,超过 15 则认为目标不可达以链路带宽为主要度量值(默认成本 = 100Mbps / 链路带宽),可根据延迟、负载等自定义度量值,无最大跳数限制
路由更新方式周期性(默认 30 秒)向所有邻居广播完整路由表,更新信息量大,占用带宽多仅在链路状态发生变化时发送触发更新(包含变化的链路信息),更新信息量小,且使用组播(224.0.0.5)发送,减少带宽消耗
网络拓扑认知仅了解到邻居的路由信息,对整个网络拓扑的认知是间接的、不完整的,可能产生路由环路每个路由器都维护一个完整的网络拓扑数据库,对网络结构有全局认知,通过 Dijkstra 算法计算最短路径,可避免路由环路
收敛速度收敛速度慢(可能需要几分钟),因为路由更新需要逐跳传播,且存在计数到无穷的问题(需通过水平分割、毒性逆转等机制缓解)收敛速度快(通常几秒内),链路状态变化后迅速扩散,所有路由器同步更新拓扑数据库并重新计算路由
适用网络规模适用于小型网络(如小于 15 跳的局域网),不适合大型网络适用于中大型网络,支持分层结构(通过区域划分),可减少路由信息交换量和计算复杂度
安全性无内置安全机制,容易受到路由欺骗攻击支持明文或 MD5 认证,只有通过认证的路由器才能交换路由信息,提高了协议的安全性
VLSM 支持不支持可变长子网掩码(VLSM),无法有效利用 IP 地址空间支持 VLSM 和 CIDR(无类别域间路由),可灵活划分子网,提高 IP 地址利用率
路由聚合仅支持简单的路由聚合,能力有限支持在区域边界进行路由聚合,将多个子网路由合并为一条汇总路由,减少路由表规模

4. 什么是 NAT?它的作用是什么?NAT 有哪些类型?

NAT 的定义
NAT(网络地址转换)是一种在路由器或防火墙中实现的技术,用于将一个 IP 地址空间转换为另一个 IP 地址空间,通常是将私有 IP 地址转换为公有 IP 地址(或反之)。

NAT 的作用

  • 逻辑地址寻址:为网络中的每台设备分配一个唯一的逻辑地址,即 IP 地址。IP 地址用于标识设备在网络中的位置,使得数据包能够准确地从源设备

    发送到目的设备。在 IPv4 中,IP 地址是 32 位的二进制数,通常表示为点分十进制形式(如 192.168.1.1);在 IPv6 中,IP 地址是 128 位的二进制数,采用冒分十六进制表示(如 2001:0db8:85a3:0000:0000:8a2e:0370:7334)。通过 IP 地址,网络层能够确定数据包的源和目的地,为路由选择提供基础。

  • 路由选择:IP 协议本身并不直接进行路由选择,但它依赖路由协议(如 RIP、OSPF 等)生成的路由表来确定数据包从源到目的的最佳路径。路由器根据数据包中的目的 IP 地址查询路由表,选择合适的接口将数据包转发出去,最终实现跨网络的通信。例如,当一个数据包从局域网中的主机发送到互联网上的服务器时,沿途的路由器会根据 IP 地址和路由表不断转发数据包,直到到达目的服务器所在的网络。
  • 数据包封装与分片:当传输层的数据段传递到网络层时,IP 协议会将其封装成 IP 数据包(也称为 IP 数据报),添加 IP 首部(包含源 IP 地址、目的 IP 地址、协议类型、生存时间 TTL 等信息)。由于不同物理网络对数据帧的最大长度(MTU,最大传输单元)有不同限制,如果 IP 数据包的长度超过了输出链路的 MTU,IP 协议会对数据包进行分片,将其分割成多个较小的分片,每个分片都包含相应的分片信息(如分片偏移量、MF 标志等)。到达目的端后,网络层会对分片进行重组,恢复成原来的数据包,再交给传输层处理。
  • 划分网络与主机部分:通过将 IP 地址与子网掩码进行 “逻辑与” 运算,可得到该 IP 地址所在的网络地址(网络号)。例如,IP 地址 192.168.1.100 与子网掩码 255.255.255.0 进行与运算后,得到网络地址 192.168.1.0,表明该主机属于 192.168.1.0 网络,主机号为 100。
  • 子网划分:子网掩码允许将一个大的网络划分为多个较小的子网,每个子网成为一个独立的广播域,减少网络中的广播流量,提高网络性能和安全性。例如,一个 C 类网络(默认子网掩码 255.255.255.0)可容纳 254 台主机(2⁸-2),若通过子网掩码 255.255.255.128 划分子网,则可分为 2 个子网,每个子网最多容纳 126 台主机(2⁷-2)。
  • 判断两台主机是否在同一子网:将两台主机的 IP 地址分别与子网掩码进行与运算,若得到的网络地址相同,则说明它们在同一子网,可以直接通信(无需经过路由器);否则,需要通过路由器转发才能通信。
  • 确定子网位数:默认 C 类网络的网络位为 24 位,子网掩码 255.255.255.192 的二进制为 11111111.11111111.11111111.11000000,因此子网位为 2 位(26-24=2)。
  • 计算子网数量:子网数量 = 2^ 子网位数 = 2²=4 个。
  • 计算主机位数:主机位数 = 32 - 网络位总数 = 32-26=6 位。
  • 计算每个子网的主机数量:每个子网最多容纳的主机数 = 2^ 主机位数 - 2=2⁶-2=62 台(减去网络地址和广播地址)。
  • 确定每个子网的范围
    • 子网 1:网络地址 = 192.168.1.0(00000000),主机范围 = 192.168.1.1-192.168.1.62,广播地址 = 192.168.1.63(00111111)。
    • 子网 2:网络地址 = 192.168.1.64(01000000),主机范围 = 192.168.1.65-192.168.1.126,广播地址 = 192.168.1.127(01111111)。
    • 子网 3:网络地址 = 192.168.1.128(10000000),主机范围 = 192.168.1.129-192.168.1.190,广播地址 = 192.168.1.191(10111111)。
    • 子网 4:网络地址 = 192.168.1.192(11000000),主机范围 = 192.168.1.193-192.168.1.254,广播地址 = 192.168.1.255(11111111)。
  • 按路由作用范围分类
    • 内部网关协议(IGP):用于自治系统(AS,一个由单一机构管理的网络集合)内部的路由选择,如 RIP(路由信息协议)、OSPF(开放式最短路径优先)、IS-IS(中间系统到中间系统)等。
    • 外部网关协议(EGP):用于不同自治系统之间的路由选择,目前最常用的是 BGP(边界网关协议),如 BGP-4。
  • 按路由算法分类
    • 距离矢量路由协议:路由器根据 “距离”(通常为跳数)和 “矢量”(方向)来选择路由,通过周期性地向邻居发送完整路由表来更新路由信息,如 RIP。
    • 链路状态路由协议:路由器通过交换链路状态信息(如链路带宽、延迟、可达性等),在本地构建整个网络的拓扑图,然后使用 Dijkstra 算法计算最短路径,如 OSPF。
  • 缓解 IPv4 地址短缺问题:私有 IP 地址(如 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)可在局域网中重复使用,通过 NAT 转换为少量公有 IP 地址访问互联网,减少了对公有 IP 地址的需求。
  • 隐藏内部网络结构:外部网络只能看到 NAT 设备的公有 IP 地址,无法直接获取内部主机的私有 IP 地址,提高了内部网络的安全性,降低了被攻击的风险。
  • 解决 IP 地址冲突:当两个不同的局域网合并时,若存在 IP 地址冲突,可通过 NAT 将其中一个网络的 IP 地址转换为新的地址段,避免冲突。
  • 静态 NAT(Static NAT):将内部网络的私有 IP 地址与公有 IP 地址进行一对一的永久映射,一个私有 IP 地址固定对应一个公有 IP 地址。适用于需要外部网络主动访问的内部服务器(如 Web 服务器、邮件服务器),例如将内部服务器 192.168.1.10 映射到公有 IP 202.100.1.10,外部用户可通过 202.100.1.10 访问该服务器。
  • 动态 NAT(Dynamic NAT):将内部私有 IP 地址从一个公有 IP 地址池(包含多个公有 IP)中动态选择一个进行映射,映射关系是临时的,当内部主机关闭连接后,公有 IP 地址会被释放回地址池供其他主机使用。动态 NAT 仍需要多个公有 IP 地址,只是实现了地址的动态分配,适用于内部主机数量多于公有 IP 地址但需要同时访问互联网的场景。
  • 网络地址端口转换(NAPT,也称为 PAT):最常用的 NAT 类型,通过同时转换 IP 地址和端口号,实现多个内部私有 IP 地址共享一个或少量公有 IP 地址。例如,内部主机 192.168.1.2:1234 访问外部服务器 203.0.113.5:80 时,NAT 设备将源地址转换为公有 IP 202.100.1.10:5678(端口 5678 为动态分配),外部服务器的响应会根据端口映射返回给 192.168.1.2:1234。PAT 充分利用了端口资源(0-65535),几乎可以满足中小型网络的所有互联网访问需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/89958.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/89958.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云服务器新装的mysql8,无法通过远程连接,然后本地pymysql也连不上

阿里云服务器,用apt-get新装的mysql-server,竟然无法通过远程连接到,竟然是这个原因。不是防火墙,iptables早就关了。也不是安全组,不是人为限制访问的话,根本没必要弄安全组 排查过程 netstat -antop|grep…

质量即服务:从测试策略到平台运营的全链路作战手册

(零)为什么需要“质量即服务” 当业务方说“今晚一定要上线”, 当开发说“我只改了两行代码”, 当运维说“回滚窗口只有 5 分钟”, 质量必须像水电一样随取随用,而不是上线前的大坝泄洪。 这篇手册提供一张…

Java -- 自定义异常--Wrapper类--String类

自定义异常:概念:当程序中出现了某些错误,但该错误信息并没有在Throwable子类中描述处理,这个时候可以自己设计异常,用于描述该错误信息。步骤:1. 定义类:自定义异常类名(程序员自己…

一文速通《线性方程组》

目录 一、解题必记知识点 二、解题必备技巧 三、非齐次线性方程组求解 四、齐次线性方程组求解 ★五、解析题目信息,获取暗含条件 一、解题必记知识点 (1) (2)基础解系线性无关,基础解系 解空间的一个基,基 一组线性无关的、能够生…

【Django】DRF API版本和解析器

讲解 Python3 下 Django REST Framework (DRF) API 版本控制解析器(Parser)一、DRF API 版本控制详解 API 版本控制是构建健壮、可维护的 RESTful API 的关键,尤其在项目演进中需要兼容不同版本的客户端请求。 1.1 API 版本控制的核心原理 AP…

Windows系统暂停更新工具

功能说明 暂停更新至2999年恢复系统更新彻底禁用更新(不可逆) 使用方法 下载解压后双击运行 .bat 文件 输入数字选择功能: 输入 1:暂停更新至2999年(推荐)输入 2:恢复系统更新输入 3&#xf…

git push新版问题解决

git 好像不能通过username:password的方式来git push了。但我的电脑依然弹出username和password的弹窗。转战ssh来git push。由于之前是用git clone克隆的,需要再转换成ssh的url来git push。

PyCharm + AI 辅助编程

PyCharm AI:初学者友好的 2 个实用场景(附操作步骤) PyCharm 专业版(或通过插件集成)支持 AI 辅助编程(如 JetBrains AI 或 GitHub Copilot),能根据代码上下文自动生成代码、解释逻…

疯狂星期四文案网第15天运营日记

网站运营第15天,点击观站: 疯狂星期四 crazy-thursday.com 全网最全的疯狂星期四文案网站 运营报告 昨日访问量 昨天只有20来ip, 太惨了,感觉和最近没有发新段子有关,也没有发新的外链,不知道这周四会怎么样 昨日搜…

如何解决pip安装报错ModuleNotFoundError: No module named ‘Cython’问题

【Python系列Bug修复PyCharm控制台pip install报错】如何解决pip安装报错ModuleNotFoundError: No module named ‘Cython’问题 摘要 在使用 PyCharm 控制台或命令行执行 pip install Cython 时,常会遇到 ModuleNotFoundError: No module named Cython 的报错。本…

freertos任务调度关键函数理解 vTaskSwitchContext

void vTaskSwitchContext(void) {//my_printf( "uxSchedulerSuspended %d\n", uxSchedulerSuspended );/* 调度器处于挂起状态 */if (uxSchedulerSuspended ! (UBaseType_t)pdFALSE) {/*** The scheduler is currently suspended - do not allow a context* switch.…

CPU 密集型 和 I/O 密集型 任务

文章目录**CPU 密集型任务(CPU-bound)**定义:特点:常见场景:如何优化 CPU 密集型任务:**I/O 密集型任务(I/O-bound)**定义:特点:常见场景:如何优化…

[2025CVPR-小目标检测方向]基于特征信息驱动位置高斯分布估计微小目标检测模型

核心问题 ​小目标检测性能差:​​ 尽管通用目标检测器(如 Faster R-CNN, YOLO, SSD)在常规目标上表现出色,但在检测微小目标(如 AI-TOD 基准定义的:非常小目标 2-8 像素,小目标 8-16 像素&…

三大工厂设计模式

1.简单工厂模式1.1需求入手从需求进行入手,可以更深入的理解什么是设计模式。有一个制作披萨的需求:需要便于扩展披萨的种类,便于维护。1.披萨的种类有很多:GreekPizz,CheesePizz等2.披萨的制作流程:prepar…

SpringBoot--Mapper XML 和 Mapper 接口在不同包

🧩 背景说明在 Spring Boot 中,MyBatis 默认要求 Mapper 接口和 XML 文件位于相同包路径。 但在实际项目中,为了模块化或结构清晰,常将 XML 放在 resources/mybatis/... 下,这种做法就必须进行额外配置。📁…

公交车客流人数统计管理解决方案:智能化技术与高效运营实践

1. 引言公交车作为城市公共交通的核心组成部分,其客流数据的精准统计与管理直接影响运营效率、调度优化和乘客体验。传统的人工统计方式效率低、误差大,难以满足现代智慧交通的需求。随着人工智能(AI)、物联网(IoT&…

正则表达式完全指南:从入门到实战

目录 一、什么是正则表达式? 二、基础语法速查表 三、进阶特性 1.分组与捕获 2.非捕获分组 3.前瞻与后顾 4.贪婪与懒惰匹配 四、实战案例 案例1:验证手机号 案例2:提取网页中所有链接 案例3:密码强度验证 一、什么是正…

SmartETL循环流程的设计与应用

1. 引言 **检索增强生成(RAG)**是指通过检索对大模型生成进行增强的技术,通过充分利用信息检索(尤其是语义检索)相关技术,实现大模型快速扩展最新知识、有效减少幻觉的能力。主流RAG框架包括问题理解、知识…

uni-app开发小程序,根据图片提取主题色值

需求&#xff0c;在页面根据传入的图片提取图片主色值并用来设置区块背景色<template><view class"icon-container"><view class"sport-icon" :style"{ backgroundColor: mainColor }"><image :src"/static/images/sp…

ESP32-Cam三脚架机器人:DIY你的智能移动监控平台

项目概述 在物联网与机器人技术融合发展的今天&#xff0c;基于ESP32的创意项目层出不穷。今天为大家介绍一款极具创新性的ESP32-Cam三脚架机器人&#xff08;Dodge&#xff09;&#xff0c;它将传统三脚架结构与智能监控功能完美结合&#xff0c;通过巧妙的机械设计和开源硬件…