当前位置: 首页 > article >正文

通信:(8) 网络层(第3层):IPv4 与路由器

1. 网络层的功能1.1 异构网络互联核心问题不同物理网络以太网、WiFi、ATM等如何相互通信解决方案IP协议作为统一的网络层协议屏蔽底层差异关键设备路由器Router连接不同网络进行协议转换和分组转发互连层次• 物理层互连中继器、集线器• 数据链路层互连网桥、交换机•网络层互连路由器最常用异构性表现• 不同的帧格式• 不同的地址格式• 不同的最大传输单元MTU• 不同的访问控制方式1.2 路由与转发路由器的两个功能对比维度路由Routing转发Forwarding定义确定分组从源到目的的路径将分组从路由器输入端口移送到输出端口层次全局性、控制平面功能局部性、数据平面功能时间尺度相对慢秒级到分钟级非常快纳秒到微秒级实现位置路由处理器控制平面交换结构数据平面关键算法• 静态路由• RIP距离向量• OSPF链路状态• BGP路径向量• 查表转发• 最长前缀匹配• 硬件加速TCAM1.3 网络层提供的两种服务对比维度数据报服务Datagram虚电路服务Virtual Circuit代表网络InternetIP协议ATM、帧中继、X.25连接建立❌无连接随时发送✅面向连接需先建立虚电路路由选择每个分组独立路由所有分组沿同一路径传输分组顺序❌可能乱序到达✅按序到达地址格式完整的源和目的IP地址简短的虚电路号可靠性尽最大努力Best Effort可提供可靠传输健壮性✅高路由可动态调整❌低链路故障影响所有连接资源分配不预留资源可预留带宽、缓冲区适用场景突发数据、弹性应用实时业务、恒定速率流上图为数据报原理。1.4 软件定义网络 SDN对比维度传统网络SDN软件定义网络架构控制平面与数据平面紧耦合控制平面与数据平面分离控制方式分布式每个路由器独立决策集中式控制器全局控制可编程性差依赖厂商固件强软件可编程管理复杂度高需逐台配置设备低集中控制器统一管理创新速度慢需更新硬件快软件升级即可典型协议OSPF、BGP、RIPOpenFlow、P4三层架构┌─────────────────────────────────┐ │ 应用层Application │ ← 网络应用防火墙、负载均衡等 ├─────────────────────────────────┤ │ 控制层Controller │ ← SDN控制器OpenDaylight、ONOS ├─────────────────────────────────┤ │ 基础设施层Infrastructure│ ← 交换机、路由器OpenFlow交换机 └─────────────────────────────────┘1.5 拥塞控制对比维度网络层拥塞控制传输层拥塞控制控制目标防止路由器缓冲区溢出防止发送方淹没接收方/网络实现位置路由器队列管理端系统TCP典型机制• RED随机早期检测• 拥塞避免• 流量整形• TCP Reno/CUBIC• 慢启动、拥塞避免• 快速重传/恢复2. IPv4IPv4地址本质32位二进制数人类友好格式点分十进制每8位转成一个0-255的数字2.1 首部字段长度说明版本4位IPv4值为4首部长度4位以4字节为单位最小520字节最大1560字节服务类型8位现称区分服务DS用于QoS总长度16位首部数据的总字节数标识16位唯一标识数据报用于分片重组标志3位DF不分片、MF更多分片片偏移13位分片在原数据报中的相对位置以8字节为单位生存时间TTL8位最大跳数防止无限循环通常64或128协议8位指示上层协议TCP6, UDP17, ICMP1首部校验和16位仅校验首部每跳重新计算源/目的IP各32位IP地址2.2 IPv4 地址与 NAT地址分类传统分类类别范围首字节网络号/主机号默认掩码网络数每网络主机数适用场景A类1-1268位/24位255.0.0.012616,777,214大型组织B类128-19116位/16位255.255.0.016,38465,534中型组织C类192-22324位/8位255.255.255.02,097,152254小型网络D类224-239多播地址---组播E类240-255保留---实验特殊IP地址地址用途0.0.0.0本网络上的本主机启动时127.0.0.1本地环回localhost255.255.255.255受限广播地址网络号.全1定向广播地址网络号.全0本网络全0本主机NAT网络地址转换核心思想私有地址 ↔ 公有地址转换解决IPv4地址短缺NAT类型• 静态NAT一对一映射• 动态NAT多对多映射•NAPT网络地址端口转换多对一映射最常用工作原理修改IP数据报的源/目的IP地址和端口号NAT表维护内部IP:端口 ↔ 外部IP:端口映射关系内部网络 NAT路由器 Internet 192.168.1.10:1234 → 203.0.113.1:5001 → 服务器:80 192.168.1.11:5678 → 203.0.113.1:5002 → 服务器:80 NAT转换表 ------------------------------------ | 内部地址:端口 | 外部地址:端口 | ------------------------------------ | 192.168.1.10:1234| 203.0.113.1:5001 | | 192.168.1.11:5678| 203.0.113.1:5002 | ------------------------------------例互联网 │ └─ [光猫/路由器 公网IP: 203.0.113.1] │ ├─ Wi-Fi: 192.168.1.1/24路由器自己 ├─ 手机: 192.168.1.100/24 ├─ 电脑: 192.168.1.101/24 └─ 智能电视: 192.168.1.102/24工作原理用私有地址 192.168.1.100 访问百度路由器把源IP改成公网IP如203.0.113.1记录映射表192.168.1.100:5000 → 203.0.113.1:6000百度回复给 203.0.113.1:6000路由器查表转发给 192.168.1.100:5000NAT的好处1个公网IP → 供全家几十台设备共享隐藏内部网络结构安全2.3 划分子网与路由聚合2.3.1 子网划分子网划分Subnetting将一个较大的IP网络地址空间逻辑分割为多个较小的子网每个子网具有独立的网络标识但共享相同的IP地址前缀。子网掩码 划分网络部分和主机部分的标尺计算网络地址IP 掩码192.168.1.100 255.255.255.0 192.168.1.0关键定义网络地址标识整个网络的地址主机位全0广播地址标识网络内所有主机的地址主机位全1子网掩码32位二进制数用于区分网络位和主机位子网位从主机位中借位用于子网标识的位未划分子网划分子网192.168.1.0/24254个可用地址192.168.1.0/2662个可用地址192.168.1.64/2662个可用地址全网络广播仅子网内广播单一故障域多个故障域无安全隔离部门间隔离示例C类网络192.168.1.0/24 需要划分4个子网 借2位主机位作为子网位 子网掩码255.255.255.192 或 /26 子网1: 192.168.1.0/26 (00 000000 - 00 111111) 可用主机: 1-62 子网2: 192.168.1.64/26 (01 000000 - 01 111111) 可用主机: 65-126 子网3: 192.168.1.128/26 (10 000000 - 10 111111) 可用主机: 129-190 子网4: 192.168.1.192/26 (11 000000 - 11 111111) 可用主机: 193-254 每个子网可用主机数: 2^6 - 2 62减去网络地址和广播地址2.3.2 路由聚合路由聚合Route Aggregation也称为超网Supernetting是将多个连续的子网合并为一个更大的网络前缀以减少路由表条目数量。为什么需要路由聚合减少路由表大小降低路由器内存需求加速路由查找减少匹配条目数量降低路由更新开销减少BGP/OSPF更新流量路由聚合示例原始路由表 192.168.0.0/24 → 接口0 192.168.1.0/24 → 接口0 192.168.2.0/24 → 接口0 192.168.3.0/24 → 接口0 聚合后 192.168.0.0/22 → 接口0 验证192.168.0.0 - 192.168.3.255 都在 /22 范围内2.4 网络层转发分组的过程输入: IP分组 (源IP10.0.0.1, 目的IP192.168.1.10) 1. 检查目的IP: 192.168.1.10 - 不是本机地址 2. 路由表查询: 192.168.1.0/24 → Gi0/0 0.0.0.0/0 → 10.0.0.1 3. 匹配结果: 192.168.1.0/24 (最长前缀) 4. 数据包处理: - TTL64 → 63 - 校验和重新计算 5. 转发: - 下一跳: 192.168.1.1 (直接连接) - 通过Gi0/0接口发送 - ARP解析192.168.1.10的MAC地址2.5 地址解析协议 ARPARPAddress Resolution Protocol将IP地址解析为MAC地址IP地址32位逻辑地址网络层MAC地址48位物理地址数据链路层ARP请求广播查询MAC地址ARP响应单播返回MAC地址2.6 动态主机配置协议 DHCPDHCPDynamic Host Configuration Protocol自动分配IP地址和其他网络参数DHCP四步交互DORADHCP Discover客户端广播发现服务器DHCP Offer服务器提供IP地址DHCP Request客户端请求特定IPDHCP Ack服务器确认分配客户端 路由器/中继 DHCP服务器 │ │ │ │ 1. DHCP Discover │ │ │ (广播: 0.0.0.0:68) │ │ ├─────────────────────────►│─────────────────────────►│ │ │ │ │ │ 2. DHCP Offer │ │ │ (单播/广播: 提议IP) │ │ │◄─────────────────────────┤ │◄─────────────────────────┤ │ │ │ │ │ 3. DHCP Request │ │ │ (广播: 请求IP) │ │ ├─────────────────────────►│─────────────────────────►│ │ │ │ │ │ 4. DHCP ACK │ │ │ (单播/广播: 确认) │ │ │◄─────────────────────────┤ │◄─────────────────────────┤ │ │ │ │ ✓ 客户端获得IP地址开始使用 Discover: 客户端寻找服务器 Offer: 服务器提供IP地址 Request: 客户端请求使用该IP ACK: 服务器确认分配2.7 网际控制报文协议 ICMPICMPInternet Control Message Protocol用于网络诊断和错误报告的网络层协议3. 路由器3.1 冲突域与广播域特性冲突域广播域定义信号冲突发生的区域广播帧传播的区域层次物理层Layer 1数据链路层Layer 2边界设备交换机、网桥路由器影响范围仅影响发送设备影响整个广播域内所有设备典型大小通常为单个网段可能覆盖多个网段解决方法交换机分隔冲突域路由器分隔广播域设备冲突域影响广播域影响说明集线器无分隔所有端口同一冲突域无分隔所有端口同一广播域信号放大广播所有端口交换机分隔每端口独立冲突域无分隔所有端口同一广播域基于MAC地址转发广播帧泛洪路由器分隔每个接口独立冲突域分隔每个接口独立广播域基于IP地址转发不转发广播帧3.2 路由器的组成和功能硬件架构----------------------------------------- | CPU | | - 运行操作系统IOS、NX-OS、VRP等 | | - 处理路由协议、管理任务 | | - 维护路由表、ARP表等 | ---------------------------------------- | 控制总线 ---------------------------------------- | 交换矩阵 | | - 专用ASIC芯片实现线速转发 | | - 无阻塞架构Non-blocking | | - 背板带宽 端口数 × 2 × 速率 | ---------------------------------------- | 数据总线 ---------------------------------------- | 端口模块 | | - 物理接口以太网、光纤、串口等 | | - PHY芯片电信号/光信号转换 | | - 缓冲区应对突发流量 | -----------------------------------------路由器体系结构1. 路由选择Route Selection运行路由协议OSPF、BGP等计算最优路径维护路由表路由表示例: 192.168.1.0/24 Direct 0 Gi0/0 10.0.0.0/8 OSPF 110 Gi0/1 0.0.0.0/0 BGP 20 Gi0/22. 分组转发Packet Forwarding查找FIB转发信息库TTL减1更新校验和选择出接口转发决策流程: 1. 检查目的IP是否为本地 2. 查找路由表最长前缀匹配 3. TTL减1 → 校验和更新 4. 转发到下一跳3. 网络地址转换NAT私有IP ↔ 公网IP转换端口复用NAPT内网: 192.168.1.100:5000 → 公网: 203.0.113.1:6000 内网: 192.168.1.101:5000 → 公网: 203.0.113.1:6001

相关文章:

通信:(8) 网络层(第3层):IPv4 与路由器

1. 网络层的功能1.1 异构网络互联核心问题不同物理网络(以太网、WiFi、ATM等)如何相互通信解决方案IP协议作为统一的网络层协议,屏蔽底层差异关键设备路由器(Router):连接不同网络,进行协议转换…...

[连载] C++ 零基础入门-3.C++变量与数据类型 一步一步实战

作者:咏方舟-长江支流 日期:2026-02-27 《C 零基础到底层实战-全套31篇 体系化教程》,从环境安装→基础语法 → 面向对象 → 多线程 → 智能指针 → 鸿蒙原生开发,一套打通:桌面开发 / 嵌入式 / 鸿蒙 / 高薪底层开发…...

数据模型是数据库系统设计与实现的理论基础,其核心知识点可系统归纳如下

数据模型是数据库系统设计与实现的理论基础,其核心知识点可系统归纳如下:基本概念 数据模型是对现实世界数据特征的抽象描述,是连接用户需求与数据库实现的桥梁。按抽象层次分为三类: • 概念数据模型(如E-R模型&#…...

【AI】Mac 安装 OpenClaw 及接入飞书教程

一、安装 Nodejs(必须) 因为 OpenClaw 至少需要运行在 node22 版本环境,因此需要先安装 node 环境 step1:下载并安装 nvm:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash step2&…...

企业 AI 智能体:从 Demo 到规模化落地的技术架构与工程实践

在大模型技术普及的今天,几乎所有企业的技术团队都尝试过搭建 AI 智能体:从简单的客服问答机器人,到能处理基础业务的 AI 助手,大多都能快速做出一个效果亮眼的 Demo。但现实是,超过 90% 的 AI 智能体,最终…...

企业AI智能体进入“人机协作”新阶段:数字员工与人类员工的“混合劳动力”时代

在大模型技术普及的今天,几乎所有企业的技术团队都尝试过搭建 AI 智能体:从简单的客服问答机器人,到能处理基础业务的 AI 助手,大多都能快速做出一个效果亮眼的 Demo。但现实是,超过 90% 的 AI 智能体,最终…...

图片优化新策略:WebP/AVIF格式与懒加载的融合应用

图片优化新策略:WebP/AVIF格式与懒加载的融合应用 在当今数字化时代,图片作为网页内容的重要组成部分,不仅丰富了用户的视觉体验,也直接关系到网页的加载速度和整体性能。随着网络技术的不断进步,图片优化技术也在持续…...

软件无线电:重塑无线通信的未来

引言 在当今这个信息爆炸的时代,无线通信技术如同空气般无处不在,支撑着我们的移动互联网、物联网、广播、导航等方方面面。传统的无线通信设备,其功能通常由专用的硬件电路实现,一旦设计完成,其工作频段、调制方式、通信协议等核心特性就基本固定,难以更改。这种“刚性…...

[操作系统篇|学习笔记]初识操作系统

一.操作系统概念与功能1.1 定义操作系统(Operating System,OS)是管理和控制计算机软硬件资源的系统软件,是用户与计算机硬件之间的接口,也是其他应用软件运行的基础。简单来说就是三点:1.操作系统是系统资源…...

The RAG Process: Retrieval-Augmented Generation Step-by-Step

文章目录RAG简介流程【分片】【索引】向量embedding向量数据库【召回】【重排】【生成】总结流程代码环境准备RAG 参考视频 BV1wc3izUEUb 简介 检索增强生成 RAG(Retrieval-Augmented Generation,检索增强生成)是一种把信息检索&#xff0…...

RL学习记录(更新中)

主要课程来源:小电视赵老师课程:主要针对强化学习原理(实践和编程较少) 目录 前言 第一章 基础概念 第二章 贝尔曼公式 第三章 贝尔曼最优公式 第四章 值迭代与策略迭代 前言 贝尔曼公式:一句话总结&#xff0…...

Spring面试题 01

目录 1. 谈谈你对 AOP 的理解? 2. 谈谈你对 IOC 的理解? 3. 解释下 Spring 支持的几种 Bean 的作用域? 4. 简述 Spring 中的事务的实现方式? 5. 了解 Spring 中的事务传播机制吗? 6. 说一说 Spring 事务的底层实…...

没有学不会的义务之动态内存管理

为什么要有动态内存管理:让程序员自己可以申请和释放空间(数组等开辟空间的大小是固定的)内存中的不同区malloc函数功能:向内存的堆区申请一块连续可用的空间,并返回指向这块空间的起始地址。1.如果开辟成功&#xff0…...

sql注入之sql基本语法

(持续更新)学习网站推荐:www.w3school.com.cnsqlzoo.net一、SELECT查询语句SELECT 列 FROM 表 WHERE 条件;SQL SELECT 语法SELECT 列名称 FROM 表名称以及:SELECT * FROM 表名称1.SELECT population FROM world WHERE name Germany主要目的是输出人口&a…...

字节码优化、存储布局与那次成功的“代码混淆”

# 字节码优化、存储布局与那次成功的“代码混淆”## 引言:从一个小想法到一场技术革命故事要从几年前的一个午后说起。当时我们团队正在为一个嵌入式设备开发一套领域特定语言(DSL)。设备资源有限,我们需要一个轻量级的虚拟机来执…...

简中互联网“四大恶人”批判:一种数字生存境况的技术社会学分析

內容來自知乎:https://www.zhihu.com/question/660840540 # 简中互联网“四大恶人”批判:一种数字生存境况的技术社会学分析 ## 引言:被围困的数字日常 2026年的今天,当你打开手机准备查询地铁线路,仅仅因为起身时轻…...

RAG——RAG生成(大模型)

目录 一、前提 二、大模型发展 三、大模型原理 四、RAG 中如何选择大模型 本文来源:极客时间vip课程笔记 注:后续技术类文章会同步到我的公众号里,搜索公众号 小志的博客 感兴趣的读友可以去找来看看。 一、前提 RAG 的本质是通过为大模型提供外部知识来增强其理解和回答领…...

IntelliJ IDEA 4个必改配置:主题字体+代码提示+免费AI插件,让你的开发体验起飞

IntelliJ IDEA 被誉为 Java 开发最好用的工具,但默认配置不一定适合每个人。默认的暗黑主题在白天长时间开发容易眼疲劳;默认字体偏小,盯着看一会儿眼睛就酸;默认的代码提示严格区分大小写,输入小写就找不到大写开头的…...

HelloWorld的前世今生:用IntelliJ IDEA编写人生第一个Java程序

为什么全世界所有编程语言的第一个例子,都是输出“Hello World”?这个传统来自C语言之父丹尼斯里奇的经典著作《C程序设计语言》。在这本书中,第一个示例程序就是输出“Hello World”。由于C语言是绝大多数编程语言的鼻祖,后续Jav…...

计算机毕业设计springboot高校体育竞赛管理系统 基于SpringBoot的高校体育赛事综合服务平台设计与实现

计算机毕业设计springboot高校体育竞赛管理系统48825p75(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着高校体育事业的蓬勃发展和校园文化建设需求的不断提升,传…...

计算机毕业设计springboot就业岗位推荐系统 基于SpringBoot的智能职位匹配平台设计与实现

计算机毕业设计springboot就业岗位推荐系统a6nq8o76(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着数字化转型的深入推进,人力资源市场正经历从传统招聘模式向智…...

2025年智能座舱交互革命:从语音助手到多模态AI中枢

1. 告别“人工智障”:为什么你的车载语音助手总在关键时刻掉链子? 不知道你有没有过这样的经历:开车时想调低空调温度,对着车机喊了好几声“你好,XX”,它要么没反应,要么答非所问,最…...

R 4.5量化回测合规红线预警:证监会《证券期货业回测系统技术规范》V2.3落地后,这7类代码将被认定为无效回测

第一章:R 4.5量化回测合规性总览R 4.5 版本在统计计算与金融建模领域引入了多项增强机制,尤其在回测框架的可审计性、随机数生成确定性、时间序列对齐一致性及浮点运算精度控制方面,显著提升了量化策略回测结果的合规可信度。监管机构&#x…...

STEP3-VL-10B部署案例:边缘计算节点部署10B模型实现离线多模态推理

STEP3-VL-10B部署案例:边缘计算节点部署10B模型实现离线多模态推理 1. 引言 想象一下,你正在一个网络信号不稳定的野外现场,或者在一个对数据安全要求极高的企业内部,需要快速分析一张复杂的工程图纸,或者理解一段带…...

如何用Dify在24小时内完成传统需2周的人工评估闭环?——金融客服场景下LLM-as-a-judge SLO达标实践白皮书

第一章:LLM-as-a-judge在金融客服评估中的范式革命传统金融客服质量评估长期依赖人工抽检、规则引擎与预设话术匹配,存在覆盖率低、主观性强、反馈滞后等结构性瓶颈。大语言模型作为裁判(LLM-as-a-judge)的引入,正推动…...

通义千问3-Reranker-0.6B实战案例:直播带货话术与商品信息匹配

通义千问3-Reranker-0.6B实战案例:直播带货话术与商品信息匹配 1. 直播带货的痛点与解决方案 直播带货现在火得不得了,但有个问题一直困扰着主播和运营团队:说的话和卖的商品经常对不上。你可能也遇到过这种情况——主播说得天花乱坠&#…...

Emilia数据集:6种语言10万小时语音生成技术的突破与应用

1. Emilia数据集:一个改变游戏规则的多语言语音宝库 如果你最近在关注语音合成(TTS)或者语音生成领域,那你大概率已经听过“Emilia”这个名字了。它就像一个突然出现在舞台中央的超级新星,让整个圈子都兴奋了起来。简…...

第7章:Docker network网络管理_(网络驱动类型)

第7章:Docker network网络管理(网络驱动类型) 在现代容器化应用部署中,Docker网络管理是确保服务可靠通信的关键环节。除了基础的网络连接操作外,Docker提供了一系列高级网络功能,能够满足复杂场景下的网络需求。本文将解析三个高级网络管理命令: docker network connec…...

连续时间马尔科夫链:从理论到生灭过程的应用解析

1. 从排队到种群:为什么我们需要连续时间马尔科夫链? 想象一下,你正在一家网红奶茶店排队。队伍的长度时增时减,有人买完离开(“死亡”),也有新顾客加入队尾(“出生”)。…...

UNIAPP 上架审核指南:精准应对 Guideline 5.1.2 数据追踪与隐私合规

1. Guideline 5.1.2 到底是什么?为什么你的UNIAPP应用会踩坑? 最近不少用UNIAPP开发iOS应用的朋友,在提交App Store Connect审核时,都遇到了一个让人头疼的拒绝理由:Guideline 5.1.2。苹果给出的原文通常很长&#xf…...