计网网络层基本概念

计网网络层基本概念 网络层是整个协议栈中最复杂、最重要的一层它的核心任务是把分组从源主机传送到目的主机。核心功能路由选择决定分组从源到目的地的路径分组转发把分组从路由器的一个端口转出去提供的服务虚电路服务面向链接可靠按序到达 通过ATM、帧中继已淘汰实现数据报服务无连接尽最大可能交付 通过IP 协议互联网实际采用实现重点互联网的网络层采用的是数据报服务即尽最大努力交付Best Effort。IP 协议不保证可靠可靠传输由运输层TCP负责。这是理解 TCP/IP 体系结构的关键。2.IP 地址与分类IPv4 地址IPv4 地址32 位4 字节通常用点分十进制表示如192.168.1.1分类 IP 地址传统分类理解子网划分的基础必须记牢各类地址范围类别前缀网络号位数首个字节范围默认子网掩码最大网络数每网最大主机数A 类081~126255.0.0.01262²⁴-2B 类1016128~191255.255.0.02¹⁴2¹⁶-2C 类11024192~223255.255.255.02²¹2⁸-2D 类1110—224~239—多播地址—E 类1111—240~255—保留—特殊 IP 地址127.x.x.x环回地址Loopback127.0.0.1代表本机0.0.0.0本网络上的本主机255.255.255.255受限广播地址本网络广播主机号全 0网络地址代表这个网络主机号全 1直接广播地址向该网络广播每个网络可分配的主机数 2ⁿ - 2去掉全 0 和全 1私有 IP 地址内网地址类别私有地址范围A 类10.0.0.0 ~ 10.255.255.255B 类172.16.0.0 ~ 172.31.255.255C 类192.168.0.0 ~ 192.168.255.255私有地址只能用于内网不能直接出现在公网Internet上。NAT网络地址转换负责内外网地址转换。3.子网划分与 CIDR子网掩码Subnet Mask子网掩码用来区分 IP 地址中哪部分是网络号哪部分是主机号。子网掩码中1 对应的位 → 网络号子网掩码中0 对应的位 → 主机号子网掩码的两种表示法表示法示例说明点分十进制255.255.255.0传统写法CIDR 记法/24斜线后数字 网络前缀位数子网掩码速查表CIDR子网掩码可用主机数常见用途/8255.0.0.02²⁴-2A 类默认/16255.255.0.02¹⁶-2B 类默认/24255.255.255.02⁸-2 254C 类默认最常见/25255.255.255.128126小型网络/26255.255.255.19262小型网络/27255.255.255.22430微型网络/28255.255.255.24014微型网络子网划分计算子网划分核心公式假设需要划分 m 个子网 需要借用的主机位数 n ⌈log₂m⌉向上取整 子网掩码 原掩码 n 位 每个子网的可用主机数 2^(剩余主机位数) - 2经典例题将192.168.1.0/24划分为 4 个子网步骤 1. 4 个子网 → 需要借 2 位主机位2²4 2. 新子网掩码/24 2 /26 → 255.255.255.192 3. 每个子网 2^(8-2) - 2 62 个可用主机 4. 每个子网地址块大小 256/4 64 子网 1192.168.1.0/26 地址范围 192.168.1.0 ~ 192.168.1.63 子网 2192.168.1.64/26 地址范围 192.168.1.64 ~ 192.168.1.127 子网 3192.168.1.128/26 地址范围 192.168.1.128 ~ 192.168.1.191 子网 4192.168.1.192/26 地址范围 192.168.1.192 ~ 192.168.1.255CIDR无分类域间路由CIDR 消除了传统 A/B/C 类地址的界限用网络前缀代替分类。斜线记法192.168.1.0/24表示前 24 位是网络前缀路由聚合超网把多个连续的网络地址合并成一个更大的网络CIDR 的核心好处是减少路由表条目提高路由器效率。4.路由表结构与路由器工作原理路由表的结构路由表是路由器中存储的一张表用来决定收到的分组应该从哪个接口转发出去。路由表的核心字段字段含义示例目的网络地址目标网络的网络号192.168.1.0子网掩码网络前缀长度255.255.255.0/24下一跳地址转发的下一跳路由器 IP192.168.3.254出接口从本路由器的哪个接口发出eth0 / fa0/1度量值 Metric到达目标网络的代价跳数/带宽/延迟协议类型该路由的来源C直连/ S静态/ RRIP/ OOSPF路由表示例目的网络 子网掩码 下一跳 出接口 Metric 来源 192.168.1.0 255.255.255.0 直连 eth0 0 C 192.168.2.0 255.255.255.0 192.168.1.254 eth0 1 R 10.0.0.0 255.0.0.0 192.168.1.1 eth0 5 O 0.0.0.0 0.0.0.0 192.168.1.1 eth0 10 S路由条目的三种来源类型标记原理特点直连路由C路由器接口配置 IP 后自动生成优先级最高Metric0静态路由S管理员手动配置简单可靠但不自动适应网络变化动态路由R/O/B通过路由协议自动学习RIP/OSPF/BGP自动适应但消耗资源默认路由默认路由当路由器找不到匹配的具体路由条目时就使用默认路由。目的网络0.0.0.0 子网掩码0.0.0.0/0 含义匹配所有目的地兜底路由路由器转发流程——最长前缀匹配路由器收到分组后按以下步骤转发1. 提取目的 IP 地址 2. 遍历路由表中的每条路由条目 3. 用每条路由的子网掩码与目的 IP 做与运算 4. 如果结果等于该条目的目的网络地址 → 匹配成功 5. 在所有匹配成功的条目中选择子网掩码最长前缀最长的 6. 按该条目的下一跳/出接口转发 7. 如果没有任何匹配 → 使用默认路由0.0.0.0/0 8. 如果也没有默认路由 → 丢弃发送 ICMP 目的不可达最长前缀匹配原则必考当多个路由条目同时匹配时优先选择子网掩码最长即网络前缀最具体的条目。路由器内部结构路由器由以下核心部件组成部件功能输入端口接收分组物理层链路层处理交换结构将分组从输入端口快速转发到输出端口输出端口发送分组排队、调度路由处理器执行路由协议维护路由表计算转发表路由器工作在网络层依据IP 地址逻辑地址转发这个区别于交换机依据 MAC 地址物理地址转发。5.ARP 协议地址解析协议ARP 的作用已知目的 IP 地址求对应的 MAC 地址。为什么需要 ARP网络层用 IP 地址寻址但数据链路层实际传输时用的是 MAC 地址。从 IP 到 MAC 的映射就靠 ARP。ARP 工作流程1. 主机 A 要发送数据给主机 B知道 B 的 IP不知道 B 的 MAC 2. A 广播 ARP 请求谁是 192.168.1.2告诉我你的 MAC 地址 3. B 收到后单播 ARP 响应我是 192.168.1.2我的 MAC 是 00-1A-2B-... 4. A 收到后把 B 的 IP-MAC 映射存入 ARP 缓存 5. 下次再发就不需要 ARP 了ARP 的四个典型情况场景ARP 行为同一网络内直接 ARP 请求目的主机跨网络经过路由器ARP 请求的是下一跳路由器的 MAC不是最终目的免费 ARP主机主动广播自己的 IP-MAC 映射用于检测 IP 冲突代理 ARP路由器代替另一网络的主机回答 ARP 请求6.ICMP 协议网际控制报文协议ICMP 是 IP 层的辅助协议用于报告错误和网络诊断。ICMP 两类报文类型用途常见例子差错报告报文报告传输中的问题终点不可达、时间超时、参数问题询问报文网络诊断回送请求/应答ping两个最常用的 ICMP 应用应用原理作用PING发送 ICMP 回送请求等待回送应答测试连通性和 RTTTraceroute依次发送 TTL1,2,3... 的包利用超时报错追踪路径经过的路由器PING 的工作流程主机 A → 主机 BICMP 回送请求Type8 主机 B → 主机 AICMP 回送应答Type0 计算往返时间 RTTTraceroute 原理重点1. 发送 TTL1 的 UDP 包 → 第一跳路由器因 TTL 过期返回 ICMP 超时报文 2. 发送 TTL2 的 UDP 包 → 第二跳路由器返回 ICMP 超时报文 3. 依次增加 TTL直到到达目的主机 4. 目的主机返回 ICMP 端口不可达因为用了不可达端口7.路由算法与路由协议路由算法分类算法类型原理特点典型协议距离矢量DV每个路由器维护到各目的地的距离定期与邻居交换简单收敛慢RIP链路状态LS每个路由器建立全网拓扑图用 Dijkstra 算最短路径收敛快开销大OSPFRIP 协议路由信息协议RIP 是典型的距离矢量协议核心特征特征说明距离度量跳数Hop Count每经过一个路由器 1最大跳数15 跳16 跳 不可达交换方式每 30 秒与邻居交换整个路由表适用规模小型网络不超过 15 跳缺点收敛慢有计数到无穷问题RIP 的水平分割Split Horizon从某个接口学到的路由不再从该接口发回去目的防止路由环路OSPF 协议开放最短路径优先OSPF 是链路状态协议核心特征特征说明算法Dijkstra 最短路径算法度量链路代价带宽、延迟等不限于跳数交换方式洪泛链路状态信息 LSA只在变化时更新适用规模大型网络层次结构支持区域Area划分Area 0 是骨干区域OSPF 的五个报文类型报文作用Hello发现和维护邻居关系数据库描述 DBD链路状态数据库摘要链路状态请求 LSR请求特定链路状态信息链路状态更新 LSU发送链路状态信息链路状态确认 LSAck确认收到 LSUBGP 协议边界网关协议BGP 是不同自治系统AS之间的路由协议核心特征特征说明作用范围AS 之间跨运营商、跨国家协议类型路径矢量协议度量不只看距离还考虑策略政治、商业因素传输层使用 TCP端口 179可靠传输BGP 的路径属性属性含义AS-PATH经过的 AS 列表用于防环路NEXT-HOP下一跳路由器地址LOCAL-PREF本地优先级控制出站流量MED多出口区分控制入站流量RIP vs OSPF vs BGP 对比总表协议类型算法度量范围交换内容收敛速度RIP距离矢量Bellman-Ford跳数域内 IGP整个路由表慢OSPF链路状态Dijkstra链路代价域内 IGP链路状态快BGP路径矢量策略选路路径属性域间 EGP路径信息较慢8.IPv6IPv6 的核心改进对比维度IPv4IPv6地址长度32 位128 位地址数量约 43 亿约 3.4×10³⁸几乎无穷表示法点分十进制冒号十六进制首部格式变长复杂固定 40 字节简化校验和有无交给上层分片路由器可分段只允许源主机分段安全性可选内置 IPSecIPv6 地址表示法完整形式2001:0DB8:0000:0000:0000:FF00:0042:8329 简写形式2001:DB8::FF00:42:8329省略前导 0 和连续全 0 块IPv4 向 IPv6 过渡技术技术原理双协议栈设备同时支持 IPv4 和 IPv6隧道技术IPv6 数据报封装在 IPv4 数据报中传输