OSI七層協議——分層網絡協議

OSI七層協議,顧名思義,分為七層,實際上七層是不存在的,是人為的進行劃分,讓人更好的理解
在這里插入圖片描述
七層協議包括,物理層(我),數據鏈路層(據),網絡層(網),傳輸層(傳輸),會話層(會),表示層(表),應用層(用)(記憶口訣->我會用表傳輸網據)

五層協議,物理層,數據鏈路層,網絡層,傳輸層,應用層

四層協議,網絡接口層(口),網絡層(網),傳輸層(傳輸),應用層(用)(記憶口訣->用傳輸網口)

物理層

字面意思就是物理特性,物理傳輸,硬件的意思,正如我們打電話,必須有網線連接,才能打電話,正如計算機之間進行通訊,而網線傳輸就是電信號,如10101010,這樣的二進制數據,當然我們知道電信號一串數字傳輸過去,根本就不知道這些二進制是什么意思,所以我們要定義一個規則即協議,比如8位為一組,但是這不是在物理層能干的事情,要在數據鏈路層

數據鏈路層

數據鏈路層,定義了一種協議就是我們經常說的,以太網協議Ethernet,他把電信號分為一組,就是我們經常說的數據包,也叫做幀,每一幀由兩部分組成,頭和數據
在這里插入圖片描述
首先,我們在發送數據包的的過程,就如我們寫信一樣,我們必須知道我們的地址和對方的地址,才能進行發送信息,而計算的的地址就是mac地址,而mac地址是我們計算機出廠就存在的一個唯一標識,因此在包頭就有了目標mac地址和源mac地址
在這里插入圖片描述
此時我們計算機之間就可以進行通訊了,假設一個教室就是一個局域網,教室的每一個位置就是一臺計算機,比如教室有A,B兩個人要進行交談,A就站起來大喊一聲B,說我們下午一起吃飯吧,此時教室的所有人都聽見了,但是所有人聽到A是喊B,就知道叫的不是自己,就會忽略,而B知道叫的是自己,就答應A說,好的,而這種方式叫做廣播,數據鏈路層的工作方式就是廣播的方式

剛才我們知道局域網計算機的通信方式,但是我們計算機通訊肯定不能單單在一個局域網進行通訊,而是有無數個局域網組成的一個更大的局域網,假設全世界的計算機就是一個大型局域網,他們之間通訊好像是不是也可以通過廣播的方式進行通訊呢,理論上是可以的,但是仔細想想,都在哪里吼一嗓子,世界不會亂了嗎,因此就會出現了網絡層的概念

網絡層

此時網絡層也定義了一個協議叫做ip協議,首先舉個例子,就是我們每一個教室是一個局域網,有one,two兩個教室各自的A,B兩個同學要進行交流,但是他們之間不認識,而每個教室都有一個負責人,我們叫做one Teacher ,two Teacher,兩位老師,這兩位老師相當于我們的網關,然后A同學要找B同學,首先要知道B同學在那個教室,那么就會用上ip協議,ip協議就會區分出B同學在那個教室,這樣A同學找到了two Teacher老師告訴他,我要找你們班的B同學,而two Teacher老師就會大吼一聲,B同學有人找你,此時就可已進行交流了

mac地址定位的是教室的某一個位置,而ip定位的是哪個教室,此時我們的數據包就會是下面的樣子
在這里插入圖片描述

此時我們還有一個疑問就是在吼之前,要明確幾個地址,自己的mac地址,和ip地址,我可以知道,目標的ip,我們肯定也可以知道,正如我們要訪問百度,肯定知道他的域名一樣,但是我們怎么知道目標的mac地址呢

其實要知道目標的mac地址,還要靠ARP協議,其實就是靠廣播的方式發送ARP數據包,他的格式如下
在這里插入圖片描述
其中目標mac地址是12F這叫做廣播地址,他的功能就是獲取對方的mac地址,當這個包在局域網中發送的時候,每個計算機進行拆解,發現不是自己就會忽略,但是如果是自己就會回把自己的mac地址返回,此時就知道了目標的mac地址了

但是如果是在跨局域網是如何處理的呢,首先通過ip區分目標在哪個網關,然后把目標ip換成網關的ip

在這里插入圖片描述

然后網關就會把他自己的mac地址返回給你,放到目標mac地址
在這里插入圖片描述
然后在正常發包,此時就會通過網關去找你的目標地址,其實這個過程我們根本就不知道網絡的存在

傳輸層

上面我們通過mac地址和ip地址定位了一條計算機,但是我們的計算機不單單運行一個應用程序,此時就要通過端口進行區分了,傳輸層就是端口到端口之間通信,且傳輸層也有他的協議的,比如TCP,UDP

應用層

應用層位于傳輸層之上,主要提供兩個終端設備上的應用程序之間信息交換的服務,它定義了信息交換的格式,消息會交給下一層傳輸層來傳輸。我們把應用層交互的數據單元稱為報文,應用層定義了許多協議,對于不同的網絡應用使用不同的協議,比如Email,WWW,FTP,HTTP等等

TCP和UDP區別

是否面向連接 :UDP 在傳送數據之前不需要先建立連接。而 TCP 提供面向連接的服務,在傳送數據之前必須先建立連接,數據傳送結束后要釋放連接。
是否是可靠傳輸:遠地主機在收到 UDP 報文后,不需要給出任何確認,并且不保證數據不丟失,不保證是否順序到達。TCP 提供可靠的傳輸服務,TCP 在傳遞數據之前,會有三次握手來建立連接,而且在數據傳遞時,有確認、窗口、重傳、擁塞控制機制。通過 TCP 連接傳輸的數據,無差錯、不丟失、不重復、并且按序到達。
是否有狀態 :這個和上面的“是否可靠傳輸”相對應。TCP 傳輸是有狀態的,這個有狀態說的是 TCP 會去記錄自己發送消息的狀態比如消息是否發送了、是否被接收了等等。為此 ,TCP 需要維持復雜的連接狀態表。而 UDP 是無狀態服務,簡單來說就是不管發出去之后的事情了。
傳輸效率 :由于使用 TCP 進行傳輸的時候多了連接、確認、重傳等機制,所以 TCP 的傳輸效率要比 UDP 低很多。
傳輸形式 :TCP 是面向字節流的,UDP 是面向報文的。
首部開銷 :TCP 首部開銷(20 ~ 60 字節)比 UDP 首部開銷(8 字節)要大。
是否提供廣播或多播服務 :TCP 只支持點對點通信,UDP 支持一對一、一對多、多對一、多對多
在這里插入圖片描述

參考文獻:OSI協議

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

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

相關文章

6. NLP自然語言處理(Natural Language Processing)

自然語言是指人類日常使用的語言,如中文、英語、法語等。 自然語言處理是人工智能(AI)領域中的一個重要分支,它結合了計算機科學、語言學和統計學的方法,通過算法對文本和語音進行分析,使計算機能夠理解、解…

Ubuntu使用指南

Ubuntu使用指南 一、Ubuntu虛擬機1、本地如何連接虛擬機,并設置虛擬機可以訪問外網 一、Ubuntu虛擬機 1、本地如何連接虛擬機,并設置虛擬機可以訪問外網 本地:WMware設置為橋接模式(此時虛擬機可以看作一臺獨立主機)…

【Mysql進階知識】Mysql 程序的介紹、選項在命令行配置文件的使用、選項在配置文件中的語法

目錄 一、程序介紹 二、mysqld--mysql服務器介紹 三、mysql - MySQL 命令行客戶端 3.1 客戶端介紹 3.2 mysql 客戶端選項 指定選項的方式 mysql 客戶端命令常用選項 在命令行中使用選項 選項(配置)文件 使用方法 選項文件位置及加載順序 選項文件語法 使用舉例&am…

wireshark抓路由器上的包 抓包路由器數據

文字目錄 抓包流程概述設置抓包配置選項 設置信道設置無線數據包加密信息設置MAC地址過濾器 抓取聯網過程 抓包流程概述 使用Omnipeek軟件分析網絡數據包的流程大概可以分為以下幾個步驟: 掃描路由器信息,確定抓包信道;設置連接路由器的…

【藍橋杯】43687.贏球票

題目描述 某機構舉辦球票大獎賽。獲獎選手有機會贏得若干張球票。 主持人拿出 N 張卡片(上面寫著 1?N 的數字),打亂順序,排成一個圓圈。 你可以從任意一張卡片開始順時針數數: 1,2,3 ? ? 如果數到的數字剛好和卡片上的數字…

SQL-leetcode—626. 換座位

626. 換座位 表: Seat -------------------- | Column Name | Type | -------------------- | id | int | | student | varchar | -------------------- id 是該表的主鍵(唯一值)列。 該表的每一行都表示學生的姓名和 ID。 ID 序列始終從 1 開始并連續…

微軟開源AI Agent AutoGen 詳解

AutoGen是微軟發布的一個用于構建AI Agent系統的開源框架,旨在簡化事件驅動、分布式、可擴展和彈性Agent應用程序的創建過程。 開源地址: GitHub - microsoft/autogen: A programming framework for agentic AI ?? PyPi: autogen-agentchat Discord: https://aka.ms/auto…

【Elasticsearch】全文搜索與相關性排序

🧑 博主簡介:CSDN博客專家,歷代文學網(PC端可以訪問:https://literature.sinhy.com/#/?__c1000,移動端可微信小程序搜索“歷代文學”)總架構師,15年工作經驗,精通Java編…

用css和html制作太極圖

目錄 css相關參數介紹 邊距 邊框 偽元素選擇器 太極圖案例實現、 代碼 效果 css相關參數介紹 邊距 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>*{margin: 0;padding: 0;}div{width: …

【React】插槽渲染機制

目錄 通過 children 屬性結合條件渲染通過 children 和 slot 屬性實現具名插槽通過 props 實現具名插槽 在 React 中&#xff0c;并沒有直接類似于 Vue 中的“插槽”機制&#xff08;slot&#xff09;。但是&#xff0c;React 可以通過 props和 children 來實現類似插槽的功能…

【Go】Go Gorm 詳解

1. 概念 Gorm 官網&#xff1a;https://gorm.io/zh_CN/docs/ Gorm&#xff1a;The fantastic ORM library for Golang aims to be developer friendly&#xff0c;這是官網的介紹&#xff0c;簡單來說 Gorm 就是一款高性能的 Golang ORM 庫&#xff0c;便于開發人員提高效率 那…

【MySQL實戰】mysql_exporter+Prometheus+Grafana

要在Prometheus和Grafana中監控MySQL數據庫&#xff0c;如下圖&#xff1a; 可以使用mysql_exporter。 以下是一些步驟來設置和配置這個監控環境&#xff1a; 1. 安裝和配置Prometheus&#xff1a; - 下載和安裝Prometheus。 - 在prometheus.yml中配置MySQL通過添加以下內…

【Apache Doris】周FAQ集錦:第 29 期

引言 歡迎查閱本周的 Apache Doris 社區 FAQ 欄目&#xff01; 在這個欄目中&#xff0c;每周將篩選社區反饋的熱門問題和話題&#xff0c;重點回答并進行深入探討。旨在為廣大用戶和開發者分享有關 Apache Doris 的常見問題。 通過這個每周 FAQ 欄目&#xff0c;希望幫助社…

Linux:文件描述符fd、系統調用open

目錄 一、文件基礎認識 二、C語言操作文件的接口 1.> 和 >> 2.理解“當前路徑” 三、相關系統調用 1.open 2.文件描述符 3.一切皆文件 4.再次理解重定向 一、文件基礎認識 文件 內容 屬性。換句話說&#xff0c;如果在電腦上新建了一個空白文檔&#xff0…

鴻蒙動態路由實現方案

背景 隨著CSDN 鴻蒙APP 業務功能的增加&#xff0c;以及為了與iOS、Android 端統一頁面跳轉路由&#xff0c;以及動態下發路由鏈接&#xff0c;路由重定向等功能。鴻蒙動態路由方案的實現迫在眉睫。 實現方案 鴻蒙版本動態路由的實現原理&#xff0c;類似于 iOS與Android的實…

計算機網絡 (42)遠程終端協議TELNET

前言 Telnet&#xff08;Telecommunication Network Protocol&#xff09;是一種網絡協議&#xff0c;屬于TCP/IP協議族&#xff0c;主要用于提供遠程登錄服務。 一、概述 Telnet協議是一種遠程終端協議&#xff0c;它允許用戶通過終端仿真器連接到遠程主機&#xff0c;并在遠程…

汽車網絡信息安全-ISO/SAE 21434解析(上)

目錄 概述 第四章-概述 1. 研究對象和范圍 2. 風險管理 第五章-組織級網絡安全管理 1. 網絡安全治理&#xff08;cybersecurity governance&#xff09; 2. 網絡安全文化&#xff08;cybersecurity culture) 3. 信息共享&#xff08;Information Sharing) 4. 管理體系…

【0393】Postgres內核 checkpointer process ③ 構建 WAL records 工作緩存區

1. 初始化 ThisTimeLineID、RedoRecPtr 函數 InitXLOGAccess() 內部會初始化 ThisTimeLineID、wal_segment_size、doPageWrites 和 RedoRecPtr 等全局變量。 下面是這四個變量初始化前的值: (gdb) p ThisTimeLineID $125 = 0 (gdb) p wal_segment_size $126 = 16777216 (gdb…

cursor+deepseek構建自己的AI編程助手

文章目錄 準備工作在Cursor中添加deepseek 準備工作 下載安裝Cursor &#xff08;默認安裝在C盤&#xff09; 注冊deepseek獲取API key 在Cursor中添加deepseek 1、打開cursor&#xff0c;選擇設置 選擇Model&#xff0c;添加deepseek-chat 注意這里去掉其他的勾選項&…

微調神經機器翻譯模型全流程

MBART: Multilingual Denoising Pre-training for Neural Machine Translation 模型下載 mBART 是一個基于序列到序列的去噪自編碼器&#xff0c;使用 BART 目標在多種語言的大規模單語語料庫上進行預訓練。mBART 是首批通過去噪完整文本在多種語言上預訓練序列到序列模型的方…