移动IP的原理

news2024/11/16 13:53:11

目的

使得移动主机在各网络之间漫游时,仍然能保持其原来的IP地址不变

工作步骤

  1. 代理发现与注册
    请添加图片描述
    • 主机A:主机A移动到外地网络后,通过“代理发现协议”,与外地代理建立联系,并从外地代理获得一个转交地址,同时向外地代理注册自己的永久地址和归属代理地址。
    • 外地代理:外地代理将移动主机A的永久地址记录在自己的注册表中,并向移动主机的归属代理注册该移动主机的转交地址。
      • 转交地址:当外地代理和移动主机不是一台设备时,就是外地代理的IP地址;是一台设备时,就是移动主机在外地网络的IP地址。转交地址只会作为从归属代理到外地代理的IP隧道的出口地址而存在,而既不会作为移动主机发送IP数据报的源地址,也不会作为移动主机所接收IP数据报的目的地址
      • 移动主机发送时:移动主机接收数据报时,需要下面的归属代理作为中间人发给外地代理再给自己,但移动主机作为发送方时,由于IP路由器不关心源地址,因此可以把外地代理作为默认路由器或从外地代理获取其他路由器,然后直接发送
    • 归属代理:随后归属代理会将A的转交地址记录下来,此后归属代理会替代移动主机接受所有发送给该主机的IP数据报,并用IP隧道技术将这些数据报转交给外地网络中的移动主机
      • 归属代理是怎么冒充移动主机的:移动主机不在归属网络时,归属代理会以自己的MAC地址应答所有对该移动主机的ARP请求,即“归属代理采用ARP代理技术”。为了使归属网络中其他各主机和路由器能尽快更新各自的ARP高速缓存,归属代理还会主动发送ARP广播,并声称自己是该移动主机。这样所有发送给该移动主机的IP数据报都会发送给归属代理
      • IP隧道技术:将原IP数据报(源地址是B的IP地址,目的地址是A在归属网络中的永久地址)作为数据载荷,添加新的首部(目的地址是外地代理的地址),由归属代理发送给外地代理。当外地代理从IP隧道中收到并解封出原IP数据报时,会在自己的代理注册表中查找移动主机的永久地址所对应的MAC地址,然后将数据报封装到目的地址为该MAC地址的帧中发送给移动主机。
  2. 三角形路由问题
    请添加图片描述
    • 问题描述:即使在固定主机与移动主机之间存在一条更有效的路径,发往移动主机的IP数据报也要先发送给归属代理,造成转发低效
    • 解决方法:给固定主机配置一个通信代理,固定主机发送给移动主机的IP数据报,都要通过该通信代理转发。
      • 步骤:通信代理先从归属代理获取移动主机的转交地址,之后所有发送给移动主机的IP数据报,都利用转交地址直接通过IP隧道发送给移动主机的外地代理,而无须再通过移动主机的归属代理进行转发。
      • 评价:这种方法以增加复杂性为代价,并要求固定主机也要配置通信代理,也就是对固定主机不再透明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/798089.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YAML+PyYAML笔记 2 | YAML缩进、分离、注释简单使用

2 | YAML缩进、分离、注释简单使用 1 简介2 缩进3 分离4 多行文本4.1 折叠块4.2 字面块4.3 引用块 5 注释5.1 行内注释5.2 块注释5.3 完美注释示例 1 简介 YAML 不是一种标记语言,而是一种数据格式;使用缩进和分离来表示数据结构,不需要使用…

tauri在github上进行自动更新打包并发版过程,实战操作避坑

从网上找了很多很多的文章,结果还是入坑了,一个问题找了一天才解决: Error A public key has been found, but no private key. Make sure to set TAURI_PRIVATE_KEY environment variable. 596 ELIFECYCLE  Command failed with exit code…

Unbantu环境 Poetry下载安装,亲自测试过

一、下载安装 我使用pip来进行的安装,命令如下: pip install poetry通过上面步骤后,会在这个目录生产执行文件 /home/xxxx/./local/bin在这个目录下面,可以看到poetry文件。 成功后,需要配置环境变量 二、配置环…

Yolov8 引入ICCV 2023 | 南开大学提出LSKNet:遥感旋转目标检测新SOTA | 助力backbone

💡💡💡本文改进:Large Selective Kernel Network (LSKNet)通过一个空间选择机制来实现的,该机制对一连串的大 depth-wise 卷积核所处理的特征进行有效加权,然后在空间上将它们合并。这些核的权重是根据输入动态确定的,允许该模型自适应地使用不同的大核,并根据需要调…

音频深度学习变得简单:自动语音识别 (ASR),它是如何工作的

一、说明 在过去的几年里,随着Google Home,Amazon Echo,Siri,Cortana等的普及,语音助手已经无处不在。这些是自动语音识别 (ASR) 最著名的示例。此类应用程序从某种语言的语音音频剪辑开始&…

项目文档管理的基本指南

项目文档是一种关键的项目管理资源,它可以提供清晰度,保证参与项目的每个人都在同一页面上,从而确保项目按时、按预算完成。 本文将讨论项目文档的重要性、如何在项目中使用项目文档以及选择好合适的项目文档管理软件的技巧。 什么是项目文…

【C语言】位段枚举联合

鹅,鹅,鹅,曲项向天歌。白毛浮绿水,红掌拨清波。 — 唐代骆宾王《咏鹅》 这篇博客我们会详细介绍位段,以及枚举类型和联合类型 位段是什么?🍀 位段的声明和结构是类似的,有两个不同…

数据库数据恢复-导致oracle数据库数据丢失的常见故障分析

作为存储和处理数据的系统,oracle数据库在使用过程中不可避免会出现各种导致数据丢失和数据损坏的故障。北亚企安数据恢复工程师根据十多年的案例经验,总结出oracle数据库常见故障以及恢复可能性。 1、Oracle数据库无法启动或者启动后无法正常工作。 如果…

如何写一篇吸引人的美食营销软文?纯干货

信息化时代,美食营销软文已经成为了餐饮业吸引顾客的重要手段之一。那么,如何才能写出一篇吸引人的美食营销软文呢?本文伯乐网络传媒将从以下几个方面进行深刻讨论。 一、抓住顾客的心理需求 要写一篇成功的美食营销软文,首先要抓…

最新版Onenet云平台HTTP协议接入上传数据

2023年最新版Onenet更新后,原来的多协议接口已经找不到,由于需要用HTTP接入,就研究了一下新版Onenet云平台,搞清楚Onenet云平台的鉴权信息,就知道怎么上传数据了,包括后续上传实际数据,其实只需…

Jenkins 还可以支持钉钉消息通知?一个插件带你搞定!

Jenkins 作为最流行的开源持续集成平台,其强大的拓展功能一直备受测试人员及开发人员的青睐。大家都知道我们可以在 Jenkins 中安装 Email 插件支持构建之后通过邮件将结果及时通知到相关人员。 但其实 Jenkins 还可以支持钉钉消息通知,其主要通过 Ding…

800*A. Cherry

Example input 4 3 2 4 3 4 3 2 3 1 2 69 69 6 719313 273225 402638 473783 804745 323328output 12 6 4761 381274500335解析: 每次只计算相邻两个数的乘积,乘积的最大值即为答案。 取三个元素 a,b,c,那么其最大值…

Vue3 Radio单选切换展示不同内容

Vue3 Radio单选框切换展示不同内容 环境&#xff1a;vue3tsviteelement plus 技巧&#xff1a;v-if&#xff0c;v-show的使用 实现功能&#xff1a;点击单选框展示不同的输入框 效果实现前的代码&#xff1a; <template><div class"home"><el-row …

HuntingNFT 全新玩法引爆市场,GameFi掘金新热土?

“HuntingNFT v2 版本推出后&#xff0c;全新上线的驻守玩法、献祭玩法正在为玩家带来十分可观且持续的收益&#xff0c;其正在成为 GameFi 掘金的新热土。” 在经历了 2021 年的短暂狂欢后&#xff0c;随着 2022 年年初市场遇冷转熊&#xff0c;GameFi 市场也开始不断降温。根…

IDEA live templates

surround 在SQL的xml里 可以修改变量 官方文档 CDATA not null <if test"$SELECTION$ ! null and $SELECTION$ ! "> and $VAR1$ #{$SELECTION$} </if>not null like mysql <if test"$SELECTION$ ! null and $SELECTION$ ! "> and…

Gitlab 备份与恢复

备份 1、备份数据&#xff08;手动备份&#xff09; gitlab-rake gitlab:backup:create2、备份数据&#xff08;定时任务备份&#xff09; [rootlocalhost ]# crontab -l 00 1 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create 说明&#xff1a;每天凌晨1点备份数据…

WebDAV之π-Disk派盘 + POJO

POJO 支持WebDAV方式连接π-Disk派盘。 Pojo文档管理是一种简单而强大的文档管理方法,利用Java编程语言的普通对象来管理文档。你可以使用Pojo对象来表示和操作文档的属性、内容和元数据。这种面向对象的方法使得文档管理更加灵活和可扩展。 结合派盘,Pojo文档管理变得更加…

按是否手工执行测试的角度划分:手工测试、自动化测试

1.手工测试&#xff08;Manual testing&#xff09; 手工测试是由人一个一个的输入用例&#xff0c;然后观察结果&#xff0c;和机器测试相对应&#xff0c;属于比较原始但是必须的一个步骤。 由专门的测试人员从用户视角来验证软件是否满足设计要求的行为。 更适用针对深度…

炎热夏天,VR全景让你宅家也能逛风景

夏天的快乐都是空调给的&#xff0c;进入三伏天气以来&#xff0c;连续的高温让人坐着都是一身汗&#xff0c;尤其是活泼好动的小朋友们&#xff0c;不出去玩那是不可能的。不妨改变下策略&#xff0c;让小朋友们转战线上&#xff0c;还能学习知识&#xff0c;是不是美滋滋呢~~…

JS逆向之猿人学爬虫第20题-wasm

文章目录 题目地址sign参数分析python算法还原往期逆向文章推荐题目地址 https://match.yuanrenxue.cn/match/20第20题被置顶到了第1页,题目难度 写的是中等 算法很简单,就一个标准的md5算法,主要是盐值不确定, 而盐值就在wasm里面,可以说难点就在于wasm分析 sign参数分…