網絡知識學習1---(基礎知識:ISO/OSI七層模型和TCP/IP四層模型)


以下的內容和之后的幾篇博客只是比較初級的介紹,想要深入學習的話建議自己鑽研《TCP/IP詳解 卷1:協議》

1.ISO/OSI七層模型
    下四層是為數據傳輸服務的,物理層是真正的傳輸數據的,數據鏈路層、網絡層、傳輸層主要是寫入對應數據的傳輸信息的
        物理層:比特
            設備之間的比特流的傳輸、物理接口、電氣特性
        數據鏈路層:幀
            保存的最主要的信息是網卡的 mac 地址,mac 地址負責局域網通信的,發件人和收件人的mac 地址
                mac地址的作用:盡管你是要在互聯網中傳輸數據(貌似需要IP地址就可以了),但是在互聯網中傳輸數據其實是通過在一個又一個的局域網進行依次傳遞,所以需要mac 地址
            進行錯誤檢測和修正
        網絡層:報文
            保存的最主要的信息是 IP 地址,IP 地址是負責外網通信的,發件人和收件人的IP 地址
            選擇通路(路由器)
        傳輸層:TPDU--傳輸協議數據單元
            確定端口號(IP是尋找互聯網中的哪個電腦,端口是尋找電腦中的哪個應用服務)
            確定傳輸協議是可靠的還是不可靠的(UDP、TCP)
            傳輸前的錯誤檢測
            流量控制

    為用戶提供服務的上三層
        會話層:SPDU--會話協議數據單元
            確定網絡數據是否要通過遠程會話
                比如你寫了一個word文檔,在保存之后(表示層完成格式轉化……)就會到達會話層,顯然判斷word文檔保存在本地即可,不需要進行網絡傳遞,所以直接交給硬盤進行存儲即可
                但是你寫了一個郵件,點擊發送(表示層完成格式轉化……)就會到達會話層,顯然判斷郵件需要通過網絡進行傳輸,所以就會交給傳輸層進行處理
        表示層:SPDU--表示協議數據單元
            把你的數據進行數字化表示(把英文/中文/圖片/mp3……通過一定的規則翻譯成01 格式)
            加密
            壓縮
        應用層:APDU--應用協議數據單元
            給用戶提供服務的接口


2.TCP/IP四層網絡模型
    上面所講到的ISO/OSI七層模型目前只是一個模型,在實際的網絡傳輸中其實並不是這樣使用的,實際的網絡傳輸中使用的其實是TCP/IP四層模型
    網絡接口層、網際互連層、傳輸層、應用層

    TCP/IP模型和ISO/OSI模型的對應(所以各層的功能參考ISO/OSI模型中各層的功能)
        網絡接口層:對應物理層、數據鏈路層
            負責監視數據在主機和網絡之間的交換。事實上,TCP/IP本身並沒有定義該層的協議,而由參與互連的各個網絡使用自己的物理層和數據鏈路層協議,然后與TCP/IP的網絡接入層進行鏈接
            地址解析協議(ARP)工作在此層,即OSI參考模型的數據鏈路層:ARP就是將IP地址翻譯成mac 地址,因為在整個互聯網內傳輸需要IP 地址,但是在同一個網段之內(局域網)傳輸數據就不是使用IP 地址,而是需要使用mac 地址。
            例如,在同一個局域網內傳輸數據,電腦點擊發送數據,而發送的目標是我同局域網內的另一台計算機,點擊之后數據就會發送到網線上,網線就會把你的請求發送到交換機上,交換機只能識別mac 地址,不認識IP地址
            注意,局域網內部使用交換機,而在局域網之間的連接是通過路由器路由器是用來進行跨網絡通信的,在同一個網絡內通信只需要交換機即可
            所以還是需要再學習交換機、路由器等網絡設備及其作用、原理
        網際互連層:對應網絡層
            主要解決主機到主機的通信問題。它所包含的協議設計數據包在整個網絡上的邏輯傳輸。
            該層有三個主要協議:網際協議(IP)、互聯網組管理協議(IGMP)、互聯網控制報文協議(ICMP)
        傳輸層:對應傳輸層
            為應用層實體提供端到端的通信功能,保證了數據包的順序傳送及數據的完整性。
            該層定義了兩個主要的協議:傳輸控制協議(TCP)、用戶數據報協議(UDP)。QQ傳輸使用的就是UDP協議
            還需要深入學習,比如TCP/IP三次握手(為什么要三次握手,搜索“什么是兩軍問題”,其實三次握手也不能達到絕對可靠,但是相對來說三次已經相當可靠了,如果再握手更多次就太費時間了,太少的話就不能保證足夠可靠)
        應用層:對應會話層、表示層、應用層
            為用戶提供所需要的各種服務
            例如:FTP、Telnet、DNS、SMTP等
    OSI模型是在協議開發之前設計的,具有通用性。TCP/IP是先有協議集然后建立模型,不適用於非TCP/IP網絡

    數據封裝的過程


 



另外參考這個鏈接進行更詳細的學習TCP/IP的體系結構:http://blog.csdn.net/taoyingzhushui/article/details/8120296

  TCP/IP模型是由美國國防部在ARPANET網絡中創建的網絡體系結構,所以有時又稱為DoD(Department of Defense)模型,是至今為止發展最成功的通信模型,它用於構築目前最大的、開放的互聯網絡系統Internet。TCP/IP模型分為不同的層次,每一層負責不同的通信功能。但TCP/IP簡化了層次模型(只有4層),由下而上分別為網絡接口層、網絡層、運輸層、應用層,如圖2.14所示。

TCP/IP 模型

  在TCP/IP模型中,網絡接口層是TCP/IP模型的最底層,負責接收從網絡層交付的IP數據包,並將IP數據包通過底層物理網絡發送出去,或者從底層物理網絡上接收物理幀,抽出IP數據報,交給網絡層。
  網絡層負責獨立地將分組從源主機送往目的主機,為分組提供最佳路徑選擇和交換功能,並使這一過程與它們所經過的路徑和網絡無關。
  運輸層的作用是在源節點和目的節點的兩個對等實體間提供可靠的端到端的數據通信。
  應用層為用戶提供網絡應用,並為這些應用提供網絡支撐服務,把用戶的數據發送到低層,為應用程序提供網絡接口。

  TCP/IP模型每一層都提供了一組協議,各層協議的集合構成了TCP/IP模型的協議簇。
1.網絡接口層協議
  TCP/IP的網絡接口層中包括各種物理網絡協議,例如Ethernet、令牌環、幀中繼、ISDN和分組交換網X.25等。當各種物理網絡被用做傳輸IP數據包的通道時,這種傳輸過程就可以認為是屬於這一層的內容。

2.網絡層協議
  網絡層包括多個重要協議,主要協議有4個,即IP、ARP、RARP和ICMP。

  網際協議(Internet Protocol,IP)是其中的核心協議,IP協議規定網絡層數據分組的格式。

  Internet控制消息協議(Internet Control Message Protocol,ICMP)提供網絡控制和消息傳遞功能。

  地址解釋協議(Address Resolution Protocol,ARP)用來將邏輯地址解析成物理地址。

  反向地址解釋協議(Reverse Address Resolution Protocol,RARP)通過RARP廣播,將物理地址解析成邏輯地址。

3.運輸層協議
  運輸層協議主要包含TCP和UDP兩個協議。

  傳輸控制協議(Transport Control Protocol,TCP)是面向連接的協議,用三次握手和滑動窗口機制來保證傳輸的可靠性和進行流量控制。

  用戶數據報協議(User Datagram Protocol,UDP)是面向無連接的不可靠運輸層協議。

4.應用層協議
  應用層包括了眾多的應用與應用支撐協議。  

  常見的應用層協議有:文件傳輸協議(FTP)、超文本傳輸協議(HTTP)、簡單郵件傳輸協議(SMTP)、遠程登錄(Telnet)。

  常見的應用支撐協議包括域名服務(DNS)和簡單網絡管理協議(SNMP)等。

TCP/IP網絡模型處理數據的過程描述如下:
  1)生成數據。當用戶發送一個電子郵件信息時,它的字母或數字字符被轉換成可以通過互聯網傳輸的數據。
  2)為端到端的傳輸將數據打包。通過對數據打包來實現互聯網的傳輸。通過使用端傳輸功能確保在兩端的信息主機系統之間進行可靠的通信。
  3)在首部上附加目的網絡地址。數據被放置在一個分組或者數據報中,其中包含了帶有源和目的邏輯地址的網絡首部,這些地址有助於網絡設備在動態選定的路徑上發送這些分組。
  4)附加目的數據鏈路層MAC地址到數據鏈路首部。每一個網絡設備必須將分組放置在幀中,該幀的首部包括在路徑中下一台直接相連設備的物理地址。
  5)傳輸比特。幀必須轉換成“1”和“0”的信息模式,才能在介質上進行傳輸。時鍾功能(Clocking Function)使得設備可以區分這些在介質上傳輸的比特,物理互聯網絡上的介質可能隨着使用的不同路徑而有所不同。例如,電子郵件信息可以起源於一個局域網LAN,通過校園骨干網,然后到達廣域網WAN鏈路,直到到達另一個遠端局域網LAN上的目的主機為止。


2.2.5  原理體系結構
  在分析網絡結構原理和進行網絡程序設計時,使用OSI七層結構過於復雜。

  OSI的會話層主要功能是組織和同步不同的主機上各種進程間的通信,負責在兩個會話層實體之間進行對話連接的建立和拆除,這個功能可以合並到運輸層來表述,因為運輸層提供的端到端的透明數據運輸服務。

  OSI的表示層為上層用戶提供共同的數據或信息的語法表示及變換,這個功能可以合並到應用層來表述,因為應用層為特定類型的網絡應用提供訪問OSI環境的手段。

  這樣,網絡體系結構就可以簡化為五層結構,通常叫做原理體系結構模型或混合模型,如圖2.15所示。各層的功能與OSI參考模型類似,可以簡單描述如下。
物理層:透明傳輸比特流。
數據鏈路層:無差錯地傳輸以幀為單位的數據。
網絡層:選擇路由,網絡尋址(包或分組)。
運輸層:為進程間提供可靠的端到端的服務。
應用層:為用戶的應用進程提供服務。

 

2.3  數據單元

  在網絡環境中,層間傳送的信息基本單位稱為數據單元。

  有了數據單元的概念,我們就可以很方便地描述兩個開放系統之間的通信過程。

  例如,以開放系統A的應用進程APA與開放系統B的應用進程APB之間的通信過程為例,應用進程APA通過本地系統管理模塊LSM將數據送交給第七層。第七層對該數據加上若干比特的控制信息作為第六層的數據單元。

  第六層收到此數據單元后,又加上本層的控制信息構成第五層的數據單元。

  以下依次類推。直到第二層,將控制信息分成兩個部分,分別加到本層數據單元的首部和尾部。

  在第一層則不再加任何控制信息,因為該層僅完成比特流的傳送任務。

  接着,當比特流通過傳輸介質送到開放系統B時,由第一層逐層往上送至第七層。

  每一層根據控制信息做必要的操作后,再將此控制信息去掉,將剩余的數據單元提交給上一層。最后,把APA發送的數據交給應用進程APB。

 

  在OSI環境中,對等實體按協議進行通信,相鄰層實體按服務進行通信。這些通信都是以數據單元作為信息傳遞單位來進行的。在OSI模型中,規定了下述三種類型的數據單元。

1)服務數據單元SDU(Service Data Unit)。OSI模型把相鄰層實體間傳送信息的數據單元稱為服務數據單元,並將(N+1)層與(N)層之間傳送信息的服務單元記為(N)SDU。(N)服務數據單元實際上是確保(N)服務傳輸需要的邏輯單元。

2)協議數據單元PDU(Protocol Data Unit)。OSI模型把對等實體間傳送信息的數據單元稱為協議數據單元,並將(N)層的協議數據單元記為(N)PDU。(N)PDU由兩部分組成,即(N)用戶數據[記為(N)UD]和(N)協議控制信息[記為(N)PCI]。如果某層的協議數據單元只用於控制,則該協議數據單元中的用戶數據可省略,此時只有該層的PCI。

3)接口數據單元IDU(Interface Data Unit)。OSI模型把相鄰層實體通過層間服務訪問點依次交互信息的數據單元稱為接口數據單元,並將(N)層的接口數據單元記為(N)IDU。(N)IDU也由兩部分組成。其中,一部分是(N+1)實體與(N)實體交互的數據,稱為接口數據[記為(N)ID];另一部分是為了協調(N+1)實體與(N)實體的交互操作而附加的控制信息(如服務原語中的某些參數),這些拉制信息稱為接口控制信息[記為(N)ICI]。由於接口控制信息只在交互信息通過服務訪問點時才起作用,所以,當接口數據單元通過服務訪問點后就可以將其取掉。

 數據單元關系示意圖


  當(N)較長而(N)協議所要求的(N)較短時,就要對(N)SDU進行分段處理,分別加上各自的協議控制信息,構成多個(N)PDU。而在接收方則要進行相應的合段操作。
  圖2.16描述了三種數據單元的簡單關系。(N+1)PDU是借助(N)SDU通過(N)服務訪問點(SAP)傳送到(N)層的,此時(N)SDU就相當於(N)層的用戶數據,對它加上(N)PCI后便構成了(N)PDU。這樣,(N+1)PDU似乎等同於(N)SDU,實際上,(N+1)PDU與(N)SDU不一樣長的情況也是存在的。有時發送方實體需要將數個(N+1)PDU拼接成一個(N)SDU,而在接收方對等實體把一個(N)SDU分割成數個(N+1)PDU的操作。

  事實上,也可能出現一個(N)SDU等於數個(N)IDU的情況。此時,(N+l)實體與(N)實體之間就需要通過數次交互(N)IDU才能實現傳送(N)SDU。

2.4  服務與用戶

  將計算機網絡表示成層次模型,在垂直式的層次表示方法中,第N層是第N-1層的用戶,又是第N+1層的服務提供者。而第N+1層的用戶雖然只能直接使用第N層所提供的服務,實際上它還通過第N層間接地使用了第N層以下各層的服務。

  在每對相鄰層之間有一個接口,接口定義了較低層向較高層提供的原始操作和服務。因此,一台計算機的第N層與另一台計算機的第N層進行通信,實際上並不是一台計算機的第N層直接將數據傳送給另一台計算機的第N層(除最低層外),而是每一層將數據和控制信息通過層間接口傳送給與它相鄰的第N-l層,這樣直至最低層為止。在最低層再通過物理介質實現與另一計算機最底層的物理通信。物理通信與高層之間進行的虛擬通信是不同的,是實通信。

  對於層間通信,通信雙方都必須遵守事先約定的規則,這些規則稱為網絡協議。網絡協議不僅要明確規定所交換的數據的格式,而且還要對事件發生的次序(即同步)做出詳細的過程說明。

  圖2.17給出了一個5層原理模型,說明了層、協議和接口的關系。

 

協議與接口示意圖

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM