一、网络>计算机网络分层结构
网络>计算机网络分层结构 指将网络>计算机网络的功能划分为多个层次,每个层次都有其特定的功能和协议,并且层次之间通过接口进行通信。
分层设计的优势:
- 模块化:各层独立发展(如IPv4→IPv6,不影响应用层)。
- 简化复杂度:开发者只需关注特定层的实现。
- 灵活性与兼容性:不同协议可替换(如Wi-Fi替换以太网)。
- 故障隔离:问题定位更高效(如网络层故障不影响传输层)。
分层模型:
- OSI
- TCP/IP
二、OSI
1、概述
OSI 由国际标准化组织ISO提出,属于理论模型,市场实践失败。
层级 | 名称 | 功能概要 | 典型协议/技术 |
---|---|---|---|
7 | 应用层 | 用户应用程序接口 | HTTP, FTP, DNS, DHCP,SMTP/POP3/IMAP |
6 | 表示层 | 数据格式转换与加密 | SSL/TLS, JPEG, ASCII |
5 | 会话层 | 会话管理与同步 | NetBIOS, RPC,SSH |
4 | 传输层 | 端到端可靠传输 | TCP, UDP |
3 | 网络层 | 逻辑寻址与路由 | IP, ICMP, OSPF |
2 | 数据链路层 | 物理寻址与帧传输 | Ethernet, PPP, Wi-Fi(MAC层) |
1 | 物理层 | 物理介质传输比特流 | 光纤, 双绞线, 无线电波 |
OSI 每一层都定义了特定的功能和协议,为上一层提供服务,并与下一层进行交互。
OSI 按资源与通信划分:
- 上三层(应用、表示、会话)属于 资源子网 , 负责数据处理 ;
- 中间层(传输)属于资源子网 与 数据子网的接口 ;
- 下三层(网络上、数据链路、物理)属于通信子网 , 负责数据通信 ;
通信双方的 主机 涉及到全部 七层 模型 ;
中间的 路由器 , 只涉及 网络层 , 数据链路层 , 物理层 , 三层 ;
3、分层说明
2.1 应用层(Application Layer)
“应用层” 概念 : 应用层是 用户 与 网络的界面,所有能与用户交互,并产生网络流量的程序,称为应用层 ;
“应用层” 服务协议 :
- FTP 文件传输协议
- SMTP 邮件传输协议
- HTTP 超文本传输协议
2.2 表示层(Presentation Layer)
“表示层” 概念 : 处理 两个通信系统 中交换信息的 表示方式 , 通常用于处理 语法 和 语义 ;
"通信系统 " 可以理解成一台 网络设备 ;
“表示层” 功能 :
- 数据格式转换 : 将二进制数据转为 图片 , 文本 , 音视频 ;
- 数据加密解密 : 用户登录 , 将密码加密传输 ;
- 数据压缩恢复 : 如 直播场景 , 推流时 先将图片压缩成 H.264 格式 , 观看时 将 H.264 格式转为 图像展示 ;
表示层 不是单独的层次 , 实际使用时 , 被 规划到了 应用层中 ; 表示层 没有单独的协议 ;
2.3 会话层(Session Layer)
“会话” 概念 : 向 表示层实体 或 用户进程 提供 建立连接的服务 , 并在该建立的连接上 , 有序地 传输数据 , 上述整个过程称为 “会话” , 又称为 “建立同步 ( SYN )” ;
会话层 功能 :
- 会话管理 : 建立 , 管理 , 终止 会话 ;
- 校验同步 : 在数据中插入 校验点 , 在通信失效时 , 从 校验点 继续恢复通信 , 使数据同步 ; 如 大文件的 断点续传 功能 ;
会话层 主要协议 :
- ADSP 协议
- ASP 协议
2.4 传输层(Transport Layer)
“传输层” 概念 : 负责 两个 主机进程 间通信 , 是 “端到端” 通信 , 传输单位是 报文段 , 用户数据报 ;
“传输层” 是 资源子网 ( 应用层 , 表示层 , 会话层 ) 与 通信子网 ( 网络层 , 数据链路层 , 物理层 ) 之间的接口层 ;
区分端到端与点对点:
- 端到端(End-to-End)
- 点对点(Point-to-Point):
- 点对点通信通常指相邻节点之间的直接连接,例如数据链路层(如以太网、Wi-Fi)或物理层的通信。
- 核心任务:确保数据在单条链路上正确传输(如MAC地址寻址、帧校验等)。
- 中间节点参与:每个中间节点(如路由器、交换机)需要处理数据链路层的帧信息,逐跳(Hop-by-Hop)转发数据。
“传输层” 功能 :
- 数据传输 : 可靠传输 ( TCP ) , 不可靠传输 ( UDP ),QUIC(快速UDP互联网连接)
- 差错控制 : 如果传输出错 , 重发 , 或纠错 ;
- 流量控制 : 发送方 与 接收方 同步 ;
- 复用 : 发送数据时 , 多个 应用进程 , 同时使用 下一层 运输层 的服务 ;
- 分用 : 接收数据时 , 运输层将接收到的信息 , 根据 端口号 , 分别交给 不同的 应用进程 使用 ;
2.5 网络层(Network Layer)
“网络层” 概念 : 将 分组 从 源端 传递到 目的端 , 为 分组交换网 上 不同主机 提供 通信服务 ;
“网络层” 数据传输单位 : 数据包;
“数据报” 与 “分组” : 当数据过长时 , 就会将 数据报 切割成小的 分组 , 增加传输的灵活性 ;
“网络层” 功能 :
- 路由选择 : 主机间通信时 , 选择网络上 路由器的 最佳路径 ;
- 流量控制 : 限制发送端速度 , 协调 发送端 接收端 的数据流量 ;
- 差错控制 : 分组数据校验 , 尽量纠错 , 确保数据的正确性 ;
- 拥塞控制 : 如果所有的节点 都 来不及接收分组 , 需要丢弃大量分组 , 此时 网络处于拥塞状态 , 此时 需要采取一定的措施 , 缓解这种拥塞状态 ; 与 流量控制不同的是 该机制是 整体地控制 , 不单单是限制发送端速度 ,
“网络层” 协议 :
- IP
- IPX
- ICMP
- IGMP
- ARP
- RARP
- OSPF
2.6 数据链路层(Data Link Layer)
“数据链路层” 概念 : 将 网络层 传递下来的 数据报 组装成 帧 ;
“数据链路层” 数据传出单位 : 帧 ;
“数据链路层” 功能 :
- 成帧 : 定义 帧 开始 和 结束 标识 ;
- 差错控制 : 针对 帧错误 ( 检错 ) , 位错误 ( 纠错 ) , 进行处理 ;
- 流量控制 : 发送方 和 接收方 速度协调 , 防止 接收方 缓存不足 , 导致数据丢弃 ;
- 访问控制 : 控制 主机 对于 信道 的 访问 控制 ; 如 广播网络 , 同时只有一个设备能发送信息 , 谁发送 , 由数据链路层控制 ;
“数据链路层” 协议 :
- SDLC
- HDLC
- PPP
- STP
2.7 物理层(Physical Layer)
“物理层” 概念 : 在 物理媒体 上实现 比特流 透明传输 ;
透明传输 : 不管数据的内容 , 直接在链路上传输 ;
“物理层” 数据传输单位 : 比特 ( bit ) ;
“物理层” 功能 :
- 定义接口特性 : 传输介质 , 网络接口引脚 等 ;
- 定义传输模式 : 单工 ( 单向传输 ) , 半双工 ( 不同时 双向传输 ) , 全双工 ( 同时双向传输 ) ;
- 定义传输速率 : 网络的带宽 , 百兆网 , 千兆网 ;
- 比特同步 : 使用同步时钟 , 保证发送接收比特同步 ;
- 比特编码 : 规定 电压 与 比特 的关系 , 曼彻斯特编码 , 差分曼彻斯特编码 等 ;
“物理层” 协议 :
- 802.3
- Rj45
3、OSI 通信
主机A通过路由器向B发送HTTP请求,网络拓扑示例
主机A(192.168.1.2) → 路由器R1(接口1:192.168.1.1,接口2:203.0.113.1) → 主机B(203.0.113.5)
3.1 主机A的封装过程(发送端)
(7) 应用层(Application Layer)
- 功能:用户触发HTTP请求(如点击网页按钮)。
- 数据处理:生成HTTP报文(例如:GET /index.html HTTP/1.1)。
- 协议:HTTP/HTTPS。
- 数据单位:应用数据(Message)。
(6) 表示层(Presentation Layer)
- 功能:格式化、加密数据。
- 数据处理:
- 将HTTP报文转换为二进制格式(如ASCII编码)。
- 若使用HTTPS,进行TLS加密。
- 协议:TLS/SSL(加密)、JPEG/MPEG(数据格式转换)。
- 数据单位:格式化后的数据。
(5) 会话层(Session Layer)
- 功能:建立会话连接。
- 数据处理:
- 在A和B之间建立会话(如TCP三次握手后维护会话状态)。
- 若使用RPC或SSH,管理会话的持续性和恢复能力。
- 协议:NetBIOS、RPC、SSH。
- 数据单位:会话数据。
(4) 传输层(Transport Layer)
- 功能:端到端可靠传输。
- 数据处理:
- 将数据分段(Segment),添加源端口和目的端口(如HTTP用80端口)。
- 若使用TCP,添加序列号、确认号、窗口大小等控制信息。
- 协议:TCP(可靠)或UDP(无连接)。
- 数据单位:数据段(Segment)。
- TCP头部示例:
| 源端口(A:50000) | 目的端口(B:80) | 序列号 | 确认号 | 窗口大小 | 校验和 |
(3) 网络层(Network Layer)
- 功能:逻辑寻址与路由。
- 数据处理:
- 添加源IP地址(A的IP)和目的IP地址(B的IP)。
- 若跨网络传输,路由器根据IP地址选择最佳路径。
- 协议:IP(IPv4/IPv6)、ICMP、OSPF。
- 数据单位:数据包(Packet)。
- IP头部示例:
| 源IP(192.168.1.2) | 目的IP(203.0.113.5) | TTL | 协议(TCP=6) | 校验和 |
(2) 数据链路层(Data Link Layer)
- 功能:物理寻址与帧传输。
- 数据处理:
- 将数据包封装成帧(Frame),添加源MAC地址(A的MAC)和目的MAC地址(下一跳设备的MAC,如路由器)。
- 通过ARP协议查询下一跳的MAC地址(若未知)。
- 协议:以太网(IEEE 802.3)、Wi-Fi(IEEE 802.11)。
- 数据单位:帧(Frame)。
- 以太网帧示例:
| 目的MAC(路由器) | 源MAC(A) | 类型(IPv4=0x0800) | 数据 | CRC校验 |
(1) 物理层(Physical Layer)
- 功能:比特流传输。
- 数据处理:
- 将帧转换为比特流(0和1),通过物理介质(如网线、Wi-Fi信号)传输。
- 协议:以太网PHY(如1000BASE-T)、Wi-Fi(IEEE 802.11ac)。
- 数据单位:比特(Bits)。
3.2 路由器R1的处理
路由器工作在网络层(Layer 3),处理逻辑如下:
(1) 物理层 → 数据链路层
- 接收比特流,还原为以太网帧。
- 校验CRC,若通过则剥离以太网帧头部,提取IP数据包。
(2) 网络层
- 检查IP数据包的目的IP地址(203.0.113.5)。
- 根据路由表判断下一跳:
- 更新TTL(Time to Live):TTL值减1(防止数据包无限循环)。
(3) 数据链路层重新封装
- 根据下一跳接口(接口2),重新封装数据包为新的以太网帧:
- 源MAC:路由器R1的接口2的MAC地址。
- 目的MAC:主机B的MAC地址(通过ARP查询203.0.113.5的MAC)。
- 若目的MAC未知,触发ARP请求。
(4) 物理层
将新帧转换为比特流,通过接口2发送到主机B所在网络。
3.3 主机B的解封装过程(接收端)
- 物理层:接收比特流,转换为帧。
- 数据链路层:
- 校验帧的完整性(CRC),若正确则剥离MAC头部,提取IP数据包。
- 若目的MAC与B的MAC不匹配,丢弃帧。
- 网络层:
- 检查目的IP地址是否为本机IP,若匹配则剥离IP头部,将数据段传递给传输层。
- 若目的IP不匹配且B是路由器,则重新路由。
- 传输层:
- 根据目的端口号(如80)确定目标应用程序(如Web服务器)。
- 若使用TCP,发送确认报文(ACK)给A。
- 会话层:维护会话状态(如TCP连接保持)。
- 表示层:解密数据(如TLS)或转换数据格式(如JSON解析)。
- 应用层:将HTTP请求传递给Web服务器处理,生成响应(如返回网页内容)。
数据封装与解封装示意图:
主机A发送方向(封装):
应用层(HTTP) → 表示层(TLS加密) → 会话层(会话ID) → 传输层(TCP头部) → 网络层(IP头部) → 数据链路层(MAC头部) → 物理层(比特流)
路由器R1处理:
接收:比特流 → [MAC-A→R1 | IP|TCP|HTTP]
剥离MAC头部 → [IP|TCP|HTTP]
路由决策 → 重新封装: [MAC-R1→B | IP|TCP|HTTP] → 比特流
主机B接收方向(解封装):
物理层(比特流) → 数据链路层(剥离MAC头部) → 网络层(剥离IP头部) → 传输层(剥离TCP头部) → 会话层(验证会话) → 表示层(解密) → 应用层(处理HTTP请求)
三、TCP / IP
1、TCP/IP分层模型概述
TCP/IP模型最初由美国国防部设计,用于实现不同网络设备的互联。它分为四层(经典模型)或五层(教学常用扩展版),核心思想是分层抽象和协议独立:
- 经典四层模型:应用层(Application) → 传输层(Transport) → 网络层(Internet) → 链路层(Link)
- 扩展五层模型(更贴近实际实现):应用层 → 传输层 → 网络层 → 数据链路层 → 物理层
2、各层功能与协议
2.1 应用层(Application Layer)
- 功能:
- 直接面向用户或应用程序,提供端到端的数据交互服务(如文件传输、网页访问)。
- 定义数据格式(如HTTP的请求/响应报文)。
- 通过进程间通信(端口号)区分不同服务。
- 典型协议:
- HTTP:网页浏览(80/443端口)。
- FTP:文件传输(20/21端口)。
- SMTP/POP3:电子邮件发送与接收。
- DNS:域名解析(53端口)。
- SSH:加密远程登录(22端口)。
2.2 传输层(Transport Layer)
功能:
- 实现端到端的可靠或不可靠传输,确保数据在源主机和目标主机的应用进程之间正确交付。
- 多路复用/解复用:通过端口号区分同一主机上的多个应用进程。
- 流量控制(如TCP的滑动窗口)。
- 拥塞控制(如TCP的慢启动、拥塞避免)。
- 可靠性(仅TCP):通过确认应答(ACK)、超时重传、数据排序实现。
核心协议:
- TCP(Transmission Control Protocol):面向连接、可靠传输,适用于文件下载、网页访问等场景。
- UDP(User Datagram Protocol):无连接、尽力交付,适用于实时视频、语音通话等低延迟场景。
2.3 网络层(Internet Layer)
功能:
- 负责主机到主机的逻辑寻址与路由选择,将数据包从源主机跨网络传递到目标主机。
- IP地址分配:唯一标识网络中的设备(如IPv4的192.168.1.1)。
- 路由选择:通过路由器决定数据包的转发路径。
- 分片与重组:根据链路最大传输单元(MTU)拆分/合并数据包。
核心协议:
- IP(Internet Protocol):无连接、不可靠的数据包传输。
- ICMP(Internet Control Message Protocol):网络诊断(如ping命令)。
- ARP(Address Resolution Protocol):将IP地址解析为MAC地址。
2.4 数据链路层(Data Link Layer)
功能:
- 管理同一局域网(LAN)内相邻设备的直接通信,确保数据在物理链路上可靠传输。
- MAC地址寻址:通过硬件地址(如00:1A:2B:3C:4D:5E)标识设备。
- 帧封装:将网络层的数据包封装为帧,添加头部(源/目标MAC地址)和尾部(校验和)。
- 差错检测:通过CRC校验发现传输错误。
典型协议与技术:
- 以太网(Ethernet):有线局域网标准。
- Wi-Fi(IEEE 802.11):无线局域网标准。
- PPP(点对点协议):拨号上网、广域网连接。
2.5 物理层(Physical Layer)
功能:
- 定义物理介质的电气、机械特性,负责比特流(0/1)的传输。
- 信号编码(如曼彻斯特编码)。
- 传输介质管理(如光纤、双绞线、无线电波)。
- 物理接口规范(如RJ45网线接口、Wi-Fi天线)。
典型技术:
- 双绞线(Cat5/Cat6)、同轴电缆、光纤。
- 调制解调器(Modem)、集线器(Hub)。
3、数据封装与解封装
数据在传输过程中会逐层添加或移除协议头部,形成不同的数据单元:
- 应用层:生成原始数据(如HTTP请求)。
- 传输层:添加TCP/UDP头部 → 生成段(Segment) 或 数据报(Datagram)。
- 网络层:添加IP头部 → 生成数据包(Packet)。
- 数据链路层:添加帧头(MAC地址)和帧尾 → 生成帧(Frame)。
- 物理层:转换为比特流通过物理介质传输。
接收方则反向操作(解封装),逐层剥离头部并处理。
4、实际应用示例:访问网页
- 应用层:浏览器生成HTTP请求(GET /index.html)。
- 传输层:TCP封装请求,添加源端口(随机)和目标端口(80)。
- 网络层:IP封装,添加源IP(客户端)和目标IP(服务器)。
- 数据链路层:以太网封装,添加源MAC(客户端网卡)和目标MAC(下一跳路由器)。
- 物理层:通过网线/Wi-Fi传输比特流。
服务器反向解封装,返回网页数据。
四、TCP/IP vs. OSI模型
TCP/IP模型 | OSI模型 | 功能对应 |
---|---|---|
应用层 | 应用层、表示层、会话层 | 用户交互与数据格式处理(如加密、压缩) |
传输层 | 传输层 | 端到端通信(TCP/UDP) |
网络层 | 网络层 | IP寻址与路由(IPv4/IPv6) |
数据链路层 | 数据链路层 | MAC寻址与帧传输(以太网) |
物理层 | 物理层 | 比特流传输(电缆、光纤) |
五、网络通信
场景:主机A想与主机B通信
1、通信步骤
主机A与主机B跨网络通信的底层过程涉及多个网络层级和设备协作,以下是详细步骤:
(1)确定目标地址
- IP地址获取:主机A首先需要知道主机B的IP地址(通过DNS解析域名或直接输入)。
- 子网判断:主机A通过子网掩码计算,判断B是否与自己在同一局域网:
- 同一局域网:直接通信(无需网关);
- 不同局域网:需通过路由器(默认网关)转发。
(2)数据封装(网络层与数据链路层)
- 构造IP数据包:
- 源IP:主机A的IP地址;
- 目标IP:主机B的IP地址。
- 构造数据帧(链路层):
- 目标MAC地址:若B在本地网络,直接使用B的MAC地址;否则使用默认网关的MAC地址(通过ARP协议获取)。
(3)跨网络通信的核心步骤
- 发送到默认网关
- 主机A将帧发送到本地网关(路由器),目标MAC地址为网关的MAC地址,但IP包的目标IP仍是B的地址。
- ARP协议:若网关MAC未知,主机A通过ARP广播查询网关的MAC。
- 路由器的逐跳转发
- 解封装与路由决策:
- 路由器剥离帧头,读取目标IP地址;
- 查询路由表确定下一跳路由器(基于最长前缀匹配)。
- 重新封装帧:
- 下一跳路由器的MAC地址(通过ARP或路由表缓存获取);
- 源MAC变为当前路由器的出口MAC,目标MAC变为下一跳的MAC。
- TTL减1:防止数据包无限循环,若TTL为0则丢弃并发送ICMP超时消息。
- 解封装与路由决策:
- 跨网络传输
- 数据包经过多个路由器,每经过一跳,MAC地址更新一次,但IP地址始终不变(除非经过NAT)。
- 路由协议(如OSPF、BGP):路由器间动态交换路由信息,优化路径选择。
- 到达目标网络
- 最终路由器发现目标IP属于其直连网络:
- 通过ARP获取主机B的MAC地址(若缓存中不存在,则广播ARP请求);
- 封装帧(源MAC为路由器接口MAC,目标MAC为B的MAC),发送到B的局域网。
(4)数据接收与响应
主机B处理:
- 检查帧目标MAC是否匹配,确认后解封装;
- 网络层检查目标IP是否匹配,传输层处理(如TCP/UDP端口)。
- 响应流程:主机B的回复按相同流程反向执行。
2、关键技术与协议
- ARP协议:解决IP到MAC的映射(局域网内)。
- 路由协议:动态决定最佳路径(如OSPF用于内部网络,BGP用于互联网)。
- NAT(网络地址转换):若主机A/B位于私有网络,路由器会将私有IP转换为公网IP。
- ICMP:处理错误(如目标不可达、TTL超时)。
3、示例流程(跨局域网)
主机A(IP: 192.168.1.2)发送数据给主机B(IP: 203.0.113.5)。
判断B不在本地网络,发送帧到默认网关(MAC: 00:11:22:33:44:55)。
网关路由器查询路由表,确定下一跳为ISP的路由器。
数据包经过多个自治系统(AS),由BGP协议引导至B所在的网络。
最终路由器将帧发送给B(MAC: AA:BB:CC:DD:EE:FF ),完成通信。
4、总结
通过上述过程,即使主机A和B位于不同网络,数据仍能通过底层协议的协作可靠传输。
六、网络设备
1、路由器(Router)
- 工作层级:OSI 网络层(Layer 3)。
- 核心功能:
- 典型场景:
-0 家庭宽带路由器(连接内网和互联网)。- 企业边界路由器(连接分支机构或公网)。
2、集线器(Hub)
- 工作层级:OSI 物理层(Layer 1)。
- 核心功能:
- 信号广播:将接收到的数据信号广播到所有端口,不区分目标设备。
- 共享带宽:所有设备共享同一带宽,易引发冲突(需 CSMA/CD 机制协调)。
- 缺点:效率低、安全性差(所有设备都能收到数据),已被交换机取代。
- 典型场景:早期小型局域网(现基本淘汰)。
3、交换机(Switch)
(1) 二层交换机(Layer 2 Switch)
- 工作层级:OSI 数据链路层(Layer 2)。
- 核心功能:
- 基于 MAC 地址转发:通过 MAC 地址表 学习设备位置,将数据帧精准转发到目标端口。
- 冲突域隔离:每个端口为独立冲突域,支持全双工通信。
- 典型场景:现代局域网(如企业内网、家庭网络),用于连接终端设备(电脑、打印机等)。
(2) 三层交换机(Layer 3 Switch)
- 工作层级:OSI 网络层(Layer 3) + 数据链路层(Layer 2)。
- 核心功能:
- 二层交换功能:支持 MAC 地址表转发。
- IP 路由功能:可基于 IP 地址在不同 VLAN 或子网间路由数据,替代部分路由器功能。
- 高速转发:通过硬件加速实现接近交换速度的路由性能。
- 典型场景:
- 企业内网中需要高速 VLAN 间通信的场景(如不同部门子网互联)。
- 替代传统路由器实现内部网络分段。
4、设备对比总结
设备 | 工作层级 | 核心功能 | 适用场景 | 关键区别 |
---|---|---|---|---|
集线器 | Layer 1(物理层) | 广播信号到所有端口 | 淘汰设备,仅用于历史参考 | 无智能,共享带宽,冲突多 |
二层交换机 | Layer 2(数据链路层) | 基于 MAC 地址精准转发 | 现代局域网内设备互联 | 隔离冲突域,高效转发 |
三层交换机 | Layer 3(网络层) + Layer 2 | 支持 IP 路由 + 二层交换 | 需要高速 VLAN/子网互联的企业网络 | 结合交换和路由,性能优于传统路由器 |
路由器 | Layer 3(网络层) | 跨网络路由、NAT、防火墙 | 连接不同网络(如内网与互联网) | 支持广域网协议(如 BGP、PPPoE) |
总结:
- 集线器:已淘汰,仅需了解其广播特性。
- 二层交换机:局域网内高效传输的基石。
- 三层交换机:企业内网分段与高速路由的核心。
- 路由器:跨网络通信与安全的守门人。
关键区别:
5、实际应用中的选择
- 小型家庭网络:使用 家用路由器(集成 NAT、Wi-Fi、简单交换功能)。
- 企业局域网:
- 接入层:二层交换机连接终端设备。
- 核心层:三层交换机实现 VLAN 间高速路由。
- 边界:路由器连接外网(互联网或其他分支机构)。
- 数据中心:高性能三层交换机处理大规模内部流量,路由器用于外部连接。
七、IPv6 & IPv4
1、IPv4(互联网协议第四版)
- 地址结构:
- 32位地址,约43亿个唯一地址(理论上)。
- 表示方式:点分十进制(如 192.168.1.1),每部分为0-255的十进制数。
- 关键特性:
- 地址分类:A、B、C类地址,支持私有地址(如 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)。
- NAT(网络地址转换):允许多个设备共享一个公网IP地址,缓解地址短缺。
- 报头结构:包含可选字段(如选项、填充),长度可变,处理开销较大。
- 问题与限制:
- 地址枯竭:设备激增导致地址不足。
- 复杂性:依赖NAT,影响端到端通信(如P2P应用)。
- 安全性:IPsec为可选扩展,非强制支持。
2、IPv6(互联网协议第六版)
- 地址结构:
- 128位地址,地址空间巨大(约3.4×10³⁸个地址)。
- 表示方式:八组四位十六进制数,冒号分隔(如 2001:0db8:85a3::8a2e:0370:7334),支持简写 (省略前导零和连续零组)。
- 关键特性:
- 地址类型:
- 全球单播地址:公网唯一地址(如 2000::/3)。
- 本地单播地址:类似IPv4私有地址(如 fc00::/7)。
- 链路本地地址:仅在同一链路有效(如 fe80::/10)。
- 多播与任播:取代IPv4广播,提升效率。
- 自动配置:
- SLAAC(无状态地址自动配置):通过路由器广播生成地址。
- DHCPv6:可选,用于有状态配置(如DNS信息)。
- 报头优化:
- 固定长度40字节,取消可选字段(通过扩展头实现)。
- 减少路由器处理开销,提升转发效率。
- 内置安全性:强制支持IPsec(认证与加密)。
- 移动性支持:设备切换网络时地址不变(移动IPv6)。
- 地址类型:
3、IPv6 相对于 IPv4 的主要改进
- 地址空间:彻底解决地址短缺问题,支持海量设备接入。
- 简化路由:固定报头结构、更高效的多级路由聚合。
- 端到端通信:无需NAT,保留端到端透明性。
- 安全性:IPsec成为协议栈核心部分。
- QoS支持:通过流标签字段实现更精细的流量控制。
- 即插即用:自动配置减少管理负担。
4、IPv4 与 IPv6 的共存与过渡技术
- 双栈(Dual Stack):设备同时支持IPv4和IPv6协议栈。
- 隧道技术:将IPv6数据包封装在IPv4中传输(如6to4、Teredo)。
- 协议转换:通过NAT64/DNS64实现IPv6与IPv4网络互通。
- 应用层代理:代理服务器处理协议差异。