移動網絡的原理

無線網絡是如何解決移動通信問題的

場景:用戶在一輛轎車內以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.pswp.cn/web/63030.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/63030.shtml
英文地址,請注明出處:http://en.pswp.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, ...…