目前存在的兩種網路分層模型:osi模型和tcp/ip模型。osi模型一共分為七層,tcp/ip模型和osi模型類似,但是只分為四層。
osi的全程是open systems interconncection,即開放系統互聯,它由iso(international organization for standardization)制定。osi是網路通訊的一種通用框架,它分為七層,並且定義了在每一層上資料的處理方法。
層數層名備註7
6表示層(presentation)
5會話層(session)
4傳輸層(transport)
3網路層(network)
路由器2
資料鏈路層(data link)
交換機1
物理層(physical)
網絡卡、集線器(hub)
英語速記:all people seem to need data processing.
應用層的其他常用協議:
這裡的「表示」是指資料的表示。
該層的主要功能:轉換,壓縮和加密。
工作在表示層的加密協議最常用的是ssl(secure sockets layer)。加密協議並不一定需要工作在表示層,如ipsec(internet protocol security,網際網路協議安全)就工作在第三層網路層中。
會話層還負責管理和確定傳輸模式。計算機可以由三種模式來傳輸資料:單向(******x)、半雙工(half-duplex)、全雙工(full-duplex)。
傳輸層提供資料傳輸的服務。這裡的「傳輸」指的是端對端(end-to-end)或者主機對主機(host-to-host)的傳輸。
傳輸層上最重要的兩個協議是tcp和udp。tcp是面向連線的協議(connection-oriented),udp是無連線的協議(connection-less)。
tcp在傳輸資料之前必須先建立乙個連線。tcp做了很多任務作來提供可靠的資料傳輸,包括建立、管理和終止連線,確認和重傳。同時tcp還提供分段和重組,流量控制(flow control)等。
udp是一種簡單的傳輸層協議,所以它並不能提供可靠的資料傳輸。簡單地說,udp只是把應用程式發給它的資料打包成乙個udp資料報(udp datagram),然後再把這個資料報傳給ip。
tcp會把應用程式發來的資料根據需要分成若干個大小合適的tcp段(tcp segment),而udp卻只是簡單地把所有傳送來的資料打包成乙個udp資料報,所以我們在編寫使用udp的程式時,不能一次性向udp寫入太多資料,否則可能會導致ip分段的後果。
由於可能有很多應用程式同時在使用tcp/udp,它們都會把資料交給tcp/udp,而tcp/udp也會接收來自ip的、包含指向不同應用程式的資料,所以就需要有一種方法來區別(標識)應用程式,這種方法就是通過埠號(port)來進行多路復用或多路分解。埠號是乙個16位的二進位制整數,其取值範圍是0~65535。
多路復用(multiplexing)
多路復用是只當應用程式把資料交給tcp或udp時,tcp會把這些資料分成若干個tcp段,udp則會產生乙個udp資料報。在這些tcp段和udp資料報中,會填入應用程式指定的源埠號和目標埠號,源埠號用於標識傳送的應用程式(程序),目標埠號用於指明在目標機器上應該接收資料的目標應用程式。
多路分解(demultiplexing)
多路分解是多路復用的逆過程。當在目標機器上的tcp或者udp接收到tcp段和udp資料報時,會檢查它們的目標埠號,然後根據不同的目標埠號把資料分發給不同的應用程式(程序)。
網路層關心的主要是如何把資料從乙個裝置傳送到另乙個裝置。網路層需要提供三個最基本的功能:位址、路由、分段和重組。同時還需要一些附加的功能,比如錯誤處理和診斷。
網路層關心的是如何把資料從乙個裝置傳送到另外乙個裝置,這另外乙個裝置有可能在本地網路中或者在乙個很遠的網路中。資料鏈路層關心的是如何把資料傳送到本地網路中去。我們平時常說的lan(local area network,區域網)技術,如乙太網(ethernet)、令牌環網(token ring)、光纖分布資料介面(fddi)和802.11(wifi)都定義在這一層。
資料鏈路層又分為兩個子層:邏輯鏈路控制層(logical link control)和介質訪問控制層(media access control)。
資料鏈路層還有乙個重要的概念,即mac位址,也有人稱其為實體地址、硬體位址、乙太網位址等。每乙個網絡卡(network inte***ce card)都有乙個唯一的mac位址,資料鏈路層通過mac位址來確保資料能夠正確被傳送到目標裝置。mac位址是乙個48位二進位制整數,通常的表示方法是用-隔開的6個十六進製制整數,如14-fe-b5-b0-2b-96。
物理層位於osi的底層,所有其他層的資料最終都必須經由物理層才能傳送出去。物理層的功能包括:
在tcp/ip模型中並不包含物理層。另外,兩個重要的協議arp(address resolution protocol,位址解析協議)和rarp(reverse address resolution protocol,反向位址轉換協議),在osi模型中一般被認為是在位於第二層資料鏈路層和第三層網路層之間,而在tcp/ip模型中則位於網路介面層。
傳送方應用程式的資料總是從最上層開始,層層向下,最終經由物理層傳送出去;相應的,在接收方的物理層接收到資料後,層層向上,最終經由應用層分發到具體的應用程式程序中。
在資料層層向下的過程中,每一層都會對資料進行一些封裝處理(如打包或者編碼);而在資料層層向上的過程中,每一層都會對資料進行一些逆處理(如解包或者解碼)。這些對資料的處理和逆處理的過程就是為了實現該層的服務。
網路分層模型TCP IP
osi七層模型與tcp ip五層模型 一 osi參考模型 今天我們先學習一下乙太網最基本也是重要的知識 osi參考模型。1 osi的 osi open system interconnect 即開放式系統互聯。一般都叫osi參考模型,是iso 國際標準化組織 組織在1985年研究的網路互連模型。is...
《網路》 基礎(庫 網路分層模型)
一.庫 分為靜態庫和動態庫 使用方法 pragma comment lib,xx.lib 注意 pragma在預處理時保留 鏈結階段生成 靜態庫只需導.h和.lib 使用方法同靜態庫 但這裡的lib叫做引入庫 而不是靜態庫 載入方式分為兩類 隱式載入和動態載入 隱式載入 導.h lib和.dll 動...
網路分層模型 OSI 與 TCP IP
目錄 1 osi 模型 2 tcp ip 模型 3 總結 目前存在的兩種網路分層模型 osi 模型和 tcp ip 模型。osi 模型一共分為七層,tcp ip 模型和 osi 模型類似,但是只分為四層 osi open systems interconncection 開放系統互聯,是網路通訊的一...