計算機網絡體系結構——各層的功能

OSI七層架構

物理層主要功能:實現比特流的透明傳輸。基本單位:比特。

數據鏈路層主要功能 :封裝成幀 。把幀從原MAC傳到目的MAC(相鄰節點之間幀的透明傳輸)

差錯檢測 循環冗余檢測法。只檢測有沒有比特錯誤,若有則丟棄。

網絡層: 路徑的選擇、數據的轉發。?源主機到目的主機之間分組的透明傳輸(之間可能經過很多節點)

傳輸層:端(口)到端(口)的報文?

會話層的功能
? ? ? ?會話層的主要功能是在兩個節點間建立、維護和釋放面向用戶的連接,并對會話進行管理和控制,保證會話數據可靠傳送。
? ? ? ?會話層,表示層,應用層在會話層和傳輸層我們都提到了連接,那么會話連接和傳輸連接到底有什么區別呢?
? ? ? ?假設你對你的秘書說,給瓊斯先生打個電話,這時你相當于會話層,而秘書相當于傳輸層。你的請求就相當于請求一個會話。你提出建立連接的要求,但不必自己動手查找電話號碼、撥號等。秘書著手打電話,開始建立傳輸連接。當撥號成功,對方拎起話筒,傳輸連接就建立起來了。然后,你接過電話,此時會話層(連接)建立成功。

? ? ? ?會話連接和傳輸連接之間有三種關系:一對一關系,即一個會話連接對應一個傳輸連接;一對多關系,一個會話連接對應多個傳輸連接;多對一關系,多個會話連接對應一個傳輸關系,好比打電話,一個人講完后可以換另一個人講話,而不必讓電信局知道換了人講話。會話過程中,會話層需要決定到底使用全雙工通信還是半雙工通信。如果采用全雙工通信,則會話層在對話管理中要做的工作就很少;如果采用半雙工通信,會話層則通過一計算機網絡技術2個數據令牌來協調會話,保證每次只有一個用戶能夠傳輸數據。當會話層建立一個會話時,先讓一個用戶得到令牌。只有獲得令牌的用戶才有權進行發送。如果接收方想要發送數據,可以請求獲得令牌。由發送方決定何時放棄。一旦得到令牌,接收方就轉變為發送方。當我們進行大量的數據傳輸時,例如你正在下載一個100M 的文件,當下載到95M 時,網絡斷線了,這時怎么辦?是否需要重頭再傳?為了解決這個問題,會話層提供了同步服務,通過在數據流中定義檢查點(Checkpoint)來把會話分割成明顯的會話單元。當網絡故障出現時,從最后一個檢查點開始重傳數據。常見的會話層協議有:結構化查詢語言(SQL);遠程進程呼叫(RPC);X-windows 系統;AppleTalk 會話協議;數字網絡結構會話控制協議(DNA SCP)等。
表示層的功能
? ? ? ?表示層主要是負責數據格式的轉換,壓縮與解壓縮,加密與解密。
? ? ? OSI 模型中,表示層以下的各層主要負責數據在網絡中傳輸時不要出錯。但數據的傳輸沒有出錯,并不代表數據所表示的信息不會出錯。例如你想下午兩點從杭州出發去上海,于是你對上海的朋友說,“我下午兩點來”,可是你的朋友卻理解為兩點鐘到達上海。所以這句話雖然沒有聽錯,卻因為不同的理解,產生了完成不同的結果。
? ? ? ?表示層就專門負責這些有關網絡中計算機信息表示方式的問題。表示層負責在不同的數據格式之間進行轉換操作,以實現不同計算機系統間的信息交換。 兩臺計算機之間的信息交換除了編碼外,還包括數組、浮點數、記錄、圖像、聲音等多種數據結構,表示層用抽象的方式來定義交換中使用的數據結構,并且在計算機內部表示法和網絡的標準表示法之間進行轉換。
? ? ? ?示層還負責數據的加密,以在數據的傳輸過程對其進行保護。數據在發送端被加密,在接收端解密。使用加密密鑰來對數據進行加密和解密。表示層還負責文件的壓縮,通過算法來壓縮文件的大小,降低傳輸費用。
應用層
? ? ? ?應用層是網絡體系中最高的一層,也是唯一面向用戶的一層,應用層將為用戶提供常用的應用程序,并實現網絡服務的各種功能。常用的電子郵件、上網瀏覽等網絡服務,都是應用層的程序。

應用層主要是面對用戶訪問網絡的。主要有一些應用程序,會話層,表示層,應用層如:DNS,FTP,E-mail,Telnet,HTTP。

TCP/IP五層架構

物理層、數據鏈路層、網絡層、傳輸層、應用層。

?

?

?

R1、R2為路由器。

兩個路由器相連,用交叉線/直連線 連以太口。(使用PPP協議)

用串口線連server口(兩排扁針的口)。?

R1左邊為集線器。(集線器共享帶寬,接口收發信息會相互影響。工作在物理層。沒有包過濾的功能,收到數據后向除接收端口外的所有接口轉發)

R2右邊為交換機。(交換機每個接口獨占帶寬,每個接口收發信息互不影響。工作在數據鏈路層。有包過濾的功能,根據表向指定端口轉發數據。)

?

工作過程?

?

wireshark抓包工具

?

?

?

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

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

相關文章

HTTP報文分析

一、HTTP請求報文解剖 HTTP請求報文由3部分組成(請求行請求頭請求體): 下面我們基于socket編寫一個簡單的HTTP server import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.Inp…

SSM框架整合一(springmvc+spring+mybatis+maven+tomcat)

一,環境說明 jdk1.7.0_07(cmd命令行輸入java -version查看),點擊下載 eclipse Kepler Service Release 2 apache-maven-3.3.9(cmd命令行輸入mvn -v查看),點擊下載 apache-tomcat-7.0.52,點擊下載 mysql-5.5.28-winx64&#xff0c…

如何在windows機器上安裝apache ab

為什么要使用apache ab,apache ab的是用來干嘛的,apache ab的命令? 如果您是來找上面這些問題的答案,那么請立刻關掉當前頁面,因為這篇文章是純粹的安裝教程,避免浪費時間。 一,安裝環境 win…

apache log4j入門

學習一項新東西之前,我常常問自己: 這項技術是什么? 這項技術為我們做了什么? 為什么不用其他類似的技術? 如何使用這項技術? 于是我帶著這些問題開始學習apache log4j 一,apache log4j是…

低版本Eclipse如何快速設置黑色主題

低版本的Eclipse(例如Kepler Service Release 2),沒有自帶的黑色主題,并且在線安裝黑色主題會報錯 去網上找了一圈結果都是騙人的,這個時候別著急,只需三個簡單的步驟即可完成黑色主題配置。 下面是設置完…

tomcat-maven插件熱部署(簡潔版)

最近在學ssm框架,為了提高學習效率,想使用tomcat-maven插件熱部署,網上有很多關于這方面的文章,但是有很多坑。 自己總結了一下,簡化了多余的配置,還有運行過程中發生異常的原因。 環境:apach…

eclipse中配置jad反編譯插件

1 下載Eclipse支持jad插件的jar包 將下載得到的net.sf.jadclipse_3.3.0.jar放到eclipse》plugins目錄下 2 eclipse配置jad插件 下載jad.exe 3 設置文件關聯

SpringCloud學習之路(一)-簡單Demo

首先,我們先在C:\Windows\System32\drivers\etc路徑下的hosts最后添加兩個地址用于模擬服務端以及消費端的IP 127.0.0.1 dept-8001.com #微服務端127.0.0.1 client.com #消費端 SpringCloud的一個最基礎Demo,本地真實模擬環境(服務的創建者以及消費者),這是我們Demo截圖: 分為一…

Oracle數據庫數據泵導入導出

由于開發過程中有時候無法直接連數據庫,這時候需要將數據庫導入開發環境中,故此總結一個完整的數據庫導入導出過程。 注意expdp和impdp命令末尾都不能加分號 1 導出某個用戶的所有數據庫對象 1.1 Linux導出 su - oracle 授權用戶grant exp_full_data…

eclipse工作區打不開的解決方案

今天上班的時候發現eclipse打開總是閃退,剛開始以為是eclipse的問題,后來才發現是工作區的問題。 分享出來,希望能夠幫助遇到同樣問題的人。 1 設置詢問打開的工作區 eclipse安裝目錄\configuration\.settings\org.eclipse.ui.ide.prefs&a…

日期時間總結

今天總結一下日期時間如何處理,方便以后查看。 1 Oracle 1.1 日期格式參數及其含義說明 Oracle不區分大小寫,所以下面參數大小寫都可以 D 一周中的星期幾 DAY 天的名字,使用空格填充到9個字符 DD …

Oracle對象被鎖如何處理

1 查看被鎖住的對象 select object_name,machine,s.sid,s.SERIAL# from v$locked_object l,dba_objects o ,v$session s where l.object_id  o.object_id and l.session_ids.sid; 2 解鎖 將1中查詢出的sid和serial#,作為參數 alter system kill session 2400,…

BeycondCompare3破解綠色版下載

鏈接: https://pan.baidu.com/s/1GBtkLdqU7wTAzjvn2QfHrw 提取碼: rzcw 復制這段內容后打開百度網盤手機App,操作更方便哦

Oracle rowid和rownum的區別

rowid和rownum在本質上有區別: rowid rowid是物理結構上的,每插入一行數據,都會生成一條唯一的編號。可以說默認排序是根據rownum升序的,但是本質上還是根據rowid升序排列的。 rownum rownum可以說是偽列,并不存在&a…

Oracle/mysql聯合查詢union、union all

若無特殊說明,oracle與mysql均適用 使用場景 union、union all關鍵字用戶將兩個select查詢結果集合并成一個結果集,例如:一個舊系統使用a表,同樣的信息但是新系統使用了b表,這時候可以使用union或者union all關鍵字將…

【JAVA基礎篇】反射

一、反射的概念 是指在運行過程中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象,都能夠調用這個對象的所有方法和屬性。這種動態獲取信息和動態調用方法的功能稱為JAVA的反射機制。 二、反射的優缺點 2.…

在線工具

分享一下很實用的在線工具 在線HTTP接口測試 草料二維碼 站長之家

【JAVA基礎篇】面對對象的特征

面對對象的3大特征是:封裝、繼承和多態 封裝 封裝就是將客觀的事物封裝成抽象的類,這個類包含這類事物共同的特性和行為,特性對應類的成員變量,行為對應類的成員方法。 封裝就是將一批具有相同特性和行為的客觀事物封裝成抽象類…

【JAVA基礎篇】final、finally和finalize

final final表示最終的、不可被更改的,用來修飾類、成員方法和變量,通常處于兩方面的考慮來使用它:特殊的設計和效率。 final類 一個類如果確信沒有子類或者這個類的方法不允許修改,那么就把這個類定義成final類。 final類的成…

【JAVA基礎篇】抽象類和接口的區別

抽象類和接口是定義抽象概念的兩種方式,正是由于抽象類和接口,才賦予了Java強大的面向對象的能力。在討論他們的不同點之前,我們先來了解抽象類和接口。 抽象類 在面向對象的領域一切事物都是對象。對象都是通過類來描述的,但是反…