1. 程式人生 > >OSI模型和TCP/IP協議族(二)

OSI模型和TCP/IP協議族(二)

出發 app 另一個 改變 cati mar int 點對點 本機

OSI模型中的各層
物理層
物理層(physical layer)協調通過物理媒體傳送比特流時所需要的各種功能。物理層涉及到接口和傳輸媒體的機械和電器規約。它還定義了這些物理設備即接口為了實現傳輸必須完成的過程和功能。
物理層負責把逐個的比特從一跳(結點)移動到下一跳。
物理層關心的是以下一些內容:

  • 接口和媒體的物理特性物理層定義了設備與傳輸媒體之間的接口特性。它還定義了傳輸媒體的類型(見後面分享)。
  • 比特的表示物理層的數據由一串沒有任何解釋的比特(bit)流(0和1的序列)組成。發送時,比特必須經過編碼編程信號--電的或光的。物理層對編碼(encoding)的類型也進行了定義(即0和1怎樣變為信號)。
  • 數據率 傳輸速率(transmission rate)即每秒發送的比特數,也在物理層定義。換言之,物理層定義一個比特的持續時間。
  • 比特的同步發送設備和接收設備不僅要使用同樣的比特率,而且還要在比特級進行同步。換言之,發送設備和接收設備的時鐘必須時同步的。
  • 線路配置物理層要考慮到設備與媒體的連接。點對點配置(point-to-point configuration)時兩個設備通過專用鏈路連接在一起。多點配置(multi-point configuration)時若幹個設備共享一條鏈路。
  • 物理拓撲物理拓撲定義了設備如何連成一個網絡,設備的連接可以使用網狀拓撲(mesh topology,每一個設備都和其他所有設備連接),星狀拓撲(star topology,所有設備都通過中央設備來連接),環狀拓撲(ring topology,每一個設備都連接到下一個設備而形成環)或總線拓撲(bus topology,所有設備都在一個公共鏈路上)等方式。
  • 傳輸方式物理層還定義了兩個設備之間的傳輸方式:單工、半雙工或全雙工。在單工方式(simplex mode)下,只有一個設備可以發送,另一個設備只能接收。單工方式是一種單向通信。在半雙工方式(half-duplex mode)下,兩個設備都可以發送和接收,但不能在同一時間進行。在全雙工方式(full-duplex mode或簡稱為雙工方式)下,兩個設備可以在同一時間發送和接收。

數據鏈路層
數據鏈路層(data link layer)把物理層(即原始的傳輸設施)轉換為可靠的鏈路。它使物理層對上層(網絡層)看起來好像是無差錯的。數據鏈路層的任務包括:

  • 組幀數據鏈路層把從網絡層收到的比特流劃分成可以處理的數據單元,稱之為幀(frame)。
  • 物理編址如果這些幀需要發送給本網絡內的另一個系統,那麽數據鏈路層就要在幀上附加一個首部,指明幀的發送方和/或接收方。如果這個幀要發送給本網絡以外的一個系統,則接收方地址應當是連接本網絡和下一個網絡的連接設備的地址。
  • 流量控制如果接收方吸收數據的速率小於發送方產生數據的速率,那麽數據鏈路層就應使用流量控制機制來預防接收方因過負荷而無法工作。
  • 差錯控制數據鏈路層增加了一些措施來檢測並重傳損傷的幀或丟失的幀,因而使物理層增加的可靠性。它還采用了某種機制來識別重復的幀。差錯控制通常是在一個幀的後面加上一個尾部來實現的。
  • 接入控制當兩個或更多的設備連接到同一條鏈路時,數據鏈路層就必須決定任一時刻該由哪一個設備對鏈路有控制權。

網絡層
網絡層(network layer)負責把分組從源點交付到終點,這可能要跨越多個網絡(鏈路)。如果說數據鏈路層監督的是同一個網絡(鏈路)上的兩個系統之間的分組交付,那麽網絡層則要確保每個分組從源點出發並最終抵達目的地。
如果兩個系統連接到同一條鏈路上,則一般來說就不需要網絡層了。但是,如果兩個系統連接在不同的網絡(鏈路)上,而這些網絡(鏈路)是由一些連接設備連接起來的,那麽就需要網絡層來完成從源點到終點的交付。網絡層的任務包括:

  • 邏輯編址由數據鏈路層實現的物理編址處理的是本地尋址問題。如果分組穿過了網絡的邊界,我們就需要另一種編址系統來幫助我們區分源系統和目的系統。網絡層給從上層傳來的分組附加一個首部,其中包括發送方和接收方的邏輯地址,以及其他一些信息。
  • 路由選擇當多個獨立的網絡或鏈路互相連接組成互聯網(網絡的網絡)或組成一個更大的網絡時,這些連接設備(成為路由器或交換機)就要為數據分組選路或交換,以達到它們最終的目的地。網絡層的功能之一就是提供這種機制。

傳輸層
傳輸層(transport layer)負責完整報文的進程到進程的交付(process-to-process delivery)。進程是運行在主機上的應用程序,網絡層管理的是單個分組從源點到終點的交付(source-to-destination delivery),它並不考慮這些分組之間的關系。網絡層獨立地處理每個分組,就好像每個分組屬於獨立的報文那樣,而不管是否真的如此,傳輸層則要確保整個報文原封不懂地按序到達,它要監督從源點到終點這一級的差錯控制和流量控制。傳輸層的任務包括:

  • 服務點編址計算機往往在同一時間運行多個程序。因此,從源點到終點的交付並不僅僅是從某個計算機交付到另一個計算機,同時還指從某個計算上的特定進程(運行著的程序)交付到另一份計算機上的特定進程(運行著的程序)。因此,傳輸層的首部必須包括一種稱為服務點地址(或端口地址)的地址。網絡層將各分組送抵正確的計算機,而傳輸層則將完整的報文交給該計算機上正確的進程。
  • 分段與重裝一個報文被劃分成若幹個可傳輸的報文段,每個報文段應包含一個序號。在報文到達終點時,傳輸層利用這些序號能夠把它們重裝起來,同時對在傳輸時丟失的分組也能夠識別並替換為正確的分組。
  • 連接控制傳輸層可以是無連接的,也可以是面向連接的。無連接的傳輸層把每個報文看成是獨立的數據報,並把報文段交付給終點設備上的傳輸層。面向連接的傳輸層在發送報文段之前,先要與終點設備上的傳輸層建立一條連接。當全部數據都傳送完畢後,連接就被釋放掉。
  • 流量控制如同數據鏈路層一樣,傳輸層也要負責流量控制。不同的是傳輸層的流量控制是端到端的,而不是單條鏈路上的流量控制。
  • 差錯控制如同數據鏈路層一樣,傳輸層也要負責差錯控制。不同的是傳輸層的差錯控制也是端到端的,而不是只限於單條鏈路上的差錯控制。發送端的傳輸層必須確保整個報文沒有差錯(即無損傷、無丟失、無重復)地到達接收端的傳輸層。糾錯通常通過重傳來完成。

會話層
對某些進程來說,下四層(物理層、數據鏈路層、網絡層和傳輸層)提供的服務還不夠充分。會話層(session layer)就是網絡的對話控制器。它用於建立、維持並同步正在通信的系統之間的交互。會話層的具體任務包括:

  • 對話控制會話層允許兩個系統進入對話狀態。它允許兩個進程之間的通信按半雙工(在某個時刻單向通信)或全雙工(在某個時刻雙向通信)方式進行。
  • 同步會話層允許進程在數據流中插入若幹個檢查點(同步點)。例如,如果某系統要發送一個2000頁的文件,那麽可以在每100頁後插入一個檢查點,這樣就保證了以每100頁為一個單元的數據獨立地接受和確認。在這種情況下,如果傳輸第523頁時計算機崩潰了,那麽系統恢復後只需要重傳501~523頁。第501頁以前的就不需要重傳了。

表示層
表示層(presentation layer)考慮的問題是兩個系統所交換的信息的語法和語義。表示層的具體任務包括:

  • 轉換分別位於兩個系統上的進程(運行著的程序)所交換的信息的形式通常都是字符串、數字等等。這些信息在傳送之前必須變為比特流。由於不同的計算機使用不同的編碼系統,表示層的任務就是在這些不同的編碼方法之間提供互操作性。發送方的表示層把信息從與發送方相關的格式轉換為一種公共的格式,而接收方的表示層把這種公共格式轉換為與接收方相關的格式。
  • 加密為了攜帶敏感信息,一個系統必須能夠做到保密。加密就是發送方把原始信息轉換為另一種形式,然後將轉換後的報文發送到網絡上。解密就是把原過程反過來,把加密信息恢復為原來的形式。
  • 壓縮數據壓縮減少了信息中所包含的比特數,在傳輸多媒體信息(如文本、聲音和視像)時,數據壓縮就特別重要。

應用層
應用層(application layer)讓用戶(不管是人還是軟件)能夠接入網絡。應用層給用戶提供了接口,也提供多中服務支持,如電子郵件、遠程文件訪問和傳送、共享數據庫管理,以及其他多種類型的分布式信息服務。應用層提供的特定服務有以下:

  • 網絡虛擬終端網絡虛擬終端是物理終端的軟件版本,用來是用戶能夠登陸到遠程主機上。為此,這個應用程序創建一個軟件對遠程主機的終端進行仿真。用戶的計算機先與這個軟件終端交談,然後這個軟件終端再和主機交談,反之亦然。遠程主機認為它正在和自己的終端交談,因此就允許你進行登陸了。
  • 文件傳送、存取和管理(FTAM)這個應用程序允許用戶訪問遠程主機中的文件(改變數據或讀取數據)、將文件從遠程計算機讀取到本地計算機上來使用以及在本機上管理和控制遠程計算機中的文件。
  • 郵件服務這個應用程序提供轉發和存儲電子郵件的基本功能。
  • 名錄服務這個應用程序提供分布式數據庫源,以及對全球各種對象和服務信息的存取。

下圖對OSI各層做了小結:
技術分享圖片

OSI模型和TCP/IP協議族(二)