8887 字
24 分钟
计算机网络笔记
2026-10-15

一、几种网络通信模型#

  1. OSI(开放系统互连参考模型):这是一个理论上的标准模型。
  2. TCP/IP模型:这是现实中互联网真正在用的模型。它是由实际应用发展而来的,分为4层。
  3. 五层模型:这是为了方便教学和考试。

1.1 OSI 七层模型总览#

  • 第7层:应用层:用户直接打交道的地方。比如打开浏览器(HTTP)、发邮件(SMTP)。
  • 第6层:表示层:负责数据的翻译等。比如加密解密、压缩解压、格式转换。
  • 第5层:会话层:负责建立和管理数据通讯窗口。决定是建立连接、维持连接还是断开连接。
  • 第4层:传输层:负责端到端准确交付数据。比如 TCP、UDP。它决定数据是可靠送到(TCP)还是只管发不管收(UDP),以及数据该给电脑里的哪个软件(通过端口号)。
  • 第3层:网络层:负责找路和跨网段。比如 IP、ICMP。它给数据加上 IP 地址以访问目的 IP
  • 第2层:数据链路层:负责局域网内的传递。比如 MAC 地址、以太网。
  • 第1层:物理层:负责传输电信号、光信号,比如网线、光纤、网卡。

1.2 五层模型总览#

层次核心作用常见协议或技术常见数据单位
应用层 A为应用程序提供网络服务,如网页、邮件、域名解析HTTP、DNS、FTP、SMTP、SSH、DHCP 等报文/消息
传输层 C提供进程之间的通信,通过端口区分应用TCP、UDPTCP 报文段、UDP 数据报
网络层 B根据 IP 地址寻址,将分组跨网络送往目的地IPv4、IPv6、ICMP、IGMP、OSPF分组/IP 数据报
数据链路层 D在一段链路上传输帧以太网 MAC、Wi-Fi MAC、PPP、ARP帧
物理层 E将比特表示为电、光、无线电信号并传输双绞线、光纤比特

1.3 三模型对比#

它们之间的对应关系如下表:

OSI 七层模型TCP/IP 四层模型五层模型(考试标准)核心功能
应用层应用层应用层用户接口、处理业务
表示层应用层应用层翻译、加密、压缩
会话层应用层应用层建立、管理、终止会话
传输层传输层传输层端到端通信、可靠/不可靠
网络层网际层网络层路由寻址、跨网段
数据链路层网络接口层数据链路层相邻设备传输、MAC寻址
物理层网络接口层物理层传输比特流(电/光信号)

1.4 五层模型中每层的 PDU#

PDU(协议数据单元):数据在每一层打包后的名字。

  • 应用层:报文(Message)。比如发一封邮件,整个邮件内容就是报文。
  • 传输层:段(Segment)。如果是 TCP 协议,叫“数据段”;如果是 UDP 协议,叫“数据报”。

包含:TCP 首部 + 应用数据**:假设浏览器要向网站发送一个请求。应用层先产生请求数据,使用 TCP 传输时,TCP 会把这些数据组织成报文段,并加上 TCP 首部。

TCP 首部包含:源端口(如浏览器产生的临时端口,客户端发出请求的情况),目的端口(如服务器443),序号/确认号,校验和。

  • 网络层:包(Packet)

IP 首部 + TCP 报文段**:TCP 报文段形成后,IP 再给它加上 IP 首部,组成 IP 数据包。

IP 首部包含:源 IP,目的 IP,TTL,协议号。

  • 数据链路层:帧(Frame)
  • 物理层:**比特(Bit)
NOTE

IP 负责尽力交付,但本身不保证数据一定到达,也不保证按顺序到达。 使用 TCP 时,这些可靠性问题由两端的 TCP 机制处理。

总结:应用数据装进 TCP 报文段,TCP 报文段装进 IP 数据包,IP 数据包装进链路层帧 注:这里的流程只是简化版本,实际上,一次应用请求可能被拆成多个 TCP 报文段;HTTPS 的应用内容还会经过 TLS 加密。

1.5 常见协议#

应用层#

协议主要用途记忆要点
HTTP传输网页、调用 Web API 等浏览器访问网站常用
HTTPS对 HTTP 通信进行加密和身份认证保护通常理解为 HTTP 使用 TLS 保护
DNS查询域名对应的 IP 等记录域名解析
DHCP自动分配 IP 地址及其他网络配置自动获取 IP、网关、DNS
FTP文件传输传统文件传输协议
TFTP简单文件传输使用 UDP,功能较简单
SMTP发送和转发邮件发邮件
POP3从邮件服务器获取邮件收邮件
IMAP访问、管理服务器上的邮件收邮件并同步邮件状态
SSH加密远程登录、执行命令等安全远程管理
Telnet远程登录通常明文传输
SNMP网络设备监控和管理查看设备状态、流量等
NTP网络时间同步对时

传输层与网络层#

层次协议主要用途
传输层TCP提供面向连接、可靠、有序的字节流传输
传输层UDP提供无连接的数据报传输,本身不保证可靠交付和顺序
网络层IPv4/IPv6提供 IP 寻址和分组传送
网络层ICMP传递网络差错报告和诊断信息,例如 ping 使用的回显请求与应答
网络层IGMP管理 IPv4 组播成员关系
网络层OSPF路由器之间交换路由信息,计算路由

数据链路层和物理层#

协议/技术归属与作用
以太网 MAC数据链路层,规定以太网帧、MAC 寻址及介质访问等
Wi-Fi MAC数据链路层,负责无线局域网中的帧传输和介质访问等
PPP数据链路层,点对点链路协议
ARP通常归数据链路层,用于在本地链路上查询 IPv4 地址对应的 MAC 地址
以太网/Wi-Fi 的物理规范物理层,规定信号编码、传输速率、频率等

二、一些琐碎点#

2.1 默认网关#

默认网关(Default Gateway)通常是本地网络中一台路由器或三层交换机的接口 IP 地址。当主机找不到更具体的路由时,就把数据包交给默认网关,由它继续转发。

IMPORTANT

这里的找不到更具体的路由指: 路由表中的每一条路由,都对应一段目的 IP 地址范围:

  • 192.168.1.0/24:只匹配 192.168.1.x 这段地址。
  • 10.20.30.0/24:只匹配 10.20.30.x 这段地址。
  • 0.0.0.0/0:可以匹配任意 IPv4 地址。 匹配范围越小,路由越具体;如果同时匹配多条,就优先选择前缀最长的那条。 例如 /24 比 /0 更具体。

以通过以太网访问 8.8.8.8 (谷歌 DNS 服务器)为例,主机先通过 ARP 查询默认网关的 MAC 地址,再封装并发送以太网帧:源 IP(本机 IP),目的 IP(8.8.8.8),源 MAC(本机网卡的 MAC),目的 MAC(默认网关对应接口的 MAC)。网关收到后会查询自己的路由表,再决定从哪个接口、向哪个下一跳转发。

如果没有默认网关,也可能访问外部网络,只要本机有路由表切路由表里有匹配目标IP的具体路由,且下一跳可以到达,就能访问对应网络。但没有默认路由时,就只能访问路由表明确覆盖的目的地,不能随意访问整个互联网。

2.2 默认路由#

默认路由是路由表中的一条特殊路由,IPv4 通常写成 0.0.0.0/0

default via 192.168.1.1 dev eth0
等价于
0.0.0.0/0 via 192.168.1.1 dev eth0

表示的意思就是:如果一个目的 IP 在路由表里找不到更具体的匹配项,就按这条路由走。

默认网关就是默认路由里那个“下一跳”的 IP 地址,通常是本地路由器 LAN 口地址

2.3 私有 IP 范范围#

  • 10.x.x.x (10.0.0.0 ~ 10.255.255.255)
  • 172.16.x.x ~ 172.31.x.x
  • 192.168.x.x (192.168.0.0 ~ 192.168.255.255)
  • APIPA(自动私有 IP 寻址):这是一个特殊现象。当你的电脑连不上 DHCP 服务器(比如路由器坏了,或者网线没插好),Windows 系统会自动给自己分配一个 169.254.x.x 开头的 IP 地址

2.4 网段#

决定:IP + 子网掩码

比如 A 设备的 IP 与子网掩码如下:

192.168.1.10/24 -> 掩码:255.255.255.0(CIDR转换,将子网掩码换算成二进制,数网络段有多少个1)

掩码与 IPV4 通过按位与来判断不同设备是不是在同一个子网内,前面的网络段相同代表在同一个子网内

A 所在子网:192.168.1.0 ~ 192.168.1.255,再减去最前和最后地址。

2.4 临时源端口#

服务端监听的是固定目的端口,比如 Web 服务 80、SSH 22。但客户端也需要一个源端口,否则内核无法区分同一台客户端上的多个连接(比如多个标签页访问同一个网站,目的 IP 和目的端口都一样,但源端口不同,内核才能把返回的数据包分给正确的应用程序)

Socket 工作流程#

socket 是应用程序与操作系统网络协议栈之间的编程接口,下面的例子是 TCP Socket:

  • 首先服务端创建一个通信端点,然后将 Socket 绑定到本机的某个 IP 和端口。随后将 Socket 变成监听 Socket,准备接收客户端的连接。服务端此时通过 accept 返回的 socket 等待连接
  • 客户端创建 Socket,并向服务端发起连接请求,通过完成 TCP 三次握手后建立连接,服务端将连接放进队列,accept 从队列取出连接。客户端不需要显式 bind,因为内核户会自动分配一个临时源端口。
  • 双方开始传输数据,系统会把这些数据交给内核,由内核的 TCP 协议负责封装、确认等等
  • 最后关闭连接,进行四次挥手。

监听 Socket:被动等待客户端来发起连接,不参与收发数据。主要作用就是让服务端能够满足多个客户端,让数据发配到对应的客户端。

VLSM:可变长子网掩码#

根据不同子网的主机数量需求,使用不同长度的子网掩码,划分出大小不同的子网

IPV4 一共 32 位,/n 表示前面的 n 位都是网络部分,后面的 32 - n 是主机部分。 由于在传统 IPV4 子网中:

  • 主机位全为 0:网络地址,用来标识整个子网。
  • 主机位全为 1:广播地址。

所以如果主机位有 hh 位,那么可用主机数为:

可用主机数=2h−2\text{可用主机数} = 2^h - 2

eg:使用VLSM对网络10.11.0.0/20进行子网划分,要求划分为三个子网,第一个子网要求至少容纳796名用户,第二个子网要求至少容纳31名用户,第三个子网至少容纳两名用户,该如何划分?

子网地址总数分配范围下一个可用地址
10.11.0.0/22102410.11.0.0~10.11.3.25510.11.4.0
10.11.4.0/266410.11.4.0~10.11.4.6310.11.4.64
10.11.4.64/30410.11.4.64~10.11.4.6710.11.4.68

按照从大到小分

交换机#

交换机主要连接同一局域网里的设备

流程:举个例子:

电脑 A 给同一局域网的电脑 B 发数据,A 根据子网掩码判断 B 与自己在同一子网。于是 A 通过 ARP 查询 B 的 MAC 地址,将数据包在以太网帧里发送给交换机。交换机根据目的 MAC,查询 MAC 地址表,把帧转发到 B 所在的端口。

路由器#

A 判断网站 IP 不在本地子网,于是通过 ARP 查询默认网关的 MAC 地址,发送给交换机,交换机根据目的 MAC 交给默认网关(路由器接口)。路由器取出 IP 数据包,查询路由表,确定下一跳,再重新封装链路层帧转发出去。

两种接口:

  • WAN 口:作用:连接上级网络,连接对象:校园网墙上网口、上级路由器
  • LAN 口:作用:连接局域网设备

对比路由器与交换机:

对比方面二层交换机路由器
工作层次数据链路层网络层
工作原理学习源 MAC 地址建立 MAC 地址表,根据目的 MAC 地址转发根据目的 IP 地址查路由表,选择下一跳
转发数据方式转发以太网帧转发 IP 数据包,并重新进行链路层封装
主要功能连接局域网内的设备,实现二层通信,可划分 VLAN连接不同 IP 网络,实现跨网通信和路径选择
广播域同一 VLAN 属于同一广播域,不同 VLAN 隔离广播隔离二层广播域,通常不转发二层广播
地址变化普通二层转发通常不改变源、目的 MAC 地址经以太网接口转发时,重新填写源、目的 MAC;不涉及 NAT 时,源、目的 IP 通常不变

三、三次握手与四次挥手#

三次握手#

  1. 客户端到服务端:

    • 客户端发送 SYN=1,附带一个初始序列号 seq=x,此时客户端进入 SYN_SENT 状态。
  2. 服务端到客户端:

    • 服务端收到请求,发送 SYN=1, ACK=1,附带服务端自己的初始序列号 seq=y,以及确认号 ack=x+1,此时服务端进入 SYN_RCVD 状态。
  3. 客户端到服务端:

    • 客户端收到确认后,发送 ACK=1,附带确认号 ack=y+1,此时客户端和服务端双双进入 ESTABLISHED(已建立连接)状态,开始传输数据。

为什么是三次握手,不能是两次? 假设客户端发出第一个 SYN 包,在网络中迷路滞留了很久,客户端超时重发了一个新的 SYN,顺利建立连接并传输完数据后关闭。此时,那个迷路的旧 SYN 包才到达服务端。

  • 如果是两次握手:服务端收到这个失效的旧 SYN,以为客户端又要建立新连接,便会直接回复 SYN+ACK 并进入连接状态。但客户端早就没发新请求,不会理会这个回复。这会导致服务端浪费资源去维持一个无效连接。

四次挥手#

  1. 客户端到服务端:

    • 客户端发送 FIN=1,附带序列号 seq=u,表示自己不再发送数据了,此时客户端进入 FIN_WAIT_1 状态。
  2. 服务端到客户端:

    • 服务端收到 FIN,发送 ACK=1,附带确认号 ack=u+1。此时服务端进入 CLOSE_WAIT 状态,客户端收到后进入 FIN_WAIT_2 状态。
  3. 服务端到客户端:

    • 服务端把剩余的数据全部发送完毕后,发送 FIN=1, ACK=1,附带序列号 seq=w,确认号 ack=u+1,表示自己也要关闭了,此时服务端进入 LAST_ACK 状态。
  4. 客户端到服务端:

    • 客户端收到 FIN,发送 ACK=1,附带确认号 ack=w+1。此时客户端进入 TIME_WAIT(时间等待)状态,等待 2 个 MSL(最大报文段生存时间,Linux 默认 60 秒)后,才真正进入 CLOSED 状态。服务端收到这个 ACK 后,直接进入 CLOSED 状态。

为什么是四次挥手,不能是三次? TCP 是全双工通信(双方可以同时发数据)。

  • 客户端发 FIN,只代表客户端不再发数据了,但服务端可能还有数据没发完。
  • 所以服务端必须先回一个 ACK(表示“收到你的关闭请求了”),等自己把话说完,再发送自己的 FIN。
  • 这就导致 ACK 和 FIN 不能合并发送,所以需要四次挥手。

为什么客户端最后要等 2MSL(TIME_WAIT 状态)? 主要有两个原因:

  1. 保证最后一个 ACK 能到达服务端:如果最后这个 ACK 在网络中丢失,服务端会超时重传 FIN。如果客户端立即关闭,就无法接收并响应这个重传的 FIN,导致服务端一直关闭不了。等待 2MSL 就是为了能再处理一次重传的 FIN。
  2. 防止“旧数据包”干扰新连接:等待 2MSL 可以让本次连接中滞留在网络里的所有旧数据包都自然消亡,避免它们在新建立的连接中被误认为是新数据,造成数据错乱。

四、Ping 原理与网络测试指令#

Ping 的工作原理#

  1. 发起请求:
    • 本机向目标 IP 发送一个 ICMP Echo Request(回显请求) 数据包,并开始计时。
  2. 等待响应:
    • 等待目标主机返回 ICMP Echo Reply(回显应答) 数据包。
  3. 计算时间:
    • 收到回复后,停止计时,计算出 RTT(往返时间),并显示结果。
  4. 显示信息:
    • 输出包含:目标 IP、字节数、时间(ms)、TTL(生存时间)。

Ping 依赖的 ICMP 协议,其报文是直接被封装在 IP 数据包里的,不需要经过 TCP 或 UDP。ICMP 属于网络层协议,专门用于传递网络控制信息**(如“目标不可达”、“超时”等)。

常用的网络测试指令#

  1. ipconfig (Windows) / ifconfig 或 ip addr (Linux)

    • 作用:查看本机的 IP 地址、子网掩码、默认网关和 MAC 地址。
    • 场景:连不上网时,第一步先查自己的网络配置对不对。
  2. tracert (Windows) / traceroute (Linux)

    • 作用:路由追踪,显示数据包从本机到目标主机经过的每一个路由器节点。
    • 场景:ping 不通时,用这个查是走到哪一跳断掉的。
  3. nslookup (Windows/Linux) / dig (Linux)

    • 作用:域名解析查询,把域名(如 www.baidu.com)转换成 IP 地址。
    • 场景:能上 QQ 但打不开网页(大概率是 DNS 故障)时排查。
  4. netstat / ss

    • 作用:查看本机的网络连接状态、端口监听情况。
    • 场景:排查端口占用,查看是否有异常外部连接。
  5. Test-NetConnection www.naie-char.cc -Port 443

  • 作用:看 RemoteAddress 和 TcpTestSucceeded。True:本次到所显示地址的 TCP 443 建连成功。HTTP 的默认端口是 80,HTTPS 的默认端口是 443。

Ping 127.0.0.1 验证了哪层#

结论:验证了本机网络协议栈的网络层、数据链路层和物理层(即网络层及以下)是正常工作的。

  • 能验证什么:
    • 操作系统能正确处理 IP 数据包(网络层正常)。
    • 本机网卡驱动和底层协议栈正常(数据链路层、物理层软件层面正常)。
  • 不能验证什么:
    • 不能验证网卡硬件是否损坏(127.0.0.1 是环回地址,数据包不经过物理网卡)。
    • 不能验证外部网络是否通畅。
    • 不能验证传输层(TCP/UDP)和应用层(HTTP/FTP)是否正常。

经典排障顺序(从下到上)

  1. ping 127.0.0.1(查本机网络协议栈坏没坏)
  2. ping 本机IP(查网卡驱动和配置是否生效)
  3. ping 默认网关(查局域网通不通)
  4. ping 公网IP(如 8.8.8.8,查外网通不通)
  5. ping 域名(如 www.baidu.com,查 DNS 正不正常)

五、DHCP,动态主机配置协议#

DHCP 分配的 IP 是**有租期(Lease Time)**的。如果到期你不续租(你离开校园网了),IP 就会被收回,分给下一个连入校园网的人。这也解决了 IP 地址不够用的问题。

六、IPV4 共享#

NAT 是网络地址转换:修改数据包中的 IP 地址 NAPT/PAT:还包括修改端口

比如家里有很多设备,但是他们的 IP 都是私有 IP,不能直接作为公网通信中可路由的地址。家用路由器通常通过 NAT 配合端口转换,让它们共享一个公网 IP 上网。

协议内网源 IP<端口>公网侧源 IP<端口>目标 IP<端口>
TCP192.168.1.10<51000>203.0.113.8<40001>198.51.100.20<443>
TCP192.168.1.11<51000>203.0.113.8<40002>198.51.100.20<443>

路由器改写出站数据包的源地址与端口,并保存转换状态。网站收到两条来源为同一个公网 IP、端口不同的连接;不需要直接识别内网的两台设备。

CGNAT 是运营商级 NAT,让多个用户共享公网 IPv4 池。家庭路由器 WAN 口因此不一定持有公网 IPv4。

NOTE

缓解 IPV4 不够的策略:NAPT/PAT 进行公网 IPV4 共享;CGNAT 进行运营商层面的 IPV4 共享;DHCP 动态分配复用地址


六、MAC、ARP#

1. 以太网:规定局域网怎样传输数据#

以太网(Ethernet)是一套常见的局域网技术标准。电脑通过网线连接交换机,就是典型的以太网使用场景。IP 数据包被装在以太网帧里面传输。

2. MAC 地址:标识网络接口的地址#

MAC 地址是链路层使用的一种地址,他表示:在当前链路上,发送一个帧时,用来指定接收接口的地址。

MAC 地址标识的是网络接口,不是整台电脑。 一台电脑的有线网卡和无线网卡通常各有自己的 MAC 地址。

NOTE

与 IP 地址的区别:IP 地址属于网络层,供网络层寻址和跨网络路由使用;MAC 地址属于数据链路层,在当前链路上指定帧的接收接口

3. 链路地址#

链路地址是数据链路层地址的统称。在以太网中,链路地址就是指 MAC 地址

4. ARP 地址解析协议:已知 IPv4 地址,查询 MAC 地址#

具体流程:假设一个局域网内有 A B 两台设备(A 通过子网掩码判断与 B 在同一个子网),A 需要向 B 发送 IP 数据包,需要填写目的 MAC 地址,如果 A 只知道 B 的 IP 地址,就需要 ARP:

  • A 先查自己的 ARP 缓存,看是否已经保存了对应关系
  • 如果没有,A 广播 ARP 请求:“谁的 IP 是 xx.x.x.xx.?请告诉我你的 MAC 地址。”
  • B 收到后,通常向 A 单播回复自己的 MAC 地址
  • A 缓存这个对应关系,再把 IP 数据包装入以太网帧发给 B

RP 不是把 IP 地址按某个公式计算成 MAC 地址,而是通过询问,获得二者的对应关系。

以太网帧的目的 MAC,未必是最终目标主机的 MAC:比如 A 想访问互联网上的服务器,通常会把数据先交给默认网关,此时 IP 数据包里的目的 IP 是远端服务器 IP,当前以太网帧的目的 MAC 地址填写默认网关的 MAC 地址

Terminal window
arp -a

arp -a 用来查看电脑当前的 ARP 缓存表:记录局域网中某个 IPv4 地址对应的 MAC 地址.

5. MAC 地址表学习过程#

核心:交换机看“源 MAC”学习,看“目的 MAC”转发。

假设有如下情景(这里用 ABC 指代电脑的 MAC 地址)

电脑 A ── 端口 1
电脑 B ── 端口 2 交换机
电脑 C ── 端口 3
  1. A 给 B 发一帧数据。这一帧从端口 1进入交换机,里面写着:源 MAC A,目的 MAC B。

交换机于是知道了 A 的 MAC 从端口 1 去找,但是他并不会记录 MAC B。接着,交换机查找目的 B,发现表中没有,于是把这一帧从端口 2、3都发出去,不发回入口 1。这叫泛洪。

  1. 假设 B 回复了 A,回复从端口 2 进入交换机,里面写着:源 MAC B,目的 MAC A,交换机于是知道了 B 的 MAC 对应端口 2

七、DNS 分析#

Terminal window
nslookup -type=A www.naie-char.cc.
nslookup -type=AAAA www.naie-char.cc.
nslookup -type=A www.naie-char.cc. 1.1.1.1
  • No response from server:指定 DNS 服务器查询 www.baidu.com.与目标网址:
    • 如果指定后可以访问,需要调整网卡的 DNS 设置,将首选 DNS 改为指定 DNS 服务器,然后 ipconfig /flushdns 清除客户端缓存。新注册的网站 DNS 解析不了,可能原因在于 DNS 解析器里还有负缓存(把“查询结果不存在”也暂时保存下来,避免反复查询),ipconfig /flushdns 并不会清除 DNS 服务端的缓存,所以新注册的网站并不会 DNS 成功
  • NXDOMAIN:检查网站的拼写正确
  • REFUSED:可能是服务器拒绝 DNS 查询
NOTE

DNS 服务器在另一个网络,ARP 会等 DNS 查完才第一次工作吗?

不一定。发出 DNS 查询前,就可能需要先取得通往该 DNS 服务器的下一跳 MAC;若已有邻居缓存则可以复用。

DNS 安全性#

DoH:把 DNS 查询放进加密通道#

DoH 全称是 DNS over HTTPS,也就是“通过 HTTPS 进行 DNS 查询”。保护你的设备到所选 DNS 服务之间的查询和回答,防止途中被直接读取或篡改。但不能使服务方提供的错误数据自动变正确

DNSSEC:给 DNS 数据加可验证的数字签名#

DNSSEC 为 DNS 数据提供来源认证与完整性校验,不进行加密

PTR:反向 DNS#

PTR 是 DNS 中用于反向解析的一种记录,可以根据 IP 地址查询对应的名称。输入 IP 时,nslookup 会尝试进行反向查询。

递归、迭代、权威与缓存#

递归查询:客户端请解析器完成查询,返回最终答案或错误。 迭代查询:查询者按服务器提供的指引继续询问其他服务器。 递归解析器:替客户端寻找答案并缓存结果;也可能转发给上游 权威服务器:常提供下一步该问谁,而不是直接提供最终网站的 IP。根服务器提供根区域的信息,知道 .com、.org 等顶级域该去问哪些服务器。.com 顶级域服务器提供 .com 区域的信息,知道 example.com 等域名该去问哪些权威服务器。

问谁问题典型回答
根服务器www.example.com 的 IP 是什么?“去问这些 .com 服务器。”
.com 顶级域服务器同上“去问这些负责 example.com 的权威服务器。”
example.com 的权威服务器同上“对应的 IP 是……”

八、VLAN#

VLAN 用于把交换机网络划分成多个逻辑局域网,例如有 A、B 两台电脑链接了同一台交换机,可以将他们的端口划分进不同的 VLAN(假设 A 隶属 VLAN 10,B 隶属 VLAN 11),那么 A 电脑发出的 ARP 广播只会在 VLAN 10 里传播,不会进入 VLAN 11 (即使将 AB 配置成同一 IP 子网,也不能直接互通,不同 VLAN 之间要通信,通常需要路由器或三层交换机进行路由)

VTP#

VTP 是一个二层协议,用来在同一个 VTP 域内的交换机之间自动同步 VLAN 数据库,减少逐台手工创建 VLAN 的工作量。

VLAN 数据库:本机所持有的 VLAN ID、名称、状态,不同步端口划分,也不同步 trunk 允许列表。

理解:多台交换机可以共同承载同一个 VLAN,但不一定需要 VTP。VTP 只是帮助它们同步 VLAN 配置,省去逐台创建的工作。

下面给一个方便理解的例子:

设备电脑接入的端口端口所属 VLAN
交换机 A端口 1,连接电脑甲VLAN 10
交换机 B端口 2,连接电脑乙VLAN 10

两台交换机之间用 Trunk 链路连接,并允许 VLAN 10 通过,那么甲、乙就可以处于同一个二层网络中

如果不用 VTP,这里需要手动配置:

  • 两台交换机上都存在 VLAN 10
  • 两台交换机分别把对应的电脑端口划入 VLAN 10。
  • 交换机之间的链路能承载 VLAN 10 的数据。

VTP 通告机制#

server 模式下的交换机修改了 VLAN,修订号 + 1。Client 收到汇总通告发现修订号比自己高,或刚加入域时,发请求要完整 VLAN 数据库。

管理员可以登录一台交换机,可以设置其 VTP 工作模式

模式可以怎样理解
Server本机允许增删改 VLAN,还会参与同步;既能发布,也能接收有效更新
Client不允许管理员在本机增删改 VLAN,通过 VTP 同步 VLAN 数据库
Transparent本机 VLAN 自己管理,不根据 VTP 通告更新,也不把本机 VLAN 改动发布出去
Off 关闭(设备支持时)配置只影响本机

对比 trunk、access#

工作原理#

Access 口配置了这个端口只属于某个 VLAN X

  • 交换机从终端进来的是无标签帧(普通以太网帧)
  • 交换机给它打上 VLAN X 的标签,内部转发时带标签;
  • 其他 Access 口时剥掉标签,终端看到的是无标签帧。

Trunk 用一根链路承载多个 VLAN,靠 802.1Q 标签区分帧属于哪个 VLAN。

相当于会在交换机内被打上两次标签,但是 access 的标签不会出现在帧中。

九、虚拟机网络#

组成结构#

  • 虚拟交换机 (Virtual Switch):可以理解为软件实现的交换机,代号是 VMnet0、VMnet1、VMnet8 等。它负责连接虚拟机、宿主机以及外部网络。
  • 虚拟网络适配器 (Virtual Network Adapter):即虚拟机的网卡,它插在虚拟交换机上,让虚拟机具备通信能力。
  • 虚拟 DHCP 服务器:提供 DHCP 地址池,负责在特定模式下自动为虚拟机分配 IP 地址。
  • 虚拟 NAT 设备:仅在 NAT 模式下存在,负责将虚拟机的私有 IP 地址转换为宿主机的 IP 地址,从而实现对外部网络的访问。

网络模式#

  1. 桥接模式:对应交换机 VMnet0。VMware 创建一个虚拟网桥,把物理网卡和虚拟机的虚拟网卡桥接在一起,这样虚拟机通过主机直接接入真实局域网。此时虚拟机拥有独立的 IP 地址,直接向路由器请求 DHCP,而不是虚拟机内部的 DHCP
  2. NAT 模式:对应交换机 VMnet8。VMware 在宿主机内部创建了一个私有子网,并运行虚拟 NAT 设备和虚拟 DHCP 服务器。虚拟机先从这个私有网络获取 IP,当它要访问外网时,虚拟 NAT 设备会把数据包的源地址替换成宿主机的 IP 地址,再通过物理网卡发送出去。特点:外部网络无法访问虚拟机,但是虚拟机可以上网
  3. 仅主机模式:对应交换机 VMnet1。可以理解为去掉了虚拟 NAT 设备的 NAT 模式。它同样创建一个完全包含在宿主机内部的私有网络,并由虚拟 DHCP 服务器分配 IP,但没有任何组件负责将流量转发到外部网络。虚拟机只能与宿主机(以及同一仅主机网络中的其他虚拟机)通信,完全无法访问互联网

十、协议栈#

这里从上至下介绍:

应用层#

包含;浏览器、ping.exe、nslookup.exe、curl

Winsock#

Windows Sockets,应用和协议栈之间的接口层。提供 socket()、connect()、send()、recv() 等 API;把 Winsock 调用转成 TCP/IP 栈能处理的请求

数据单位:socket 调用和字节流,不涉及 IP 包

TCP/IP 栈#

包括熟悉的:IP, TCP, UDP, ICMP, ARP 解析 MAC 地址, IP 配置, 路由表, 回环接口

数据单位:TCP 段 / UDP 数据报 / IP 包 / ICMP 消息。

NDIS#

它是 TCP/IP 栈和网卡驱动之间的标准接口

数据单位:帧

网卡驱动#

网卡#


电子科技大学沙河校区网络实操#

登录认证#

  1. 校园网自助服务平台:https://self.uestc.edu.cn/ 自助服务平台用于账号查询、密码修改、运营商绑定等。公网可以访问
  2. 寝室上网认证平台:http://rz.uestc.edu.cn/
  3. 校园上网认证平台:https://wifi.uestc.edu.cn/
NOTE

绑定运营商步骤:

  1. 向运营商办理宽带业务,取得运营商上网账号、密码。
  2. 登录自助服务平台,绑定运营商账号密码
  3. 进入认证页面,使用沙河校园网账号、密码进行认证

配线架#

配线架可以理解为:网线的集中接线和管理面板,通常安装在网络机柜里。

整体结构:路由器/电脑 → 墙上网口 → 楼内固定网线 → 配线架 → 跳线 → 交换机

模块与面板#

修网打灰

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

计算机网络笔记
https://www.naie-char.cc/posts/computer_network/
作者
萘Naie_Char
发布于
2026-10-15
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录