Linux 網路協議和管理

来源:https://www.cnblogs.com/heyongshen/archive/2022/07/05/16449142.html
-Advertisement-
Play Games

網路的概念: 電腦網路:一組電腦或網路設備通過媒介(有線或無線)相連,按照一定的規則進行通信的集合。 網路作用範圍分類: 廣域網:WAN--Wide Area Network 城域網:MAN Metropolitan Area Network 區域網:LAN Local Area Network ...


網路的概念:

電腦網路:一組電腦或網路設備通過媒介(有線或無線)相連,按照一定的規則進行通信的集合。

網路作用範圍分類:

廣域網:WAN--Wide Area Network
城域網:MAN---Metropolitan Area Network
區域網:LAN---Local Area Network

網路線纜:

目前比較流行的就是雙絞線(雙絞線(Twisted-Pair)的縮寫:T),因為兩根兩根絞在一起,所以叫雙絞線。這樣做的目的是為了抵消彼此的電磁干擾。

  • 五類線:速度可以達到百兆(很少用了)

  • 超五類線:速度可以達到千兆---目前主流使用的

  • 六類線:速度也可以達到千兆,但是這種線的中間會加一個十字骨架,讓線更結實

T568B線序:

image
直通線:兩頭的線序一樣
交叉線:兩頭的線序不一樣(例如用於兩台電腦直接相連)

RJ-45 Connector 和 Jack

image

光纖介面

要求更高的環境,採用光纖連接。兩個頭成對出現,一個發送一個收,利用光信號來發送數據,這樣不受電磁干擾。
需要配置光纖專門的網卡和光纖模塊。
image

image

網路設備:

中繼器 repeater

作用:方法信號的效果,讓數據傳輸得更遠 --- 基於物理層的

集線器 hub(一層設備,不能識別mac地址):

作用:相當於多介面的中繼器,上面可以接很多網線。集線器共用帶寬,且是一個半雙工的設備。

網橋和交換機(二層設備,能識別mac地址)

網橋和交換機的工作原理是一樣的。只能隔離衝突域,不能隔離廣播域。交換機可支持全雙工傳送
是通過判斷數據幀的目的MAC地址,從而將數據幀從合適埠發送出去.交換機是通過MAC地址的學習和維護更新機制來實現數據幀的轉發

路由器(三層設備)

負責解決跨網段的通信,實現通信路徑的選擇。
家用路由器就即成了交換機的功能。
PC

網路的特性:

  • 寬頻:接入廣域網的線路(相當於一條公路)

  • 網速:實際傳輸速率(8bit=1byte),單位是每秒鐘傳輸多少個位元組(Byte/s --- B/s)

  • 帶寬:接入寬頻的理論網速上限(可以理解為公路的寬度),每秒鐘能傳輸多少比特(bit)數據,單位:bit/s --bps(比特每秒)

網路運營商對下行速度的單位和系統對下行速度的單位不一樣(我們的文件是以位元組為單位的),就造成了網速和帶寬不一樣。

網路標準

  • 舊模型:網路的軟體硬體都由一家廠商開發,不是公開的標準。

  • 基於標準的模型:所有廠商都遵守這個標準,相互之間就實現了相容。

分層:

把網路分成多層,每一層都有對應的標準規範。
這樣就實現了不同廠商這件產品的相容。

開放系統互聯 OSI

國際標準組織(ISO),在1985年發佈的。分為7層。
image

  • 物理層:和物理連接的相關規範標準。

  • 數據鏈路層:實現鏈路內部的通訊(源地址、目標地址等信息)。通訊單位:幀

  • 網路層:鏈路層可以實現兩個主機在一個網路裡面通信。網路層可以實現路徑的選擇,(選擇一條最佳的通信路徑),實現多個網路之間的遠程通信。

  • 傳輸層:負責兩個節點之間數據傳輸的確認(網路層將數據送過去以後,通過傳輸層給我方一個回覆,確認數據是否收到)

  • 會話層:實現兩個節點之間的會話通信

  • 表示層:信息格式的編碼、轉換、壓縮加密等

  • 應用層:不同應用之間的通信

image

網路的通信過程

相當於郵遞包裹,

數據發送方(添加外包裝) --- 封裝:

首先把數據拆成小塊來進行傳送。應用層將數據封裝(加了個包裹)---> 然後一層一層加,加到數據連句層會添加一個CRC校驗,然後通過物理層以bit流的方式進行傳送出去。

數據接收方(拆包裝)--- 解封裝:

物理層收到數據後交給數據鏈路層(用同樣的方式計算CRC,比較兩個CRC值是否一致。數據校驗),不一樣則表示數據損壞。然後向上每層開始拆包裝,最後就看到了原始數據了

報文頭:每一層都給數據添加一個頭
image

協議數據單元 PDU

PDU: Protocol Data Unit,把一個數據拆成指定大小的小塊(PDU),這個小塊在不同的層有不同的稱呼。

  • 物理層的 PDU是數據位 bit

  • 數據鏈路層的 PDU是數據幀 frame

  • 網路層的PDU是數據包 packet

  • 傳輸層的 PDU是數據段 segment

  • 其他更高層次的PDU是消息 message

三種通訊模式

  • unicast: 單播,目標設備是一個

  • broadcast: 廣播,目標設備是所有

  • multicast: 多播,組播,目標設備是多個

衝突域和廣播域

  • 衝突域:兩個網路設備同時發送數據,如果發生了衝突,則兩個設備處於同一個衝突域

  • 廣播域:一個網路設備發送廣播,另一個設備收到了,則兩個設備處於同一個廣播域

三種通信機制

  • 單工:單向傳輸

  • 半雙工:同一時間只能發送或者接收

  • 雙工:同一時間可以雙向通信

範例:判斷網線是通的還是斷的
mii-tool工具或者ethtool工具: mii-tool 網卡名
image

網路不通一般是物理連接或者網路配置有問題。

區域網

區域網標準:主要定義了數據鏈路層和物理層的標準

乙太網

乙太網(Ethernet)是一種產生較早且使用相當廣泛的區域網(區域網使用的標準就是乙太網)。

乙太網MAC幀格式

幀是數據鏈路層的單位,

MAC幀的組成部分:

  • 前導信息:

  • 目標地址:

  • 源地址:

  • Type:協議的類型

  • 數據:

  • FCS:校驗位
    image

MAC地址

在區域網中,硬體地址又稱為物理地址或MAC地址(因為這種地址用在MAC幀中)。
每個網卡的MAC地址唯一,網卡出廠的時候燒錄進去的。網卡前一半的內容由國際組織約定好,後一半內容由廠商自己約定。

虛擬區域網 VLAN

TCP/IP 協議棧

Transmission Control Protocol/Internet Protocol 傳輸控制協議/網際網路互聯協議
TCP/IP是許多協議簇的一個集合。

TCP/IP 分層

image

image

TCP/IP 應用層

image

TCP/IP 通信過程

image

transport 層

image

TCP和UDP


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • #雜談 #Java腳本 因本人英語不好在使用Obsidian時,一些插件的設置英文多令人頭痛。故有寫一個的翻譯插件介紹和設置腳本的想法。看到有些前人寫的一下翻譯方法,簡直慘目忍睹。竟然要手動。這個應該寫好到只需要一鍵就可以漢化的地步嗎? 好吧。我承認這有些難度。翻譯引擎就用有道的吧。我覺得它對專業名 ...
  • 前言 就國內來說,Java毫無疑問是後端語言中的No.1沒有之一,所以今天我們也來0基礎學習Java!!! Java的好處(針對測試工程師) 面試加分->漲薪 大多數公司服務端用的都是Java,學習之後能看懂後臺邏輯,方便快速定位問題 在如此**捲**的環境下,不得不去跟著一起捲(躺平不香嗎?學什麼 ...
  • 發佈一個用於測試 Webservice 和資料庫連接的工具。 ...
  • 來源:blog.csdn.net/dabusiGin/article/details/105483426 錯誤的結論 在網上搜索HashMap中變數modCount的作用時,大部分的解釋都是這樣: Fail-Fast 機制 我們知道 java.util.HashMap 不是線程安全的,因此如果在使用 ...
  • 使用背景: 項目中需要用的富文本框去上傳視頻,圖片的話大部分都是可以的。相對來說,國外的富文本框很成熟。但鑒於文檔是英語,這裡使用了百度的富文本框。 採用的api的方式,調用介面進行上傳文件。話不多說,開擼! 準備: 創建一個.net mvc的項目。下載百度富文本框.net 版本的js文件。 創建項 ...
  • 一:背景 1. 講故事 前幾天有位朋友在 B站 加到我,說他的程式出現了 線程數 爆高的問題,讓我幫忙看一下怎麼回事,截圖如下: 說來也奇怪,這些天碰到了好幾起關於線程數無緣無故的爆高,不過那幾個問題比這一篇要複雜的多,主要涉及到非托管層面,分享這一篇的目的主要是它很有代表性,很有必要。 閑話不多說 ...
  • 效果 概述 最近有個小需求要用雙滑塊表示一個取值範圍,於是就簡單做了個用戶控制項,在此記錄下. 使用矩形Rectangle表示範圍,橢圓Ellipse表示滑塊,使用Canvas控制滑塊的左右移動. 橢圓的滑鼠按下事件里強制獲取滑鼠事件焦點,避免移動過快或移出控制項範圍時,滑塊就不跟著跑了.橢圓的滑鼠抬起 ...
  • BackgroundWorker: 1.定義:是.net里用來執行多線程任務的控制項,它允許編程者在一個單獨的線程上執行一些操作。 2.使用場景:耗時的操作(如下載和資料庫事務)長時間運行時可能會導致用戶界面 (UI) 始終處於停止響應狀態。如果我們需要能進行響應的用戶界面,而且面臨與這類操作相關的長 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...