計網Lesson8 - NAT技術與鏈路層概述

文章目錄

  • NAT 技術
    • 1. 因特網的接入方式
    • 2. 公網和私網
    • 3. NAT 技術
  • 鏈路層
    • 1. 數據鏈路層概述
    • 2. 數據鏈路層的三個問題
      • 2.1 封裝成幀
      • 2.2 透明傳輸
      • 2.3 差錯檢測



NAT 技術

1. 因特網的接入方式

接入方式

光貓將電信號轉換為數字信號發送給路由器

  1. 光纖入戶
    光纖入戶

光纖傳遞的就是數字信號,不需要轉換


2. 公網和私網

公網與私網

所以私網 IP 想進入公網,需要先將私網 IP 轉換為公網 IP


3. NAT 技術

nat1
nat2

  • NAT 轉換
    • 靜態轉換
      • 每個私網 IP 有個固定與之對應的公網 IP
    • 動態轉換
      • 每個私網IP 在需要發送數據時進行動態申請,路由器在 IP 池里選一個分配給私網 IP
    • PAT
      • NAT 將相同主機的不同端口對應到同一公網 IP 的不同端口上
      • NAT 將不同主機也會對應到同一公網 IP 的不同端口上
      • 內部網絡的所有主機均可共享一個合法外部 IP 地址實現對 Internet 的訪問,從而可以最大限度地節約 IP 地址資源。同時,又可隱藏網絡內部的所有主機,有效避免來自 internet 的攻擊。


鏈路層

1. 數據鏈路層概述

  • 鏈路是指從一個節點到相鄰節點的一段物理線路(不管有線無線),而且中間沒有其他交換節點
    鏈路
    • 集線器本身就只是一種線路連接設備,沒有任何交換行為存在
    • 交換機有交換行為,所以是一個節點

數據鏈路

  • 信道
    • 廣播信道用于局域網,也就是私網中。
    • 點對點信道用于骨干網中路由器的接受與發送。
  • 鏈路與數據鏈路的關系
    • 鏈路包含數據鏈路
    • 在數據傳輸的過程中,會經過多條鏈路,每條鏈路上的數據鏈路協議可能不同,這些協議可能包括以太網協議、局域網協議、無線協議等。這些協議都屬于數據鏈路層的協議,它們的主要作用是在不可靠的物理鏈路上建立可靠的數據傳輸。
      • 在網絡層進行互聯時,物理層的協議必須相同,而數據鏈路層的協議可以不同。這是因為物理層的協議決定了如何在物理媒介上發送和接收數據,而數據鏈路層的協議則決定了如何在這些物理鏈路上進行可靠的數據傳輸。因此,即使數據鏈路層的協議不同,只要物理層的協議相同,數據仍然可以在網絡層進行互聯。這就是為什么在一個數據的傳輸過程中,每條鏈路上的協議可能會不同的原因。

2. 數據鏈路層的三個問題

2.1 封裝成幀

  • 幀(Frame)的數據部分是從 IP 層傳下來的數據包
    幀

  • 最大傳輸單元 MTU(Maximum Transfer Unit)

    • 每一種數據鏈路層協議都規定了所能傳輸的幀數據長度上限
    • 以太網的 MTU 為 1500 1500 1500 字節
  • 以太網V2的 MAC 幀
    以太網mac幀

    • 以太網多用于邊緣網絡上的主機與路由的互聯。
      • 所以幀中包含了 MAC 地址,標記目標
    • 最小幀長為 64 64 64 字節,其中 MTU 最小為 46 46 46 字節。
      • 當數據不足 46 B 46B 46B 時,協議會對數據包進行填充補 0 0 0
    • 以太網幀的接收
      • 以太網幀使用曼徹斯特編碼,每一個碼元的正中間都一定會有一次電壓的跳變,當以太網把一個 MAC 幀發完過后就不在發送其他的碼元了(MAC 幀之間都是有一定間隙的),所以這樣就很容易找到幀的結束位置。
      • 而 MAC 幀前含有前導碼標記數據的開始
        在這里插入圖片描述
  • PPP 幀
    ppp幀

    • PPP 幀的接收
      • PPP是一種點對點協議,邏輯上相連的就一臺設備,因此不需要尋址。PPP 在封裝方式以以太網的封裝方式不同,它沒有以太網幀所要求的 MAC 地址,它通過自身的協商過程實現點到點的數據傳輸。PPP 幀發送的是連續字節流,必須前后都添加定界符以區分不同的幀。在同一個廣播域中只能有兩個節點,無法加入第三個節點,所以也并不需要物理地址。

封裝成幀

2.2 透明傳輸

  • 透明傳輸是指數據鏈路層對上層交付的數據不做任何改變,使得上層感受不到有數據鏈路層的存在。

    不做任何改變是指上層接收到的數據跟發送來的數據一致,而不是數據鏈路層不對數據做任何操作。

    • 發送方數據鏈路層會對數據做出操作,然后在接收方的數據鏈路層將操作去除,讓接收方的網絡層拿到的數據跟發送時的一樣,對于雙方網絡層來說是“透明的”。
  • 面向字節的物理鏈路使用字節填充法實現透明傳輸。
    字節填充

    • 數據鏈路層將網絡層協議封裝成幀時,會在首部和尾部分別添加SOH以及EOT這兩個特殊字符,接收方是根據這兩個字符來確定幀首和幀尾的。
    • 如果上層協議發送過來的數據(即鏈路層的數據部分)包含EOT,那么接收方在解析這個幀的時候就會誤以為數據已經結束1。所以,如果鏈路層對這種情況沒有特殊處理,那么就可以理解鏈路層為非透明傳輸(因為無法傳輸EOT這個字符)。
    • 但是數據鏈路層通過對這個字符添加轉移符(如果網絡層數據中還存在轉移符,就再添加一個轉移符)的辦法來使數據部分可以傳輸EOT字符,就實現了透明傳輸。
  • 面向比特的物理鏈路使用零比特填充法實現透明傳輸。 零比特傳輸法

    • 在 PPP 協議和 HDLC 協議中,都使用了這種方法。
      • 零比特填充法:當數據中出現連續 5 5 5 “ 1 ” “1” “1” 時,在其后面插入一個 “ 0 ” “0” “0”。接收端在接收到數據時,如果發現連續 5 5 5 “ 1 ” “1” “1”,就將其后面的 “ 0 ” “0” “0” 刪除,從而還原出原來的數據。

2.3 差錯檢測

  • 奇偶校驗
    • 對數據每次取一位進行異或,最終得到答案 1 1 1 0 0 0,代表數據中 1 1 1 的數量是奇數還是偶數,然后接收方按這個進行驗證。
    • 奇偶校驗只能應用于產生一個誤碼的情況,如果產生了多個誤碼,那么這種情況就不適用了。
  • 循環冗余校驗(CRC):一般計算的鏈路層采用循環冗余校驗CRC。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/211678.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/211678.shtml
英文地址,請注明出處:http://en.pswp.cn/news/211678.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python+pytest接口自動化(12)-自動化用例編寫思路 (使用pytest編寫一個測試腳本)

經過之前的學習鋪墊,我們嘗試著利用pytest框架編寫一條接口自動化測試用例,來厘清接口自動化用例編寫的思路。 我們在百度搜索天氣查詢,會出現如下圖所示結果: 接下來,我們以該天氣查詢接口為例,編寫接口測…

錯題總結(三)

1.寫代碼將三個整數數按從大到小輸出。 例如&#xff1a; 輸入&#xff1a;2 3 1 輸出&#xff1a;3 2 1 int main() {int a 0;int b 0;int c 0;int tep 0;scanf("%d%d%d", &a, &b, &c);if (a < b){tep a;a b;b tep;}if (b < c){tep b…

每日一練2023.12.9—— 矩陣A乘以B【PTA】

題目鏈接&#xff1a;L1-048 矩陣A乘以B 題目要求&#xff1a; 給定兩個矩陣A和B&#xff0c;要求你計算它們的乘積矩陣AB。需要注意的是&#xff0c;只有規模匹配的矩陣才可以相乘。即若A有Ra?行、Ca?列&#xff0c;B有Rb?行、Cb?列&#xff0c;則只有Ca?與Rb?相等時&a…

Linux Shell 基礎命令

Linux 是一個開源的操作系統&#xff0c;其命令行界面是它的重要組成部分。在這個界面下&#xff0c;Shell 是一個能夠與操作系統進行交互的工具。Shell 是一種程序&#xff0c;它能夠接收用戶輸入的命令&#xff0c;并將這些命令發送到操作系統中進行處理。 在 Linux 中&…

Docker實戰筆記 三 Docker私有庫

1.拉取私有庫image rootcenots-7.5:/root#docker pull registry Using default tag: latest latest: Pulling from library/registry c926b61bad3b: Pull complete 5501dced60f8: Pull complete e875fe5e6b9c: Pull complete 21f4bf2f86f9: Pull complete 98513cca25bb: P…

VINS-MONO代碼解讀5----vins_estimator(marginalization部分)

文章目錄 0. 前言1.1 Marginalization Pipiline 1. marg factor構建1.1 變量及維度理解1.2 IMUFactor1.3 ProjectionTdFactor(ProjectionFactor)1.4 MarginalizationFactor( e p e_p ep?推導更新&#xff0c;FEJ解決的問題)1.4.1 先驗殘差的更新1.4.2 先驗Jacobian的更新 2. R…

windows install git

refer: https://developers.weixin.qq.com/miniprogram/dev/devtools/wechatvcs.html https://blog.csdn.net/weixin_40228200/article/details/128451324 在使用小程序的時候&#xff0c;需要初始化項目&#xff0c;需要注冊Git賬號 1.在本地確認cmd沒有安裝Git,進入Git官網…

docker:安裝mysql以及最佳實踐

文章目錄 1、拉取鏡像2、運行容器3、進入容器方式一方式二方式三容器進入后連接mysql和在宿主機連接mysql的區別 持久化數據持久化數據最佳實踐 1、拉取鏡像 docker pull mysql2、運行容器 docker run -d -p 3307:3306 --name mysql-container -e MYSQL_ROOT_PASSWORD123456 …

Botton進一步了解(點擊事件)

點擊事件和長按事件 監聽器&#xff1a;專門監聽控件的動作行為。只有控件發生了指定的動作&#xff0c;監聽器才會觸發開關區執行對應的代碼邏輯。按鈕控件有兩種常用的監聽器&#xff1a; 點擊監聽器&#xff1a;通過setOnClickListener方法設置。按鈕被按住少于500ms時會觸…

2023濟南大學acm新生賽題解

通過答題情況的難度系數&#xff1a; 簽到&#xff1a;ACI 銅牌題&#xff1a;BG 銀牌題&#xff1a;EF 金牌題&#xff1a;DHJKO 賽中暫未有人通過&#xff1a;LMNP A - AB Problem 直接根據公式計算就行。 #include<stdio.h> int main(){int a,b;scanf("%…

安卓MediaRecorder(2)錄制源碼分析

文章目錄 前言JAVA new MediaRecorder() 源碼分析android_media_MediaRecorder.cpp native_init()MediaRecorder.java postEventFromNativeandroid_media_MediaRecorder.cpp native_setup() MediaRecorder 參數設置MediaRecorder.prepare 分析MediaRecorder.start 分析MediaRec…

當前 .NET SDK 不支持面向 .NET X.0 (如8.0)問題的解決方案

如果您加載方案或運行時出現如下錯誤時&#xff1a; 當前 .NET SDK 不支持面向 .NET 8.0。請面向 .NET 7.0 或更低版本&#xff0c;或者使用支持 .NET 8.0 的 .NET SDK 版本。從 https://aka.ms/dotnet/download 下載 .NET SDK (項目名稱).Domain C:\Program Files\dotnet\…

Windows在cmd中執行bat腳本

在Linux中執行腳本常用的是sh或者直接輸入腳本名稱即可。 sh shell腳本.sh # 或者 shell腳本.sh在Windows中類似&#xff0c;使用start或者直接輸入腳本名稱。 start bat腳本.bat :: 或者 bat腳本.bat

【Angular開發】Angular在2023年之前不是很好

做一個簡單介紹&#xff0c;年近48 &#xff0c;有20多年IT工作經歷&#xff0c;目前在一家500強做企業架構&#xff0e;因為工作需要&#xff0c;另外也因為興趣涉獵比較廣&#xff0c;為了自己學習建立了三個博客&#xff0c;分別是【全球IT瞭望】&#xff0c;【架構師酒館】…

SSL證書更新

首先&#xff0c;我們需要理解為什么需要更新SSL證書。SSL證書的有效期通常為一年。一旦證書過期&#xff0c;瀏覽器會顯示警告&#xff0c;提示用戶該網站的SSL證書已經過期&#xff0c;這可能會導致用戶對網站的信任度下降&#xff0c;甚至直接離開網站。此外&#xff0c;一些…

【Python】手把手教你用tkinter設計圖書管理登錄UI界面(一)

下一篇&#xff1a; 本項目將分段設計“圖書管理登錄UI界面”的用戶登錄、用戶注冊、用戶賬號找回等。主要圍繞GUI標準庫tkinter、以及類的繼承&#xff08;重點&#xff09;來設計本項目。 首先新建一個文件夾命名為“圖書管理系統項目”&#xff0c;并在其目錄下新建文件夾…

【分治】最接近點對Python實現

文章目錄 [toc]問題描述一維最接近點對算法Python實現 二維最接近點對算法分治算法時間復雜性Python實現 問題描述 給定平面上 n n n個點&#xff0c;找其中的一對點&#xff0c;使得在 n n n個點組成的所有點對中&#xff0c;該點對的距離最小 一維最接近點對算法 Python實…

LED透鏡粘接UV膠是一種特殊的UV固化膠,用于固定和粘合LED透鏡。

LED透鏡粘接UV膠是一種特殊的UV固化膠&#xff0c;用于固定和粘合LED透鏡。 它具有以下特點&#xff1a; 1. 高透明度&#xff1a;LED透鏡粘接UV膠具有高透明度&#xff0c;可以確保光線的透過性&#xff0c;不影響LED的亮度和效果。 2. 快速固化&#xff1a;經過UV紫外線照射…

CPU、MCU、MPU、DSP、FPGA各是什么?有什么區別?

1、CPU 中央處理器&#xff0c;簡稱 CPU&#xff08;Central Processing Unit&#xff09;&#xff0c;中央處理器主要包括兩個部分&#xff0c;即控制器、運算器&#xff0c;其中還包括高速緩沖存儲器及實現它們之間聯系的數據、控制的總線。 電子計算機三大核心部件就是CPU…

力扣257. 二叉樹的所有路徑(遞歸回溯與迭代)

題目&#xff1a; 給你一個二叉樹的根節點 root &#xff0c;按 任意順序 &#xff0c;返回所有從根節點到葉子節點的路徑。 葉子節點 是指沒有子節點的節點。 示例 1&#xff1a; 輸入&#xff1a;root [1,2,3,null,5] 輸出&#xff1a;["1->2->5","…