计算机网络 之 【IP协议】(路由器、route及ip route指令、路由表、运营商简介)

张开发
2026/5/7 8:04:50 15 分钟阅读
计算机网络 之 【IP协议】(路由器、route及ip route指令、路由表、运营商简介)
目录1.路由器4路由器的核心功能6一句话总结2.route指令及ip route指令简介2.2.Flags标志位详解2.3.ip route2.4.路由表2.4.1路由表的工作原理最长前缀匹配3.运营商3.3报文跨网络传输的完整路径用户→百度1.路由器1定义路由器主要是一种网络层设备负责连接两个或多个不同子网根据路由表和目的IP地址将数据包从源子网转发到目标子网2路由器工作的层级OSI模型OSI层级设备处理单位依据网络层第三层路由器IP报文IP地址、路由表数据链路层第二层交换机帧MAC地址物理层第一层集线器比特无路由器是典型的三层设备转发决策去哪个子网看第三层IP帧封装与物理发送依赖第二层和第一层路由器在转发IP报文时会丢弃原数据帧的二层头部源/目的MAC然后在出接口上根据下一跳IP的ARP结果重新封装一个新的二层帧广播帧不会跨路由器转发 路由器会隔离广播域(3)从硬件架构上看路由器和通用计算机没有本质区别组件通用计算机路由器CPUIntel/AMD 处理器MIPS、ARM、x86 处理器内存DRAMDRAM存储路由表、缓存包存储硬盘/SSDFlash存储操作系统和配置网络接口网卡1-2个多个网络接口WAN/LAN操作系统Windows/Linux/macOS路由器OSIOS、VRP、OpenWrt等专用举例说明设备类型能否当路由器用说明家用路由器本身就是专用计算机带路由功能旧电脑 两张网卡可以安装Linux/软路由系统如OpenWrt、pfSense普通PC默认不行默认没有开启IP转发功能()路由器IP路由器有两个关键IPLAN口IP私网如192.168.1.1和WAN口IP运营商分配可能是公网或运营商私网场景分类子场景获取/配置方式典型用途常见设备LAN侧多IP多VLAN子网一个LAN口配置多个VLAN子接口隔离办公网、访客网、IoT设备网企业级路由器、支持VAC的交换机多物理LAN口路由器提供多个独立LAN接口不同物理区域划分不同子网多口企业路由器单口辅助IP同一接口绑定多个IP地址如eth0:1临时地址、过渡期配置、多服务监听软路由、Linux服务器WAN侧多IP多WAN口连接多个不同运营商的宽带线路带宽叠加、链路冗余、负载均衡多WAN企业路由器单WAN多PPPoE会话同一物理端口建立多个拨号连接单线路多IP、带宽叠加需运营商支持软路由、高配企业路由单WAN多静态IP运营商分配一个主IP及多个附加IP托管多个SSL网站、运行多个服务企业专线场景不同的路由器, 子网IP可以相同子网内的主机IP地址不能重复但是子网之间的IP地址可以重复每一个家用路由器其实又作为运营商路由器的子网中的一个节点。 这样的运营商路由器可能会有很多级最外层的运营商路由器的WAN口IP就是一个公网IP子网内的主机需要和外网进行通信时 路由器将IP首部中的IP地址进行替换(替换成WAN口IP)这样逐级替换, 最终数据包中的IP地址成为一个公网IP4路由器的核心功能功能说明路由建立和维护路由表静态路由或通过OSPF/BGP等动态学习转发根据路由表将IP报文从入接口转到出接口子网隔离连接不同子网隔离广播域DHCP给子网内设备自动分配IP常见于家用/边缘路由器NAT让私有IP设备通过公网IP上网源地址转换ACL访问控制列表控制哪些数据包能通过可基于MAC、IP、端口进行无状态过滤5路由器的本质性结论属性核心结论主机属性路由器本质也是某个子网中的一台主机必须配置IP地址多接口属性路由器至少连接两个子网必须拥有多个IP地址世界观属性子网掩码和路由表定义了路由器眼中的网络世界转发引擎属性核心任务是IP报文转发路由是“修路”转发是“走路”6一句话总结路由器是一台专门用于连接子网、转发IP报文的网络专用计算机它运行着路由器操作系统如IOS、OpenWrt拥有CPU、内存、存储和多个网络接口本质上它就是一台“只有网卡和CPU、专门用来指路”的计算机2.route指令及ip route指令简介route [-f] [-n] [-C] [-v] add|del [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If]常用选项选项说明-n不解析主机名直接显示IP地址速度更快-v显示详细信息-e以netstat格式显示路由表等同于netstat -radd添加一条路由del删除一条路由-net目标是一个网络-host目标是一个主机1基本查看命令# 基本查看会尝试解析主机名较慢 route # 推荐方式不解析主机名直接显示IP route -n各列含义列名含义说明Destination目标网络/主机数据包要到达的目的地Gateway网关地址下一跳路由器的IP0.0.0.0或*表示直连Genmask子网掩码用于判断目标地址属于哪个网络Flags路由标志见下表详细说明Metric路由度量值越小优先级越高用于多路径选择Ref引用计数当前路由被使用的次数通常不用关心Use查找次数通过该路由发送的数据包数量Iface网络接口从哪个网卡发送eth0, wlan0等2.2.Flags标志位详解这是Linuxroute命令输出中最重要的一列Flag全称含义UUp路由处于活动状态可用GGateway使用网关非直连网络。没有G表示目标网络直连HHost目标是一个主机而不是网络RReinstate动态路由恢复标志通常不用DDynamic由路由守护进程动态添加MModified由路由守护进程修改AAddress由地址配置添加CCache路由缓存条目!Reject路由被拒绝数据包会被丢弃U直连网络如本地局域网UG默认路由或远程网络需要通过网关转发UH主机路由到单个IP的精确路径UGH通过网关访问的特定主机3注意事项使用route命令添加的路由重启后丢失要永久保存需要写入配置文件所有修改操作add/del都需要root权限查看操作不需要root主机路由-host掩码/32优先级最高网络路由根据掩码长度越长越优先默认路由0.0.0.0/0优先级最低2.3.ip routeip route { add | del | change | append | replace | show | flush | get } ROUTE查看选项选项/参数说明示例show显示路由表默认命令ip route showlist等同于showip route list-n/-numeric不解析主机名直接显示IPip -n route show-c/-color彩色输出不同类型路由用不同颜色ip -c route show-j/-jsonJSON格式输出便于脚本处理ip -j route show-p/-pretty美化输出与JSON配合使用ip -j -p route show-0不显示协议信息加快显示速度ip -0 route show-4仅显示IPv4路由ip -4 route show-6仅显示IPv6路由ip -6 route show-s/-stats显示统计信息数据包计数等ip -s route show-d/-details显示详细信息ip -d route show-f/-family指定地址族inet/inet6ip -f inet route show-o/-oneline每条路由输出为单行ip -o route show-t/-timestamp显示时间戳用于监控ip -t route show输出字段详解字段含义示例default默认路由等同于0.0.0.0/0defaultvia下一跳网关IPvia 192.168.1.1dev输出接口dev eth0proto路由协议类型proto static,proto kernel,proto dhcpscope路由作用域scope global,scope link,scope hostsrc首选源地址src 192.168.1.100metric路由度量值metric 100blackhole黑洞路由blackhole 10.0.0.0/8常用子命令命令说明ip route show查看路由表ip route add添加路由ip route del删除路由ip route replace替换路由不存在则添加ip route get模拟路由查询ip route flush批量删除路由ip route save/restore保存/恢复路由表2.4.路由表路由表的核心作用是当一个数据包需要被转发时查找路由表决定应该从哪个接口网卡发出去以及发往哪个“下一跳”路由器2.4.1路由表的工作原理最长前缀匹配提取数据包的目标IP地址例如192.168.1.100遍历路由表中的每一条记录对于每条记录将目标IP地址与记录的网络掩码进行“按位与”运算得到一个结果检查这个结果是否等于该记录的目的地/目标网络。如果相等则说明这条记录匹配从所有匹配的记录中选择网络掩码最长即最精确的那一条。这就是最长前缀匹配规则根据选中的记录把数据包从接口发往网关/下一跳2.4.2特殊且重要的路由条目1默认路由Default Route形式目的地 0.0.0.0掩码 0.0.0.0作用当数据包的目标地址不匹配路由表中任何其他更具体的条目时就走这条路由。它相当于“所有其他地方的包裹都发往这个总出口”。网关通常是你的“默认网关”比如家里的路由器地址 192.168.1.1它再负责帮你把数据转发到外网互联网2本地直连路由形式当你给电脑的网卡配置一个IP(如 192.168.1.10/24)时系统会自动生成两条直连路由一条到达该网段192.168.1.0/24的路由网关是 * 或 0.0.0.0接口是本地网卡。这意味着发往 192.168.1.x 的数据包直接从本地网卡发出去不需要找网关另一条到达本机IP192.168.1.10的主机路由用于访问自己3主机路由形式目的地是一个具体的IP地址掩码是 255.255.255.255作用指定到某一个特定主机的精确路径。它比任何网段路由都优先2.4.3路由表来源直连路由自动生成。给接口配置IP和掩码后系统自动添加静态路由网络管理员手动添加。适合小型、稳定的网络动态路由通过路由协议如OSPF、BGP、RIP在路由器之间自动学习、交换而来的。适合大型、复杂、会变化的网络3.运营商3.1 我们是怎么上网的接入流程物理接入城镇联系工作人员网线入户城市规定光纤入户光纤传递光信号信号转换调制解调器光猫将光信号转换为数字信号认证上网上网可能需要WIFI账号密码运营商验证PPPoE账号和密码家庭组网家用路由器构建局域网LAN可设置WIFI账号密码对上网用户做认证对比项PPPoE 账号密码WiFi 账号密码作用位置路由器 ↔ 运营商BRAS手机/电脑 ↔ 路由器目的认证用户身份允许上网加密无线连接防止蹭网谁设置运营商提供办理宽带时给用户你自己在路由器后台设置验证方运营商的认证服务器路由器本身是否必须必须否则无法上网可选有线连接不需要修改方式路由器 WAN 口设置路由器 WiFi 设置典型形式139****1234 短信密码MyHome_5GAbc1234563.2运营商做了什么运营商 物理基础设施的建设者 公网IP资源的管理者 报文跨网络传输的调度者1物理层把网络铺到你家里拉光纤、建机房、设BRAS、部署骨干网国家扶持重资产、回报慢私企不愿干2资源层管理公网IP和路由向国际组织申请大段公网IP如中国电信AS4134拥有约1.2亿个公网IP按国家→省→市→区县层级分配IP前缀(可理解为:前x位国家再y位省市再若干位市区县)通过BGP协议了解、不做展开与其他运营商交换路由3业务层认证、计费、NAT验证你的宽带账号密码给用户分配一个动态公网IP或运营商级私网IP在你访问外网时做必要的地址转换层面主要事项类比概况物理层把网络铺到你家里“路”的建设者资源层管理公网IP和路由“门牌号”的分配者业务层认证、计费、NAT“通行证”的管理者运营商 修路的 发门牌号的 查票的3.3报文跨网络传输的完整路径用户→百度用户的私有IP经过家用路由器NAT变成运营商分配的公网IP然后这个公网IP在运营商构建的骨干网中逐级路由通过最长前缀匹配先比较国家IP再比较省市IP最终到主机最终到达目标服务器返回时反向NAT回到你的私有IP运营商负责这一切的物理网、路由表和认证计费阶段位置源IP目标IP关键动作①用户的电脑192.168.1.2110.242.68.66百度发请求②家用路由器做SNAT源IP→123.123.123.123WAN口公网IP不变NAT转换③运营商接入网BRAS123.123.123.123不变认证、限速、计费④运营商城域网同上不变查路由表下一跳⑤运营商骨干网/国际出口同上不变跨省/跨国转发⑥百度服务器123.123.123.123百度自己的IP收到请求返回数据⑦原路返回路径可能不同百度IP123.123.123.123反向转发⑧用户家路由器做DNAT目标IP→192.168.1.2不变反向NAT只有第一跳家用路由器和最后一跳用户家路由器处理私有IP中间所有运营商路由器只看见公网IP用户在云服务器上自定义的服务器程序想要被外网访问必须使用云服务器的公网IP其他主机根据云服务器公网IP程序对应端口号访问服务XShell客户端通过云服务器公网IP发起ssh连接请求服务器上的sshd进程响应连接连接建立后用户获得一个虚拟终端可以像操作本地电脑一样执行命令、编辑文件、运行程序云服务器是互联网厂商使用虚拟化技术提供的虚拟电脑万台物理服务器宿主机 ↓ 虚拟化软件KVM 创建大量虚拟机 ↓ 自动化平台OpenStack / 自研 用户网页点击 → 自动分配资源 ↓ 配置网络、公网IP、安全组 用户得到一个云服务器

更多文章