计算机网络——网络层协议分析
网络层——IPv4 协议
IPv4 概述
IPv4(Internet Protocol version 4)是第四版互联网协议,也是目前互联网中使用最广泛的网络层协议,用于为设备分配唯一的 IP 地址,实现网络中设备之间的通信。
主要特点
地址格式:32 位二进制表示,通常写作点分十进制,例如:
192.168.1.1地址数量:理论上支持约 42 亿个地址($2^{32}=4294967296$)
组成部分:
网络号:标识网络
主机号:标识网络中的设备
子网划分:通过子网掩码划分网络和主机部分
IP地址:192.168.0.1
子网掩码:255.255.255.0 #CIDR格式 /24
无分类地址类型
公网地址:用于互联网通信
私有地址:用于局域网,如:
特殊地址:
127.0.0.1(本地回环)0.0.0.0(表示任意地址)255.255.255.255(广播)
IPv4 分类
[!tip]
IPv4 分类是已经淘汰的分类,和局域网没有任何关系。
现在的网络不再采用分类,均为 IP 地址 + 子网掩码。
公网 IP
公网 IP 均是由 ICANN 组织的 IANA 机构进行分配的。(查看)
头部格式

网络层——IPv6 协议
IPv6 概述
IPv6(Internet Protocol version 6)是为解决 IPv4 地址耗尽问题设计的下一代网络层协议,使用 128 位地址,支持几乎无限的地址空间。
主要特点
地址格式:128 位,写作 8 组 16 位十六进制数,用冒号分隔(如
2001:0db8:0000:0000:0000:0000:0000:0001),可省略前导零或连续全零段。地址数量:$2^{128}$,约 340 万亿亿亿个地址。
优势:
更大的地址空间。
自动配置(无状态地址自动配置,SLAAC)。
更好的路由效率和安全性(内置 IPSec 支持)。
IPv6 网段
[!note]
/20是 IPv6 地址的网络前缀,表示前 20 位固定,后 108 位可自由分配。
IPv4 的 CIDR 表示法(如
192.168.1.0/24)与 IPv6 的/20概念相同,但 IPv6 的前缀长度通常更小(即地址块更大)。
国内运营商 IPv6
浏览器访问 IPv6
格式:将 IPv6 地址用
[]括起来,后接端口(如有)。http://[2404:6800:4005:80c::200e]/部分网站(如百度、京东等)已支持 IPv6,直接输入域名即可,浏览器会自动选择 IPv6 或 IPv4。
NAT 网络地址转换协议
概述
NAT(Network Address Translation)是一种将私有 IP 地址转换为公网 IP 地址的技术,用于缓解 IPv4 地址短缺问题。
功能
将私有 IP 地址(如
192.168.1.10)映射到公网 IP 地址(如203.0.113.1)。允许多台设备共享一个公网 IP。
类型
静态 NAT:一对一固定映射。
动态 NAT:从公网 IP 池中动态分配。
PAT(端口地址转换):多台设备通过不同端口共享一个公网 IP(也称 NAPT)。
应用场景
家庭/企业网络连接互联网。
隐藏内部网络结构,增强安全性。
NAT 转换
NAPT 网络地址转换协议
概述
NAPT(Network Address Port Translation)是 NAT 的一种形式,允许多个私有 IP 通过端口号复用一个公网 IP。
工作原理:
路由器维护一张 NAT 表,记录私有 IP: 端口到公网 IP: 端口的映射。
例如:
192.168.1.10:12345映射到203.0.113.1:54321。
优劣
优势:
最大化公网 IP 利用率。
支持大规模设备接入。
局限性:
可能影响某些需要固定端口的协议(如 P2P 应用)。
端口号耗尽可能导致连接失败。
NAPT 转换
网络层——ICMP 协议
[!tip]
关闭 TUN(虚拟网卡模式),否则在用 Wireshark 抓包时,会抓取到虚拟的 IP。
ICMP 概述
ICMP(Internet Control Message Protocol)是网络层协议,用于诊断和错误报告,常用于网络故障排查。
功能:
错误报告:如目标不可达、超时。
诊断:如 Ping(回显请求/响应)、Traceroute(跟踪路由)。
常见消息类型:
高低地址与大小端
高低地址:
低地址:内存中较小的地址值(如
0x1000)。高地址:内存中较大的地址值(如
0x1001)。网络协议(如 ICMP)通常使用大端序,确保跨平台一致性。
大小端(Big-Endian vs Little-Endian):
大端序(BE):高位字节存储在低地址(如网络字节序,TCP/IP 使用)。
小端序(LE):低位字节存储在低地址(如大多数现代 CPU)。
示例:数值
0x1234在内存中:大端:
12 34小端:
34 12
ICMP 抓包示例
使用 Wireshark 捕获 Ping 数据包:
输入过滤规则
icmp。运行
ping命令,观察 ICMP 回显请求/应答包。


网络层——ARP 协议
ARP 概述
ARP(Address Resolution Protocol)用于将 IP 地址解析为 MAC 地址,适用于局域网通信。
工作原理:
设备发送 ARP 请求(广播),询问目标 IP 的 MAC 地址。
目标设备响应其 MAC 地址。
发送方缓存 IP-MAC 映射,存储在 ARP 缓存表中,第二次访问,默认不再通过广播询问 mac 地址。
ARP 缓存:
存储 IP 与 MAC 地址的映射,减少重复请求。
查看/管理命令:
arp -a #查看ARP缓存表 arp -d #清除ARP缓存表,需管理员
抓包 ARP
[!note]
target mac address是00:00:00,表明是广播包。
打开 Wireshark,设置过滤规则
arp。以管理员权限运行
arp -d清空缓存。计算机立即广播 ARP 请求,Wireshark 捕获请求/响应包,显示 IP-MAC 映射。

ARP 欺骗攻击
ARP(Address Resolution Protocol)用于将 IP 地址解析为 MAC 地址。ARP 欺骗 是一种网络攻击手段,攻击者通过伪造 ARP 响应包,欺骗目标设备将错误的 MAC 地址与 IP 地址绑定,从而劫持或监听流量。
评论区