1.應用層
任務 :為操作系統(tǒng)或網(wǎng)絡(luò)應用程序提供訪問網(wǎng)絡(luò)服務的接口 ,通過應用進程間的交互完成特定網(wǎng)絡(luò)應用。應用層定義的是應用進程間通信和交互的規(guī)則
常用協(xié)議:http、SMTP、FTP、ping、telnet、DNS、DHCP等
HTTP協(xié)議(超文本傳輸協(xié)議)
主要特點:
● 支持客戶/服務器模式
● 簡單快速:客戶向服務器請求服務時,只需傳送請求方法和路徑;請求方法常用GET、HEAD、POST等,每種方法規(guī)定了客戶與服務器聯(lián)系的不同類型;HTTP協(xié)議簡單,服務器程序規(guī)模小,通信速度較快
● 靈活:HTTP允許傳輸任意類型的數(shù)據(jù)對象;正在傳輸?shù)?a href="http://www.babyishan.com/tag/%e6%95%b0%e6%8d%ae%e7%b1%bb%e5%9e%8b">數(shù)據(jù)類型由Content-Type加以標記
● 無連接:無連接是指每次連接只處理一個請求;服務器處理完客戶請求,并收到客戶應答后,即斷開連接,節(jié)省傳輸時間
● 無狀態(tài):無狀態(tài)是指協(xié)議對于事務處理沒有記憶能力;應答較快,但傳輸數(shù)據(jù)量較大
HTTP URL:定位網(wǎng)絡(luò)資源
● http://host[:port][abs_path]
HTTP請求
● 三部分組成:請求行、消息報頭、請求正文
● 格式:Method Request-URI HTTP-Version CRLF
● Method:請求方法,GET、POST等
● Request-URI:請求的HTTP協(xié)議版本
● CRLF:回車換行
HTTP響應
● 由三部分組成:狀態(tài)行、消息報頭、響應正文
● 狀態(tài)行格式:HTTP-Version Status-Code Reason-Phrase CRLF
● HTTP-Version:服務器HTTP協(xié)議版本
● Status-Code:服務器返回的響應狀態(tài)碼
HTTP狀態(tài)碼
● 由三位數(shù)字組成,首數(shù)字定義響應類別
● 1xx:指示信息,表示請求已接收,繼續(xù)處理;
● 2xx:成功
● 3xx:重定向,要完成請求必須進行更進一步的操作;
● 4xx:客戶端錯誤,請求有語法錯誤或請求無法實現(xiàn)
● 5xx:服務器端錯誤:服務器未能實現(xiàn)合法的請求
常見狀態(tài)代碼
● 200:OK,請求成功;
● 400:Bad Request,請求有語法錯誤,不能被服務器所理解;
● 401:Unauthorized,請求未經(jīng)授權(quán);
● 403:Forbidden,服務器收到請求,但是拒絕提供服務;
● 404:Not Found,請求資源不存在;
● 500:Internet Server Error,服務器發(fā)生不可預期的錯誤;
● 503:Server Unavailable,服務器不能處理客戶請求
2.運輸層
任務:負責向兩個主機中進程之間的通信提供通用數(shù)據(jù)服務(為兩臺主機的應用程序提供端到端通信)
主要使用以下兩種協(xié)議:
傳輸控制協(xié)議TCP :提供面向連接的 、可靠的、基于流的數(shù)據(jù)傳輸服務,數(shù)據(jù)傳輸?shù)膯挝皇菆笪亩?。使用超時重發(fā)、數(shù)據(jù)確認等方式確保數(shù)據(jù)被正確發(fā)送至目的地
用戶數(shù)據(jù)報協(xié)議udp:提供無連接的、不可靠的、基于數(shù)據(jù)報的數(shù)據(jù)傳輸服務;數(shù)據(jù)傳輸?shù)膯挝皇怯脩魯?shù)據(jù)報
3.網(wǎng)絡(luò)層
任務: 負責對數(shù)據(jù)包進行路由選擇和存儲轉(zhuǎn)發(fā)
● 負責為分組交換網(wǎng)上的不同主機提供通信服務。在發(fā)送數(shù)據(jù)時,網(wǎng)絡(luò)層把運輸層產(chǎn)生的報文段和用戶數(shù)據(jù)報封裝成分組(IP數(shù)據(jù)報)或包進行傳送。
● IP協(xié)議:逐跳發(fā)送模式;根據(jù)數(shù)據(jù)包的目的地IP地址決定數(shù)據(jù)如何發(fā)送;如果數(shù)據(jù)包不能直接發(fā)送至目的地,IP協(xié)議負責尋找一個合適的下一跳路由器,并將數(shù)據(jù)包交付給該路由器轉(zhuǎn)發(fā)
● ICMP協(xié)議:因特網(wǎng)控制報文協(xié)議,用于檢測網(wǎng)絡(luò)連接
4.數(shù)據(jù)鏈路層
任務: 負責分配MAC地址
● 兩個相鄰節(jié)點之間傳送數(shù)據(jù)時,數(shù)據(jù)鏈路層將網(wǎng)絡(luò)層交下來的IP數(shù)據(jù)報組裝成幀,在兩個相鄰的鏈路上傳送幀(frame)。每一幀包括數(shù)據(jù)和必要的控制信息。
● 網(wǎng)卡接口的網(wǎng)絡(luò)驅(qū)動程序,處理數(shù)據(jù)在物理媒介上的傳輸;不同的物理網(wǎng)絡(luò)具有電氣特性,網(wǎng)絡(luò)驅(qū)動程序隱藏實現(xiàn)細節(jié),為上層協(xié)議提供一致接口
● 常用協(xié)議:地址解析協(xié)議(ARP)和反地址解析協(xié)議(RARP),實現(xiàn)IP地址與機器物理地址(MAC地址)之間的轉(zhuǎn)換
5.物理層
物理層所傳數(shù)據(jù)單位是比特(bit)。物理層要考慮用多大的電壓代表1 或 0 ,以及接受方如何識別發(fā)送方所發(fā)送的比特。
6.各層對應的工作設(shè)備
● 物理層:中繼器、集線器
● 數(shù)據(jù)鏈路層:網(wǎng)橋或交換機
● 網(wǎng)絡(luò)層中繼系統(tǒng):路由器
● 網(wǎng)絡(luò)層以上的中繼系統(tǒng):網(wǎng)關(guān)