計算機網絡(1

網絡初識

目錄

  • 網絡初識
    • 一. 網絡分類
      • 1. 局域網LAN(Local Area Network):
      • 2. 廣域網WAN(Wide Area Network):
    • 二. 組建網絡的基礎設備
      • 1. 路由器
      • 2. 交換機
    • 三. 標識符
  • 協議 (protocol)
    • 一. 協議分層
      • 1. 分層的好處
      • 2. OSI七層分層
      • 3. TCP/IP五層模型(或四層) 模型
        • (1. 物理層(可不算)
        • (2. 數據鏈路層
        • (3. 網絡層
        • (4. 傳輸層
        • (5. 應用層
      • 4. OSI 與 TCP/IP模型
    • 二. 協議層與層之間的配合
      • 封裝分用
        • (1. 封裝操作
        • (2. 分用操作

一. 網絡分類

1. 局域網LAN(Local Area Network):

若干個電腦, 連接到一起, 通過路由器進行組網;

2. 廣域網WAN(Wide Area Network):

把很多的局域網進一步相連, 構成更復雜的網絡體系;

二. 組建網絡的基礎設備

專門崗位: 網絡管理員

1. 路由器

  • 路由器是一種網絡設備,用于在不同網絡之間傳輸數據包。它能夠識別網絡中的不同設備,并根據目標地址將數據包轉發到正確的目標網絡。
  • 路由器工作在網絡層(OSI模型中的第三層),能夠實現網絡之間的連接和通信。
  • 它具有查找路由表、選擇最佳路徑、轉發數據包等功能,使得數據能夠在不同網絡之間進行傳輸。

2. 交換機

  • 交換機是一種局域網設備,用于連接多臺計算機并在它們之間傳輸數據。它能夠識別連接到其端口的設備,并根據MAC地址轉發數據包到正確的目標設備。
  • 交換機工作在數據鏈路層(OSI模型中的第二層),能夠在局域網內部實現設備之間的快速數據交換。
  • 它具有學習MAC地址、構建轉發表、實現數據的無碰撞轉發等功能,使得局域網內的數據傳輸更加高效可靠。

三. 標識符

IP地址: 區分主機;
端口號: 區分主機商不同的程序或服務;

協議 (protocol)

通信雙方, 對于通信規則一定雙方認可的約定.
例如: 螺絲和螺帽, USB接口規格, 瓶蓋規格, 語言的交流.

進行網絡通信的時候, 一定需要網絡協議.

  • 因為兩個通信的主機設備, 不同的硬件, 不同的操作系統需要協議整合.

一. 協議分層

  • 當單個的東西很復雜, 就拆分成多個部分, 部分太多的話就進行分類, 分類要解耦合.

1. 分層的好處

  • 達到封裝的效果
    某一層協議, 不必知道其他層協議的細節, 降低學習使用的成本.

  • 任意層次的協議, 都可以靈活替換, 給整個網絡體系, 升級迭代, 帶來了很大的便利 ---- 解耦合.

2. OSI七層分層

OSI: 即 Open Sysrem Interconnection, 開放系統互連.
客觀世界中不存在的.
在這里插入圖片描述

3. TCP/IP五層模型(或四層) 模型

OSI的簡化, 即真實時間采取的網絡分層模型.
目前能接觸到的網絡, 大部分都是 TCP/IP模型.
在這里插入圖片描述

(1. 物理層(可不算)

硬件層面, 網線, 網口, 與數據鏈路層關系緊密.

(2. 數據鏈路層

關注的是, 通信過程中, 兩個相鄰節點之間的通信.

(3. 網絡層

關注的是通信路徑的規劃, 數據要經過哪些節點.

(4. 傳輸層

關注的是通信雙方的 “起點” 和 “終點”, 端到端的傳輸.

(5. 應用層

與具體 程序 直接相關, 傳輸數據的用途.
將 應用層, 表示層, 會話層 合并.

4. OSI 與 TCP/IP模型

在這里插入圖片描述

下四層的協議都是系統內核實現好的.
對于JAVA程序員, 重點關注的就是 應用層 + 傳輸層.

筆試題(選擇):
路由器, 是工作在上述協議的哪一層;
交換機, 是工作在上述協議的哪一層;

路由器工作在網絡層 (三層轉發);
交換機工作在數據鏈路層 (二層轉發);

但是現在不斷完善路由器和交換機的功能, 界限也越來越模糊了, 有些 路由器/交換機 能工作在應用層.

二. 協議層與層之間的配合

協議的層與層之間
上層協議調用下層協議,
下層協議給上層提供服務.

封裝分用

(1. 封裝操作

網絡上數據的傳輸, 本質上是(二進制 bit 流)字符串.
因此, 要傳輸的發送人, 接收人, 消息時間, 內容 都要組織到一個字符串內. 組織的時候需要一定的格式, 不同的協議, 數據組織的格式是不同的.

我們所發的信息本身是一個結構化數據(包含很多屬性),需要先轉成字符串.

  • 序列化: 結構化數據 ==> 字符串/二進制字符串.
  • 反序列化: 字符串/二進制字符串 ==> 結構化數據.
  1. 創建應用層數據包

    當應用層數據包有了之后, 程序就要調用系統的 api 讓應用程序去調用.接著把應用層數據交給傳輸層.
    在這里插入圖片描述

  2. 傳輸層拿到應用層數據包
    典型的協議有兩個: “TCP, UDP”
    進一步封裝數據包, 構造成傳輸層數據包. 在傳輸層.

  • UDP 數據包
    在這里插入圖片描述
    TCP同上
    報頭中則放入的是 UDP的相關屬性, 比如發件人和收件人的端口號;
    后面的則是 UDP 數據包的載荷(payload);
    進一步調用網絡層的api, 把上述的 IP數據包, 交給網絡層協議;
  1. 網絡層拿到數據包
    典型的協議: “IP協議”
  • IP 數據包
    在這里插入圖片描述
    IP報頭包含 收件人的IP地址 和 發件人的IP地址;
    IP報頭后則是IP數據包的載荷;
    此時還是在此臺機器上進行操作;
    之后進一步調用數據鏈路層的api, 把上述的 IP數據包, 交給數據鏈路層協議;
    這里的 api 往往是網卡的驅動程序提供的.
  1. 數據鏈路層拿到數據包
    典型協議: “以太網”
    “以太” 的原本是 物理學中 被稱作 真空中光傳播的介質, 此處傳輸網絡數據也需要介質, 則把這個名稱拿來用了.
    我們電腦通過有線網傳輸數據的協議, 就是 “以太網” 協議, 網線則被稱作 “以太網線”.
  • 以太網數據幀
    在這里插入圖片描述
    上述的以太網數據幀, 本質上還是二進制數據.
  1. 物理層
    硬件設備
    硬件設備把上述的二進制數據轉換成 光信號/電信號/電磁波 才會真正的發射.

    發射后也并非直接從 A 到達 B , 而是先到達與A 相連的交換機/路由器.
    數據經過 交換機/路由器 一系列轉發后, 最終到達 B

上述層層包裝數據, 不同的添加數據報頭的過程, 被稱為 “封裝”

(2. 分用操作

B 方操作

  1. 物理層
    收到一系列光信號, 把這些信號轉換成二進制數據, 交給數據鏈路層

  2. 數據鏈路層 (以太網協議)
    按照以太網協議, 對數據進行解析(解析報頭關鍵信息, 為后續傳輸和轉發打下基礎, 拿到數據載荷數據).
    在這里插入圖片描述

  3. 網絡層 (IP 協議)
    IP協議拿到IP數據包, 按照協議格式進一步解析, 解析報頭中的關鍵信息, 取出載荷, 把載荷再交給傳輸層.
    在這里插入圖片描述

  4. 傳輸層 (UDP/TCP)
    在這里插入圖片描述

  5. 應用層
    程序拿到應用數據包
    在這里插入圖片描述
    按照程序的協議格式, 進行解析(反序列化), 拿到這里的結構化數據, 顯示到界面上.

中間的路由器, 交換機也會進行封裝分用, 不過交換機封裝分用到數據鏈路層, 即可知道下一步如何轉發了, 路由器, 封裝分用到網絡層, 即可知道下一步如何轉發了


完…

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

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

相關文章

6.8 LIBBPF API(七,bpf_core_read.h 函數,定義,枚舉)

一,函數 void * bpf_rdonly_cast (const void *obj, __u32 btf_id) __ksym __weak 二,定義 __CORE_RELO(src, field, info) __builtin_preserve_field_info((src)->field,BPF_FIELD_##info) __CORE_BITFIELD_PROBE_READ(dst, src, fld) bpf_probe_read_kernel( \ (v…

學習前端第四十二天(修改文檔)

1、創建一個元素 docunment.createElement( tag );創建一個元素節點 let div document.createElement(“div”);創建一個div標簽 document.createTextNode( Text );創建一個文本節點 let t…

Windows hook介紹與代碼演示

Windows Hook 是一種機制,允許應用程序監視系統或處理特定事件。它可以攔截和更改消息,甚至可以插入到其他應用程序的消息處理機制中。Windows 提供了多種掛鉤類型,例如鍵盤掛鉤、鼠標掛鉤、消息掛鉤等。 hook代碼實現 下面是一個使用 Wind…

【Zotero】【MacOS】Zotero6常用插件總結

因為目前MacOS只支持Zotero6,所以我將網上找到的教程以及自己找到適應Zotero6版本的插件做了個整合 教程地址:Zotero6安裝/插件安裝教程 插件地址:Zotero6_Plugs

Django教程——數據庫操作(增刪改查)

在上篇文章中我們學習了Django教程——模型,這篇文章學習Django教程——數據庫操作(增刪改查)。 在學習數據庫操作之前,我們需要定義好模型類,模型類代碼如下: from django.db import models class UserM…

OS復習筆記ch7-1

存儲的基本管理需求 重定位 重定位(Relocation):需要解決可執行文件中地址(指令和數據)和內存地址的對應。 一般有兩種比較常見的重定位方式: 靜態重定位(static relocation):當程序被裝入內存時,一次性…

Python pdf2imges -- pdf文件轉圖片

pdf文件轉圖片,需要安裝PyMuPDF包,具體PyMuPDF包介紹可以參考:Python 處理 PDF 的神器 -- PyMuPDF import fitz # pip install PyMuPDF# PDF轉換為IMG統一管理 def pdf_to_images(pdf_path, img_path, filename):"""pdf_p…

Mac系統國內通過nvm快速安裝node

國內通過nvm安裝node 國內nvm安裝工具 地址:https://gitee.com/RubyMetric/nvm-cn 安裝命令 bash -c "$(curl -fsSL https://gitee.com/RubyMetric/nvm-cn/raw/main/install.sh)"如果按照過程中有報錯可以嘗試下載安裝腳本 在瀏覽器中打開下面的鏈接htt…

【頭歌】計算機網絡DHCP服務器配置第四關配置路由器子接口答案

頭歌計算機網絡DHCP服務器配置第四關配置路由器子接口操作步驟 任務描述 本關任務:配置路由器的子接口。 操作要求 在第一關的拓撲圖的基礎上,配置路由器及 PC 機,具體要求如下: 1、打開路由器物理接口 F0/0 ; 2、配置…

【科普】關于Cookie的一點知識

【科普】關于Cookie的一點知識 1. Cookie的傳輸方式2. 不設置Domain時的默認邏輯3. SameSite設置為None的風險4. 通過IP訪問時如何設置Cookie 1. Cookie的傳輸方式 Cookie是通過HTTP(超文本傳輸協議)和HTTPS(安全超文本傳輸協議)…

NSSCTF中的pop、babyupload、cve版本簽到、奇妙的MD5、easy_html

目錄 [SWPUCTF 2021 新生賽]pop [NISACTF 2022]babyupload ?編輯[GKCTF 2020]cve版簽到 [SWP5UCTF 2022 新生賽]奇妙的MD5 [HNCTF 2022 Week1]easy_html 今日總結&#xff1a; [SWPUCTF 2021 新生賽]pop 1.代碼審計 <?phperror_reporting(0); show_source("…

裝機必備——360壓縮安裝教程

裝機必備——360壓縮安裝教程 軟件下載 軟件名稱&#xff1a;360壓縮 軟件語言&#xff1a;簡體中文 軟件大小&#xff1a;3.38M 系統要求&#xff1a;Windows7或更高&#xff0c; 32/64位操作系統 硬件要求&#xff1a;CPU2GHz &#xff0c;RAM4G或更高 下載通道①迅雷云盤丨…

Linux性能優化-網絡篇

文章目錄 前言一、網絡性能指標二、網絡基準測試如何評估系統的網絡性能各協議層的性能測試轉發性能TCP/UPD性能HTTP性能應用負載性能 三、網絡指標的獲取查詢帶寬網絡吞吐和PPS網絡連通 總結 前言 如何評價一套新環境內主機和應用的網絡性能&#xff0c;有哪些指標需要注意&a…

跳躍游戲(2)

問題描述 給你一個非負整數數組 nums &#xff0c;你最初位于數組的 第一個下標 。數組中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最后一個下標&#xff0c;如果可以&#xff0c;返回 true &#xff1b;否則&#xff0c;返回 false 。 輸入&#xff1…

DINO結構中的exponential moving average (ema)和stop-gradient (sg)

DINO思路介紹 在 DINO 中&#xff0c;教師和學生網絡分別預測一個一維的嵌入。為了訓練學生模型&#xff0c;我們需要選取一個損失函數&#xff0c;不斷地讓學生的輸出向教師的輸出靠近。softmax 結合交叉熵損失函數是一種常用的做法&#xff0c;來讓學生模型的輸出與教師模型的…

Flutter 中的 AnimatedDefaultTextStyle 小部件:全面指南

Flutter 中的 AnimatedDefaultTextStyle 小部件&#xff1a;全面指南 在 Flutter 中&#xff0c;AnimatedDefaultTextStyle 是一個用于動畫化默認文本樣式的組件&#xff0c;它可以在文本顯示期間平滑地過渡文本樣式&#xff0c;如字體大小、顏色和字體族。這在實現復雜的文本…

pytorch應該安裝哪個nvcc -V 還是 nvidia-smi 對比的cuda?

當使用nvidia-smi時會顯示 cuda driver版本&#xff0c;如下&#xff1a; NVIDIA-SMI 510.47.03 Driver Version: 510.47.03 CUDA Version: 11.6 當使用 nvcc -V 時會顯示 cuda runtime version&#xff0c;如下&#xff1a; nvcc: NVIDIA (R) Cuda compiler driver …

Docker安裝Oracle11g數據庫

操作系統&#xff1a;centOS9使用此方法檢查是否安裝Docker&#xff1a;docker --help&#xff0c;如果有幫助文件則證明安裝成功使用此語句檢查Docker是否正在運行&#xff1a;docker images&#xff0c;實際上是查看本地鏡像如果發現未運行則開啟Docker&#xff1a;systemctl…

普華永道調查:“擁抱AI”的行業正呈現出生產率激增景象

全球知名四大會計師事務所之一的普華永道最新報告顯示&#xff0c;一些最有可能將人工智能技術融入業務的企業&#xff0c;其生產率增長速度幾乎是其他行業的5倍&#xff0c;這有望推動整體經濟。周二&#xff08;5月21日&#xff09;發布的報告稱&#xff0c;2018年至2022年間…

MyCat2之安裝與配置文件介紹

安裝 1.新建文件夾tools mkdir tools&#xff0c;并進入tools 2.下載MaCat wget http://dl.mycat.org.cn/2.0/install-template/mycat2-install-template-1.21.zip wget http://dl.mycat.org.cn/2.0/1.21-release/mycat2-1.21-release-jar-with-dependencies.jar 3.解壓zip u…