網絡知識學習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網絡ui

    數據封裝的過程


加密

 



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

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

TCP/IP 模型.net

  在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將數據送交給第七層。第七層對該數據加上若干比特的控制信息做爲第六層的數據單元。blog

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

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

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

  接着,當比特流經過傳輸介質送到開放系統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層原理模型,說明了層、協議和接口的關係。

 

協議與接口示意圖

相關文章
相關標籤/搜索