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

【TCP/IP】17. 移动 IP

这里写自定义目录标题

  • 17. 移动 IP
    • 17.1 移动 IP 的出现
    • 17.2 移动 IP 的基本术语
    • 17.3 移动 IP 的工作原理
      • 17.3.1 代理发现
      • 17.3.2 位置注册
      • 17.3.3 数据传输(隧道技术)
    • 17.4 移动 IP 的效率
    • 本章要点

17. 移动 IP

17.1 移动 IP 的出现

移动 IP 技术的核心需求是解决移动节点在跨网络漫游时,保持固定 IP 地址并持续通信的问题,其出现源于传统网络方案的局限性。

  1. 背景与需求
    随着便携设备(如笔记本、PDA)的普及,用户希望在移动过程中无需修改 IP 地址,仍能接入网络并保持通信。传统解决方案存在明显缺陷:
    • 若移动节点每次换网时修改 IP 地址,需频繁更新域名系统(DNS),操作复杂且影响通信连续性;
    • 采用蜂窝数字分组数据(CDPD)标准,需专用基础设施,与现有互联网不兼容,维护成本高;
    • 基于主机地址路由会浪费路由器资源,无法满足大规模网络需求。
  2. 移动 IP 的解决方案
    移动 IP 借鉴蜂窝移动电话的呼叫处理原理,让移动节点使用固定不变的 IP 地址,无论接入哪个网络,均可通过网络层机制实现通信持续,无需修改上层应用或依赖专用设施。

17.2 移动 IP 的基本术语

移动 IP 涉及多个核心术语,这些术语是理解其工作机制的基础。

  1. 移动代理(Mobility Agent)
    移动代理是具备移动 IP 功能的路由器,分为两类:

    • 归属代理(Home Agent)
      位于移动节点的归属网(Home Network)(节点原始注册的网络),至少有一个接口连接归属网。其核心功能是:当移动节点离开归属网时,通过 IP 隧道将发往移动节点的数据包转发至其当前位置;维护移动节点的位置信息。
    • 外区代理(Foreign Agent)
      位于移动节点当前接入的外区网(Foreign Network),其核心功能是:向移动节点提供转交地址;接收归属代理通过隧道发来的数据包,解除封装后转发给移动节点;作为移动节点的默认路由器(转发移动节点发出的数据包)。
  2. 移动 IP 地址
    移动节点拥有两个 IP 地址,分别用于标识身份和当前位置:

    • 归属地址(Home Address)
      移动节点的固定 IP 地址,用于标识端到端连接,与归属网关联。无论节点移动到何处,归属地址保持不变。

    • 转交地址(Care-of Address):

      临时分配的地址,标识移动节点当前所在的外区网位置,随节点移动而变化。分为两种类型:

      • 外区代理转交地址:由外区代理提供,可被多个移动节点共享(优先使用)。外区代理是隧道终点,负责解除数据包封装。
      • 协同定位转交地址(Co-located Care-of Address):由移动节点自身通过 DHCP 等方式获取,仅能被单个节点使用。移动节点自身作为隧道终点,自行解除封装。
  3. 位置注册(Registration)
    移动节点需将当前位置信息(转交地址)告知归属代理,以确保数据包能被正确转发。注册规则分为三种:

    • 通过外区代理注册:移动节点向外区代理发送注册请求,外区代理中继至归属代理;归属代理处理后,通过外区代理向移动节点返回注册应答。
    • 直接向归属代理注册:移动节点直接向归属代理发送注册请求,归属代理直接返回应答(通常用于使用协同定位转交地址时)。
    • 返回归属网注册:移动节点返回归属网时,向归属代理撤销之前的注册,恢复在归属网的正常通信。
  4. 代理发现(Agent Discovery)
    移动节点通过此过程识别当前网络中的移动代理(归属代理或外区代理),确定自身是否在归属网,并获取转交地址。分为两种方式:

    • 被动发现:移动节点等待移动代理周期性广播代理通告报文(含代理类型、转交地址等信息)。
    • 主动发现:若未收到代理通告,移动节点广播代理请求报文,触发代理立即发送通告。
  5. 隧道技术(Tunneling)
    当移动节点在外区网时,归属代理需将原始数据包转发至其转交地址,此时通过隧道技术将原始数据包封装在新的 IP 数据包中,使其 “透明” 传输至隧道终点(外区代理或移动节点自身)。移动 IP 支持三种隧道技术:IP 封装、最小封装、通用路由封装(GRE)。

17.3 移动 IP 的工作原理

移动 IP 的工作过程分为三个核心阶段:代理发现、位置注册、数据传输(基于隧道技术)。

17.3.1 代理发现

移动节点通过此阶段确定自身位置(归属网 / 外区网),并获取转交地址(若在外区网)。

  1. 被动发现(基于代理通告)

    • 移动代理(归属代理或外区代理)周期性广播

      代理通告报文

      (基于 ICMP 路由器发现机制扩展),报文包含:

      • 基本 ICMP 首部:类型 = 9(通告),代码 = 16(移动代理专用),校验和、生存期(代理发送频率)等;
      • 移动代理通告扩展首部:类型 = 16,长度 = 6+4×N(N 为转交地址数),序号(已发送通告数),注册生存时间(最长注册有效期),标志位(R = 要求注册、B = 代理忙、H = 归属代理、F = 外区代理等),以及转交地址列表(外区代理至少包含一个)。
    • 移动节点接收通告后,通过标志位判断代理类型(归属 / 外区),若为外区代理,提取转交地址。

  2. 主动发现(基于代理请求)

    • 若未收到代理通告,移动节点广播代理请求报文(ICMP 路由请求报文,IP 首部 TTL=1),触发链路上的移动代理立即回复通告。
    • 移动节点通过回复的通告获取代理信息和转交地址。

17.3.2 位置注册

移动节点将当前转交地址告知归属代理,完成注册后,归属代理可将数据包转发至正确位置。

  1. 通过外区代理注册(最常用)
    • 流程:
      1. 移动节点向外区代理发送注册请求报文(含归属地址、转交地址、注册生存期等);
      2. 外区代理验证请求后,中继至归属代理;
      3. 归属代理检查请求(如是否允许注册),生成注册应答报文(接受 / 拒绝),返回外区代理;
      4. 外区代理处理应答后,转发给移动节点。
  2. 直接向归属代理注册
    • 适用场景:移动节点使用协同定位转交地址(自身作为隧道终点)。
    • 流程:移动节点直接向归属代理发送注册请求,归属代理直接返回应答。
  3. 返回归属网注册
    • 移动节点返回归属网后,向归属代理发送撤销注册请求,解除之前的位置绑定,恢复在归属网的正常通信。

17.3.3 数据传输(隧道技术)

当移动节点在外区网时,归属代理通过隧道将发往移动节点的数据包转发至其转交地址,三种隧道技术的具体实现如下:

  1. IP 封装(IP Encapsulation,RFC 2003)
    • 原理:在原始 IP 数据包首部前添加外层 IP 首部,外层首部的源地址为归属代理地址,目的地址为转交地址(隧道终点),协议字段 = 4(标识内层为 IP 协议)。
    • 解封装:隧道终点(外区代理或移动节点)收到后,去除外层首部,恢复原始数据包并转发。
    • 特点:实现简单,是移动 IP 必须支持的技术,开销约 20 字节(外层 IP 首部)。
  2. 最小封装(Minimal Encapsulation,RFC 2004)
    • 原理:不添加完整外层首部,仅在原始 IP 首部(修改后)与数据之间插入最小转发首部(含源地址、目的地址等)。原始 IP 首部的协议字段 = 55(标识最小封装)。
    • 限制:仅适用于未分片的数据包(可选技术)。
    • 解封装:隧道终点将转发首部的信息恢复到原始 IP 首部,移除转发首部。
    • 特点:开销较小(8-12 字节),但适用场景有限。
  3. 通用路由封装(GRE,RFC 1701)
    • 原理:在原始数据包前添加GRE 首部和外层 IP 首部。GRE 首部含可选字段(校验和、密钥、序号等),外层 IP 首部协议字段 = 47(标识 GRE)。
    • 特点:支持多种网络层协议的封装(不仅限于 IP),但开销最大(含 GRE 首部和外层 IP 首部)。

17.4 移动 IP 的效率

移动 IP 虽解决了基本移动性问题,但存在局限性,IPv6 对其进行了优化。

  1. 移动 IP 的不足
    • 三角路由时延:通信对端将数据包发送至归属代理,再由归属代理隧道转发至外区代理,最后到移动节点;而移动节点的回复直接发往通信对端,形成三角形路径,增加时延且可能导致归属代理成为瓶颈。
    • 隧道封装开销:三种隧道技术均会增加额外首部(20 字节以上),消耗带宽。
    • QoS 支持不足:未定义带宽预留等 QoS 机制,难以支持实时业务;无线链路的低带宽、高误码率进一步影响性能。
    • 两次跨越因特网的低效率:若远程主机与移动节点位于同一外区网,数据包仍需先经归属代理转发,绕路导致低效。
  2. IPv6 对移动 IP 的优化
    • 路由优化:移动 IPv6 中,通信对端可直接向移动节点的转交地址发送数据包,无需经归属代理,消除三角路由(路由优化成为协议核心部分,所有 IPv6 节点支持)。
    • 绑定更新与缓存:移动节点切换外区网后,向归属代理和通信对端发送绑定更新(告知归属地址与新转交地址的关联);接收方将关联信息存入绑定缓存,后续直接按绑定发送数据包。
    • 解决入口过滤问题:移动 IPv6 中,移动节点发送数据包时,源地址可使用转交地址(与外区网子网前缀匹配),避免被具有 “入口过滤” 功能的路由器拦截;归属地址通过 “归属地址” 目的地选项携带,通信对端接收后自动替换为归属地址,保证透明性。

本章要点

  • 移动 IP 的核心是让移动节点保持固定 IP 地址(归属地址),实现跨网络漫游时的持续通信,对通信对端和上层应用透明。
  • 核心术语包括:移动代理(归属代理、外区代理)、归属地址、转交地址(外区代理 / 协同定位)、位置注册、代理发现、隧道技术。
  • 工作过程分三阶段:代理发现(被动 / 主动)、位置注册(三种规则)、数据传输(IP 封装、最小封装、GRE 隧道)。
  • 移动 IP 存在三角路由时延、封装开销等问题,IPv6 通过路由优化、绑定机制等进行了针对性优化,提升了效率和可靠性。
http://www.lryc.cn/news/585330.html

相关文章:

  • 深度学习篇---松科TPU部署代码分析
  • sqli-labs靶场通关笔记:第5-6关 报错注入
  • [Java 17] 无模版动态生成 PDF:图片嵌入与动态表格渲染实战
  • C++内存泄漏高效定位与排查指南
  • 使用云虚拟机搭建hadoop集群环境
  • Telegraf vs. Logstash:实时数据处理架构中的关键组件对比
  • docker-compose安装常用中间件
  • SpringCloud之Eureka
  • 局域网联机游戏设置跨网跟他人异地联机玩的二种常用实现方法
  • docker 启动中间件
  • OKCC系统源码搭建需要准备什么
  • 制作一款打飞机游戏79:道具拾取系统
  • 前端面试专栏-算法篇:22.树结构(二叉树、B树、红黑树)
  • flex 布局完整功能介绍和示例演示
  • 牛客:HJ17 坐标移动[华为机考][字符串]
  • Umi-OCR 的 Docker(win制作镜像,Linux(Ubuntu Server 22.04)离线部署)
  • Elasticsearch安装、入门、基础API操作、全文检索、精准查询、地理查询、复合查询、排序、分页、高亮、数据聚合、自动补全、数据同步、ES集群
  • 连锁门店如何统一固定资产盘点?总部+门店协同攻略
  • 基于Python的豆瓣图书数据分析与可视化系统【自动采集、海量数据集、多维度分析、机器学习】
  • nginx 负载均衡配置(加解决重复登录问题)
  • 【机器学习】机器学习基础
  • 借助 Wisdom SSH AI 助手,轻松安装 CentOS 8 LNMP 环境
  • 财务数字化——83页麦肯锡——建立成功的财务管理体系【附全文阅读】
  • V少JS基础班之第七弹
  • 人形机器人公司融合Xsens与Manus动作捕捉技术,利用人工智能训练机器人模仿人类动作,以执行复杂任务
  • OGG-00551 ODBC error: SQLSTATE 22007,从字符串转换日期和/或时间时,转换失败
  • JAVA面试宝典 -《Spring Boot 自动配置魔法解密》
  • 【氮化镓】不同偏压应力下电荷俘获效应导致的P-GaN HEMT阈值电压不稳定性
  • JVM方法区的运行时常量区到底存储哪些数据?
  • 【牛客刷题】dd爱科学1.0