硕士学位论文-基于IPv6的移动IP协议的研究与实现.pdf_第1页
硕士学位论文-基于IPv6的移动IP协议的研究与实现.pdf_第2页
硕士学位论文-基于IPv6的移动IP协议的研究与实现.pdf_第3页
硕士学位论文-基于IPv6的移动IP协议的研究与实现.pdf_第4页
硕士学位论文-基于IPv6的移动IP协议的研究与实现.pdf_第5页
已阅读5页,还剩76页未读 继续免费阅读

硕士学位论文-基于IPv6的移动IP协议的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

吉林大学硕士学位论文 I 论文分类号 TN929 单 位 代 码 10183 密级 内 部 研 究 生 学 号 200832 吉 林 大 学 硕 士 学 位 论 文 基于IPv6的移动IP协议的研究与实现 吉林大学硕士学位论文 II 第1章 The Research and Implementation of Mobile IP Based on IPv6 作者姓名 张迪 专 业 计算机应用技术 导师姓名 王德民 及 职 称 教授 论文起止年月 2001 年 9 月至 2003 年 2 月 吉林大学硕士学位论文 III 内容提要 随着移动计算机日益广泛的使用和人们对网络依赖性的增加 如何让人 们能够随时随地的访问 I n t e r n e t 在移动的过程中保持通信不间断已经成 为当前 I n t e r n e t 技术研究的关键问题 传统的 I P 技术使用固定的 I P地址和端口号进行通信 不能保证主机在 移动的过程中继续通信 移动 I P协议的出现 使该问题迎刃而解 移动 I P 是可以在 I n t e r n e t 上为移动计算机提供无缝漫游的协议 本文的主要工作是移动 IPv6 协议的研究与实现 本文深入分析了协议 总体框架及相关细节 实现了基本的绑定过程 设计了在绑定过程中所用到 的四种新的 IPv6 目的地选项的格式 并确定了每种选项的处理方法及其发 送时机 同时制定了三个必须的节点缓存数据结构 并使其在绑定过程中得 以正确维护 本文通过替换数据包的源地址 解决了移动 IPv6 的路由器 入口过滤 问题 通过对 家乡地址目的选项 的正确处理 实现了移动 IP 的操作透明性 通过查找绑定缓存来修改数据包的目的地址 实现了移 动 IPv6 的 路由优化 关键词 移动 I P v 6 绑定 转交地址 入口过滤 路由优化 吉林大学硕士学位论文 I 目录 内容提要 I 第 1 章 绪论 1 1 1 移动 IP 产生的背景及必要性 1 1 2 传统 IP 的局限及 IPv6 的提出 3 1 3 移动 IPv6 的国内外研究现状 4 1 4 本文的主要工作 6 第 2 章 移动 IPv6 协议框架的总体分析 8 2 1 协议基本术语 8 2 2 移动 IPv6 整体框架 9 2 2 1 基本操作概述 9 2 2 2 功能实体分析 10 2 3 移动 IPv6 对移动 IPv4 的改进 14 第 3 章 实现移动 IPv6 所涉及的相关协议介绍 16 3 1 IPv6 简介 16 3 1 1 IPv6 的包头结构 16 3 1 2 IPv6 的扩展头 17 3 1 3 IPv6 对 IPv4 的改进 19 3 2 IPv6 寻址体系结构 19 3 2 1 IPv6 的寻址 20 3 2 2 单播地址在移动 IP 中的应用 20 3 2 3 组播地址在移动 IP 中的应用 21 3 3 邻居发现协议 22 3 3 1 邻居发现协议简介及其在移动 IP 上的应用 22 3 3 2 IPv6 邻居发现协议与 IPv4 的 ARP 协议的比较 24 3 3 3 实现移动 IPv6 对邻居发现协议的修改 25 第 4 章 目的地选项格式设计及相关数据结构的制定 28 4 1 目的地选项的格式设计及应用 28 4 1 1 IPv6 目的地选项头 28 4 1 2 绑定请求选项 29 4 1 3 绑定更新选项 29 吉林大学硕士学位论文 II 4 1 4 绑定确认选项 31 4 1 5 家乡地址目的选项 33 4 1 6 目的选项的子选项 34 4 2 节点缓存的数据结构设计 35 4 2 1 绑定缓存 35 4 2 2 绑定更新列表 36 4 2 3 家乡代理列表 38 第 5 章 移动 IPv6 协议关键技术的设计与实现 40 5 1 试验平台及框架的选择 40 5 1 1 在 linux 下实现移动 IPv6 协议 40 5 1 2 基于 Netfilter 框架实现移动 IPv6 协议 40 5 2 绑定过程的实现 43 5 2 1 绑定请求的发送 43 5 2 2 处理绑定请求 45 5 2 3 绑定更新的发送 46 5 2 4 处理绑定更新 50 5 2 5 绑定确认的发送 52 5 2 6 处理绑定确认 53 5 3 数据包的发送与接收 54 5 3 1 移动 IPv6 数据包的形成 54 5 3 2 数据包的发送 57 5 3 3 数据包的接收 58 第 6 章 总结 61 参 考 文 献 64 致 谢 68 摘 要 I Abstract IV 吉林大学硕士学位论文 1 第2章 绪论 2 1 移动 IP 产生的背景及必要性 在过去的 1 0年中 无线通信和 I n t e r n e t技术的迅猛发展给人们的生活 方式和生活质量带来了巨大的变化 越来越多的用户希望在移动的过程中高 速接入 I n t e r n e t 获取信息和享受娱乐生活 因此 如何让人们能够随时 随地的访问 I n t e r n e t 1 是当前 I n t e r n e t技术研究的一个热点 也是下一 代真正的个人通信技术的目标 移动就网络而言就是下面两种不同层次的移动 2 链路层移动 网络层 移动 在链路层的移动是指在同一 I P子网内移动 例如 当某台移动主机 从一个小区移动至另一个小区而这两个小区属于同一 I P子网时 该移动主 机仅需完成由原小区至新小区的越区切换 这种在链路层的移动仅涉及到移 动主机 移动前的基站及移动后的基站 称之为散步 W a l k i n g 在网络层 的移动是指移动主机在不同 I P子网之间的移动 典型的例子是移动主机从 甲网移动至乙网 而甲乙网可能在不同的城市或国家 在网络层的移动除了 涉及到有关的移动主机及基站以外 还涉及到移动管理路由器 这种移动即 称为漫游 R o a m i n g 本文所研究的就是基于网络层实现的漫游 然而 传统的 I n t e r n e t的互联协议 I P的地址结构和路由算法却不能 满足日益增长的移动用户的需要 3 5 传统的 I P地址分为两层结构 子网 号 用来确定与主机相连的网络 主机号 用来确定这个子网中的特定主 机 主机必须使用固定的 I P地址和端口号相互通信 因此在通信期间二者 必须保持不变 如果一个主机改变了与 I n t e r n e t的连接点 移动到了一个 具有不同网络前缀的子网 那么发向它的数据包将不能正确到达 主机之间 的通信也就无法继续 如图 1 1 所示 移动主机初始在链路 B 上 发向它的 数据包始终被路由到链路 B上 因此当主机移动到链路 C后 数据包将丢 失 即无法保持通信的不间断 吉林大学硕士学位论文 2 图 2 1 数据包因主机的移动而丢失 因此我们要解决的根本问题是当 I P主机在通信期间需要在网路上移动 时 不能因为 I P地址的变化而导致通信的中断 为了解决这个问题 必须 有一种新的协议即移动 I P 来支持 它应满足以下设计要求 6 移动节点改变其链路层连接点后 能够保持 I P地址不变 从而可 以继续和其他节点通信 移动 I P应与现存的 I P协议兼容 不需要对当前的网络连接 用户 设施和路由器的配置进行更改 不应影响当前对 I P地址的分配方 法 也不需要对协议数据单元进行更改 移动节点不应比因特网上的固定节点面临更多的安全威胁 移动 I P协议向上层屏蔽主机的移动 使得上层应用程序不受移动 性的影响 综上 可以看出移动 I P技术可以使得人们一直梦想的无处不在的多媒 体全球网络连接成为可能 它使得用户能够在任何时间 任何地点都可以进 行网络通信 简而言之 移动 I P满足了主机的移动透明性 使得移动 I n t e r n e t 正逐步成为现实 主机的移动透明性包括两个方面 7 操作透明性 移动主机移动前后 用户不需要进行应用软件的重新 配置 或重新启动等特殊的操作 性能透明性 通信性能不因主机的移动而受重大影响 移动透明性是实现移动 I P的重要指标 如果移动透明性得以保证 则 使用移动终端的用户无须顾及自己是否在移动 同时 为了使移动 I P得到广泛的配置和应用 必须致力实现以下目 标 为了使移动 I P能够在无线链路上工作 必须尽量减少路由更新信 吉林大学硕士学位论文 3 息的数量和频率 由于移动终端在性能和功耗上的限制 必须尽量简化移动 I P软件 的设计 考虑到目前 I P v 4地址短缺的困境 移动 I P的应用不应恶化这个问 题 为了能够适应移动主机不断增长的需求 移动 I P必须具有较好的 可扩展性 I E T F等组织已经开始了在移动 I P上的研究 并在移动 I P v 4和移动 I P v 6 方面取得了一定的成绩 2 2 传统 IP 的局限及 IPv6 的提出 I P协议作为 I n t e r n e t I n t r a n e t的网络层协议 其简单性和强大的互 联性为 I n t e r n e t的广泛发展作出了重要贡献 目前的 I P协议的第 4版 I P v 4 为 T C P I P族和 I n t e r n e t提供了基本的通信机制 由此可见 I P v 4 的确是非常出色的设计 然而 随着 I n t e r n e t用户的指数增长 互联网的 体系结构由 N S F N E T核心网络演变为由 I S P I n t e r n e t S e r v i c e P r o v i d e r 互联网服务提供商 运营的分散的体系结构 互联网几乎覆盖了全球的每一 个角落 由此而产生的一个严峻问题就是地址的过度消耗 即没有足够的地 址来满足全球的需要 I P v 4的问题逐渐显露出来 3 2位的 I P地址空间枯 竭 网络号码匮乏 路由表急剧膨胀 对网络安全和多媒体应用的支持不够 等 首先 I P v 4协议规定 每个互联网上的主机和路由器都至少有一个 3 2 位的 I P地址 它包括网络号和主机号 这一编码组合是唯一的 用于 I P 分 组的源地址和目的地址字段 把 I P地址分成两部分的好处是使路由器中的 选路表不致太大 路由器只需为每个网络维护一个路由选择表项 而不必为 每个目的主机维持一个表项 当选路时 只需检查数据包目的 I P地址的网 络部分即可 实际上 I P v 4地址这种网络号 主机号的模式有两个致命的弱点 地址 空间的浪费和过度的路由负担 理论上说 有超过 2 0亿个地址 但实际上 由于分级地址管理 浪费了上千万的地址 其次 除了地址空间方面的局限外 I P v 4在提供满足新的应用的性能 方面也存在着一些局限性 I P v 4的数据包最大只能是 6 4 k字节 这对一些 吉林大学硕士学位论文 4 需要高速 实时传输的应用 如多媒体应用是不够的 另外 在安全性方面 I P v 4不能提供路由器级的安全性 这对诸如电 子商务等对安全性要求很高的应用也是不够的 正是因为原有的 I P v 4自身的局限性不能满足人们对 I P协议的地址空 间 性能 服务质量以及安全性等方面的新需求 I E T F开发设计了 I P协议 的下一版本 I P v 6 I n t e r n e t P r o t o c o l V e r s i o n 6 1 9 9 2 年 I E T F 成立了 I P N G 工作组 1 9 9 2 1 9 9 4 年 I P N G 工作组收到了若干提案 1 9 9 4年夏 I P N G工作组提出了下一代 I P网络协议 I P v 6 的推荐 版本 1 9 9 5 年夏 I P N G 工作组完成了 I P v 6 的协议文本 1 9 9 5 1 9 9 9 年完成了 I E T F 要求的协议审定和测试 1 9 9 9年成立了 I P v 6论坛 开始正式分配 I P v 6地址 I P v 6的协议文 本成为标准规范 I P v 6是为适应未来对于网络基础设施的数量和质量的需求而设计的 8 它不仅继承了 I P v 4的优点 并且根据 1 0年来对 I P v 4运用的经验 进 行了大幅度的功能扩充 IPv6 的出现是移动计算的一个重要里程碑 它是 I P网的可持续发展的 前提 也为移动 I P v 6的发展奠定了良好的基础 移动 IPv6 相对移动 IPv4 而言有很多优势 因为它的设计吸取了移动 IPv4 发展的经验 并且遇上了 设计新版本 IP 协议的大好时机 结合了 IPv6 的很多新特性 这些主要特性 对于未来的移动无线网络的发展非常重要 虽然目前 移动 IPv6 的还只是 一个草案 但 IETF 专家们正在努力工作 估计在不久的将来移动 IPv6 将逐 步成熟完善 成为移动 IP 的标准规范 我们相信 未来移动网络应首选移 动 IPv6 协议 9 2 3 移动 IPv6 的国内外研究现状 1 9 9 6年 6月移动 I P协议由 I E S G I n t e r n e t E n g i n e e r i n g S t e e r i n g G r o u p 通过 并于 1 9 9 6年 1 1月公布为 P r o p o s e d S t a n d a r d 标准提议 它提出的背景就是由于传统的 I P协议并不能满足用户以移动方式接入企业 网和因特网的要求 移动 I P协议的出现 使该问题迎刃而解 它的应用使 主机可以在不同的网络之间用唯一的 I P 地址来标识 无论其物理位置移动到 吉林大学硕士学位论文 5 哪里 数据包都能够透明地传输到这一地址 对于移动 I P v 4 1 0 目前已制订完成了 R F C 2 0 0 2 I P移动性支持 R F C 2 0 0 3 I P内的 I P封装 R F C 2 0 0 4 I P内的最小封装 R F C 2 0 0 5 IP 移 动性的适用性陈述 等等 但是 到目前为止移动 I P v 6的标准还只是一个 草案 正在其修订的过程中不断完善 并经历了多次版本的更新 到目前为 止最新的草案 D r a f t 为 2 0 0 3年 1月的第 2 0版本的 M o b i l i t y S u p p o r t i n I P v 6 基于 I P v 6 的移动 I P 日益成为新的技术焦点 目前世界上有很多组织 机构在对移动 IP 协议进行研究 下面针对 IP 协议的不同版本分别介绍移动 IPv4 和移动 IPv6 的发展现状 基于移动 IPv4 的实验系统有 1 MosquitoNet Mobile IP Implementation 该系统是由 MosquitoNet 小 组研制开发的基于 linux 系统移动 IPv4 的软件 MosquitoNet 小组属 于美国斯坦福大学计算机科学和电子工程系的计算机系统实验室 MosquitoNet 移动 IP 依照的是 RFC 2002 标准 小组开发的目的有两 个 一是作为移动计算试验床的一个组成部分 提供透明的移动功 能 二是寻找移动 IP 的应用方法 2 Dynamics Mobile IP System 该系统是由芬兰赫尔辛基技术大学通信 与软件工程学院的成员研究开发 该移动 IP 系统是一个分级系统 主要考虑应用于无线环境下 其 802 11 b Dynamics 系统主要用于 Linux 系统 但是它的移动节点的功能部分可以运用于 Windows 操 作系统 如 Win98 Win Me Win NT4 等 3 Secure Mobile Networking Project 该项目属于美国波特兰州立大 学 开始于 1995 年 7 月 其主要目的是开发高性能的安全移动网 络 它是基于 BSD 系统下的实验 该项目将 IPSec 与 Mobile IP 集 成起来 使移动无线节点收发的所有包都在 IPSec 的保护之下 基于 IPv6 的实验系统有 1 MIPL Mobile IPv6 for Linux 该系统最早是由芬兰赫尔辛基技术大 学的 HUT Software Project 项目开发 现在由赫尔辛基大学的通信与 多媒体实验室的 GO Core 项目组负责后续的开发工作 MIPL 项目 更新速度快 并且支持最新的 Linux内核版本 2 Monarch Project Implementation Monarch Project 项目属于美国卡耐 基梅隆大学的计算机科学学院 项目主要集中研究支持无线和移动 主机的网络 内容包括协议设计 实现 性能评估等等 它是基于 吉林大学硕士学位论文 6 BSD 系统下实现的 移动 IP 是该项目的一个子项目 已经发行了移 动 IPv4 软件包和移动 IPv6 软件包 3 KAME Project 这是由日本 WIDE Widely Integrated Distributed Environment 组织从事 IPv6 IPSec 协议栈开发的项目组开发的 目前 协议栈中移动 IPv6 的功能正在开发之中 4 Solaris SUN 公司一直从事 Mobile IP 技术的研究 并且积极参与 IETF 关于 IPv6 标准的制订工作 目前发布的 Solaris 8 已经支持 IPv6 SUN 公司的 Mobile IP Implementation 是基于 Solaris 操作系统 的 虽然现在还不支持移动 IPv6 但是 SUN 公司已经表示要在后续 版本中支持移动 IPv6 5 University of Bucharest Implementation 该项目是罗马尼亚布加勒斯 特理工大学 POLITEHNICA University of Bucharest 控制与工业信息 学系和柏林开放通信研究院的一个联合项目 所实现的移动 IP 采用 Windows 驱动程序编程 6 Microsoft MIPv6 Project 微软公司一直积极参与 IPv6 协议栈的研发 工作 继 2001 年发布 IPv6 的协议栈软件包后 微软公司在最新的 Windows XP 操作系统中已经内置支持 IPv6 在移动 IPv6 的研究 上 微软和英国兰卡斯特大学合作 在 LandMARC Project 的基础上 推出了基于 Win2000 的移动 IPv6 软件 国内也有许多著名的大学或科研机构在研究移动 IP 例如 1 北邮 IPv6 研究小组 该小组于 1998 年成立的 目前主要在以下三 个方面开展进一步的研究工作 从 IPv4 到 IPv6 的传输机制的研 究 基于 IPv6 的网络管理的研究 移动 IP 的研究 2 西安电子科技大学的移动计算网络研究组 MCN 它的研究方向包 括移动计算网络 无线移动的数据通信和信息安全等方面的理论和 技术 在移动 IPv4 和移动 IPv6 方面都有所尝试 目前还是在试验 阶段 2 4 本文的主要工作 综上 移动 I P v 6有着广阔的发展前景 自身还在研究的过程中不断发 展完善 本课题的主要工作就在于深入研究移动 I P v 6协议 了解其总体框 架和相关细节 并实现其部分关键技术 主要有以下几个部分 吉林大学硕士学位论文 7 第一 参照移动 I P v 6 草案 实现移动 I P v 6 的绑定过程 设计在绑定管 理过程中所用到的四种新的 I P v 6目的地选项 绑定更新 绑定请求 绑定 确认及家乡地址目的选项 并确定每种选项的处理方法及其发送时机 第二 设计移动 I P v 6所需要维护的三个节点缓存的数据结构 绑定更 新列表 绑定缓存 家乡代理列表 并在绑定过程中实现对他们的正确维 护 第三 实现在移动 I P v 6环境下 各移动节点在离家时如何能够解决 入口过滤 从而正确的发送数据包 各通信节点如何正确接收移动节点以 转交地址为源地址的数据包 使得转交地址的使用对 I P以上各层是透明 的 第四 实现了移动 I P v 6的 路由优化 即拥有绑定信息的通信节点如 何将数据包直接发送到移动节点 而不用经过移动节点的家乡链路转发 吉林大学硕士学位论文 8 第3章 移动 IPv6 协议框架的总体分析 3 1 协议基本术语 为便于理解 下面给出移动 I P v 6 协议中的一些基本概念 1 1 转交地址 C a r e o f A d d r e s s 移动节点访问外地链路时通过 地址主动或被动配置得到的新的 I P地址 该地址的前缀是外地 网的网络前缀 移动节点可以同时拥有多个转交地址 各转交 地址有着不同的网络前缀 其中向移动节点的家乡代理注册的 被称为 主转交地址 主转交地址 唯一 家乡地址 H o m e A d d r e s s 给移动节点分配的家乡网络的 I P地 址 是移动节点的永久地址 其前缀与移动节点家乡网络的网 络前缀相匹配 通信节点 C o r r e s p o n d e n t N o d e 与移动节点进行通信的对方 节点 该节点可能是移动的 也可能是固定的 移动节点 M o b i l e N o d e 移动节点能够从一个链路移动到另一 个链路 在移动过程中这个节点仍然可以通过它的家乡地址寻 址 家乡链路 H o m e L i n k 其前缀与移动节点家乡地址的网络前 缀匹配的网络 标准的 I P路由机制将把发往移动节点家乡地址 的数据包发送到移动节点的家乡网络上 外地链路 F o r e i g n L i n k 除移动节点的家乡链路外的任何其 他链路 家乡代理 H o m e A g e n t 位于移动节点家乡网络上的一个路由 器 移动节点离家后向其注册当前的转交地址 该路由器负责 拦截发往移动节点家乡地址的数据包 并通过隧道把数据包传 送到移动节点的转交地址 移动 M o v e m e n t 移动节点从一个链路切换到另一个链路的过 程 如果移动节点当前不在家乡链路上 那么就称之为 离家 a w a y f r o m h o m e 绑定 B i n d i n g 移动节点的家乡地址与转交地址之间的关联 吉林大学硕士学位论文 9 绑定过程 B i n d i n g P r o c e d u r e 绑定过程最开始由移动节点发 起 移动节点向它的通信节点和它的家乡代理通知当前的绑 定 通信节点和家乡代理根据需要向移动节点发送绑定确认或 绑定请求 3 2 移动 IPv6 整体框架 3 2 1 基本操作概述 移动 I P v 6 的工作环境可以用图 2 1来说明 图中有 3条链路和 3个功 能实体 家乡代理 移动节点 通信节点 链路 A 上有一个路由器提供家乡 代理服务 这条链路是移动节点的家乡链路 移动节点从链路 A移动到链路 B 即此时为 离家 链路 C 上有一与之通信的通信节点 图 3 1 移动 I P v 6 的工作环境 无论移动节点在家乡还是在外地 它总是通过家乡地址来被寻址 当移 动节点在家乡时 可以使用通常的路由机制来对发往移动节点的数据包进行 路由 由于移动节点的子网前缀是移动节点家乡链路的子网前缀 所以发往 移动节点的数据包将被路由到它的家乡链路 当一个移动节点移动到外地链路时 它可以通过主动地址配置或被动地 址配置得到新的转交地址 该地址的子网前缀是移动节点所访问的外地链路 的子网前缀 发往这个转交地址的数据包将被直接路由到在这个外地链路上 的移动节点 吉林大学硕士学位论文 10 在 2 1 节已经指明移动节点的家乡地址和转交地址的关联即为移动节点 的一个绑定 移动 I P v 6正是通过这种绑定 使得移动节点可随时通过家乡 地址寻址到真正的当前地址 转交地址 从而维持了通信的不间断 移动 I P v 6通过定义了四个新的目的地选项来实现绑定 下面将详细介绍 绑 定 的基本过程 当移动节点离开当前所在链路 切换到新的链路上时 会通过有状态的 或无状态的地址配置机制获得新的转交地址 接下来它会向它的家乡代理以 及通信节点发送 绑定更新 来指明它最新的转交地址 当接收方接收到 确认位 置位的 绑定更新 时 要向移动节点返回 绑定确认 移动节点要根据其发出的 绑定更新 和接收到的 绑定确认 来维护 自身的绑定更新列表 以便在列表中各条目到期之前再次发送必要的 绑定 更新 而通信节点则根据接收到的 绑定更新 维护自身的绑定缓存 并 在缓存中各条目到期之前 向移动节点发送必要的 绑定请求 使移动节 点发送最新的 绑定更新 至此 家乡代理和通信节点都有了有关移动节点家乡地址和转交地址的 绑定 家乡代理在家乡链路上利用 代理邻居发现 截获发往移动节点家乡 地址的数据包 根据绑定中注册的转交地址把数据包封装后通过隧道传送到 移动节点 以维持通信的不间断 当通信节点发送数据包时 它应该在绑定 缓存里依据数据包的目的地址查找相应的绑定 如果找到相应条目 那么它 就应该把这个数据包直接路由到移动节点的当前转交地址 从而无须经过家 乡代理转发 3 2 2 功能实体分析 移动 IPv6 定义了三个功能实体 通信节点 家乡代理 移动节点 接 下来将分别阐述他们的基本操作 3 2 2 1 通信节点 Correspondent Node 通信节点既可以是移动的 也可以是固定的 因此 在移动 I P环境 下 通信节点有着一般 I P v 6 节点的共性 首先它要维护绑定缓存 B i n d i n g C a c h e 这个数据结构 当收到有效的 绑定更新选项 时 必须更新它的 绑定缓存 如果绑定缓存里已经存在这条绑定 则必须依据新的 绑定更 新 来更新或者删除这条绑定缓存 否则添加一条绑定记录 如果该 绑定 更新 选项中的 确认位 置位 那么通信节点应该向移动节点发送 绑定 吉林大学硕士学位论文 11 确认 当绑定记录即将过期时 应该根据需要向移动节点发送绑定请求 或者删除过期的绑定记录 当通信节点向任一地址发送数据包时 都应首先检查在绑定缓存中是否 存在该数据包的目的地址所对应的条目 如果有 则把转交地址添置数据包 的路由头 使得该数据包可以直接路由到移动节点的转交地址 如果没有 则正常发送数据包 在这种情况下 如果目的节点是一个静止节点 这个数 据包将被直接送到目的节点 如果目的节点是一个移动节点且目前它不在家 乡链路 那么 该数据包将会被移动节点的家乡代理所截获并通过隧道发送 给移动节点的主转交地址 这就是我们所说的 三角路由 1 2 如图 2 2 所示 我们应该尽量避免这种情况 即使得通信节点拥有移动节点的绑定信 息 图 3 2 三角路由 示意图 通信节点必须能够接收从移动节点发过来的带有 家乡地址目的选项 的数据包 当通信节点检测到家乡地址目的选项时 将选项的家乡地址取 出 替换该 I P v 6数据包的源地址 使得该数据包看起来就是从移动节点的 家乡地址发出的 对上层协议来说 转交地址是不存在的 以保证移动 I P 的操作透明性 3 2 2 2 家乡代理 Home Agent 一般说来 家乡代理时移动节点家乡链路上为其转发数据包的路由器 它不但要维护绑定缓存 还要维护家乡代理列表 H o m e A g e n t L i s t 这个 数据结构 根据所收到的路由器广播消息 家乡代理在它作为家乡代理的每 吉林大学硕士学位论文 12 条链路上都维护一个家乡代理列表 以便为动态家乡代理发现机制 D H A A D D y n a m i c H o m e A g e n t A d d r e s s D i s c o r y 服务 因为 D H A A D不在本 文讨论的范围之内 所以就不加以详述 家乡代理对绑定过程的处理基本上与通信节点类似 与通信节点不同的 是它还应实现以下功能 家乡代理应该能够接受移动节点有效的绑定更新并为之注册 在注 册主转交地址时 能够做重复地址检测 该绑定更新所对应的绑定 缓存条目应标识为 家乡注册 当移动节点离开家乡时 它的家乡代理必须能够通过代理邻居发现 机制为移动节点截获发往移动节点家乡地址的数据包 每个家乡代理必须能够使用 I P v 6封装被截获的数据包 1 3 然后把 它们通过隧道发往移动节点的 主转交地址 每个家乡代理必须能够接收发往 移动 I P v 6家乡代理 任意点播 地址的数据包 并且它必须能够参与到 动态家乡代理地址发现 机制中 每个家乡代理应该支持一个可配置机制来允许系统管理员手动地设 置 家乡代理信息 选项中 家乡代理优先选择权 字段的值 3 2 2 3 移动节点 Mobile Node 移动节点作为移动 IP 中最主要的功能实体 本文将把它的基本操作在 下文加以详细说明 1 需要维护的数据结构 移动节点需要维护一个非常重要的数据结构 绑定更新列表 B i n d i n g U p d a t e L i s t 绑定更新列表记录的是移动节点发出的所有未过期的绑定更 新 无论是发给家乡代理的还是发给通信节点的绑定 如果是发往同一地址 的绑定更新 那么在列表中只存放最近一次发送的 移动节点获得新的转交地址后 依据绑定更新列表向家乡代理或通信节 点重新发送绑定更新 以通知他们自己的最新绑定 当移动节点发送绑定更 新需要绑定确认回复时 它将设置一个初始的等待值及一个最大限度等待 值 如初始等待值到期后 仍未接到确认 则重新发送同一绑定更新 移动 节 点 发 送 同 一 绑 定 信 息 的 时 间 间 隔 必 须 大 于 最 小 时 间 间 隔 M A X U P D A T E R A T E 1秒 当它向一指定节点发送同一绑定更新达到最多 次数 M A X F A S T U P D A T E S 5 时 它应增加发送绑定更新的时间间隔置最 大值 S L O W U P D A T E R A T E 1 0秒 直至接到相应的绑定确认或超出最大限 吉林大学硕士学位论文 13 度等待值后 停止重发该绑定更新 2 移动节点发送数据包 对于 I P层以上的协议来说 移动节点的家乡地址始终是它的 I P地址 各个操作都应该和移动节点在家时一致 因此初始数据包的源地址是其家乡 地址 当移动节点在家乡链路上时 则和普通节点一样发送数据包 当它离 家时 由于家乡地址具有与外地链路不同的子网前缀 所以当这些数据包通 过具有 入口过滤 功能的路由器时 将被路由器过滤掉 因此移动节点需 要将数据包的源地址修改为当前的转交地址 进而通过外地链路正常发送出 去 同时还要向数据包插入 家乡地址目的选项 用以携带移动节点的家 乡地址 3 在本文中移动节点应该可以接收以下两种情况的数据包 a 当通信节点在绑定缓存里没有对应移动节点的绑定信息时 它将数 据包发送到移动节点的家乡链路 再通过家乡代理经隧道将数据包 发送到移动节点 b 当存在相对应的绑定信息时 通信节点直接将数据包发往移动节点 的转交地址 通过第一种方式接收的数据包 移动节点应该向数据包的初始发送节点 里层数据包的源地址 即通信节点发送绑定更新消息 以让通信节点在绑 定缓存中为其建立相关的条目使得接下来的数据包能直接发送给移动节点 从而解决 三角路由 1 4 的问题 如图 2 3 所示 图 3 3发送绑定更新以解决 三角路由 吉林大学硕士学位论文 14 通过第二种方式接收的数据包 移动节点应该将家乡地址从数据包的家 乡地址选项中取出 替换目的地址 以保证转交地址对上层应用的透明性 4 移动节点的移动检测 移动节点应用 I P v 6邻居发现 1 5 的机制 包括路由器发现和邻居不可达 检测 来实现移动检测 用以判断自身是否由原先的链路切换到新的链路 上 当移动节点检测出它已切换到新的链路上时 可以使用无状态 1 6 或有 状态 1 7 的地址自动配置 来形成新的转交地址 5 回到家乡链路上的处理 当移动节点通过移动检测发现家乡链路子网前缀再次在线时 表明它已 返回家乡链路 移动节点应该发送特定的 绑定更新 给家乡代理或通信节 点 从而通知对方它已经 回家 通过处理该绑定更新 家乡代理将不再 响应对移动节点家乡地址的邻居请求 也不再截获发往该地址的数据包 并 删除相关缓存表项 向移动节点返回绑定确认 至此 恢复至移动节点在家 乡链路上的正常情况 3 3 移动 IPv6 对移动 IPv4 的改进 移动 I P v 6的设计汲取了移动 I P v 4的设计经验 并且利用了 I P v 6的许 多新的特征 所以提供了比移动 I P v 4更多的 更好的特点 1 8 因此 移动 I P v 6 已经成为移动 I P 技术发展的主流 现总结一下移动 I P v 6 和移动 I P v 4 的主要的不同之处 一 在移动 I P v 4的基本协议中存在有 三角路由 问题 1 9 即通信节 点发往移动节点的数据包需要经过家乡代理转发 在移动 I P v 6 中 通过修 改数据包的目的地址允许任何通信节点和移动节点之间直接路由数据包 在 这种方式下 移动节点的家乡代理和家乡链路较少的参与了数据包的传输 因此由家乡代理的失效及家乡链路网络阻塞带来的影响也被大大减低了 二 在移动 I P v 6中可以允许移动节点与具有 入口过滤 功能的路由 器同时存在并有效工作而不互相影响 在移动 I P v 6中 移动节点通过修改 数据包的源地址为它当前转交地址 使得数据包正常的通过具有 入口过 滤 功能的路由器 而移动节点的家乡地址被携带在数据包的 家乡地址目 的选项 中 三 在移动 I P v 6 中不再有 外地代理 的概念 在移动 I P v 4 中 移动 节点通过外地代理接收经隧道传过来的数据包 并取得转交地址 2 0 在移 吉林大学硕士学位论文 15 动 I P v 6中 移动节点在离开家乡链路时可以利用 I P v 6 的增强功能 如 邻 居发现 和 地址自动配置 机制 进行独立操作 而不需要任何来自于当 地路由器的特殊支持 四 在安全性方面 移动 I P v 6使用 I P S e c来满足更新绑定时的所有安 全需求 发送者认证 数据完整性保护 重传保护等 也就是说移动 I P v 6 的安全性是建立在 I P v 6的安全机制之上的 因此移动 I P v 6可以省去很多 用来应付安全性的工作 而移动 I P v 4必须依赖自己的安全机制 增加了系 统的负担 五 在移动 I P v 6中 对于发往离开家乡链路的移动节点的数据包 使 用 I P v 6的 路由报头 来发送 而不使用 I P封装 而在移动 I P v 4中对于 所有的数据包必须使用封装技术 2 1 使用 路由报头 需要较少的附加报 头字节 从而减少了移动 I P分发数据包的负担 但是 为了防止在数据包 发送的过程中被修改 在移动 I P v 6中 由移动节点的家乡代理截获并通过 隧道发送到移动节点的数据包必须仍然使用封装技术 六 当移动节点离开家乡时 它的家乡代理使用 I P v 6的 邻居发现 机制来截获发往移动节点的数据包 而不是使用 I P v 4中的 A R P协议 邻 居发现 的使用提高了协议的健壮性并且简化了移动 I P的实现 使得移动 I P v 6 不需要再考虑与 A R P 相关的特定数据链路层的性质 七 在移动 I P v 4 中由于 I C M P协议的局限性必须使用 隧道软状态 的 概念 而在移动 I P v 6中 由于使用了 I P v 6封装 和 路由报头 从而 不再需要 隧道软状态 根据 I C M P v 6的定义 无论如何都可以把 I C M P 错误消息 正确的传送到数据包的初始发送者 八 由于使用了 I P v 6 协议的 目的地选项 所以允许移动 I P v 6 的控 制消息附加在任何的 I P v 6数据包中 这样可以减少网络的通信量 而在移 动 I P v 4 中 对于每个控制消息都必须使用独立的 U D P 数据包进行发送 综上 可以看出移动 I P v 6对移动 I P v 4有着重大的改进 解决了移动 I P v 4种很多重要问题 简化了移动 I P的实现 同时也在不同程度上较少了 数据包的负载 降低了网络流量 移动 I P v 6增强了协议的健壮性 使得移 动 I P 的运行机制更加有效 可靠 吉林大学硕士学位论文 16 第4章 实现移动 IPv6 所涉及的相关协议介绍 4 1 IPv6 简介 1998 年 12 月 IETF 经过进一步的研究 推出了 IPv6 的第二版规范 RFC2460 Internet 协议第六版规范 RFC2460 Internet Procotol Version IPv6 Specification 取代了的 1995 年 12 月制定的 RFC1883 因为本文所研 究的是基于 IPv6 的移动 IP 协议 因此在这里首先简单介绍一下 IPv6 协议 22 4 1 1 IPv6 的包头结构 在I P v 4 中 包头以3 2 位为单位 即基本的长度单位是4 个字节 在I P v 6 中 包头以6 4 位为单位 且包头的总长度是4 0 字节 I P v 6 协议的包头结构如 图3 1 所示 版本 业务流类别 流标签 净荷长度 下一个头 跳极限 源 IP 地址 目的 IP 地址 数据报的数据部分 净荷 图 4 1 IPv6 的包头结构 版本 长度为4 位 对于I P v 6 该字段必须为6 类别 长度为8 位 指明为该包提供了某种 区分服务 R F C 1 8 8 3 中 最初定义该字段只有4 位 并命名为 优先级字段 在最新的I P v 6 规 范中 称之为 业务流类别 该字段的定义独立于I P v 6 目前尚未在 任何R F C 中定义 该字段的默认值是全0 流标签 长度为2 0 位 用于标识属于同一业务流的包 一个节点可以同 吉林大学硕士学位论文 17 时作为多个业务流的发送源 流标签和源节点地址唯一标识了一个业务 流 在R F C 1 8 8 3 中这个字段最初被设计为2 4 位 但当类别字段的长度增 加到8 位后 流标签字段被迫减小长度来作补偿 净荷长度 长度为1 6 位 其中包括包净荷的字节长度 即I P v 6 头后的包 中包含的字节数 这意味着在计算净荷长度时包含了I P v 6 扩展头的长 度 下一个头 这个字段指出了I P v 6 头后所跟的头字段中的协议类型 与 I P v 6 协议字段类似 下一个头字段可以用来指出高层是T C P 还是U D P 它 也可以用来指明I P v 6 扩展头的存在 跳极限 长度为8 位 每当一个节点对包进行一次转发之后 这个字段 就会被减1 如果该字段达到0 这个包就将被丢弃 I P v 4 中有一个具有 类似功能的生存期字段 但与I P v 4 不同 人们不愿意在I P v 6 中由协议定 义一个关于包生存时间的上限 这意味着对过期包进行超时判断的功能 可以由高层协议完成 源地址 长度为1 2 8 位 指出了I P v 6 包的发送方地址 目的地址 长度为1 2 8 位 指出了I P v 6 包的接收方地址 这个地址可以 是一个单播 组播或任意点播地址 如果使用了选路扩展头 其中定义 了一个包必须经过的特殊路由 其目的地址可以是其中某一个中间节 点的地址而不必是最终地址 4 1 2 IPv6 的扩展头 将I P v 4 选项合并到标准I P v 4 头比较复杂 I P v 4 头最短为2 0 字节 最长为 6 0 字节 由此可见I P v 4 选项改变了I P 头的大小 他们必须由路由器翻译以对 I P 包进行处理 这意味着路由器必须优化其性能 2 3 这种方法有两个影 响 其一 路由器实现时往往对附加选项的包进行分流处理 因此导致处理 效率降低 其二 由于选项导致性能下降 应用开发者倾向于不使用选项 使用I P v 6 扩展头 可以在不影响性能的前提下实现选项 I P v 6 中实现的 扩展头可以消灭或至少大量减少选项带来的对性能的冲击 通过把选项从I P 头中搬到净荷中 路由器可以像转发无选项包一样来转发包含选项的包 除 了规定必须由每个转发路由器进行处理的逐跳选项之外 I P v 6 包中的选项对 于中间路由器而言是不可见的 因此开发者可以在必要时使用选项 而无须 担心路由器会对带扩展选项的包区别对待 吉林大学硕士学位论文 18 除了减少I P v 6 包转发时选项的影响外 I P v 6 规范使得对于新的扩展和选 项的定义变得更加简单 在需要的时候可能还会定义其他的选项和扩展 移 动I P v 6 就是通过定义新的目的地选项来实现其绑定过程的 2 4 R F C 2 4 6 0 中为I P v 6 定义了如下选项扩展 逐跳选项头 此扩展头必须紧随在I P v 6 头之后 它包含包所经路径上的 每个节点都必须检查的选项数据 由于它需要每个中间路由器进行处 理 逐跳选项只有在绝对必要的时候才会出现 选路头 此扩展头指明包在到达目的地途中将经过哪些节点 它包含沿 途经过的各节点的地址列表 I P v 6 头的最初目的地址是路由头的一系列 地址中的第一个地址 而不是包的最终目的地址 此地址对应的节点接 收到该包之后 对I P v 6 头和选路头进行处理 并把包发送到选路头列表 中的第二个地址 如此继续 直到包到达其最终目的地 分段头 此扩展头包含一个分段偏移值 一个 更多段 标志和一个标 识符字段 用于源节点对长度超出源端和目的端路径M T U 的包进行分 段 目的地选项头 此扩展头代替了I P v 4 选项字段 此扩展头可以用来携带 由目的地节点检查的信息 移动I P v 6 则充分利用了这个选项头 定义了 四个可由它携带的新的目的地选项 在第四章里我们将加以详细说明 身份验证头 A H 此扩展头提供了一种机制 对I P v 6 头 扩展头和净荷 的某些部分进行加密的校验和的计算 封装安全性净荷 E S P 头 这是最后一个扩展头 不进行加密 它指明 剩余的净荷已经加密 并为已获得授权的目的节点提供足够的解密信 息 一个I P v 6 包可以有多个扩展头 但是 只有一种情况允许同一类型的扩 展头在一个包中多次出现 而且各扩展头在链接时有一个首选顺序 R F C 2 4 6 0 建议扩展头应该依照如下顺序 1 I P v 6 头 2 逐跳选项头 3 目的地选项头 应用于I P v 6 目的地址字段的第一个目的地和 选路头中所列的附加目的地中 4 选路头 5 分段头 6 身份验证头 吉林大学硕士学位论文 19 7 E S P 头 8 目的地选项头 当使用选路头时 仅应用于包的最终目的地 9 上层协议头 从以上顺序可知 在同一个I P 包中只有目的地选项扩展头可以多次出 现 并且仅限于包中包含选路扩展头的情况 上述顺序并不是绝对的 例如 前面已提及在包的其余部分要加密时 E S P头必须是最后一个扩展头 同样 逐跳选项优先于所有其他扩展头 因 为每个接收 I P v 6 包的节点都必须对该选项进行处理 4 1 3 IPv6 对 IPv4 的改进 I P v 6 中的变化体现在以下五个重要方面 2 5 扩展地址 简化头格式 增强对于扩展和选项的支持 流标记 身份验证和保密 I P v 6 的扩展地址意味着I P 可以继续增长而无需考虑资源的匮乏 该地址 结构对于提高路由效率有所帮助 2 6 I P v 6 使用了固定格式的包头并减少了 需要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论