1) version: 版 本,4-bit 长, 用 来 表 明 IP ( 网 络 互 联 协 议 ) 的 版 本, 老 外 的 设 计 是 会 考 虑 他 们 当 时 设 计 可 能 不 够 完 善, 需 要 不 断 改 进, 所 以 留 了 这 么 一 个 版 本 号, 目 前 最 为 网 民



Similar documents
说 明 为 了 反 映 教 运 行 的 基 本 状 态, 为 校 和 院 制 定 相 关 政 策 和 进 行 教 建 设 与 改 革 提 供 据 依 据, 校 从 程 资 源 ( 开 类 别 开 量 规 模 ) 教 师 结 构 程 考 核 等 维 度, 对 2015 年 春 季 期 教 运 行 基

何 秋 琳 张 立 春 视 觉 学 习 研 究 进 展 视 觉 注 意 视 觉 感 知

评 委 : 李 炎 斌 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

Microsoft Word - 第7章 图表反转形态.doc

2006年顺德区高中阶段学校招生录取分数线

0 年 上 半 年 评 价 与 考 核 细 则 序 号 部 门 要 素 值 考 核 内 容 考 核 方 式 考 核 标 准 考 核 ( 扣 原 因 ) 考 评 得 3 安 全 生 产 目 30 无 同 等 责 任 以 上 道 路 交 通 亡 人 事 故 无 轻 伤 责 任 事 故 无 重 大 质 量

修改版-操作手册.doc

龚 亚 夫 在 重 新 思 考 基 础 教 育 英 语 教 学 的 理 念 一 文 中 援 引 的 观 点 认 为 当 跳 出 本 族 语 主 义 的 思 维 定 式 后 需 要 重 新 思 考 许 多 相 连 带 的 问 题 比 如 许 多 发 音 的 细 微 区 别 并 不 影 响 理 解 和

I

<433A5C446F63756D656E E E67735C41646D696E F725CD7C0C3E65CC2DBCEC4CFB5CDB3CAB9D3C3D6B8C4CFA3A8BCF2BBAFA3A95CCAB9D3C3D6B8C4CF31302D31392E646F63>

Microsoft Word - 文件汇编.doc

国债回购交易业务指引

评 委 : 徐 岩 宇 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

深圳市新亚电子制程股份有限公司

,,,,, :,, (.,, );, (, : ), (.., ;. &., ;.. &.., ;, ;, ),,,,,,, ( ) ( ),,,,.,,,,,, : ;, ;,.,,,,, (., : - ),,,, ( ),,,, (, : ),, :,


<4D F736F F D D323630D6D0B9FAD3A6B6D4C6F8BAF2B1E4BBAFB5C4D5FEB2DFD3EBD0D0B6AF C4EAB6C8B1A8B8E6>


抗 战 时 期 国 民 政 府 的 银 行 监 理 体 制 探 析 % # % % % ) % % # # + #, ) +, % % % % % % % %

18 上 报 该 学 期 新 生 数 据 至 阳 光 平 台 第 一 学 期 第 四 周 至 第 六 周 19 督 促 学 习 中 心 提 交 新 增 专 业 申 请 第 一 学 期 第 四 周 至 第 八 周 20 编 制 全 国 网 络 统 考 十 二 月 批 次 考 前 模 拟 题 第 一 学

采 取 行 动 的 机 会 90% 开 拓 成 功 的 道 路 2

HSK( 一 级 ) 考 查 考 生 的 日 常 汉 语 应 用 能 力, 它 对 应 于 国 际 汉 语 能 力 标 准 一 级 欧 洲 语 言 共 同 参 考 框 架 (CEF) A1 级 通 过 HSK( 一 级 ) 的 考 生 可 以 理 解 并 使 用 一 些 非 常 简 单 的 汉 语

( 二 ) 现 行 统 一 高 考 制 度 不 利 于 培 养 人 的 创 新 精 神,,,,,,,,,,,,, [ ],,,,,,,,,,, :, ;,,,,,,? ( 三 ) 现 行 统 一 高 考 制 度 不 利 于 全 体 学 生 都 获 得 全 面 发 展,, [ ],,,,,,,,,,,

金 不 少 于 800 万 元, 净 资 产 不 少 于 960 万 元 ; (3) 近 五 年 独 立 承 担 过 单 项 合 同 额 不 少 于 1000 万 元 的 智 能 化 工 程 ( 设 计 或 施 工 或 设 计 施 工 一 体 ) 不 少 于 2 项 ; (4) 近 三 年 每 年

全国建筑市场注册执业人员不良行为记录认定标准(试行).doc


3 月 30 日 在 中 国 证 券 报 上 海 证 券 报 证 券 时 报 证 券 日 报 和 上 海 证 券 交 易 所 网 站 上 发 出 召 开 本 次 股 东 大 会 公 告, 该 公 告 中 载 明 了 召 开 股 东 大 会 的 日 期 网 络 投 票 的 方 式 时 间 以 及 审

名 称 生 命 科 学 学 院 环 境 科 学 1 生 物 学 仅 接 收 院 内 调 剂, 初 试 分 数 满 足 我 院 生 物 学 复 试 最 低 分 数 线 生 命 科 学 学 院 生 态 学 5 生 态 学 或 生 物 学 生 命 科 学 学 院

目 录 关 于 图 标... 3 登 陆 主 界 面... 3 工 单 管 理... 5 工 单 列 表... 5 搜 索 工 单... 5 工 单 详 情... 6 创 建 工 单... 9 设 备 管 理 巡 检 计 划 查 询 详 情 销 售 管

一 公 共 卫 生 硕 士 专 业 学 位 论 文 的 概 述 学 位 论 文 是 对 研 究 生 进 行 科 学 研 究 或 承 担 专 门 技 术 工 作 的 全 面 训 练, 是 培 养 研 究 生 创 新 能 力, 综 合 运 用 所 学 知 识 发 现 问 题, 分 析 问 题 和 解 决

珠江钢琴股东大会

一、资质申请

 编号:

( ) 信 号 与 系 统 Ⅰ 学 科 基 础 必 修 课 教 周 2016 年 06 月 13 日 (08:00-09:35) ( )

一 开 放 性 的 政 策 与 法 规 二 两 岸 共 同 的 文 化 传 承 三 两 岸 高 校 各 自 具 有 专 业 优 势 远 见 杂 志 年 月 日

证券代码: 证券简称:长城电脑 公告编号:

目 录 一 系 统 访 问... 1 二 门 户 首 页 申 报 用 户 审 核 用 户... 2 三 系 统 登 录 用 户 名 密 码 登 录 新 用 户 注 册 用 户 登 录 已 注 册 用

《C语言基础入门》课程教学大纲

工 程 勘 察 资 质 标 准 根 据 建 设 工 程 勘 察 设 计 管 理 条 例 和 建 设 工 程 勘 察 设 计 资 质 管 理 规 定, 制 定 本 标 准 一 总 则 ( 一 ) 本 标 准 包 括 工 程 勘 察 相 应 专 业 类 型 主 要 专 业 技 术 人 员 配 备 技 术

<4D F736F F D20B9D8D3DAB0BABBAAA3A8C9CFBAA3A3A9D7D4B6AFBBAFB9A4B3CCB9C9B7DDD3D0CFDEB9ABCBBE C4EAC4EAB6C8B9C9B6ABB4F3BBE1B7A8C2C9D2E2BCFBCAE92E646F6378>

课程类 别

自 服 务 按 钮 无 法 访 问 新 系 统 的 自 服 务 页 面 因 此 建 议 用 户 从 信 网 中 心 ( 主 页, 右 下 角 位 置 的 常 用 下 载, 或 校 园 网 用 户 自 服 务 ( 首 页

抗 日 战 争 研 究! 年 第 期 # # # # #!!!!!!!! #!!

上海证券交易所会议纪要

<4D F736F F D20B3D6B2D6CFDEB6EEB1EDB8F1D7EED6D52E646F63>

¹ º ¹ º 农 业 流 动 人 口 是 指 户 口 性 质 为 农 业 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个 月 及 以 上 的 流 动 人 口 非 农 流 动 人 口 是 指 户 口 性 质 为 非 农 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个

上证指数

<433A5C C6B73625C B746F705CB9FABCCAD6D0D2BDD2A9D7A8D2B5B8DFBCB6BCBCCAF5D6B0B3C6C6C0C9F3C9EAC7EBD6B8C4CFA3A CDA8D3C3B0E6A3A92E646F63>

一 从 分 封 制 到 郡 县 制 一 从 打 虎 亭 汉 墓 说 起

2. 本 次 修 改 后, 投 资 者 申 购 新 股 的 持 有 市 值 要 求 市 值 计 算 规 则 及 证 券 账 户 使 用 的 相 关 规 定 是 否 发 生 了 变 化? 答 : 未 发 生 变 化 投 资 者 申 购 新 股 的 持 有 市 值 是 指, 以 投 资 者 为 单 位

2014年中央财经大学研究生招生录取工作简报

黄 金 原 油 总 持 仓 增 长, 同 比 增 幅 分 别 为 4.2% 和 4.1% 而 铜 白 银 以 及 玉 米 则 出 现 减 持, 减 持 同 比 减 少 分 别 为 9.4%,9.4% 以 及 6.5% 大 豆, 豆 粕 结 束 连 续 4 周 总 持 仓 量 增 长, 出 现 小 幅

上海证券交易所会议纪要


马 克 思 主 义 公 正 观 的 基 本 向 度 及 方 法 论 原 则!! # #

Template BR_Rec_2005.dot

关于修订《沪市股票上网发行资金申购

年 8 月 11 日, 公 司 召 开 2015 年 第 五 次 临 时 股 东 大 会, 审 议 通 过 了 关 于 公 司 <2015 年 股 票 期 权 激 励 计 划 ( 草 案 )> 及 其 摘 要 的 议 案 关 于 提 请 股 东 大 会 授 权 董 事 会 办 理 公

B-002 行 政 处 罚 在 气 象 探 测 环 境 保 护 范 围 内 从 事 危 害 气 象 探 测 环 境 活 动 的 处 罚 中 华 人 民 共 和 国 气 象 法 第 三 十 五 条 第 一 款 第 二 项 B-003 行 政 处 罚 在

ETF、分级基金规模、份额变化统计

中 中 中 中 部 中 岗 位 条 件 历 其 它 历 史 师 地 理 师 生 物 师 体 与 健 康 师 从 事 中 历 史 工 从 事 中 地 理 工 从 事 中 生 物 工 从 事 中 体 与 健 康 工 2. 课 程 与 论 ( 历 史 ); 2. 科 ( 历 史 )

21 业 余 制 -- 高 起 专 (12 级 ) 75 元 / 学 分 网 络 学 院 学 生 沪 教 委 财 (2005)49 号 江 西 化 校 工 科 22 业 余 制 -- 高 起 专 (12 级 ) 70 元 / 学 分 网 络 学 院 学 生 沪 教 委 财 (2005)49 号 吉

Microsoft Word - 第3章.doc


登录、注册功能的测试用例设计.doc

!!

合 并 计 算 配 售 对 象 持 有 多 个 证 券 账 户 的, 多 个 证 券 账 户 市 值 合 并 计 算 确 认 多 个 证 券 账 户 为 同 一 配 售 对 象 持 有 的 原 则 为 证 券 账 户 注 册 资 料 中 的 账 户 持 有 人 名 称 有 效 身 份 证 明 文 件

2016 年 荔 湾 区 财 政 核 定 支 出 汇 总 表 表 二 单 位 名 称 : 广 州 文 化 公 园 基 本 支 出 项 目 支 出 科 目 编 码 预 算 科 目 名 称 一 般 公 共 预 算 5, , , , ,

第二讲 数列

类 似 地, 又 可 定 义 变 下 限 的 定 积 分 : ( ). 与 ψ 统 称 为 变 限 积 分. f ( ) d f ( t) dt,, 注 在 变 限 积 分 (1) 与 () 中, 不 可 再 把 积 分 变 量 写 成 的 形 式 ( 例 如 ) 以 免 与 积 分 上 下 限 的

untitled

第2章 数据类型、常量与变量

收 入 支 出 项 目 2016 年 预 算 项 目 2016 年 预 算 预 算 01 表 单 位 : 万 元 ( 保 留 两 位 小 数 ) 一 公 共 财 政 预 算 拨 款 一 人 员 经 费 一 般 财 力 人 员 支 出 成 品

公 开 刊 物 须 有 国 内 统 一 刊 (CN), 发 表 文 章 的 刊 物 需 要 在 国 家 新 闻 出 版 广 电 总 局 ( 办 事 服 务 便 民 查 询 新 闻 出 版 机 构 查 询 ) 上 能 够 查 到 刊 凡 在 有 中 国 标 准 书 公 开

教师上报成绩流程图

际 联 考 的 非 美 术 类 本 科, 提 前 批 本 科 体 育 类 第 一 批 第 二 批 第 三 批 的 理 工 类 和 文 史 类 本 科 平 行 志 愿, 考 生 可 以 填 报 6 所 院 校 志 愿 符 合 贫 困 地 区 专 项 计 划 和 农 村 考 生 专 项 计 划 报 考

Microsoft Word - 资料分析练习题09.doc

国际财务报告准则第13号——公允价值计量

3 复 试 如 何 准 备 4 复 试 成 绩 计 算 5 复 试 比 例 6 复 试 类 型 7 怎 么 样 面 对 各 种 复 试 04 05

新, 各 地 各 部 门 ( 单 位 ) 各 文 化 事 业 单 位 要 高 度 重 视, 切 实 加 强 领 导, 精 心 组 织 实 施 要 根 据 事 业 单 位 岗 位 设 置 管 理 的 规 定 和 要 求, 在 深 入 调 查 研 究 广 泛 听 取 意 见 的 基 础 上, 研 究 提

中 国 软 科 学 年 第 期!!!

四川省卫生厅关于开展医疗美容主诊医师资格考试及换证工作的通知

导 数 和 微 分 的 概 念 导 数 的 几 何 意 义 和 物 理 意 义 函 数 的 可 导 性 与 连 续 性 之 间 的 关 系 平 面 曲 线 的 切 线 和 法 线 导 数 和 微 分 的 四 则 运 算 基 本 初 等 函 数 的 导 数 复 合 函 数 反 函 数 隐 函 数 以

四川省农村义务教育学生

光明乳业股份有限公司

现 场 会 议 时 间 为 :2016 年 5 月 19 日 网 络 投 票 时 间 为 :2016 年 5 月 18 日 年 5 月 19 日 其 中 通 过 深 圳 证 券 交 易 所 交 易 系 统 进 行 网 络 投 票 的 时 间 为 2016 年 5 月 19 日 9:30-

姓名

第 六 章 债 券 股 票 价 值 评 估 1 考 点 一 : 债 券 价 值 的 影 响 因 素 2

试 论 后 民 权 时 代 美 国 黑 人 的 阶 层 分 化 和 族 裔 特 征 学 者 年 代 黑 人 中 产 阶 层 定 义 弗 瑞 泽 毕 林 斯 勒 马 克 艾 德 威 尔 逊 科 林 斯 兰 德 里 奥 力 威 夏 佩 罗 帕 锑 罗 收 入 来 源 于 从 事 可 以 定 义 为 白

<4D F736F F D20B6C0C1A2B6ADCAC2D0ECCCFABEFDCFC8C9FABCB0CCE1C3FBC8CBC9F9C3F72E646F63>

Cybozu Garoon 3 管理员手册

浙 江 天 册 律 师 事 务 所 关 于 杭 州 电 缆 股 份 有 限 公 司 2015 年 年 度 股 东 大 会 的 法 律 意 见 书 发 文 号 :TCYJS2016H0228 致 : 杭 州 电 缆 股 份 有 限 公 司 根 据 中 华 人 民 共 和 国 证 券 法 ( 下 称 证

<4D F736F F D20322EC9F3BACBC8CBD4B1D7CAB8F1D7A2B2E1B9DCC0EDB9E6B7B6B8BDB1ED2E646F63>

Microsoft Word - 中节能_工业项目节能评估审查导则Draft.doc

随着执业中医师资格考试制度的不断完善,本着为我校中医学专业认证服务的目的,本文通过对我校中医类毕业生参加2012年和2013年的中医执业医师考试成绩及通过率、掌握率进行分析,并与全国的平均水平进行差异比较分析,以此了解我校执业中医师考试的现状,进而反映我校中医类课程总体教学水平,发现考核知识模块教学中存在的不足,反馈给相关学院和教学管理部门,以此提高教学和管理水平。

《深圳市场首次公开发行股票网上按市值申购实施办法》.doc

证监会行政审批事项目录

正 规 培 训 达 规 定 标 准 学 时 数, 并 取 得 结 业 证 书 二 级 可 编 程 师 ( 具 备 以 下 条 件 之 一 者 ) (1) 连 续 从 事 本 职 业 工 作 13 年 以 上 (2) 取 得 本 职 业 三 级 职 业 资 格 证 书 后, 连 续 从 事 本 职 业

i 1) 系 统 运 作 前 设 定 *1. [2.1 网 页 主 机 名 称 设 定 ] -- 设 定 校 务 系 统 的 主 机 IP 地 址, 以 供 其 他 个 人 电 脑 连 接 及 使 用 该 系 统 *2. [2.3.1 输 入 / 修 改 学 校 资 料 ] -- 输 入 系 统 使


Transcription:

第 3 章 网 络 层 (Network Layer) 3.1 介 绍 终 于 可 以 介 绍 TCP/IP 中 的 核 心 组 件 IP 了,IP 协 议 被 称 为 TCP/IP 中 的 骡 马 协 议, 能 看 到 的 TCP UDP ICMP IGMP OSPF BGP RIP IPSec NAT 这 些 名 词 都 在 IP 上 面 跑 着 IP 相 当 于 一 种 不 挂 号 的 邮 件 服 务, 按 照 术 语 来 说 叫 unreliable( 不 可 靠 传 输 ), connectionless( 无 连 接 ): 1. unreliable 指 的 是 通 过 IP 发 送 出 去 的 数 据, 并 不 保 证 对 方 一 定 可 以 准 确 无 误 地 收 到, 有 可 能 中 间 丢 掉 了 ( 丢 弃 的 原 因 很 多, 比 如 链 路 过 载 了 转 发 设 备 缓 存 满 了 之 类 的 ), 也 有 可 能 某 部 分 数 据 丢 失 了 或 被 篡 改 了, 如 果 想 要 靠 谱 服 务, 可 以 通 过 更 高 层 次 如 TCP OSPF IPSec 来 实 现, 目 前 TCP/IP 网 络 得 益 于 链 路 层 的 极 大 进 步, 丢 包 是 一 个 频 度 比 较 低 的 事 情 ; 2. connectionless 指 的 是 IP 在 收 发 数 据 前 并 不 需 要 专 门 协 商 个 会 话 打 个 招 呼 什 么 的, 也 不 需 要 维 护, 发 送 一 方 想 发 就 发, 接 收 方 也 是 看 到 目 的 地 址 是 监 听 的 就 收, 很 自 由, 要 想 高 级 一 点 的 连 接 也 要 靠 TCP 之 类 的 传 输 层 协 议 实 现 IP 的 作 用 就 是 在 横 跨 多 条 链 路 的 网 络 上 实 现 端 到 端 传 输 数 据, 简 单 直 接 有 效 可 靠 ( 协 议 栈 可 靠, 并 不 是 可 靠 传 输 ) 是 协 议 设 计 者 主 要 考 虑 的 问 题 3.2 头 部 封 装 -Header 链 路 层 的 数 据 结 构 我 们 称 为 帧 frame, 比 如 以 太 网 有 802.3 封 装 和 Ethernet 封 装 2 种, 在 TCP/IP 协 议 栈 中,IP 是 链 路 层 的 上 一 层, 也 有 自 己 的 数 据 结 构, 被 称 为 包 Packet, 类 似 于 以 太 网, 也 有 自 己 的 封 装 结 构 : 图 3-1 IPv4 和 IPv6 封 装 结 构 IP 目 前 有 2 个 版 本 : 1. IPv4(IP version 4, 互 联 网 协 议 第 四 版 ), 是 目 前 的 主 力, 封 装 如 图 3-1 的 左 半 部 分,20 字 节 固 定 部 分, 固 定 部 分 共 12 个 字 段 :

1) version: 版 本,4-bit 长, 用 来 表 明 IP ( 网 络 互 联 协 议 ) 的 版 本, 老 外 的 设 计 是 会 考 虑 他 们 当 时 设 计 可 能 不 够 完 善, 需 要 不 断 改 进, 所 以 留 了 这 么 一 个 版 本 号, 目 前 最 为 网 民 所 熟 知 的 IP 地 址 就 是 IPv4, 也 就 是 Version 字 段 值 为 4, 可 以 想 象 早 期 版 本 1~3 都 已 经 变 成 古 董 了 ; 2) header length: 头 部 长 度,4-bit 长, 用 来 表 明 IPv4 头 部 的 长 度, 单 位 是 4-byte, 也 就 是 32-bit, 所 以 为 了 方 便 人 们 读 懂, 图 3-1 每 行 都 是 32-bit 长 ; 和 以 太 网 不 一 样,IPv4 头 部 长 度 是 变 化 的, 所 以 要 有 这 个 字 段,IPv4 这 个 字 段 通 常 值 是 5, 这 也 是 最 小 值, 通 常 的 解 读 是 IPv4 头 部 固 定 部 分 长 度 是 20 字 节, 在 图 3-1 右 半 部 分 实 线 部 分 ; 3) type of service: 服 务 类 型,8-bit 长, 类 似 于 802.1p 和 802.11i 中 的 优 先 级 作 用, 是 网 络 层 QoS 的 基 础, 这 个 字 段 是 个 复 合 字 段, 结 构 如 图 3-1 左 下 角 所 示 : (1) DSCP(Differentiated Services Code Point 差 分 服 务 标 识 码 ),6-bit 长, 用 于 标 识 数 据 的 优 先 级 ; (2) ECT(Explicit Congestion Notification Capable Transport 显 式 拥 塞 通 知 传 输 层 能 力 ),1-bit, 用 于 通 告 支 持 ECT,ECT 是 一 项 新 兴 的 端 到 端 QoS 拥 塞 控 制 手 段 ; (3) ECN-CE(ECN Congestion Experienced 显 示 拥 塞 通 知 - 发 生 拥 塞 ),1-bit 长, 当 网 络 中 发 生 了 拥 塞, 这 个 位 就 会 被 置 1; (4) 在 这 里 介 绍 的 type of service 字 段 是 较 新 版 本, 比 较 老 的 版 本 是 3-bit 长 的 优 先 级,4-bit TOS,1-bit 保 留, 一 切 向 前 看, 新 版 本 覆 盖 老 版 本, 就 不 多 介 绍 ; 4) total length: 总 长 度,16-bit 长, 整 个 IP 包 ( 包 括 头 和 载 荷 ) 的 长 度, 单 位 byte(header length 字 段 单 位 是 4-byte), 所 以 计 算 payload 长 度 也 很 容 易, payload length=totoal length Header length, 最 常 见 的 total length 是 1500, 正 好 是 以 太 网 MTU 长 度, 这 两 个 值 通 常 相 生 相 伴 ; 5) identifier: 数 据 包 标 识,16-bit, 可 以 从 图 3-1 中 发 现 这 个 字 段 在 第 二 行, 这 一 行 都 是 给 IPv4 数 据 包 分 片 使 用 的, 数 据 包 分 片 后 就 还 需 要 接 收 方, 接 收 方 如 何 在 众 多 数 据 包 中 把 合 适 的 分 片 挑 出 来 重 组 呢? 就 是 靠 数 据 包 标 识, 相 同 数 据 包 的 分 片 都 拥 有 相 同 的 标 识 ; 关 于 数 据 包 的 分 片 会 结 合 链 路 层 MTU 详 细 介 绍 ; 6) flags: 标 记,3-bit 长, 可 以 从 图 3-1 左 下 角 看 到 它 由 3 个 1-bit 字 段 组 成 : (1) RSV,reserved, 保 留 位 ; (2) Don't F,do not fragmented, 不 许 分 片 位, 当 一 个 数 据 包 因 为 超 出 MTU 原 因 需 要 被 分 片 时, 如 果 看 到 这 个 位 置 1, 那 么 数 据 包 就 不 允 许 被 分 片, 只 能 被 丢 弃 ; (3) More F,more fragmentation, 更 多 分 片, 当 一 个 数 据 包 被 分 片 后, 除 了 最 后 一 个 分 片 没

此 位 置 0, 其 余 分 片 都 置 1, 用 于 像 接 收 方 进 行 判 断 ; 7) fragment offset: 分 片 偏 移 量, 数 据 包 是 被 顺 序 分 片 的, 重 组 也 只 能 是 按 照 顺 序 重 组, 偏 移 量 就 是 用 于 许 多 分 片 排 序 使 用 的 ; 8) time to live:8-bit 长, 更 为 熟 知 的 是 它 的 简 称 TTL, 翻 译 回 来 叫 生 存 时 间, 为 了 避 免 数 据 包 在 网 络 中 无 限 地 传 递 下 去, 每 经 过 一 台 网 络 层 转 发 设 备,TTL 就 会 减 1, 当 TTL 变 成 0 后, 这 个 数 据 包 就 只 能 被 丢 弃, 不 能 再 被 网 络 层 转 发, 一 般 而 言 网 络 上 是 看 不 到 TTL = 0 的 数 据 包 的, 因 为 正 常 的 网 络 层 设 备 不 会 犯 这 种 bug, 如 果 真 的 看 到 了, 有 可 能 是 在 测 试 环 境, 或 者 遇 到 了 黑 客 ; 9) protocol: 协 议,8-bit 长, 类 似 于 以 太 网 中 的 type 字 段, 若 protocol = 1, 则 封 装 ICMP,6 则 封 装 TCP,17 封 装 UDP 等 等, 可 以 Google 一 下 ; 10)header checksum: 头 校 验,8-bit 长, 对 IPv4 头 部 ( 包 括 固 定 部 分 和 选 项 ) 进 行 CRC 校 验, 防 止 传 输 过 程 中 头 部 损 坏 ; 11) source address: 源 地 址,32-bit 长, 正 好 一 行, 在 端 到 端 通 信 中 用 于 标 识 源 端 位 置, 就 相 当 于 信 件 通 信 中 寄 件 人 地 址 的 作 用 ; 12)destination address: 目 的 地 址, 也 是 32-bit 长, 也 正 好 一 行, 当 然 是 标 识 目 标 端 位 置, 相 当 于 信 件 通 信 中 收 件 人 地 址, 网 络 层 转 发 就 是 根 据 目 的 地 址 转 发 ; 13)options: 选 项, 变 化 长 度, 所 以 使 用 虚 线 勾 勒, 既 然 是 选 项, 那 就 是 一 般 都 用 不 着 的 ; 14)data: 也 叫 payload, 包 含 协 议 头 和 协 议 数 据, 变 化 长 度, 如 果 IPv4 头 相 当 于 信 封,data 就 是 信 封 里 的 信 件 ; 2. IPv6( 顾 名 思 义 就 是 互 联 网 协 议 第 六 版 ), 是 将 来 要 推 广 的 版 本, 封 装 如 图 3-1 的 右 半 部 分, 固 定 40 字 节 的 Header, 共 8 个 字 段, 长 度 比 IPv4 多 了 1 倍, 但 字 段 少 了 4 个, 整 体 看 起 来 还 是 蛮 简 洁 的 : 1) version: 也 是 版 本,4-bit 长, 兼 容 IPv4 的 协 议 号, 该 值 为 6 就 表 示 IPv6, 同 样 IPv5 也 是 一 个 不 成 气 候 的 协 议, 被 漠 视 了 ; 2) traffic class: 流 分 类,8-bit 长, 可 以 从 图 3-1 左 下 角 看 出, 和 IPv4 的 type of service 是 同 样 作 用, 换 了 个 更 流 行 的 名 字 而 已 ; 3) traffic label: 流 标 签,20-bit 长, 这 是 一 个 全 新 的 字 段, 用 于 标 识 一 条 流 ( 流 的 英 文 名 有 许 多 版 本 traffic flow, traffic stream 或 者 就 是 traffic), 在 IPv4 中, 标 识 一 条 流 通 常 要 5 元 组 ( 源 目 的 IP 协 议 源 目 的 port), 也 就 是 说 需 要 传 输 层 信 息, 在 IPv6 中, 理 论 上 只 需 要 头 中 的 3 元 组 ( 源 目 的 IP 流 标 签 ) 就 可 以 识 别 一 条 流, 理 论 上 来 说 要 比 IPv4 识 别 流 效 率 要

高 很 多, 但 杯 具 的 是 流 标 签 现 在 怎 么 使 用, 既 无 定 论, 也 无 暂 行 条 例, 干 脆 都 被 置 0, 识 别 IPv6 流 还 是 要 靠 老 套 的 5 元 组, 每 每 想 到 这 里, 我 就 无 比 心 痛, 这 个 字 段 可 以 还 可 以 做 成 IP 无 关 的 标 识, 大 规 模 应 用 之 间 的 隔 离 就 可 以 不 用 再 借 助 于 变 化 莫 测 的 IP 地 址 了, 非 常 方 便 ; 4) payload length: 载 荷 长 度,16-bit 长, 源 于 total length,ipv4 中 需 要 公 式 计 算 载 荷 长 度, IPv6 中 不 需 要 计 算 是 因 为 IPv6 头 固 定 就 是 40 字 节 长, 变 长 的 只 有 payload, 所 以 只 需 要 这 个 字 段 ; 5) next-header: 下 个 头 类 型,8-bit 长, 和 IPv4 的 protocol 完 全 一 致, 换 了 个 新 颖 点 的 名 字, 不 过 许 多 数 值 都 发 生 了 变 化, 比 如 ICMPv6 的 值 不 再 是 1, 而 是 58, 细 致 点 也 可 以 Google 一 下 ; 6) hop-limit: 跳 限,8-bit 长, 和 IPv4 的 TTL 完 全 一 致,IPv4 的 TTL 在 设 计 之 初 是 用 来 计 时 的, 后 来 变 成 计 算 网 络 层 转 发 次 数, 每 转 发 一 次 就 叫 hop 一 跳,IPv6 干 脆 就 不 挂 这 个 羊 头, 直 接 叫 跳 限, 这 个 改 名 是 比 较 合 理 的 ; 7) source address: 源 地 址,128-bit 长, 作 用 和 IPv4 的 源 地 址 一 致, 只 不 过 长 一 点, 占 了 4 行 ; 8) destination address: 目 的 地 址,128-bit 长, 和 IPv4 的 目 的 地 址 也 一 致 ; 9) payload: 和 data 是 一 个 概 念, 变 化 长 度 有 一 些 IPv4 头 中 的 字 段 被 IPv6 干 掉 了, 大 家 也 肯 定 比 较 好 奇 : 1. header length: 因 为 IPv6 头 不 再 分 固 定 部 分 和 选 项, 而 是 固 定 40 字 节 头, 这 个 字 段 删 除 没 有 疑 问 ; 2. identifier:ipv6 中 的 分 片 工 作 专 门 由 fragmentation extended header( 分 片 扩 展 头 ) 来 处 理, 不 需 要 放 在 IPv6 头 让 所 有 网 络 层 转 发 设 备 都 参 与 分 片 或 者 重 组, 而 是 有 IPv6 的 source 和 destination 来 处 理, 这 个 设 计 也 比 较 合 理, 理 论 上 能 够 降 低 网 络 层 设 备 成 本 并 提 高 转 发 效 率, 不 过 现 在 分 片 与 重 组 功 能 已 经 很 成 熟, 网 络 设 备 重 组 分 片 也 被 认 为 是 易 受 到 攻 击 的 安 全 隐 患, 这 个 功 能 的 改 变 个 人 认 为 还 是 比 较 有 益 的 ; 3. flags: 分 片 功 能 一 部 分, 搬 移 到 分 片 扩 展 头 ; 4. fragment offset: 同 上 ; 5. header checksum:ipv4 已 经 有 30 多 年 历 史 了,30 年 前 的 网 络 根 本 无 法 和 现 在 同 日 而 语, 链 路 层 状 况 差, 信 号 误 损 率 还 是 比 较 高 的, 所 以 有 一 个 header checksum 用 来 识 别 头 部 是 否 受 损, 到 了 IPv6 时 代, 固 定 长 度 的 头, 再 加 上 链 路 层 传 输 已 经 相 当 稳 健, 无 损 率 几 乎 不 可 能 发 生, 即 使 发 生 也 可 以 通 过 传 输 层 或 者 应 用 层 手 段 加 以 发 现 和 重 传, 这 个 字 段 也 被 无 情 地 抛 弃 了 ; 6. Options:IPv4 的 选 项 在 IPv6 中 并 没 有 被 抛 弃, 只 是 和 分 片 功 能 一 样, 被 排 除 出 固 定 头 部, 通 通 放

在 扩 展 头 里 了, 以 保 证 IPv6 头 的 简 洁 高 效 IPv6 干 掉 了 5 个 字 段, 新 增 1 个 流 标 签 字 段, 所 以 总 共 比 IPv4 减 少 了 4 个 字 段, 网 络 进 化 到 IPv6, 协 议 分 工 变 得 更 加 清 晰 化, 网 络 转 发 设 备 只 负 责 QoS 处 理 和 转 发, 其 余 功 能 都 交 给 source 和 destination, 通 常 是 扩 展 头 传 输 层 应 用 层 处 理 3.3 地 址 我 很 喜 欢 把 IP 头 以 太 网 头 比 作 信 封, 其 实 老 外 也 经 常 用 Envelope 来 描 述 这 些 头 部, 那 么 我 们 都 知 道 寄 信 的 时 候 信 封 上 除 了 贴 邮 票 外 什 么 最 重 要? 肯 定 是 收 件 人 地 址 和 收 件 人 IP 头 这 个 信 封 里 最 重 要 的 信 息 也 差 球 不 多 : 1. destination address: 目 的 地 址, 就 类 似 于 收 件 人 信 息, 用 于 在 IP 网 络 中 标 识 一 个 位 置 ; 2. source address: 源 地 址, 类 似 于 寄 件 人 信 息, 也 是 标 识 一 个 位 置, 信 封 可 以 写 匿 名 信, 因 为 这 种 信 件 是 不 希 望 回 信 的, 但 IP 世 界 里, 通 信 通 常 是 双 向 的, 有 源 地 址, 才 能 回 信, 源 地 址 必 须 要 填 写, 填 写 得 对 不 对 有 其 他 方 式 来 处 理 既 然 地 址 那 么 重 要, 那 么 我 们 就 来 看 看 地 址 是 怎 么 构 成 并 表 示 的

图 3-2 IP 地 址 表 示 方 式 从 图 3-2 可 以 看 到, 在 链 路 上 传 输 的 都 是 二 进 制 原 生 态 格 式, 这 种 东 西 非 常 不 利 于 人 们 的 记 忆 和 交 流, 所 以, 必 须 要 有 种 对 人 可 读 的 表 现 格 式 : IPv4 的 方 式 被 称 为 点 分 十 进 制 表 示 法 (dotted-decimal notation), 把 32 位 地 址 三 刀 下 去, 切 成 4 片, 每 片 8 位, 所 以 每 片 的 取 值 范 围 就 是 0~255, 每 片 之 间 使 用 点 号. 隔 开, 如 图 3-2 中 的 7.240.1.219 ; IPv6 的 方 式 被 称 为 十 六 进 制 表 示 法 (hexadecimal notation), 十 六 进 制 之 间 通 常 使 用 冒 号 : 分 割, 因 为 IPv6 地 址 太 长 了, 所 以 按 照 以 前 3 刀 下 去 分 4 片 还 是 不 太 方 便, 所 以 就 7 刀 下 去 分 8 片, 每 片 16 位, 使 用 十 六 进 制 表 示 每 片, 所 以 每 片 的 取 值 范 围 是 0000~ffff, 如 图 3-2 中 的 4a7f:0:1:0:0:0:1c10:b8f1, 由 于 IPv6 地 址 太 长, 有 的 分 片 可 能 是 全 0, 甚 至 有 可 能 好 几 个 分 片 都 是 0, 那 么 连 续 的 0 分 片 就 可 以 用 双 冒 号 ::, 如 上 面 中 间 连 续 3 个 0 分 片 就 被 缩 写 为 4a7f:0:1::1c10:b8f1, 双 冒 号 并 没 有 长 度 限 制, 比 如 一 个 地 址 ff02::2, 这 就 表 示 里 面 有 6 个 分 片 都 是 0, 那 么 怎 么 知 道 双 冒 号 表 示 多 少 个 0 分 片 呢?IPv6 地 址 中 只 允 许 出 现 一 次 双 冒 号, 假 设 其

余 分 片 数 量 是 n, 那 么 双 冒 号 代 表 的 0 分 片 就 是 8-n, 看 起 来 很 恼 人, 但 接 触 多 了, 就 习 惯 了, 地 址 太 长, 不 得 不 用 一 点 新 鲜 的 压 缩 方 法 啊 在 RFC 5952 中 专 门 对 IPv6 的 表 示 方 法 做 了 统 一, 在 这 里 推 广 一 下 : 地 址 中 的 字 母 只 能 是 小 写 ; 如 果 不 是 连 续 0 分 片, 不 得 使 用 双 冒 号, 比 如 1:2:3:4:5:6:0:8 就 不 得 简 写 成 1:2:3:4:5:6::8; 双 冒 号 必 须 最 大 程 度 简 化 地 址, 比 如 1:2:3:4:0:0:0:8, 必 须 简 写 为 1:2:3:4::8, 不 能 简 写 为 1:2:3:4:0::8; 当 存 在 两 个 或 以 上 长 度 不 一 连 续 0 分 片 时, 使 用 双 冒 号 省 略 最 长 的 连 续 0 分 片, 比 如 1:0:0:0:5:0:0:8, 只 能 使 用 1::5:0:0:8, 不 能 使 用 1:0:0:0:5::8; 当 所 有 连 续 0 分 片 长 度 一 致 时, 只 简 化 最 前 面 的 连 续 分 片, 比 如 1:0:0:4:0:0:7:8, 只 能 被 简 化 成 1::4:0:0:7:8, 不 能 是 1:0:0:4::7:8; 如 果 地 址 结 合 TCP/UDP 端 口 号 是 只 能 采 取 [ipv6-address]:port 的 方 式, 比 如 TCP [1::8]:80, 表 示 1::8 的 TCP 80 端 口, 也 就 是 熟 知 的 HTTP,UDP[1::8]:69, 表 示 1::8 的 UDP 69 端 口, 也 就 是 熟 知 的 TFTP 介 绍 完 地 址 的 表 示 后, 我 们 再 来 探 讨 地 址 的 分 类 分 类 是 为 了 更 加 有 效 地 利 用 和 管 理 地 址,IPv4 和 IPv6 两 套 地 址 分 类 手 段 是 不 同 的, 先 来 看 看 当 前 的 IPv4 的 分 类 :

图 3-3 IPv4 地 址 分 类 这 是 最 原 始 的 IPv4 地 址 分 类,ABC 三 类 地 址 被 称 为 unicast 单 播 地 址 ( 单 播 地 址 中 的 一 些 特 殊 地 址 又 可 以 是 broadcast 广 播 地 址 ),D 类 地 址 被 称 为 multicast 组 播 地 址,E 类 地 址 被 保 留 了 平 时 网 民 说 的 IP 地 址 通 常 是 指 ABC 类, 如 果 是 搞 网 络 基 础 设 施 的, 那 么 D 类 地 址 也 是 了 解 的 当 今 IPv4 地 址 已 经 分 配 完 毕 了, 个 人 觉 得 E 类 地 址 和 剩 下 的 虽 然 不 多, 也 可 以 拿 出 来 分 了 IPv4 是 人 类 历 史 上 许 多 第 一 次, 刚 开 始 只 是 一 个 实 验 性 质 的 网 络, 设 计 者 没 能 预 测 到 IP 上 竟 然 能 产 生 Google amazon QQ Facebook ebay Twitter 等 丰 富 多 彩 的 应 用, 既 然 是 人 类 的 一 次 尝 试, 那 么 实 践 是 检 验 这 些 尝 试 的 标 准, 经 过 30 多 年 的 检 验, 我 们 得 出 了 一 些 结 论 : 地 址 分 为 单 播 地 址 (unicast address) 和 组 播 地 址 (multicast address), 每 个 单 播 地 址 由 网 络 号 network id 和 主 机 号 host id 组 成, 网 络 号 由 IANA 颁 发 给 各 个 申 请 者 (IANA 主 页 可 以 找 到 地 址 分 配 情 况 ), 在 初 始 的 设 计 中 网 络 号 用 于 标 识 一 条 链 路 ( 在 第 一 章 中 提 到, 一 条 链 路 就 是 一 个 网 络, 网 络 层 协 议 解 决 的 是 inter networking, 也 就 是 网 络 间 通 信 ), 主 机 号 由 申 请 者 在 链 路 内 部 自 行 分 配 给 不 同 主 机, 根 据 network id 和 host id 不 同 长 度 ( 网 络 号 长 度 可 以 使 用 /n 表 示, 如 1.1.1.1/24, 也 可 以 使 用 掩 码 mask 表 示, 如 1.1.1.1/255.255.255.0, 也 就 是 说 地 址 和 掩 码 转 换

为 二 进 制 后 网 络 号 对 应 的 掩 码 位 是 1, 主 机 号 则 是 0) 可 以 分 为 : A 类 地 址 : 网 络 号 固 定 8-bit 长, 网 络 号 第 1 位 为 0, 所 以 A 类 网 络 号 只 有 128 个, 主 机 号 就 是 24-bit 长, 可 以 支 持 一 个 拥 有 2^24-2 主 机 ( 主 机 号 为 全 0 和 全 1 都 是 特 殊 地 址, 不 能 分 配 给 主 机 ) 的 极 大 链 路 ( 说 实 话, 这 种 超 大 型 链 路 应 该 就 从 没 诞 生 过 ), 只 有 128 个 A 类 网 络 在 IPv4 诞 生 的 初 期 就 被 一 些 大 组 织 或 者 有 名 气 的 单 位 诸 如 IBM Ford Motor MIT 之 类 的 瓜 分 干 净 ; B 类 地 址 : 网 络 号 固 定 16-bit 长, 网 络 号 前 2 位 为 10, 所 以 B 类 网 络 号 有 2^14 也 就 是 个 16384 个, 主 机 号 16-bit 长, 可 以 支 持 一 个 2^16-2 主 机 的 超 大 型 链 路 ( 这 个 规 模 的 链 路 也 没 有 诞 生 过 ),16384 个 网 络 号 分 配 延 续 到 了 21 世 纪 才 分 完 ; C 类 地 址, 网 络 号 固 定 24-bit 长, 前 3 位 110, 所 以 C 类 网 络 号 有 2^21 个, 主 机 号 8-bit 长, 可 以 支 持 2^8-2 主 机 也 就 是 254 个 主 机 的 大 型 链 路 ( 这 个 规 模 比 较 常 见 ),C 类 网 络 号 比 较 多, 所 以 延 续 到 2010 年 Q4 才 分 配 完 毕, 当 时 许 多 人 都 发 出 了 IPv4 game is over,ipv6 is coming 类 似 的 声 音, 其 实 这 些 IPv4 地 址 只 是 都 分 配 个 运 营 商 了, 运 营 商 逐 步 往 外 分 地 址, 并 不 是 说 网 民 没 有 地 址 可 用 了 ; CIDR(Classless Inter-Domain Routing 无 类 域 间 路 由 ) 类 地 址, 名 字 虽 然 蛋 疼, 但 目 的 却 很 单 纯 ( 所 以 图 3-3 中 使 用 蓝 色 CIDR), 不 再 区 分 ABC 类 地 址, 所 有 地 址 的 网 络 号 主 机 号 都 是 人 为 指 定 长 度 的 ( 如 图 3-3,/n 表 示 不 固 定 长 度 网 络 号 ), 比 如 一 条 点 到 点 链 路 上 只 有 2 台 主 机, 在 没 有 CIDR 前, 最 节 约 也 是 使 用 C 类 地 址,C 类 地 址 可 以 支 持 254 主 机 的 链 路, 用 在 点 到 点 链 路 上 就 浪 费 了 252 个 地 址, 这 些 地 址 还 不 能 用 在 其 它 链 路 上, 有 了 CIDR 后, 就 可 以 分 配 /30 的 网 络 了, 主 机 位 2 个, 正 好 可 以 支 持 2^2-2=2 个 主 机 ; 还 有 一 种 情 况 是, 有 时 候 几 个 连 续 同 类 地 址 还 可 以 通 过 CIDR 的 方 式 进 行 聚 合, 比 如 4.0.0.0/8 5.0.0.0/8 6.0.0.0/8 7.0.0.0/8 可 以 聚 合 为 4.0.0.0/6 来 表 示, 往 细 了 分 的 CIDR 叫 Subnet( 子 网 ), 往 大 了 聚 合 叫 Supernet( 超 网 ), 目 前 的 互 联 网 基 本 上 都 是 按 照 CIDR 方 法 使 用 地 址, 纯 粹 的 A B C 类 地 址 在 使 用 上 因 为 不 够 灵 活 不 够 绿 色 节 能 已 经 被 废 弃 ;ABC 类 的 分 法 就 是 被 实 践 证 明 很 糟 糕 的 一 个 东 西,CIDR 则 是 被 证 明 很 棒 的 思 路, 各 种 操 作 系 统 都 是 支 持 CIDR 的, 虽 然 默 认 采 用 ABC 分 类 组 播 地 址, 这 是 一 类 特 殊 的 地 址, 前 4 位 固 定 1110, 后 跟 4 位 flags, 还 剩 24 位 group id 组 号 ( 组 号 也 是 由 IANA 负 责 分 配 ), 单 播 地 址 中 主 机 号 标 识 唯 一 某 个 链 路 中 的 唯 一 主 机, 而 组 播 地 址 的 组 id 则 标 识 互 联 网 上 多 个 主 机, 组 播 地 址 在 IP 头 中 只 能 作 为 目 的 地 址 出 现, 如 果 作 为 源 地 址 出 现, 该 IP 包 可 以 被 视 为 非 法 包, 人 人 见 而 得 以 诛 之, 组 播 的 使 用 如 下 : 不 同 的 主 机 都 通 过 一 些 协 议 注 册 到 某 个 组 播 地 址 上, 也 就 是 说 某 个 组 id 上 ; 网 络 上 的 网 络 设 备 通 过 一 些 协 议 维 护 这 个 组 信 息, 即 这 个 组 有 哪 些 成 员 ; 当 某 个 组 成 员 要 往 组 发 送 数 据 时, 源 地 址 是 组 成 员, 目 的 地 址 是 组 播 地 址, 数 据 包 只 需 要 发 送 一 份 ; 合 理 的 网 络 设 备 会 自 动 將 这 一 份 数 据 包 复 制 成 多 份 发 送 给 其 余 组 成 员, 以 节 约 网 络 带 宽

E 类 地 址, 是 单 播 地 址, 前 4 位 1111, 后 28 位 通 通 保 留,IANA 早 在 1981 年 9 月 就 将 他 们 通 通 RESERVED 了, 理 由 是 Future use, 但 我 搞 不 明 白 的 是, 现 在 当 年 的 ABC 类 地 址 已 经 分 配 完 毕 了, 目 前 就 已 经 是 1981 年 的 Future 了, 为 什 么 还 RESERVED 呢? 当 然 我 解 答 不 了 这 个 答 案, 这 个 可 以 留 给 大 家 围 观 或 者 自 告 奋 勇 地 去 IANA 上 访 看 完 IPv4 的, 再 看 看 IPv6 的 地 址 分 类, 相 比 来 说, 要 简 洁 很 多 : 图 3-4 IPv6 地 址 分 类 IPv6 的 地 址 分 类 会 简 单 很 多, 把 地 址 分 为 prefix 前 缀 和 suffix 后 缀 两 部 分, 类 似 于 IPv4 地 址 中 的 CIDR, 直 接 使 用 /n 来 划 分 前 缀 和 后 缀 长 度,IPv6 地 址 可 以 被 简 单 地 划 分 为 组 播 和 单 播 两 部 分, 后 缀 名 在 组 播 和 单 播 称 谓 也 不 一 样 : 组 播 地 址 : 前 8-bit 都 是 1, 所 以 组 播 地 址 的 公 用 前 缀 是 ff00::/8, 剩 下 的 120 位 后 缀 被 称 为 groupid, 也 就 是 组 号, 这 120 位 中 有 的 位 已 经 被 IETF 定 义, 还 有 很 深 的 细 节 待 挖 掘 ; 单 播 地 址 (IPv6 中 还 会 提 到 anycast 任 播 地 址, 任 播 地 址 和 单 播 地 址 共 享 地 址 空 间, 不 做 单 独 介 绍 ): 简 单 来 说, 除 了 组 播 地 址 外 全 部 都 是 单 播 地 址, 它 的 后 缀 被 称 为 interface id 接 口 号, 单 播 地 址 可 以 分 为 3 种 scope 范 围 : link local: 固 定 前 缀 fe80::/10, 前 10-bit 如 图 3-4 所 示, 中 文 的 常 见 翻 译 叫 链 路 本 地 单 播 地 址, 它 的 作 用 范 围 和 以 太 网 MAC 地 址 类 似, 只 能 在 一 条 链 路 范 围 内 使 用, 使 用 link local 地 址 的 通

信 不 能 被 router( 广 义 上 的 网 络 层 转 发 设 备, 并 不 单 单 只 是 商 业 意 义 上 的 路 由 器 ) 所 转 发, 那 么 能 不 能 被 bridge 转 发 呢? 可 以, 因 为 bridge 只 是 將 两 条 link 在 链 路 层 连 接 起 来, 并 没 有 使 用 网 络 层 连 接,link local 地 址 是 每 一 个 启 动 IPv6 协 议 栈 接 口 必 须 有 的 地 址, 基 本 上 每 个 操 作 系 统 实 现 都 会 为 这 个 接 口 自 动 计 算 link local 地 址, 在 后 面 章 节 会 做 一 些 介 绍, 需 要 说 明 的 是 link local 地 址 interface id 在 图 3-4 中 是 118-bit 长, 但 实 际 范 围 内, 最 常 见 的 64-bit 长 的 interface id ( 前 54-bit 全 0),118-bit 长 的 接 口 号, 我 们 可 以 在 不 引 起 地 址 冲 突 的 前 提 下 在 一 个 链 路 范 围 内 任 意 指 定 ; unique local: 最 小 前 缀 fc00::/7, 前 7-bit 也 如 图 3-4 所 示, 它 的 中 文 翻 译 还 不 太 好 找, 原 来 有 叫 本 地 唯 一 单 播 地 址 的, 但 总 觉 得 比 较 别 扭, 这 里 还 是 叫 unique local 地 址 吧, 这 个 地 址 的 作 用 范 围 不 像 link local 那 么 明 确, 它 的 范 围 是 管 理 范 围, 通 常 是 一 个 管 理 单 位 内 部 使 用 地 址, 类 似 于 IPv4 中 的 private address 私 有 地 址 ( 后 面 有 章 节 详 细 介 绍 私 有 地 址 ), 但 它 又 是 需 要 去 向 IANA 申 请 n-bit 长 sub-layer prefix( 子 层 前 缀 ), 也 就 是 说 不 同 单 位 的 unique local 前 缀 不 一 样, 可 以 避 免 IPv4 那 种 网 络 融 合 时 私 有 地 址 冲 突,unique 也 在 这 一 刻 得 到 了 体 现,(121-n)-bit 的 接 口 号 可 以 由 申 请 单 位 自 行 划 分, 比 如 再 划 分 third-layer prefix( 三 层 前 缀 ), 但 对 于 IANA 来 说, 这 是 由 使 用 单 位 自 行 分 配 的 事 情, 并 不 关 注 ; global unicast: 剩 下 的 地 址 就 都 属 于 全 球 单 播 地 址, 它 的 前 后 缀 划 分 非 常 灵 活, 和 CIDR 完 全 一 致, 它 的 作 用 范 围 没 有 限 制, 只 要 IPv6 网 络 范 围 有 多 远, 它 就 可 以 跑 多 远, 真 正 的 Internet 范 围 地 址, 这 和 我 们 当 前 去 运 营 商 申 请 下 来 的 地 址 是 一 个 概 念, 但 要 搞 这 么 一 个 地 址 就 需 要 考 虑 成 本, 通 常 并 不 是 任 何 单 位 都 能 去 申 请 的, 使 用 单 位 要 通 过 一 些 代 理 机 构 向 IANA 申 请 一 段 长 度 的 前 缀, 这 些 单 位 在 图 3-6 中 所 示 介 绍 完 地 址 的 分 类, 我 们 了 解 到 了 网 络 号 接 口 号 前 缀 后 缀, 里 面 有 一 个 单 位 叫 IANA 的 出 镜 率 很 高, 这 是 个 什 么 样 的 单 位, 这 里 就 要 介 绍 一 下 地 址 分 配 体 系 介 绍 地 址 分 配 体 系 前, 想 让 大 家 参 考 一 下 电 话 号 码 的 分 配 体 系, 电 话 号 码 是 变 化 长 度 的, 有 国 家 代 码 区 域 代 码 城 市 代 码 分 区 号 码 分 机 号 组 成, 比 如 中 国 大 陆 的 国 家 带 码 是 086, 美 国 是 001, 这 是 由 ITU( 国 际 电 信 联 盟 ) 分 配 的, 区 域 带 码 以 下 就 是 由 中 国 电 信 部 门 自 行 定 义, 比 如 北 京 是 10, 广 州 20, 上 海 21, 深 圳 755 等,189 是 电 信,188 是 移 动,186 是 联 通 等 等, 这 就 些 分 配 ITU 就 不 管 不 着 (ITU 也 不 愿 意 管 这 么 宽 ), 再 然 后 的 分 区 号 码 就 由 各 个 城 市 电 信 部 门 分 配, 最 后 是 我 们 的 分 机 号, 中 国 分 机 号 往 往 是 4 位 的, 这 么 以 来 就 了 解 到 电 话 号 码 有 这 么 一 个 特 点 : 号 码 长 度 是 变 化 的, 也 就 是 说 理 论 上 蛋 糕 是 按 国 家 发, 每 个 国 家 有 自 己 的 蛋 糕, 蛋 糕 要 多 大, 国 家 自 己 说 了 算, 如 果 蛋 糕 觉 得 小 了 可 以 通 过 号 码 扩 位 的 方 法 使 整 个 蛋 糕 增 长, 这 是 电 话 号 码 的 独 到 之 处 ; 分 级 别 管 理, 最 高 一 级 ITU 只 分 配 国 家 代 码, 国 家 内 部 号 码 怎 么 分 就 有 各 个 国 家 自 己 搞, 总 体 上 来 说, 拨 打 一 个 号 码, 只 要 看 国 家 代 码 是 什 么 就 知 道 往 哪 个 国 家 送, 看 哪 个 区 域 号 码 就 往 哪 个 省 或 者 直 辖 市 送, 非 常 高 效 在 这 里 讨 论 电 话 号 码 似 乎 是 牛 头 不 对 马 嘴, 但 实 际 上 还 是 可 以 作 为 一 种 辅 助 信 息 参 考,IP 地 址 分 配 有 如 下 特 点 : IP 地 址 长 度 是 定 长 的, 也 就 是 说 蛋 糕 只 有 1 个, 而 且 是 固 定 大 小, 是 一 种 不 可 再 生 资 源, 定 长 可 以 让 IP 网 络 更 高 效, 有 利 于 承 载 丰 富 的 业 务, 电 话 号 码 则 作 用 只 能 是 打 打 电 话 发 发 短 信 传 真 留

言 等 不 多 应 用, 定 长 的 IP 地 址 也 决 定 了 分 级 管 理 方 面 的 一 些 特 点 ; 分 级 管 理, 最 高 一 级 是 IANA, 目 前 分 配 体 系 有 点 凌 乱, 不 如 ITU 来 得 层 次 分 明, 由 于 蛋 糕 就 那 么 点 大, 谁 都 想 申 请 多 一 些, 所 以 申 请 不 是 以 国 家 名 义 申 请, 而 是 以 组 织 申 请, 各 个 组 织 通 过 不 同 的 代 理 机 构 向 IANA 提 出 申 请, 比 如 中 国 电 信 中 国 联 通 中 国 移 动 教 育 网 腾 讯 百 度 阿 里 巴 巴 都 通 过 亚 太 区 代 理 向 IANA 申 请 一 些 地 址 空 间, 由 于 地 址 空 间 是 有 限 的,IANA 分 配 地 址 一 开 始 也 没 有 经 验,IPv4 的 A 类 地 址 是 127 块, 很 快 就 分 光 了, 等 中 国 组 织 去 申 请 的 时 候, 只 能 少 量 的 B 类 地 址 和 C 类 可 选, 还 有 另 外 一 个 问 题 就 是 中 国 电 话 号 码 都 有 统 一 的 国 家 代 码,IP 地 址 确 没 有, 一 个 国 家 甚 至 组 织 拥 有 的 地 址 可 能 是 不 连 续 的, 分 散 的, 好 比 一 个 组 织 拥 有 的 蛋 糕 并 不 是 一 块 完 整 的 大 蛋 糕, 而 是 好 几 块 小 蛋 糕 拼 凑 起 来 的, 这 会 带 来 另 外 一 个 问 题 寻 址 比 较 困 难, 不 如 电 话 号 码 用 国 家 代 码 区 号 就 可 以 完 成,IP 网 络 必 须 通 过 路 由 协 议 来 完 成 这 种 复 杂 的 寻 址 ; 为 什 么 不 能 像 电 话 号 码 一 样, 每 个 国 家 采 用 一 个 固 定 前 缀 呢? 因 为 互 联 网 在 世 界 发 展 并 不 平 衡, 蛋 糕 有 限 的 情 况 下 不 能 按 照 平 均 方 法 处 理 ; 自 助 分 配 接 口 号, 这 点 和 电 话 号 码 是 一 样 的, 比 如 一 个 国 家 获 得 国 家 代 码 后, 可 以 在 国 内 自 行 设 计 区 域 代 码 城 市 代 码 等 等, 和 ITU 没 有 关 系,IP 地 址 情 况 类 似, 比 如 向 IANA 申 请 了 一 个 n-bit IPv6 前 缀 后,(128-n)-bit 的 interface id 只 是 对 于 IANA 来 说 的, 使 用 单 位 还 可 以 进 一 步 划 分 子 层 前 缀 三 层 前 缀 或 更 多 等 等 ; 和 电 话 号 码 IP 地 址 分 配 截 然 不 同 的 是 以 太 网 MAC 地 址 ( 现 在 也 被 称 为 IEEE 802 地 址 ) 的 分 配, 如 图 3-5 所 示,48-bit 长 的 MAC 地 址 的 前 24-bit 被 称 为 OUI(Organizationally Unique Identifier 组 织 唯 一 标 识 ) 和 后 24-bit 的 NIC(Network Interface Controller Identifier 网 络 接 口 控 制 器 标 识 ),IEEE 为 每 个 网 络 接 口 卡 厂 商 颁 发 唯 一 的 OUI, 每 个 厂 家 为 生 产 的 每 块 网 络 接 口 卡 分 配 NIC,NIC 不 存 在 什 么 子 层 三 层 等 概 念, 这 两 部 分 格 式 都 是 固 定 长 度, 使 用 起 来 远 不 如 IP 地 址 和 电 话 号 码 来 得 灵 活, 它 的 好 处 在 于 分 配 管 理 都 要 更 高 效 ;

图 3-5 802 地 址 结 构 IANA 在 IP 地 址 分 配 协 议 号 分 配 TCP/UDP 端 口 号 上 面 享 有 无 上 权 威, 所 谓 分 配 也 就 是 说 一 旦 地 址 分 配 出 去, 就 是 申 请 单 位 专 有, 其 余 单 位 不 得 冒 用, 否 则 互 联 网 將 陷 入 混 乱 刚 才 说 了 IPv4 地 址 分 配 在 刚 开 始 没 什 么 经 验, 主 要 是 当 时 互 联 网 也 不 像 现 在, 由 电 信 联 通 这 样 的 ISP(Internet Service Provider 互 联 网 服 务 提 供 商 ) 组 建, 而 是 各 个 企 业 之 间 互 相 连, 所 以 地 址 分 配 给 各 个 企 业, 比 如 像 IBM 这 样 的 跨 国 企 业, 同 属 于 一 个 A 类 地 址 空 间 的 2 个 地 址 却 分 布 在 不 同 国 家, 想 想 怎 么 通 信 可 能 需 要 通 过 一 些 独 特 途 径, 互 联 网 发 展 到 现 在, 搭 建 物 理 上 互 联 的 网 络 是 ISP 更 在 行, 地 址 分 配 给 ISP, 不 同 的 单 位 通 过 连 接 到 不 同 的 ISP 获 得 ISP 再 分 配 的 地 址 可 能 更 合 理 一 些 : ISP 通 过 RIP(Regional Internet Registry 互 联 网 区 域 注 册 代 理 ) 向 IANA 提 出 申 请 ; IANA 分 配 合 适 大 小 的 地 址 空 间 ( 地 址 不 是 按 个 分 的, 而 是 按 照 块 block 分 的, 通 常 使 用 前 缀 长 度 来 区 别 不 同 块 的 大 小 ) 给 ISP; ISP 内 部 再 层 次 化 分 配 更 细 的 块 ; 某 个 单 位 连 接 到 某 个 ISP 时,ISP 再 为 这 个 单 位 提 供 一 些 地 址 块

图 3-6 IANA 划 分 的 5 大 RIP 5 大 RIP 是 按 照 亚 太 欧 洲 非 洲 北 美 拉 美 划 分 的, 不 同 的 RIP 有 不 同 的 分 配 策 略, 比 较 厉 害 的 是 RIPE ARIN 和 APNIC, 基 本 上 是 根 据 经 济 状 况 来 的, 我 们 来 看 一 下 IANA 在 IPv4 和 IPv6 地 址 上 的 分 配 策 略 : IPv4 地 址 是 按 照 /8 的 前 缀 分 配 给 不 同 的 组 织 的, 不 同 组 织 内 部 可 以 划 分 更 细 的 分 块, 比 如 分 配 256 个 /16 的 块 ; IPv6 地 址 则 是 在 IETF 规 定 的 前 提 下 划 分 前 缀 : 比 如 link local 地 址 IETF 定 义 了 fe80::/10 固 定 前 缀, 而 这 个 地 址 又 只 能 在 链 路 范 围 内 使 用, 就 不 需 要 IANA 分 配 了 ; 再 比 如 unique local 地 址 IETF 定 义 了 fc00::/7 固 定 部 分 前 缀, 那 么 IANA 就 可 以 分 配 子 层 前 缀 诸 如 fc00:1:2::/48 的 前 缀 给 某 个 单 位, 甚 至 可 以 再 细 一 点, 但 绝 对 不 能 超 过 fc00::/7 的 范 围, 用 户 可 以 自 行 划 分 三 层 四 层 或 更 多 层 前 缀 ; 组 播 地 址 和 global unicast 地 址 在 上 一 条 已 经 说 了, 可 以 划 分 不 同 的 子 层 前 缀, 用 户 可 以 自 行 划 分 三 层 四 层 或 更 多 层 前 缀, 如 图 3-7 所 示 一 个 单 位 从 IANA 申 请 2011::/96 的 前 缀, 可 以 自 由 地 划 分 成 若 干 个 不 同 长 度 的 前 缀, 就 好 比 一 块 蛋 糕 中 再 不 停 地 分 割 以 满 足 自 己 的 要 求, 怎 么 分 割 更 合 理 是 属 于 网 络 规 划 范 畴

图 3-7 地 址 划 分 示 意 IANA 主 页 上 有 当 前 IPv4 IPv6 地 址 的 分 配 情 况 和 原 则, 这 里 就 不 过 多 介 绍 在 本 节 最 后 介 绍 一 些 特 别 地 址 或 前 缀 的 用 途, 这 些 地 址 在 后 续 的 章 节 可 能 会 对 这 些 特 殊 地 址 进 行 引 用 : 特 殊 地 址 作 为 源 地 址 作 为 目 的 地 址 作 用 0.0.0.0/32 yes no IPv4 未 指 定 地 址 127.0.0.0/8 yes yes IPv4 环 回 地 址 host id 全 0 地 址 no no 用 于 表 示 某 个 网 络 号 所 在 网 络 IPv4 host id 全 1 地 址 no yes 网 络 号 所 标 识 网 络 的 广 播 地 址 255.255.255.255/32 no yes 广 播 地 址 10.0.0.0/8 yes yes 私 有 地 址, 不 得 出 现 在 互 联 网 172.16.0.0/12 yes yes 同 上 192.168.0.0/16 yes yes 同 上 IPv6 ::/128 yes no IPv6 未 指 定 地 址 ::1/128 yes yes IPv6 环 回 地 址 从 这 张 表 可 以 看 出 点 端 倪,IPv4 的 host id 中 有 2 个 是 不 能 用 的, 一 个 是 全 0, 一 个 是 全 1,IPv6 interface id 则 没 有 这 么 一 说, 那 么 我 们 可 以 再 来 计 算 一 下 地 址 划 分 和 地 址 利 用 率 的 问 题, 假 设 我 们 分 到 了

一 个 /24 的 IPv4 网 段 : 32-24 = 8,host id 有 8 位, 也 就 是 2 ^ 8 = 256 个 host id, 全 0 和 全 1 不 能 用, 可 用 host id 为 254 个, 地 址 利 用 率 为 254 / 256 * 100% = 99.22%; 划 分 成 2 个 /25, 每 个 /25 有 host id 7 位, 即 128 个 host id, 扣 除 2 个 不 能 用 的, 还 有 126 个, 利 用 率 为 126 * 2 / 256 * 100% = 98.44%; 划 分 成 4 个 /26, 每 个 /26 有 host id 6 位, 可 用 host id 为 62 个, 利 用 率 为 62 * 4 / 256 * 100 = 96.88%; 划 分 成 64 个 /30, 每 个 /30 有 host id 2 位, 可 用 host id 为 2 个, 利 用 率 为 2 * 64 / 256 * 100 = 50%; 划 分 成 128 个 /31, 每 个 /31 有 host id 1 位, 可 用 host id 为 2 ^ 1-2 = 0, 利 用 率 为 0; 划 分 成 256 个 /32, 每 个 /32 就 是 一 个 个 主 机 地 址, 不 区 分 host id 全 0 或 全 1, 理 论 上 利 用 率 是 100%, 但 这 种 地 址 只 能 作 为 loopback 地 址, 不 能 用 于 互 联, 所 以 利 用 率 很 有 限 从 这 里 我 们 可 以 发 现,IPv4 中 地 址 划 分 越 细, 对 地 址 造 成 的 浪 费 越 多, 所 以 IPv4 地 址 分 配 工 作 也 算 是 网 络 规 划 中 一 个 伤 不 起 的 基 础 课 题 IPv6 因 为 没 有 interface id 全 0 全 1 不 能 使 用 的 问 题, 所 以 不 存 在 浪 费, 无 论 怎 么 划 分, 地 址 利 用 率 都 是 100%, 这 一 点 就 变 得 很 棒 了, 有 没 有 3.4 寻 址 与 路 由 前 面 介 绍 了 IP 头 结 构 IP 地 址 分 类 与 分 配, 既 然 把 IP 当 作 信 封 邮 寄, 那 我 们 就 来 讨 论 邮 递 系 统 中 实 际 的 工 作, 信 件 的 传 递 工 作, 这 应 该 是 邮 递 系 统 中 最 庞 大 复 杂 的 一 部 分, 称 为 寻 址 addressing 系 统, 寻 址 分 为 路 由 routing 和 交 换 switching 两 大 体 系, 在 IP 领 域 的 寻 址 方 式 是 路 由 routing, 同 样 也 是 IP 领 域 中 最 为 核 心 的 一 部 分

图 3-8 网 络 层 转 发 拓 扑 示 例 如 图 3-8 所 示, 这 个 网 络 中 Src 和 Dst 是 两 台 通 信 主 机,R1~R6 是 组 成 网 络 的 路 由 器, 主 机 路 由 器 之 间 的 连 线 都 是 一 条 链 路 简 单 来 说 就 是 寻 址 的 目 的 就 是 把 一 个 IP 包 从 Src 传 递 到 Dst 的 过 程 我 们 的 邮 递 系 统 是 根 据 收 件 人 地 址 信 息 进 行 传 递, 那 么 IP 网 络 的 寻 址 和 路 由 有 什 么 特 点 呢? 默 认 情 况 根 据 目 的 IP 进 行 转 发, 类 似 于 根 据 收 件 人 信 息 传 递 邮 件, 也 有 一 些 特 殊 的 转 发 策 略 可 以 结 合 源 IP 协 议 端 口 号 考 虑 转 发, 但 这 属 于 另 外 一 个 范 畴 叫 策 略 路 由 policy based route, 这 里 暂 不 做 考 虑 ; 图 3-9 per hop forwarding 逐 跳 转 发 per hop forwarding, 如 图 3-9 所 示, 逐 跳 转 发 就 是 指 从 Src 到 Dst 传 输 路 径 的 每 一 个 节 点 都 要 做 路 由 工 作 : Src 发 出 时, 路 由 查 找 的 结 果 是 Dst -> R1, 意 味 着 这 个 数 据 包 要 交 给 R1 才 能 到 达 Dst; R1 收 到 IP 包, 也 要 进 行 路 由 查 找, 结 果 是 Dst -> R3, 于 是 数 据 包 交 给 了 R3; R3 交 给 R5 R5 交 给 R6, 都 做 了 相 同 的 路 由 工 作 ; R6 收 到 IP 包 后, 也 要 进 行 查 找, 只 不 过 查 找 的 结 果 是 Dst -> Dst, 意 思 Dst 和 R6 是 在 同 一 条 链 路 上 的 节 点, 也 就 是 说 R6 是 这 个 数 据 包 的 最 后 一 跳 ultimate hop, 最 后 一 跳 也 是 通 过 查 找 路 由 的 方 式 确 认 Dst 和 自 己 在 同 一 条 链 路 上 的 也 许 还 会 有 疑 问,R1 同 样 可 以 通 过 R2 -> R4 -> R6 到 达, 为 何 R1 选 择 了 R3 呢? 我 们 来 看 一 下 所 谓 路 由 的 组 成, 先 看 看 Linux 系 统 下 的 :

图 3-10 Linux 路 由 表 可 以 看 出 来 这 是 个 表, 没 错, 这 个 玩 意 叫 路 由 表 routing-table, 我 们 来 看 列 的 组 成 : Destination, 表 示 路 由 匹 配 哪 个 目 的 地 址 ; Gateway, 网 关, 即 next-hop router, 下 一 跳 路 由 器, 也 就 是 说 前 往 Destination 应 该 把 IP 包 交 给 谁? 这 个 Gateway 必 须 是 和 路 由 表 所 有 者 在 同 一 条 链 路 上 的, 如 果 是 * 则 表 示 该 路 由 Gateway 是 环 回 接 口 接 口, 或 者 不 存 在 ; Genmask, 掩 码, 用 于 计 算 网 络 号 和 主 机 号, 配 合 Destination 来 表 示 一 下 网 络 前 缀, 比 如 路 由 表 的 第 一 条 192.168.1.0 作 为 Dst, 掩 码 是 255.255.255.0, 那 么 表 示 的 网 络 前 缀 就 是 192.168.1.0/24: 如 果 目 的 IP 是 192.168.1.1, 和 192.168.1.0/24 有 什 么 关 系 呢,192.168.1.1 的 二 进 制 码 前 24 位 就 是 192.168.1.0, 所 以 我 们 把 这 种 情 况 称 为 192.168.1.0/24 为 192.168.1.1 的 命 中 match 路 由, 或 者 叫 匹 配 路 由, 反 之 叫 非 匹 配 路 由 dis-match route,192.168.1.0/24 可 以 命 中 192.168.1.1~192.168.1.254 这 么 多 IP 地 址 的, 这 种 路 由 比 较 常 见, 因 为 可 以 通 过 人 工 的 聚 合, 一 条 路 由 命 中 许 多 许 多 地 址, 以 减 少 路 由 条 目 ; 同 样,192.168.1.1/32 也 可 以 命 中 192.168.1.1, 而 且 只 能 命 中 192.168.1.1, 这 种 路 由 称 为 主 机 路 由 host route,ipv6 中 的 主 机 路 由 是 /128 的, 因 为 IP 地 址 数 量 太 多, 一 般 不 太 可 能 为 每 个 IP 地 址 都 建 立 一 条 主 机 路 由, 所 以 通 常 采 用 覆 盖 量 大 的 路 由, 比 如 IPv4 中 常 用 /30 /24 /20 /19 等 等, 而 IPv6 可 以 变 得 更 加 灵 活 ; 还 有 一 种 路 由 是 0.0.0.0/0 或 ::/0, 因 为 任 何 地 址 的 前 0 位 都 是 0, 所 以 这 种 路 由 可 以 命 中 任 何 地 址, 被 称 为 default route, 中 文 称 呼 叫 默 认 路 由 或 者 缺 省 路 由, 在 每 台 PC 上 配 置 网 关 地 址 就 是 配 置 一 条 默 认 路 由 ; Flags, 标 志 位, 用 于 说 明 这 条 路 由 的 状 态 ( 可 以 复 选 ): U, 表 示 Up 或 者 Using, 这 条 路 由 是 活 跃 的, 在 使 用 中 的, 比 较 常 见 ; H, 表 示 这 条 路 由 的 掩 码 是 255.255.255.255 或 者 /128, 这 是 一 条 主 机 路 由, 只 能 匹 配 某 一 个

地 址, 偶 尔 见 到 ; G, 表 示 这 条 路 由 掩 码 是 0.0.0.0 或 者 /0, 即 Destination 可 以 覆 盖 任 何 一 个 IP 地 址, 这 条 路 由 被 称 为 default 默 认 或 缺 省 路 由, 也 比 较 常 见 ; R,Reinstate, 动 态 路 由 的 待 命 状 态 ; D,Dynamic, 由 路 由 协 议 或 者 重 定 向 安 装 的 路 由 ; M,Modified, 由 路 由 协 议 或 者 重 定 向 修 改 的 路 由 ; A,Addrconf, 表 示 由 脚 本 添 加 的 一 条 路 由, 不 太 常 见 ; C, 表 示 Cache, 被 属 于 一 种 比 较 高 级 的 转 发 条 目, 在 主 机 上 不 太 常 见, 在 路 由 器 上 很 常 见 ;!, 表 示 Reject, 称 为 黑 洞 路 由, 即 永 远 不 转 发, 只 丢 弃, 也 不 解 释 原 因, 常 因 为 安 全 因 素 设 置 ; Metric, 开 销, 有 的 地 方 也 用 Cost 来 表 示, 用 于 描 述 路 由 前 往 某 网 络 前 缀 需 要 的 花 费, 类 似 于 描 述 路 途 多 远, 这 是 衡 量 路 由 好 坏 的 关 键, 比 如 图 3-9 中 为 何 R1 会 选 择 R2, 而 不 选 择 R3, 往 往 就 是 因 为 选 择 R3 作 为 网 关 的 Metric 比 R2 大, 说 明 选 择 R2 离 Dst 更 近 ; Ref,Reference, 表 示 这 条 路 有 被 引 用 过 几 次, 和 转 发 选 择 无 关 ; Use, 表 示 这 条 路 由 被 使 用 过 几 次, 和 实 现 有 关, 和 转 发 选 择 无 关 ; Iface,interface, 接 口, 也 就 是 说 Gateway 是 在 哪 一 条 链 路 上 相 连 的, 比 如 这 里 有 wlan0 和 eth0 分 别 是 WLAN 接 口 0 和 以 太 网 接 口 0; 从 上 面 可 以 看 出 路 由 表 中 和 转 发 关 系 最 大 的 就 是 Destination/Mask Gateway Metric Interface, 其 余 都 是 一 些 状 态 信 息, 再 来 看 看 另 外 一 个 操 作 系 统 Windows 下 的 路 由 表 :

图 3-11 Windows 路 由 表 是 不 是 可 以 看 到 目 标 网 络 掩 码 网 关 接 口 跃 点 数, 跃 点 数 就 是 所 谓 的 Metric, 是 不 是 和 Linux 异 曲 同 工, 稍 有 不 同 的 地 方 就 是 网 关 使 用 接 口 IP 地 址 替 代, 而 不 是 接 口 编 号 我 们 虽 然 看 到 了 路 由 表 的 构 成, 但 路 由 表 是 如 何 使 用 的 呢? 是 不 是 就 像 图 3-9 那 么 简 单 呢? 未 必 啊, 使 用 GPS 导 航 还 很 多 路 径 可 供 选 择 呢, 何 况 只 是 看 地 图, 查 看 路 由 表 其 实 和 查 看 地 图 还 是 挺 像 的, 看 看 图 3-12 吧 : 图 3-12 路 由 表 使 用 示 意 这 张 看 起 来 像 机 器 人 Wall-E 的 拓 扑 图, 焦 点 在 最 中 间 Gateway, 这 个 网 关 有 4 个 以 太 网 接 口, 有 这 么 个 特 点 : 1. Eth0 连 接 了 PC1 和 PC2: 1) PC1 的 IPv4 地 址 是 192.168.1.1/24,IPv6 地 址 是 2011:605::1/120, 网 关 分 别 是 192.168.1.254 和 fe80::ff, 也 就 是 Gateway eth0 接 口 的 IPv4 地 址 和 IPv6 link-local 地 址 ; 2) PC2 的 IPv4 地 址 是 192.168.1.2/24,IPv6 地 址 是 2011:605::2/120, 网 关 和 PC1 一 致 ; 2. Eth1~Eth3 分 别 连 接 R1~R3: 1) Eth1 接 口 IPv4 地 址 已 经 介 绍, 是 192.168.1.254/24,IPv6 地 址 分 link-local 和 global unique 两 个, 分 别 是 fe80::ff 和 2011:605::ff/120; 2) Eth2 接 口 IPv4 地 址 是 192.168.0.2/30,IPv6 地 址 只 有 link-local, 也 是 fe80::ff;

3) Eth3 接 口 IPv4 地 址 是 192.168.0.6/30,IPv6 地 址 只 有 fe80::ff; 3. Eth0~Eth3 的 IPv6 地 址 看 起 来 比 IPv4 奇 怪, 每 个 接 口 都 使 用 了 fe80::ff 这 个 link-local 地 址, 这 个 地 址 只 在 同 一 个 链 路 起 作 用, 图 3-12 中 Gateway 的 4 个 接 口 被 我 们 划 分 成 了 4 个 不 同 的 链 路, 之 间 使 用 网 络 层 隔 离, 所 以 这 么 使 用 没 有 问 题,1 个 设 备 使 用 相 同 的 link-local 地 址, 便 于 大 家 记 忆, 很 好 的 习 惯 哟, 图 3-12 的 IPv6 路 由 表 的 next-hop 都 是 link-local 地 址, 其 实 你 的 PC 如 果 在 IPv6 环 境 中, 也 可 以 发 现 这 个 现 象, 规 划 link-local 地 址 变 成 一 项 新 课 题 ; 4. 只 有 Eth0 拥 有 一 个 global unique 地 址 2011:605::ff/120, 其 余 接 口 都 没 有, 似 乎 和 IPv4 有 专 门 的 互 联 地 址 很 不 一 样, 在 IPv6 中, 路 由 条 目 的 next-hop 很 多 时 候 是 一 个 link-local 地 址, 以 严 格 保 证 路 由 的 逐 跳 性, 只 有 在 一 些 隧 道 路 由 的 时 候 会 使 用 非 link-local 地 址, 在 3-12 的 组 网 中, 使 用 linklocal 地 址 互 联 并 不 会 造 成 路 由 表 上 的 混 乱 在 旁 边 可 以 看 到 Gateway 上 的 IPv4 和 IPv6 路 由 表, 比 如 这 个 时 候 Gateway 有 个 数 据 包 Dst 是 192.168.1.1, 会 转 发 给 谁 呢? 首 先 Dst 是 IPv4 地 址, 所 以 只 能 查 IPv4 路 由 表, 根 据 路 由 匹 配 原 则, 都 可 以 命 中 192.168.1.1 啊 : 192.168.1.1/32 192.168.0.10/eth3 10, 也 就 是 说 next-hop 是 R3; 192.168.1.0/24 direct/eth0 0, 也 就 是 说 next-hop 就 是 192.168.1.1, 因 为 是 直 连 的 ; 192.168.0.0/16 192.168.0.6/eth2 5,next-hop 是 R2; 192.168.0.0/16 192.168.0.1/eth1 6,next-hop 是 R1; 0.0.0.0/0 192.168.0.1/eth1 6,next-hop 是 R1; 下 面 来 介 绍 一 下 路 由 表 最 长 匹 配 longest match first 原 则, 即 在 所 有 命 中 路 由 中 选 择 前 缀 最 长 的 路 由, 没 有 路 由 要 比 主 机 路 由 要 更 长 了, 所 以 在 这 里 会 命 中 第 一 条 路 由, 將 数 据 包 转 发 给 R3; 怎 么 样 确 定 一 条 路 由 是 不 是 最 长 匹 配 呢? 把 路 由 表 中 的 所 有 路 由 都 匹 配 一 遍, 总 能 找 到 最 长 的, 这 种 方 法 称 为 顺 序 匹 配, 这 种 方 法 在 路 由 表 很 庞 大 时, 可 以 看 出 来 效 率 会 有 多 么 的 低 下 ; 先 把 路 由 表 按 照 顺 序 排 列 好, 比 如 按 照 前 缀 从 长 到 短 排 列, 匹 配 的 时 候 从 长 开 始, 那 么 能 匹 配 的 第 一 条 路 由 就 是 最 长 匹 配, 这 种 方 法 提 高 了 一 点 效 率, 在 图 3-12 中 就 是 按 照 这 种 方 式 先 排 列, 再 匹 配 ; hash 查 找 法, 通 过 设 计 某 种 hash 算 法 將 IP 地 址 映 射 到 不 同 的 路 由 上, 保 证 首 次 hash 命 中 的 最

长 成 功 率 是 设 计 hash 算 法 的 关 键,hash 是 目 前 的 主 流 ; 这 里 有 人 会 问 按 照 上 面 的 IPv4 路 由 表, 如 果 目 的 地 址 是 192.168.2.1, 会 匹 配 哪 条 路 由 : 192.168.1.1/32 和 192.168.1.0/24 显 然 是 不 能 命 中 了 ; 192.168.0.0/16 192.168.0.6/eth2 5,next-hop 是 R2, 可 以 命 中 ; 192.168.0.0/16 192.168.0.1/eth1 6,next-hop 是 R1, 也 可 以 命 中 ; 两 条 同 样 最 长 匹 配 时 就 要 关 注 metric 了,metric 小 的 意 味 着 距 离 更 短, 更 优, 所 以 选 择 R2, 那 么 什 么 时 候 选 择 R1 呢? 如 果 R2 这 条 路 由 因 为 线 路 故 障 原 因 消 失 了, 就 会 选 择 R1 这 条, 所 以 这 种 方 式 叫 路 由 备 份 route backup, 这 里 的 路 由 表 只 是 示 例, 通 常 metric 大 的 那 条 路 由 被 称 为 备 份 路 由, 是 不 会 出 现 在 路 由 表 中 的, 因 为 路 由 表 默 认 只 显 示 active 状 态 的 路 由, 也 就 是 说 当 前 就 可 以 用 于 转 发 的 路 由, 备 份 路 由 的 状 态 通 常 是 inactive; IPv6 路 由 表 的 情 况 基 本 类 似 IPv4 路 由 表, 但 细 心 的 我 们 还 是 可 以 发 现 百 花 从 中 的 奇 葩 : 2011:605::/112 fe80::2/eth2 5,next-hop 是 R2; 2011:605::/112 fe80::1/eth1 5,next-hop 是 R1; 乖 乖, 两 条 路 由 前 缀 一 样,metric 也 一 样, 就 是 next-hop/outif 不 一 样, 这 种 现 象 称 为 等 价 路 由 equal cost route 或 者 叫 ECMP(equal cost multiple path 等 价 多 路 径 ), 如 果 匹 配 中 ECMP, 通 常 的 策 略 是 在 不 同 的 next-hop 间 轮 询 转 发, 保 证 一 定 的 负 载 均 衡, 轮 询 的 因 子 有 逐 包 per packet, 和 逐 流 per stream, 逐 流 会 更 普 遍 一 些, 等 价 路 由 比 路 由 备 份 的 好 处 就 是 既 能 起 到 备 份 的 高 可 靠 性 效 果, 还 因 为 同 时 转 发 提 高 链 路 效 率, 是 一 项 比 较 多 人 研 究 的 网 络 模 型 ; 我 们 了 解 了 路 由 表 的 构 成, 也 了 解 了 路 由 查 找 原 理, 必 然 对 路 由 表 的 产 生 比 较 感 兴 趣, 这 恰 恰 是 网 络 建 设 中 比 较 关 键 的 内 容, 被 称 为 网 络 规 划, 如 图 3-12 中 的 路 由 表 并 不 是 天 生 如 此, 而 通 常 是 设 计 人 员 有 意 为 之, 使 网 络 能 够 满 足 一 些 特 殊 的 业 务 需 求, 网 络 规 划 里 面 有 太 多 策 略 成 本 方 面 的 因 素, 很 难 说 这 个 绝 对 就 好, 那 个 就 绝 对 差, 只 能 说 这 个 是 最 适 合 我 需 求 的 这 里 我 们 还 是 讲 讲 一 些 路 由 表 产 生 的 基 本 原 理 吧, 路 由 条 目 根 据 产 生 途 径 可 以 分 为 : 1. 直 接 路 由,direct route, 也 就 是 说 伴 随 着 链 路 产 生 的,direct 路 由 在 路 由 表 里 都 有 非 常 明 显 的 特 征, 比 如 next-hop 是 一 个 自 身 接 口 地 址 或 者 127.0.0.1 或 者 直 接 有 个 direct 标 记,direct 路 由 虽 然 不 需 要 人 为 操 控 生 成, 但 接 口 地 址 也 还 是 人 配 置 的, 比 如 eth0 接 口 配 置 2011:605::ff/120, 那 么 接 口 状 态 Up 后, 就 自 动 生 成 了 一 条 直 连 路 由 2011:605::/120, 出 接 口 就 是 eth0, 我 们 比 较 好 奇, 什 么 样 的 接 口 状 态 称 为 Up 呢, 命 中 了 直 接 路 由 会 怎 么 处 理 呢 : 1) 如 果 是 共 享 型 链 路 如 以 太 网, 那 么 只 需 要 接 口 物 理 上 电 信 号 符 合 以 太 网 条 件, 就 Up 了, 或 者 WLAN, 则 可 以 接 收 到 符 合 条 件 的 无 线 信 号, 也 可 以 Up, 当 然 很 多 PC 上 的 实 现 另 当 别 论, 如

配 置 了 802.1X 认 证, 认 证 失 败 即 使 可 以 接 收 电 信 号 也 不 会 认 为 是 Up, 这 里 介 绍 的 还 主 要 是 路 由 器 的 情 况 ; 2) 对 于 PPP 这 种 点 到 点 链 路,Up 的 条 件 是 NCP 协 商 完 成, 这 个 要 比 以 太 网 高 级, 因 为 前 提 条 件 是 协 商 成 功, 只 有 物 理 信 号 收 发 是 远 远 不 够 的 ; 3) 命 中 直 连 路 由 的 处 理 很 简 单, 就 是 交 给 出 接 口 所 在 的 链 路 层, 发 送 出 去, 因 为 IP 地 址 直 接 连 在 了 这 个 接 口 上, 聪 明 的 读 者 可 能 会 问, 如 果 是 以 太 网 接 口, 链 路 上 连 接 了 好 多 PC 呢, 链 路 层 是 怎 么 把 IP 层 的 数 据 准 确 地 交 给 其 中 一 个 PC 呢? 这 个 问 题 会 在 我 们 的 ARP ICMPv6 中 得 到 解 答 ; 2. 间 接 路 由,indirect route, 只 要 不 是 直 接 路 由 就 是 间 接 路 由, 也 就 是 别 的 主 机 或 者 路 由 器 接 口 上 的 直 接 路 由, 要 通 过 其 余 路 由 器 才 能 达 到 的 Destination 就 需 要 靠 间 接 路 由, 这 是 所 有 路 由 的 重 点, 间 接 路 由 分 2 类 : 1) 静 态 路 由,static route, 由 人 工 逐 条 配 置 方 式 产 生 的 路 由 条 目 称 为 静 态 路 由, 主 机 上 设 置 网 关 就 是 最 常 见 的 静 态 路 由, 静 态 路 由 的 特 点 比 较 简 单, 完 全 由 人 来 操 控, 在 网 络 非 常 稳 定 的 情 况, 还 是 非 常 适 合 的, 但 是 如 果 网 络 结 构 是 不 断 变 化 的, 那 就 非 常 的 讨 厌 了, 需 要 人 工 不 停 地 去 修 改 静 态 路 由, 比 如 图 3-9 全 部 都 是 静 态 路 由 方 式,R5 突 然 歇 菜 了, 那 么 R1 上 就 要 重 新 修 改 至 R2 访 问 Dst, 如 果 R1 这 边 刚 改 好,R5 由 恢 复 了, 那 是 不 是 要 再 改 回 R3 呢? 没 错 静 态 路 由 相 当 折 腾 人, 就 好 比 传 统 地 图 和 电 子 导 航 的 差 别, 用 去 年 的 地 图 记 得 是 第 3 个 红 绿 灯 左 拐 的, 坑 爹 的 在 前 面 又 修 了 个 红 绿 灯, 岔 路 去 吧, 电 子 导 航 更 新 及 时 就 不 会 有 这 个 问 题 鸟 ^_^, 在 道 路 建 设 最 多 的 中 国, 静 态 根 本 行 不 通 啊, 必 须 要 实 时 动 态 ; 2) 动 态 路 由,dynamic route, 它 的 出 现 就 是 为 了 解 决 静 态 路 由 太 折 腾 人 的 问 题, 静 态 路 由 设 置 正 确 有 两 个 条 件 : (1) 人 首 先 要 收 集 如 图 3-8 那 样 的 整 个 网 络 拓 扑, 就 相 当 于 先 画 一 张 地 图 ; (2) 在 每 一 台 路 由 器 上 为 需 要 通 信 的 非 直 接 网 段 设 置 一 条 路 由, 并 且 保 证 路 由 是 无 环 的, 比 如 图 3-13 中 对 于 Dst 路 由 设 置 是 R1->R3,R3->R5,R5->R4,R4->R2,R2->R1 这 就 是 一 个 环 路, 数 据 包 从 R1 发 出 后 又 绕 回 R1 了, 最 简 单 的 环 路 是 R1->R3 R3->R1, 所 有 路 由 可 以 不 是 最 优 的, 但 必 须 是 无 环 的, 环 路 的 危 害 很 严 重, 一 是 无 法 將 数 据 准 确 送 达 目 的, 其 次 还 消 耗 链 路 带 宽,IP 头 部 的 TTL 和 hop limit 字 段 都 是 为 了 防 止 环 路 的 措 施, 没 经 过 一 个 hop,ttl 和 hop limit 就 减 1, 当 这 个 数 值 为 0 时 就 不 允 许 再 发 出 去 了, 因 此 一 个 数 据 包 不 可 能 在 环 路 中 无 限 地 转 发

图 3-13 路 由 环 路 既 然 静 态 路 由 是 靠 人 来 完 成 的, 那 计 算 机 也 可 以 完 成, 所 以 人 在 静 态 路 由 的 基 础 上 设 计 了 动 态 路 由 协 议, 比 如 RIP(Route Information Protocol 路 由 信 息 协 议 ) OSPF(Open Shortest Path First 开 放 最 短 路 径 优 先 ) IS-IS(Inter System - Inter System 中 间 系 统 - 中 间 系 统 ) BGP(Border Gateway Protocol 边 界 网 关 协 议 ), 每 种 路 由 协 议 都 有 自 己 的 规 则, 目 的 就 是 在 不 同 的 路 由 器 之 间 交 换 直 连 路 由, 通 过 一 致 的 规 则 计 算 出 无 环 路 由, 由 于 是 自 动 运 行 的 协 议, 所 以 一 旦 配 置 OK 后, 它 最 大 的 特 点 就 是 适 应 网 络 变 化, 解 放 了 人, 人 可 以 干 些 更 牛 B 的 工 作 不 同 的 动 态 路 由 协 议 有 不 同 的 原 理, 比 如 RIP 和 OSPF 就 属 于 不 同 原 理 的 两 种, 但 殊 途 同 归 都 是 通 过 同 一 条 链 路 上 传 播 不 同 路 由 器 的 直 接 路 由, 如 图 3-14 就 是 以 R1 上 直 接 路 由 Src 传 播 到 R2~R6 的 例 子, 这 个 图 展 示 的 是 RIP 的 部 分 原 理,RIP 简 单 地 说 是 不 画 地 图 的, 简 单 地 向 邻 居 打 听 路 途 远 近, 挑 选 一 个 最 近 的,OSPF 比 较 高 级 一 些, 要 先 画 地 图 再 选 路 图 3-14 中 R1 have src 表 示 可 以 通 过 R1 访 问 src, Src -> R1 @ x 表 示 通 过 R1 访 问 src 的 Metric 是 x, 路 由 协 议 是 网 络 规 划 的 基 础, 在 网 络 原 理 部 分 不 作 深 入 探 讨

图 3-14 动 态 路 由 基 本 原 理 了 解 完 非 直 接 路 由, 可 能 会 产 生 个 疑 问, 假 设 人 工 设 置 了 一 条 2011:605::/120 的 静 态 路 由, 还 有 IS- IS 发 现 的 一 条 2011:605::/120 的 动 态 路 由, 怎 么 办? 首 先, 这 两 条 路 由 的 关 键 属 性 destination/prefix 是 完 全 一 致 的, 需 要 我 们 判 断 的 是 否 可 以 称 为 等 价 路 由 或 者 路 由 备 份, 如 果 不 一 致, 那 就 是 不 同 的 路 由, 不 存 在 等 价 或 者 备 份 关 系 ; 不 同 种 类 的 路 由 通 过 preference 来 pk 优 先 级 别, 有 的 地 方 也 叫 distance 管 理 距 离, 这 个 值 和 metric 类 似, 越 小 越 棒 ; 不 同 的 操 作 系 统 对 于 不 同 种 类 路 由 默 认 优 先 级 设 置 不 一 样, 比 如 思 科 设 备 中, 静 态 路 由 的 preference 是 0, 和 直 接 路 由 一 样, 要 比 动 态 路 由 协 议 都 要 高, 那 么 在 刚 才 的 假 设 中, 静 态 路 由 就 会 胜 出, 添 加 到 路 由 表 中,IS-IS 路 由 落 选, 只 有 在 静 态 路 由 失 效 后 才 能 进 入 路 由 表, 变 成 活 跃 路 由, 不 同 系 统 的 默 认 值 可 以 使 用 Google 搜 索 一 下 ; 既 然 有 默 认 值, 也 就 意 味 着 这 个 值 是 可 以 调 整 的, 规 划 人 员 可 以 调 整 不 同 路 由 协 议 的 优 先 级, 以 实 现 自 己 的 目 的, 但 唯 有 直 接 路 由 在 所 有 的 操 作 系 统 中 都 是 0, 也 就 是 最 优 的, 即 使 將 非 直 接 路 由 优 先 级 都 调 整 成 0, 内 部 实 现 上 也 不 会 让 非 直 接 路 由 和 直 接 路 由 形 成 等 价, 同 样 即 使 非 直 接 路 由 之 间 preference 配 置 成 一 致, 也 是 会 在 实 现 上 有 个 严 格 的 座 次, 没 有 并 列, 也 就 要 求 规 划 人 员 必 须 为 不 同

的 路 由 规 划 一 个 唯 一 的 值, 经 验 上 来 说 可 以 在 实 验 网 络 中 玩 玩 全 部 配 置 成 一 样, 在 实 际 网 络 中 这 么 玩 只 会 困 惑 网 络 维 护 者, 他 们 可 能 会 不 停 地 咒 骂 网 络 规 划 人 员 ; 聊 完 preference 或 者 distance, 肯 定 有 人 会 说 这 和 刚 才 的 metric 似 乎 很 像 啊, 神 马 区 别? 都 是 针 对 相 同 destination/prefix 时 使 用, 比 如 192.168.1.1/32 和 192.168.1.0/24 这 样 就 没 法 比, 只 有 都 是 192.168.1.1/32 或 者 都 是 192.168.1.0/24 才 可 能 比, 试 想 想 IPv6 的 2011:605::/120 和 2011:605::/112 是 否 有 可 比 性 呢? 答 案 显 然 也 是 不 可 比, 因 为 前 缀 长 度 不 一 样 ; preference/distance 是 在 不 同 种 类 路 由 协 议 之 间 pk 用 的,pk 只 有 胜 利 和 失 败, 没 有 平 手, 胜 利 一 方 进 军 活 跃 路 由 表, 败 北 的 在 路 由 表 门 外 等 候 ; metric 是 在 同 种 路 由 内 部 pk 用 的,pk 有 胜 利 失 败 和 平 手, 胜 利 方 称 为 active 路 由, 失 败 方 变 成 inactive 的 备 份 路 由, 如 果 平 手 就 称 为 等 价 路 由 ; 如 果 命 中 直 接 路 由 是 直 接 从 出 接 口 链 路 层 发 出, 如 果 命 中 的 是 非 直 接 路 由 肿 么 办? 路 由 条 目 中 转 发 信 息 是 next-hop/outif, 也 就 是 说 从 outif 中 发 送 给 next-hop 指 定 的 地 址 喽 ; 还 是 交 给 outif 所 在 的 链 路 层, 链 路 层 接 收 方 是 next-hop 的 链 路 层, 比 如 next-hop/outif 是 fe80::1/eth1, 那 么 链 路 层 接 收 方 就 是 fe80::1 对 应 的 以 太 网 MAC 地 址, 这 里 又 要 涉 及 到 ARP ICMPv6 知 识 了 ; 总 体 来 说, 直 连 路 由 非 直 连 路 由 在 转 发 上 并 没 有 多 大 区 别, 如 果 某 条 路 由 只 指 定 next-hop, 没 有 outif 肿 么 办? 许 多 操 作 系 统 都 有 解 决 这 个 烦 人 的 问 题, 叫 做 迭 代 查 询 : 如 图 3-12 我 们 在 Gateway 上 新 建 一 条 路 由 2011:606::/120, 只 指 定 了 next-hop 是 2011:605::ff00, 这 个 next-hop 不 在 Gateway 的 任 何 一 个 接 口 所 在 链 路 上 ; 系 统 会 使 用 2011:605::ff00 作 为 匹 配 条 件 去 查 询 路 由 表, 可 以 命 中 2011:605::/112, 有 2 个 next-hop/outif, 分 别 是 fe80::2/eth2 和 fe80::1/eth1, 那 么 迭 代 查 询 结 束, 系 统 会 自 动 將 新 建 的 2 条 路 由 这 么 修 改 : 2011:606::/120 fe80::2/eth2 metric 2011:606::/120 fe80::1/eth1 metric 路 由 迭 代 其 实 是 非 逐 跳 路 由 的 一 种, 迭 代 会 带 来 额 外 的 计 算 工 作 量, 影 响 日 常 网 络 运 维 效 率, 运 维 人 员 咒 骂 规 划 人 员 坑 爹 的 事 情 又 得 发 生, 所 以 IPv6 路 由 都 使 用 link-local 地 址 作 为 next-hop 有 天 然 的 逐 跳 性, 避 免 迭 代, 在 这 里 还 是 强 烈 顶 一 下 假 设 没 有 一 条 路 由 命 中, 怎 么 办? 系 统 会 直 接 把 数 据 包 直 接 丢 弃, 附 加 的 动 作 是 向 Source 发 送 个 消 息 告 诉

Source 因 为 没 有 路 由 的 原 因 丢 弃 了, 但 现 在 许 多 不 良 Source 都 是 故 意 发 送 一 些 明 知 不 可 达 的 Destination, 以 消 耗 路 由 器 资 源, 学 聪 明 的 路 由 器 往 往 就 直 丢 弃, 什 么 都 不 通 知 了 关 于 路 由, 原 理 部 分 就 介 绍 这 么 多, 可 能 还 有 人 会 问 路 由 器 和 交 换 机 到 底 什 么 差 别, 这 个 问 题 的 突 破 点 太 多 了, 以 至 于 变 成 一 个 开 放 式 问 题, 现 在 很 多 交 换 机 都 是 具 备 路 由 功 能 的, 也 是 路 由 器, 但 交 换 机 接 口 多, 同 等 接 口 情 况 下 要 比 路 由 器 便 宜 很 多, 所 以 现 在 许 多 交 换 机 在 抢 路 由 器 的 市 场, 路 由 器 上 现 在 也 有 了 交 换 板 卡, 也 具 备 交 换 机 接 口 多 的 特 点, 总 体 上 路 由 器 市 场 份 额 是 日 益 缩 减, 我 们 没 有 必 要 纠 结 于 路 由 器 和 交 换 机 谁 要 打 倒 谁, 聚 焦 于 原 理, 该 交 换 就 要 懂 交 换, 该 路 由 就 要 懂 路 由 但 是 另 外 一 个 问 题, 关 于 2 大 寻 址 系 统 路 由 和 交 换 优 劣 却 不 是 开 放 问 题 : 电 话 网 络 中 寻 址 系 统 就 是 交 换 机 制, 交 换 最 大 的 特 点 是 不 需 要 顺 序 查 找, 不 存 在 最 长 匹 配 问 题, 交 换 表 只 有 唯 一 匹 配, 所 以 效 率 很 高, 以 太 网 交 换 机 的 交 换 芯 片 是 个 包 含 若 干 介 质 的 二 层 网 桥, 它 的 寻 址 系 统 也 是 交 换 机 制, 所 有 表 项 都 是 48-bit 以 太 网 MAC 查 找, 不 存 在 24-bit 或 者 其 余 长 度 表 项, 所 以 交 换 芯 片 可 以 做 到 即 高 效 又 便 宜, 这 也 是 交 换 机 为 何 如 火 如 荼 的 原 因, 交 换 虽 然 是 唯 一 匹 配, 但 并 不 是 说 不 能 与 ECMP 共 存, 意 思 是 匹 配 条 件 唯 一,outif 可 以 有 多 个, 交 换 表 项 非 常 简 单, 以 至 于 比 较 少 人 关 注 了, 交 换 的 问 题 是 除 了 电 话 分 层 交 换 体 系 外, 交 换 受 到 表 容 量 限 制, 比 如 48-bit 以 太 网 MAC 交 换 表, 通 常 芯 片 的 容 量 在 32 000 或 者 64 000 以 内, 如 果 IPv4 要 做 成 交 换 模 式, 至 少 2^32 的 容 量, 目 前 的 实 现 还 做 不 到 那 么 大 的 交 换 容 量 ; 路 由 机 制 最 大 的 特 点 就 是 在 芸 芸 路 由 表 中 寻 找 最 长 匹 配, 只 有 全 部 寻 找 才 能 确 定 那 个 最, 效 率 很 低 啊, 路 由 虽 然 原 理 上 不 高 效, 但 因 为 IP 地 址 分 配 方 式 的 灵 活, 不 得 不 采 用 路 由 的 方 式, 路 由 还 可 以 聚 合, 节 约 条 目, 对 于 IP 这 种 大 规 模 网 络 只 能 采 用 路 由 模 式, 合 理 的 路 由 规 划 实 际 效 率 和 交 换 寻 址 媲 美, 现 实 生 活 中 使 用 的 地 图 寻 址 也 算 是 路 由 模 式, 前 往 一 个 目 的 地 往 往 有 许 多 许 多 路 径, 每 条 路 径 的 匹 配 模 式 并 不 一 样, 需 要 人 工 去 选 择, 尽 管 遭 到 交 换 寻 址 派 的 鄙 视, 路 由 还 是 IP 网 络 层 的 必 选 项, 目 前 也 已 经 非 常 成 熟, 想 要 消 除 它, 那 请 把 IP 毁 灭 了 先 虽 然 路 由 和 交 换 是 寸 有 所 长, 尺 有 所 短 的 双 头 龙, 许 多 专 家 学 者 设 计 了 一 些 融 合 两 者 有 点 的 东 西, 其 代 表 就 是 MPLS(Multiple Protocol Label Switch 多 协 议 标 签 交 换 ), 这 是 另 外 一 个 大 话 题 了, 在 本 书 中 也 不 做 过 多 探 讨

3.5 转 发 示 例 图 3-15 转 发 封 装 示 意 如 图 3-15 所 示 为 PC1 -> PC2 IP 层 通 信, 蓝 色 箭 头 表 示 数 据 传 送 方 向, 红 色 字 体 为 每 个 节 点 匹 配 PC2 的 最 长 路 由, 蓝 色 字 体 为 各 个 接 口 编 号 IP 地 址 MAC 地 址 信 息, 蓝 底 百 字 的 是 PC1 -> PC2 的 封 装, 由 于 通 信 所 有 的 接 口 都 是 以 太 网, 所 以 都 是 以 太 网 - IP 封 装 (IPv4 和 IPv6 均 可 ), 完 整 的 过 程 描 述 如 下 : 1. PC1 上 要 和 PC2 进 行 IP 层 通 信, 首 先 回 去 查 匹 配 PC2 的 路 由, 常 见 情 况 就 像 图 3-15 所 示, 匹 配 静 态 路 由 Gw -> R1-IP0, 即 默 认 路 由 的 网 关 地 址 是 R1-IP0, 也 就 是 说 next-hop 是 R1-IP0 这 个 IP 地 址, 如 果 是 IPv6, 这 个 R1-IP0 大 多 数 是 个 link-local 地 址,R1-IP0 甭 管 是 IPv4 还 是 IPv6, 都 必 须 通 过 以 太 网 链 路 发 送 给 R1: 1) ethernet header 的 Src MAC 好 理 解, 必 定 是 PC1-MAC, 因 为 数 据 在 这 条 链 路 上 是 PC1 发 的 ; 2) Dst MAC 是 R1-MAC, 不 必 奇 怪, 这 里 讨 论 的 是 链 路 层 的 事, 在 PC1 - R1 这 条 链 路 上,R1 收, 那 Dst MAC 就 是 R1 的 MAC R1-MAC; 3) 为 何 IP Dst 是 PC2, 而 ethernet Dst 是 R1-MAC 呢, 就 是 因 为 R1-IP0 是 路 由 表 中 PC2 的 next-hop, 而 R1-MAC 则 是 R1-IP0 所 在 接 口 的 链 路 层 地 址, 如 何 获 取 这 2 者 的 对 应 关 系 是 通 过 ARP 或 者 ICMPv6 实 现 的 ; 2. PC1 按 照 如 上 封 装 发 送 给 R1 后 :

1) R1 发 现 目 的 MAC 是 R1-MAC, 就 要 解 封 装, 把 ethernet header 拆 掉 ; 2) ethernet header 拆 掉 后, 就 看 到 IP header, 这 个 时 候 检 查 IP dst 是 PC2, 不 是 R1 的 IP, 那 就 要 继 续 查 路 由 表 ; 3) 路 由 表 如 图 所 示, 最 长 匹 配 的 最 佳 路 由 next-hop 是 R3-IP0/eth1, 也 就 意 味 着 这 个 IP 包 要 从 eth1 这 个 接 口 的 链 路 发 送 到 R3-IP0; 4) 经 过 PC1 上 费 解 的 解 释, 相 信 大 家 应 该 差 不 多 明 白 了,R1 - R3 这 条 链 路 上 R3 收,R1 发, 那 么 ethernet header 的 Dst 和 Src 就 分 别 是 R3-MAC0 和 R1-MAC1; 3. 这 个 IP 包 在 各 个 路 由 器 上 就 像 接 力 棒 一 样, 依 次 传 递 到 了 R6: 1) R6 也 是 要 查 找 路 由 表, 只 不 过 这 次 路 由 next-hop 是 direct/eth0, 也 就 是 eth0 接 口 的 直 接 路 由 ; 2) 那 就 直 接 从 eth0 接 口 继 续 玩 链 路 层 R6 发,PC2 收 的 游 戏, 最 后 一 个 ethernet header 就 像 图 3-15 画 的 那 样,Dst 是 PC2-MAC,Src 是 R6-MAC0; 4. PC2 收 到 这 个 包 如 何 处 理 : 1) 以 太 网 拆 封 装, 只 剩 下 IP 封 装 ; 2) 看 到 IP header 里 的 Dst 是 PC2 的 IP 地 址, 那 么 就 进 入 到 第 二 章 图 2-67 所 提 及 的 loopback 处 理 环 节 了 整 个 过 程 就 完 毕 了, 这 幅 图 是 很 经 典 的 一 个 考 题, 考 察 知 识 点 主 要 是 对 路 由 链 路 层 传 送 原 理, 从 这 张 图 中 我 们 可 以 看 到 IP 地 址 在 IP header 中 的 作 用 就 是 建 立 一 条 从 PC1 到 PC2 的 路 径, 这 条 路 径 被 称 为 端 到 端 路 径, 因 此 IP 被 称 为 提 供 端 到 端 通 信 服 务, 但 是 实 际 上 传 递 还 是 在 一 条 接 着 一 条 的 链 路 上 由 链 路 层 完 成 的, 链 路 层 职 责 就 在 链 路 上 传 递 数 据 IP 层 和 链 路 层 的 衔 接 则 是 下 一 章 的 内 容 3.6 练 习 1. 检 查 一 下 你 的 电 脑 上 是 否 同 时 具 备 IPv4 和 IPv6 地 址, 分 别 是 什 么? 2. 看 看 是 否 通 过 wireshark 或 者 tcpdump 可 以 抓 到 IPv4 和 IPv6 的 包, 观 察 一 下 它 们 的 header 区 别 有 哪 些? 3. 到 google 上 搜 索 一 下 如 果 IPv4 分 片 丢 失, 重 组 时 需 要 做 什 么? 如 果 路 由 器 做 重 组 是 否 会 有 什 么 隐 患? 4. 把 刚 才 查 看 到 的 电 脑 上 IPv4 和 IPv6 地 址 窗 口 关 掉, 是 否 可 以 把 它 重 写 下 来, 是 否 可 以 记 住 它 们 的

特 点? 5. 检 查 一 下 你 的 IPv4 地 址 和 IPv6 地 址 分 别 属 于 哪 一 类 地 址,IPv4 地 址 是 私 有 地 址 吗, 如 果 是 查 看 一 下 你 的? 6. 如 果 现 在 有 一 条 链 路 上 有 40 台 PC, 计 划 为 每 台 PC 分 配 一 个 IP 地 址,IPv4 的 host id 和 IPv6 的 interface id 至 少 需 要 几 位, 是 否 有 什 么 问 题? 7. 现 在 给 定 一 个 前 缀 空 间 2011:609::/112, 现 在 有 3 个 部 门, 要 求 同 一 个 部 门 的 PC 都 在 相 同 的 链 路 和 上, 第 1 个 部 门 有 60 台 PC 第 2 个 部 门 有 120 台 第 3 个 部 门 则 有 200 台 PC, 怎 么 划 分 前 缀 空 间 满 足 要 求, 并 满 足 最 高 的 地 址 利 用 率? 8. 一 个 美 国 公 司 通 过 ARIN 申 请 到 了 一 个 2011:609::/96 的 前 缀 供 访 问 互 联 网 使 用, 因 为 业 务 拓 展 到 了 中 国, 该 前 缀 中 的 一 部 分 2011:609::217:0/112 被 划 分 出 来 给 中 国 分 部 使 用, 也 发 布 到 互 联 网, 那 么 互 联 网 上 是 不 是 存 在 2011:609::/96 前 缀 范 围 内 的 两 块 路 由, 小 的 一 块 指 向 中 国, 大 的 一 块 指 向 美 国, 有 什 么 办 法 解 决 这 种 路 由 碎 片? 9. 路 由 表 条 目 的 多 少 取 决 于 地 址 的 分 配 或 者 划 分 还 是 取 决 于 某 种 技 术? 为 什 么? 10. 链 路 层 使 用 网 络 层 隔 开 后 通 过 路 由 方 式 互 联 和 不 同 链 路 使 用 网 桥 互 联 有 何 区 别? 11. 路 由 的 outif 是 一 个 共 享 型 链 路 如 ethernet 时 为 何 需 要 指 定 next-hop, 如 果 没 有 会 怎 样? 如 果 这 个 以 太 网 链 路 是 一 个 点 到 点 介 质 是 否 还 需 要 指 定 next-hop? 如 果 是 像 PPP 这 样 的 点 到 点 链 路 又 如 何? 这 3 者 之 间 的 区 别 在 哪 里? 12. 在 图 3-15 中,PC2 -> PC1 的 路 径 是 否 可 以 是 PC2 -> R6 -> R4 -> R5 -> R2 -> R1 -> PC1, 为 什 么? 13. 检 查 一 下 电 脑 的 路 由 表, 分 别 查 看 IPv4 和 IPv6 部 分, 看 看 网 关 地 址 和 出 接 口 是 否 能 够 和 PC 上 众 多 网 络 接 口 对 应 起 来? 14. 为 什 么 图 3-12 中 Gateway 不 同 以 太 网 接 口 之 间 可 以 使 用 相 同 的 link-local 地 址? 15. 为 什 么 路 由 器 之 间 IPv6 互 联 接 口 只 需 要 link-local 地 址 就 OK 了? 16. 路 由 器 IPv4 互 联 为 何 需 要 专 门 为 接 口 指 定 唯 一 的 地 址, 而 不 能 像 IPv6 那 样 各 个 接 口 使 用 相 同 的 link-local 地 址? 17. 如 果 在 某 个 路 由 器 的 某 个 接 口 上 配 置 了 IPv4 地 址 6.9.2.17/24 和 IPv6 地 址 2011:609:217::/120, 是 否 都 成 功?IPv4 网 络 号 主 机 号 IPv6 的 前 缀 接 口 号 分 别 是 多 少? 接 口 如 果 状 态 是 Up 的 话, 产 生 的 直 接 路 由 分 别 是 什 么?

18. 默 认 路 由 0.0.0.0/0 和 ::/0 是 间 接 路 由 还 是 直 接 路 由? 为 什 么? 19. 路 由 匹 配 如 果 取 消 最 长 匹 配 模 式, 是 否 会 产 生 环 路? 20. 在 间 接 路 由 中, 为 何 需 要 为 不 同 来 源 的 路 由 指 定 不 同 的 preference 或 distance? 如 果 网 络 中 的 路 由 器 都 使 用 了 多 种 来 源 的 间 接 路 由 学 习 相 同 的 路 由, 且 各 来 源 的 preference/distance 排 列 顺 序 不 一 致, 是 否 会 导 致 环 路? 21. 为 何 IPv6 路 由 next-hop 是 link-local 后 可 以 避 免 路 由 迭 代? 22. 等 价 路 由 是 否 要 求 路 由 来 源 一 致, 同 时 metric 也 一 致? 那 么 路 由 备 份 呢? 23. 现 在 有 一 个 网 络 共 有 30 000 台 PC, 假 设 全 部 连 接 在 同 一 条 以 太 网 链 路 上, 使 用 交 换 方 式 互 联, 那 么 这 个 以 太 网 交 换 机 的 交 换 容 量 应 该 满 足 多 少 条 MAC? 如 果 划 分 成 300 条 以 太 网 链 路, 每 条 链 路 100 台 PC, 并 分 配 一 个 IP 前 缀,300 条 链 路 之 间 使 用 路 由 方 式 相 连, 那 么 这 个 路 由 器 的 路 由 表 容 量 应 该 满 足 多 少 条 路 由?