移动网络的原理

无线网络是如何解决移动通信问题的

场景:用户在一辆轿车内以150km/h的时速沿高速公路急速行驶时穿过多个无线接入网,用户希望在整个旅程中保持一个与远程应用的不间断的TCP连接。

解决方案:移动节点的间接路由选择方法可解决TCP链接不间断的问题。其原理如下

  • 通信者:需要访问移动节点。虽然它不知道移动节点身在何处,但它知道移动节点的永久地址。

  • 移动节点:具有无线网络通信功能,并且可以到处移动的通信设备,比如:手机,笔记本电脑。当移动节点进入一个外部网络时,会主动向外部网络的外部代理注册,外部代理会将移动节点的转交地址告诉归属代理。当移动节点离开时,会向外部代理注销。

  • 归属代理:又称为 本地代理。移动节点 永久IP地址 所在网络称为 归属网络。 在该网络中,代表移动节点执行移动管理功能的实体叫做 归属代理。

  • 外部代理: 又称为 外地代理。 在外部网络中,帮助移动节点完成移动管理功能的实体,称为外部代理。图中展示的外部代理和移动节点是两个实体,但其实外部代理的功能也可以由移动节点自身完成。

  • 永久地址:又称为归属地址。 移动站点 在 归属网络中的 原始地址。

  • 转交地址:又称为外部地址。 是移动节点在外部网络中使用的临时地址;

间接路由选择.png

图1 间接路由选择方法

  1. 通信者将报文直接发送出去,报文的目标IP为:128.119.40.186(移动节点的永久地址),这个报文会被路由到归属代理;
  2. 如果移动节点处在归属网络中,那归属代理就直接将报文发送给移动节点。 如果移动节点在外地网络,就将原始报文封装起来,然后将新报文的目标IP设置为转交地址(相当于建立隧道),并发送出去。
  3. 外部代理将收到的报文后,拆封报文,然后将原始报文发送给移动节点。
  4. 移动节点回复通信者。因为知道通信者的IP,因此通过广域网直接发送即可,回复报文的源IP为移动节点的永久地址。
  5. 当移动节点在网络之间移动时,数据报流也不会中断,因为上层协议(如TCP)会处理数据丢失的问题。
  6. 整个过程通信者都不知道移动节点所处位置,移动节点的移动对于通信者来说完全透明。

参考:

[1] 移动IP —— 移动IP的概念和通信过程 (https://blog.csdn.net/starter_____/article/details/102754380)

[2] 《计算机网络-自定向下方法》 7.5节

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

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

相关文章

python学opencv|读取图像(十三)BGR图像和HSV图像互相转换深入

【1】引言 前序学习过程中,我们偶然发现:如果原始图像是png格式,将其从BGR转向HSV,再从HSV转回BGR后,图像的效果要好于JPG格式。 文章链接为: python学opencv|读取图像(十二)BGR图…

解决node.js的req.body为空的问题

从昨晚一直在试,明明之前用的封装的axios发送请求给其他的后端(springboot)是可以的,但昨天用了新项目的后端(node.js)就不行。 之前用了代理,所以浏览器发送的post请求不会被拦截,…

【嵌入式】嵌入式面试题 36 问

1. volatile 是否可以修饰 const 是的,volatile 可以修饰 const。const 表示变量的值不能被修改,而 volatile 表示变量的值可能在程序之外被修改(例如,由硬件修改)。 将 volatile 用于 const 变量意味着该变量的值虽然…

java基础概念49-数据结构2

一、树 1-1、树的基本概念 1、树的节点 2、二叉树 3、树的高度 1-2、二叉查找树 普通二叉树没有规律,不方便查找,没什么作用。 1、基本概念 2、添加节点 此时,该方式添加形成的二叉查找树,根节点就是第一个节点。 3、查找节点 4…

GhatGPT缺陷不足和商业应用

1. 引言 ChatGPT的兴起: 2022年末推出,迅速在自然语言处理和人工智能领域引起广泛关注。数亿用户体验其强大智能,感叹机器智能的飞速发展。 存在的缺陷: 事实性错误:生成的文本中包含错误信息。无法实时更新&#xff1…

【Linux】Macvlan介绍及LInux下例子实现

Macvlan Macvlan 是一种网络虚拟化技术,允许在同一物理网络接口上创建多个虚拟网络接口,每个虚拟接口都有自己独立的 MAC 地址。这对于需要在同一物理主机上运行多个网络隔离的应用程序或容器时非常有用。 Macvlan 的特点和用途 独立的 MAC 地址 每个 …

Jackson @JsonInclude 注解

1. 概述 Jackson 是一个著名的Java库,以转换Java对象为JSON格式以及从JSON反序列化回Java对象而闻名。有时候,我们可能希望仅在某些字段满足特定条件时才将其包含在JSON输出中,而Jackson的JsonInclude注解正是为此目的量身定制的。 JsonInc…

12.12 枚举 共用体 数据结构 创建顺序表

1.思维导图 2. 创建顺序表 1>头文件 test.h #ifndef __TEST_H__ #define __TEST_H__#include<stdlib.h> #include<stdio.h> #include<string.h>#define MAX 30 //typedef int datatype;typedef struct sequence {int data[MAX];int len;}seqlist,*se…

next.js 存在缓存中毒漏洞(CVE-2024-46982)

免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…

如何对小型固定翼无人机进行最优的路径跟随控制?

控制架构 文章继续采用的是 ULTRA-Extra无人机&#xff0c;相关参数如下&#xff1a; 这里用于guidance law的无人机运动学模型为&#xff1a; { x ˙ p V a cos ⁡ γ cos ⁡ χ V w cos ⁡ γ w cos ⁡ χ w y ˙ p V a cos ⁡ γ sin ⁡ χ V w cos ⁡ γ w sin ⁡ χ…

【Flink-scala】DataStream编程模型之延迟数据处理

DataStream API编程模型 1.【Flink-Scala】DataStream编程模型之数据源、数据转换、数据输出 2.【Flink-scala】DataStream编程模型之 窗口的划分-时间概念-窗口计算程序 3.【Flink-scala】DataStream编程模型之水位线 4.【Flink-scala】DataStream编程模型之窗口计算-触发器-…

react useRef、useContext、useReducer使用中遇到的问题及解决办法

在 React 中&#xff0c;useRef、useContext 和 useReducer 是三个非常有用的 Hook&#xff0c;它们可以帮助我们更好地管理组件的状态和行为。然而&#xff0c;在使用这些 Hook 时&#xff0c;可能会遇到一些问题和困惑。本文将详细解释这三个 Hook 的工作原理&#xff0c;并提…

2024告别培训班 数通、安全、云计算、云服务、存储、软考等1000G资源分享

大类有&#xff1a;软考初级 软考中级 软考高级 华为认证 华三认证&#xff1a; 软考初级&#xff1a; 信息处理技术员 程序员 网络管理员 软考中级&#xff1a; 信息安全工程师 信息系统监理师 信息系统管理工程师 嵌入式系统设计时 数据库系统工程师 电子商务设…

《操作系统 - 清华大学》8 -1:进程的组成

文章目录 1. 进程的组成2. 进程与程序的联系3. 进程与程序的区别4. 进程与程序关系 1. 进程的组成 进程具体包含哪些东西&#xff1a; 首先要执行相应的代码&#xff0c;所以执行代码需要放到内存中代码执行需要处理数据&#xff0c;数据需要放到内存中需要知道现在要执行哪条…

【Java】String类API

创建字符串 字符串字面量"Hello"高效&#xff0c;常量池复用常见、简单的字符串创建 new 关键字new String("Hello")每次创建新对象&#xff0c;性能开销较高显式创建新对象 字符数组new String(char[])转换字符数组字符数组转字符串 StringBuilder/St…

数据结构初阶---二叉树---堆

一、树 1.树的概念 树是一种非线性的数据结构&#xff0c;由n(n≥0)个有限结点组成的一个有层次关系的集合。形状类似一棵倒挂的树&#xff0c;根朝上&#xff0c;分支向下。 根结点没有前驱结点&#xff0c;可以有n(n≥0)个后继结点。 其余结点被分为M个互不相交的集合&am…

CocosCreator对配置文件加密

一、加密 1.首先假设你已经将Excel表格数据导出为了json数据 2.然后可以通关nodejs对其进行xor加密 const fs require(fs);// 读取配置文件 const path "hero_info.json"; const data fs.readFileSync(path, utf-8); const jsonObject JSON.parse(data);// XO…

学习 Dockerfile 常用指令

学习 Dockerfile 常用指令 在构建 Docker 镜像时&#xff0c;Dockerfile 文件是一份至关重要的配置文件&#xff0c;它定义了构建镜像的所有步骤。通过在 Dockerfile 中使用不同的指令&#xff08;命令&#xff09;&#xff0c;我们可以控制镜像的构建过程、设置环境、指定执行…

D95【python 接口自动化学习】- pytest进阶之fixture用法

day95 pytest的fixture详解&#xff08;二&#xff09; 学习日期&#xff1a;20241210 学习目标&#xff1a;pytest基础用法 -- pytest的fixture详解&#xff08;二&#xff09; 学习笔记&#xff1a; fixture(autouseTrue) func的autouse是TRUE时&#xff0c;所有函数方法…

C语言 字符串输入输出函数、scanf(“%[^\n]“,)可输入空格 、fgets删除换行符

字符串输入函数&#xff1a; scanf&#xff08;"%s"&#xff0c;数组名&#xff09; gets&#xff08;数组名&#xff09; fgets&#xff08;&#xff09; --- 文件流输入函数 函数原型&#xff1a; int scanf( const char *format, ...…