Linux系統學習 五、網路基礎—網路通信協議

来源:https://www.cnblogs.com/Yuuki-/archive/2019/11/21/11905532.html
-Advertisement-
Play Games

OSI/ISO七層模型和TCP/IP四層模型 網路層協議和IP劃分 OSI的七層框架 物理層:設備之間的比特流的傳輸、物理介面、電氣特性等。 數據鏈路層:成幀、用MAC地址訪問媒介、錯誤檢測與修正。 網路層:提供邏輯地址、選路。 傳輸層:可靠與不可靠的傳輸、傳輸前的錯誤檢測、流量控。 會話層:對應用 ...


OSI/ISO七層模型和TCP/IP四層模型

網路層協議和IP劃分

 

OSI的七層框架

 

 

 

 

 

物理層:設備之間的比特流的傳輸、物理介面、電氣特性等。

數據鏈路層:成幀、用MAC地址訪問媒介、錯誤檢測與修正。

網路層:提供邏輯地址、選路。

傳輸層:可靠與不可靠的傳輸、傳輸前的錯誤檢測、流量控。

會話層:對應用會話的管理、同步。

表示層:數據的表現形式、特定功能的實現(如:加密)。

應用層:用戶介面。

TCP/IP協議4層模型

應用層:應用層對應於OSI模型的高層,為用戶提供所需的各種服務。

傳輸層:傳輸層對應OSI參考模型的傳輸層,為應用層實體提供端到端的通信功能,保證了數據包的順序傳送以及數據的完整性。該層定義了兩個主要的協議:傳輸控制協議(TCP)和用戶數據協議(UDP),

網路互聯層:網路互聯層對應於OSI參考模型的網路層,主要解決主機到主機的通信問題。它所包含的協議設計數據包在整個網路上的邏輯傳輸。該層有三個主要協議:網路協議(IP)、互聯網組管理協議(IGMP)和互聯網控制報文協議(ICMP)。

網路介面層:網路接入層與OSI參考模型中的物理層和數據鏈路層相對應。它負責監視數據在主機和網路之間的交換。事實上,TCP/IP本身並未定義該層的協議,而由參與互聯的各網路使用自己的物理層和數據鏈路層協議,然後與TCP/IP的網路接入層進行連接。地址解析(ARP)工作在此層,即OSI參考模型的數據鏈路層。

 

TCP/IP模型與OSI模型對應

netstat –a  查看埠

 

 

 

 數據封裝過程

 

TCP/IP模型與OSI模型的比較:

共同點:

OSI參考模型和TCO/IP參考模型都採用了層次結構的概念;都能夠提供面向連接和無連接的通信機制。

不同點:

TCP/IP是四層模型,OSI是七層模型;對可靠性要求不同;OSI模型是在協議開發前設計的,具有通用性,TCP/IP是先有協議集然後建立的模型,不適用於非TCP/IP網路;實際是市場應用不同(OSI模型只是理論上的模型,並沒有成熟的產品,二TCP/IP已經成為“實際上的國際化標準”)。

 

網路層協議和IP地址劃分

網路層協議:

網路協議(IP)

互聯網控制報文協議(ICMP)

 

IP包頭

 

IP地址的分類

私有IP地址,內網IP地址不用購買,可以重覆,但在同一個網段內不能重覆;內網IP不能直接訪問公網。

 

子網掩碼

 

 

 

變長子網掩碼以及子網規則

子網掩碼的二進位必須是連續的1,否則就不能用。

網路地址:IP地址與子網掩碼做與運算

 

ICMP協議

ICMP消息通過IP數據報傳送,被用來發送錯誤和控制信息。

ICMP定義了很多信息類型,如:目的不可達、TTL超時、信息請求、信息應答、地址請求、地址應答


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

-Advertisement-
Play Games
更多相關文章
  • 今天在書上看到了 “僵屍進程與孤兒進程”的描述,又查看了一些資料,對這兩種進程又多了點認識,這裡簡要記錄下。 這兩種進程粗看好像是差不多的,因為都有可能會被init進程回收,但是總的來說還是有點不一樣,不管從產生的方式和危害程式都是不一樣的。 僵屍進程與孤兒進程的產生 僵屍進程:子進程先結束,然後父 ...
  • 之前發現幾張圖對於linux使用者有著較強的參考意義,下麵對其進行簡單備忘: # linux 靜態信息查看工具 # linux 性能測試工具 benchmark # linux 性能觀測工具 # linux 性能調優工具 資源來源鏈接:http://www.brendangregg.com/linu ...
  • "點我查看秘籍連載" 進程表和進程數據結構 內核負責管理維護所有進程,為了管理進程,內核在內核空間維護了一個稱為 進程表 (Process Table)的數據結構,這個數據結構中記錄了所有進程,每個進程在數據結構中都稱為一個 進程表項 (Process Table Entry),如圖。 從圖中可知, ...
  • 版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。本文鏈接:https://blog.csdn.net/wzt_007/article/details/78622698通信分為四大步驟,握手、數據交換、準備結束、正式結束 如以下場景: 兩個陌生人 ...
  • 使用man手冊的方式,能大大加快開發速度,可能安裝的時候有些安裝不完整,下麵結合網路上搜索信息進行補充: $ sudo apt-get install manpages $ sudo apt-get install manpages-dev $ sudo apt-get install manpag ...
  • 軟鏈接的創建,刪除,修改 創建軟鏈接:ln -s【目標文件或目錄】【軟鏈接地址】 解釋:軟鏈接地址相當於快捷方式,目標文件或目錄才是真正的內容。【軟鏈接地址】指“快捷鍵”文件名稱,該文件是被指令創建的。【目標目錄】指軟連接指向的目標目錄。 [root@localhost ~]# ln -s /usr ...
  • 常操作linux系統的都會用到:ps -ef 命令,是一個非常強大的進程查看命令。 在使用Nginx時,那麼我想要看這個Nginx相關的進程,可以使用如下命令”: ps -ef | fgrep nginx 可以看到其安裝位置和配置文件。 讓你對當前應用的進程有詳細的瞭解,你可以經常使用該命令進行查看 ...
  • 1、ifconfig命令臨時配置IP地址 2、setup工具永久配置IP地址 3、修改網路配置文件 4、圖形界面配置IP地址 ifconfig命令臨時配置IP地址 主要的作用是查看網路信息,也可以臨時設置網卡IP地址 輸出的第一行信息: 首先標明瞭是乙太網和當前電腦的網卡的MAC地址 第二行信息: ...
一周排行
    -Advertisement-
    Play Games
  • Timer是什麼 Timer 是一種用於創建定期粒度行為的機制。 與標準的 .NET System.Threading.Timer 類相似,Orleans 的 Timer 允許在一段時間後執行特定的操作,或者在特定的時間間隔內重覆執行操作。 它在分散式系統中具有重要作用,特別是在處理需要周期性執行的 ...
  • 前言 相信很多做WPF開發的小伙伴都遇到過表格類的需求,雖然現有的Grid控制項也能實現,但是使用起來的體驗感並不好,比如要實現一個Excel中的表格效果,估計你能想到的第一個方法就是套Border控制項,用這種方法你需要控制每個Border的邊框,並且在一堆Bordr中找到Grid.Row,Grid. ...
  • .NET C#程式啟動閃退,目錄導致的問題 這是第2次踩這個坑了,很小的編程細節,容易忽略,所以寫個博客,分享給大家。 1.第一次坑:是windows 系統把程式運行成服務,找不到配置文件,原因是以服務運行它的工作目錄是在C:\Windows\System32 2.本次坑:WPF桌面程式通過註冊表設 ...
  • 在分散式系統中,數據的持久化是至關重要的一環。 Orleans 7 引入了強大的持久化功能,使得在分散式環境下管理數據變得更加輕鬆和可靠。 本文將介紹什麼是 Orleans 7 的持久化,如何設置它以及相應的代碼示例。 什麼是 Orleans 7 的持久化? Orleans 7 的持久化是指將 Or ...
  • 前言 .NET Feature Management 是一個用於管理應用程式功能的庫,它可以幫助開發人員在應用程式中輕鬆地添加、移除和管理功能。使用 Feature Management,開發人員可以根據不同用戶、環境或其他條件來動態地控制應用程式中的功能。這使得開發人員可以更靈活地管理應用程式的功 ...
  • 在 WPF 應用程式中,拖放操作是實現用戶交互的重要組成部分。通過拖放操作,用戶可以輕鬆地將數據從一個位置移動到另一個位置,或者將控制項從一個容器移動到另一個容器。然而,WPF 中預設的拖放操作可能並不是那麼好用。為瞭解決這個問題,我們可以自定義一個 Panel 來實現更簡單的拖拽操作。 自定義 Pa ...
  • 在實際使用中,由於涉及到不同編程語言之間互相調用,導致C++ 中的OpenCV與C#中的OpenCvSharp 圖像數據在不同編程語言之間難以有效傳遞。在本文中我們將結合OpenCvSharp源碼實現原理,探究兩種數據之間的通信方式。 ...
  • 一、前言 這是一篇搭建許可權管理系統的系列文章。 隨著網路的發展,信息安全對應任何企業來說都越發的重要,而本系列文章將和大家一起一步一步搭建一個全新的許可權管理系統。 說明:由於搭建一個全新的項目過於繁瑣,所有作者將挑選核心代碼和核心思路進行分享。 二、技術選擇 三、開始設計 1、自主搭建vue前端和. ...
  • Csharper中的表達式樹 這節課來瞭解一下表示式樹是什麼? 在C#中,表達式樹是一種數據結構,它可以表示一些代碼塊,如Lambda表達式或查詢表達式。表達式樹使你能夠查看和操作數據,就像你可以查看和操作代碼一樣。它們通常用於創建動態查詢和解析表達式。 一、認識表達式樹 為什麼要這樣說?它和委托有 ...
  • 在使用Django等框架來操作MySQL時,實際上底層還是通過Python來操作的,首先需要安裝一個驅動程式,在Python3中,驅動程式有多種選擇,比如有pymysql以及mysqlclient等。使用pip命令安裝mysqlclient失敗應如何解決? 安裝的python版本說明 機器同時安裝了 ...