OSI參考模型及TCP/IP協議棧

一、網絡概述

1.1、什么是網絡?

1、網絡的本質就是實現資源共享
2、將各個系統聯系到一起,形成信息傳遞、接收、共享的信息交互平臺

1.2、典型的園區網拓撲?

1.3、網絡歷史發展,ARPA和ARPANET ?

1、1969年,美國國防部高級研究計劃局ARPA( Advanced Research Projects Agency )以軍用目的建立了名 為ARPANET的計算機網絡,它是世界上第一個封包交換網絡,譽為互聯網始祖。最初的“阿帕網”只連接了 4個節點:

2、不過,“阿帕網” 問世之際,大部分電腦還互不兼容。于是,如何使硬件和軟件都不同的電腦實現真正的互 聯,就是人們力圖解決的難題。這個過程中,文頓·瑟夫為此做出首屈一指的貢獻,從而被稱為“互聯網之 父”。

1.4、網絡歷史發展, Internet的由來

1985年,美國國家科學基金會NSF(National Science Foundation)開始建立計算機網絡NSFNET。NSFNET成為 Internet上主要用于科研和教育的主干部分,代替了 ARPANET的骨干地位。
1989年MILNET實現和NSFNET連接后,就開始采用 Internet這個名稱。自此以后,其他部門的計算機網絡相繼 并入Internet,ARPANET宣告解散。
20世紀90年代初,商業機構開始接入Internet,使Internet 開始了商業化的新進程,成為Internet大發展的強大推動力。
1995年,NSFNET停止運作,Internet已徹底商業化了。

二、OSI參考模型

2.1、OSI產生背景

1、計算機網絡市場剛剛興起的時候,許多計算機生產廠商都積極推出自己公司獨創的網絡體系架構,像IBM, DEC等,各個公司的網絡體系結構各不相同,不同公司之間的網絡不能互聯互通,導致使用某種網絡的用 戶如果在后繼時刻擴展網絡則必須繼續使用原計算機廠家的設備,而如果換一家計算機,則必須放棄原來 的所有設備,因為生產廠商之間的設備不兼容,而且網絡相互都是不共享,導致市場上各自保護現象很嚴 重。

2、因此國際標準化組織(ISO)于1977年設立了專門的機構研究解決上述問題,并于不久后提出了一個是各種 計算機都能夠互聯的標準框架——開放式系統互連參考模型(OSI),簡稱OSI參考模型。

2.2、OSI參考模型簡介 ?

1、為什么使用分層結構?
  • 降低復雜性
  • 提高設備的兼容性
  • 提供標準化的接口
  • 促進模塊化工作
  • 簡化教學和學習
  • 易于實現與維護

?2、OSI模型將數據通訊過程分割為7個層次,每個層次都負責各自的 功能,并設計了對應的協議實現這些功能,各個層次之間有標準化 的接口。

2.3、協議數據單元(PDU)?

?2.4、OSI參考模型各層次的功能 – 應用層

  • 提供應用程序間通信。?

2.5、OSI參考模型各層次的功能 – 表示層

?

  • 數據表示、加密、解密。?

?2.6、OSI參考模型各層次的功能 – 會話層

  • 會話建立維護管理。?

2.7、OSI參考模型各層次的功能 - 傳輸層?

  • 建立主機端到端連接。?
  • 應用程序到應用程序的端到端。

2.8、OSI參考模型各層次的功能 – 網絡層?

  • 尋址和路由。?

2.9、OSI參考模型各層次的功能 - 數據鏈路層?

  • 介質訪問、鏈路管理等。?

2.10、OSI參考模型各層次的功能 – 物理層 ?

  • 二進制傳輸。?

2.11、報文封裝與解封裝 ?

2.12、數據在不同網絡設備之間轉發 ?

1、發送方對原始數據進行封裝,通過介質發送到下一跳設備。
2、中間的網絡設備對數據包進行解封裝,查看對應信息,根據表項進行轉發。
3、數據經過中轉達到目的設備,解封裝后到達目標應用程序

三、TCP/IP協議棧

3.1、TCP/IP協議棧簡介

與OSI模型的區別:

1、TCP/IP總共定義了4層
2、OSI的1、2層合并為網絡接入層
3、OSI的5、6、7層合并為網絡應用層
4、OSI模型與TCP/IP模型都是描述網絡設備之間通訊標準流程
5、TCP/IP模型是Internet的基本協議

3.2、應用層

3.3、傳輸層?

?1、TCP/UDP端口號范圍是0~65535,其中0~1023是熟知端口號,已固定分配給常用應用程序

2、用于在主機系統中區分不同的應用程序,數據傳輸最終是程序之間的互相訪問
  • 例1:主機A遠程登錄主機B,隨機端口1028作為源端口,主機B的23端口作為目的端口
  • 例2:主機A通過瀏覽器發起HTTP訪問,隨機端口作為源端口,主機C的80端口作為目的端口

3.4、TCP/UDP 常見協議端口號 ?

3.5、傳輸層的區別?

1、UDP報文結構簡單,傳輸效率高,但不具備排序功能以及重傳機制,數據包到達目的地時,有可能因為網絡問題,出現亂序或者丟包現象。
  • 常用在視頻、語音應用等。

?

?1、TCP報文結構相對復雜,具備序列號、確認號、窗口大小等字段,使其具備排序功能、重傳機制、滑動窗 口機制,確保數據傳輸的可靠性,使得數據能夠準確按序到達目的地

  • 常用在HTTP、FTP等可靠傳輸

3.6、傳輸層?

1、基于TCP協議
  • 傳輸數據前:由TCP建立連接
  • 傳輸過程中:由TCP解決可靠性、有序性,進行流量控制
  • 傳輸結束后:由TCP拆除連接
2、TCP頭部字段
  • 端口號:源端口標識發送方的進程,目的端口標識接收方的進程
  • 序列號:保證數據傳輸的有序性,確認號對收到的數據進行確認
  • 窗口大小:傳輸階段,每次連續發送數據的大小
  • Flag字段:
    • ACK:確認號標志,置1表示確認號有效,表示收到對端的特定數據
    • RST:復位標志,置1表示拒絕錯誤和非法的數據包,復位錯誤的連接
    • SYN:同步序號標志,置1表示同步序號,用來建立連接
    • FIN:結束標志,置1表示連接將被斷開,用于拆除連接

?

3.7、TCP協議工作過程 —— 建立連接?

數據傳輸之前:三次握手建立連接

3.8、TCP協議工作過程 —— 數據傳輸 ?

1、數據傳輸過程中,發送方發送窗口大小的數據,接收方只進行一次確認
2、如果接收方處理能力不足,會調整窗口大小,接收方按新的窗口進行數據發送

3.9、TCP協議工作過程 —— 重傳機制 ?

1、當某個包因網絡問題,傳輸失敗,接收方僅確認上一個數據包
2、發送方將根據確認號,進行數據重傳

3.10、TCP協議工作過程 —— 拆除連接 ?

四次揮手拆除連接, TCP通過FIN置位為1表示拆除連接

3.11、網絡層?

3.12、網絡接入層 ?

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

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

相關文章

前后端分離------后端創建筆記(03)前后端對接(下)

本文章轉載于【SpringBootVue】全網最簡單但實用的前后端分離項目實戰筆記 - 前端_大菜007的博客-CSDN博客 僅用于學習和討論,如有侵權請聯系 源碼:https://gitee.com/green_vegetables/x-admin-project.git 素材:https://pan.baidu.com/s/…

數據結構--棧和隊列3.1(棧-順序結構)

目錄 棧(Stack)棧頂(top)棧底(bottom)空棧(不含任何元素) 創建棧 入棧操作 出棧操作 銷毀一個棧 計算棧的當前容量 實例分析 棧的插入操作叫做進棧(Push&#xf…

基于Mybatis Plus的SQL輸出攔截器。完美的輸出打印 SQL 及執行時長、statement

我們需要想辦法打印出完成的SQL,Mybatis為我們提供了 org.apache.ibatis.plugin.Interceptor接口,我們來實現該接口做一些打印SQL的工作 package org.springjmis.core.mp.plugins;import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; impor…

創新零售,京東重新答題?

繼新一輪組織架構調整后,京東從低價到下沉動作不斷。 新成立的創新零售部在京東老將閆小兵的帶領下悄然完成了整合。近日,京喜拼拼已改名為京東拼拼,與七鮮、前置倉等業務共同承載起京東線上線下加速融合的夢想。 同時,拼拼的更…

【從零學習python 】19. 循環遍歷列表和列表嵌套的應用

文章目錄 列表的循環遍歷1. 使用while循環2. 使用for循環3. 交換2個變量的值1. 列表嵌套2. 應用 進階案例 列表的循環遍歷 1. 使用while循環 為了更有效率的輸出列表的每個數據,可以使用循環來完成 namesList [xiaoWang,xiaoZhang,xiaoHua] length len(namesLi…

零售行業供應鏈管理核心KPI指標(一) – 能力、速度、效率和成本

有關零售行業供應鏈管理KPI指標的綜合性分享,涉及到供應鏈能力、速度、效率和成本總共九大指標,是一個大框架,比較核心也比較綜合。 衡量消費品零售企業供應鏈管理效率和水平的核心KPI通常有哪些? 圖片來源-派可數據(…

C++ unique_ptr概述 常用操作

文章目錄 unique_ptr概述unique_ptr常用操作 unique_ptr概述 uniue_ptr是一個獨占式的指針,同一個時刻, 就只能有一個unique_ptr指向這個對象(內存),unique_ptr的使用格式 unique_ptr<Class_Tyep> P_Name; unique_ptr的常規初始化: unique_ptr<int> p; 創建一個空…

監控Kafka的關鍵指標

Kafka 架構 上面綠色部分 PRODUCER&#xff08;生產者&#xff09;和下面紫色部分 CONSUMER&#xff08;消費者&#xff09;是業務程序&#xff0c;通常由研發人員埋點解決監控問題&#xff0c;如果是 Java 客戶端也會暴露 JMX 指標。組件運維監控層面著重關注藍色部分的 BROKE…

Vue 實現重定向、404和路由鉤子(六)

一、重定向 1.1 修改 Main.vue <template><div><el-container><el-aside width"200px"><el-menu :default-openeds"[1]"><el-submenu index"1"><template slot"title"><i class"…

MongoDB常用命令

什么是MongoDB ? MongoDB 是由C語言編寫的&#xff0c;是一個基于分布式文件存儲的開源數據庫系統。 在高負載的情況下&#xff0c;添加更多的節點&#xff0c;可以保證服務器性能。 MongoDB 旨在為WEB應用提供可擴展的高性能數據存儲解決方案。 MongoDB 將數據存儲為一個…

【網絡基礎實戰之路】基于BGP協議中的聯邦號連接三個AS區域的實戰詳解

系列文章傳送門&#xff1a; 【網絡基礎實戰之路】設計網絡劃分的實戰詳解 【網絡基礎實戰之路】一文弄懂TCP的三次握手與四次斷開 【網絡基礎實戰之路】基于MGRE多點協議的實戰詳解 【網絡基礎實戰之路】基于OSPF協議建立兩個MGRE網絡的實驗詳解 【網絡基礎實戰之路】基于…

Dalsa線陣相機說明(Linea Color GigESeries 2k and 4K)

文章目錄 一. Dalsa相機軟件整體架構二. 相機編號說明以及軟件要求三. 相機硬件參數三. 相機基本參數四. 軟件參數設置列表1. Sensor Control Category2. I/O Control Category3. Counter and Timer Control Category4. Advanced Processing Control Category(1) 平場校正介紹(…

學習Vue:插值表達式和指令

在 Vue.js 中&#xff0c;Vue 實例與數據綁定是構建動態交互界面的關鍵。在這篇文章中&#xff0c;我們將重點介紹 Vue 實例中兩種實現數據綁定的方式&#xff1a;插值表達式和指令。這些機制允許您將數據無縫地渲染到界面上&#xff0c;實現實時的數據更新和展示。 插值表達式…

U盤提示格式化怎么修復?學會這幾個方法!

“不知道大家有沒有遇到過將u盤插入電腦后提示格式化的情況呀&#xff1f;第一次遇到這種情況真的好無助&#xff0c;這是可以修復的嗎&#xff1f;請大家幫幫我&#xff01;” U盤作為一個便捷的存儲工具&#xff0c;幫助我們存儲了很多重要的數據和文件。但在使用的過程中&am…

Dockerfile 使用技巧篇

默認的 docker 鏡像使用 Linux 來當作基礎鏡像 01. 使用 alpine 鏡像&#xff0c;而不是默認的 linux 鏡像 PS: alpine 譯為高山植物&#xff0c;就是很少的資源就能存活的意思。alpine 裁剪了很多不必要的 linux 功能&#xff0c;使得鏡像體積大幅減小了。 比如 FROM node:1…

PHP8定義字符串的方法-PHP8知識詳解

字符串&#xff0c;顧名思義&#xff0c;就是將一堆字符串聯在一起。字符串簡單的定義方法是使用英文單引號&#xff08; &#xff09;或英文雙引號&#xff08;" "&#xff09;包含字符。另外&#xff0c;還可以使用定界符定義字符串。本文還介紹了字符串的連接符。…

TCP的三次握手和四次揮手

文章目錄 三次握手四次揮手TIME_WAITCLOSE_WAIT 使用wireshark觀察 三次握手 握手的最終目的是主機之間建立連接 首先要有兩個預備知識點 三次握手建立連接不一定會成功&#xff0c;其中最擔心的就是最后一次握手失敗&#xff0c;不過會有配套的解決方案建立好連接后是需要被…

【重溫老古董——Strust2框架】基于Idea使用maven創建Strust2項目

1、新建項目 紅色圈出的部分是【強制】,其他部分看個人喜好。 2、修改 pom 文件,管理依賴 <dependency><groupId>org.apache.struts</groupId><artifactId>struts2-core</artifactId><version>2.5.22</version></dependency&g…

微服務中RestTemplate訪問其他服務返回值轉換問題

背景&#xff1a; 接收一個springcloud項目&#xff0c;UI模塊訪問其他服務的接口&#xff0c;返回數據統一都是使用fastjson進行轉換&#xff0c;但是新開發了幾個新模塊之后發現fastjson很多bug&#xff08;各種內存溢出&#xff09;&#xff0c;但是很多地方已經重度依賴fa…

數據結構:力扣OJ題(每日一練)

目錄 題一&#xff1a;環形鏈表 思路一&#xff1a; 題二&#xff1a;復制帶隨機指針的鏈表 思路一&#xff1a; 本人實力有限可能對一些地方解釋的不夠清晰&#xff0c;可以自己嘗試讀代碼&#xff0c;望海涵&#xff01; 題一&#xff1a;環形鏈表 給定一個鏈表的頭節點…