目錄
OSI,TCP/IP,五層協議的體系結構?
TCP/IP模型和OSI參考模型的對應關系?
OSI每一層的作用如下(理解順序依次往下):
OSI分層及對應協議
以 “寄快遞” 為例類比七層模型
TCP與UDP的區別?
TCP對應的協議和UDP對應的協議
?TCP對應的協議:
UDP對應的協議:
TCP/IP體系的四個層次
TCP/IP協議的特點
HTTP1.0和HTTP1.1的區別
OSI,TCP/IP,五層協議的體系結構?
OSI分層(7層):物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層。
TCP/IP分層(4層):網絡接口層、網絡層、傳輸層、應用層。
五層協議:物理層、數據鏈路層、網絡層、傳輸層、應用層。
TCP/IP模型和OSI參考模型的對應關系?
網絡接口層--對應OSI參考模型的物理層和數據鏈路層;[主要是物理地址尋址、數據成幀等處理]
網絡層--對應OSI參考模型的網絡層;[主要對數據包進行路由選擇等]
傳輸層--對應OSI參考模型的傳輸層;[主要對數據包進行分段并處理擁塞控制和流量控制等]
應用層--對應OSI參考模型的5、6、7層。[主要對數據包進行校驗、加密解密、格式轉換和解析等]
OSI每一層的作用如下(理解順序依次往下):
- 應用層:為操作系統或網絡應用程序提供訪問網絡服務的接口。(提供訪問網絡的接口)
- 表示層:表示層對上層數據或信息進行變換以保證一個主機應用層信息可以被另一個主機的應用程序理解。表示層的數據轉換包括數據的加密、壓縮、格式轉換等。(通過轉換來保證另一個主機的應用程序認識我的數據或信息)
- 會話層:會話層管理主機之間的會話進程,即負責建立、管理、終止進程之間的會話。會話層還利用在數據中插入校驗點來實現數據的同步。
- 傳輸層:第一個端到端,即主機到主機的層次。傳輸層負責將上層數據分段并提供端到端的、可靠的或不可靠的傳輸。此外,傳輸層還要處理端到端的擁塞控制和流量控制問題。?
- 網絡層:網絡層負責對子網間的數據包進行路由選擇。此外,網絡層還可以實現擁塞控制、網際互連等功能。
- 數據鏈路層:數據鏈路層在不可靠的物理介質上提供可靠的傳輸。該層的作用包括:物理地址尋址、數據成幀、流量控制、數據的檢錯、重發等。??
- 物理層:激活、維持、關閉,通信端點之間的機械特性、電氣特性、功能特性以及過程特性。該層為上層協議提供了一個傳輸數據的物理媒體。?
OSI分層及對應協議
分層 | 核心功能(從上到下的依賴關系) | 典型協議 / 技術 | 數據單位 | 類比場景(生活化理解) |
物理層(Physical Layer) | 定義物理設備的電氣、機械特性,負責原始比特流(0/1)的傳輸(如電信號、光信號、無線電磁波)。 | 以太網物理層標準(如 10BASE-T、100BASE-FX)、RS-232(串口)、光纖 / 同軸電纜規格、無線信道(如 Wi-Fi 的物理層協議) | 比特(Bit) | 類似 “電線、光纖、無線電波”—— 負責信號的物理傳輸,不關心內容。 |
數據鏈路層(Data Link Layer) | 將比特流封裝成 “幀”(Frame),實現局域網內節點的可靠傳輸,包含差錯校驗(如 CRC)、流量控制,通過 MAC 地址(硬件地址)識別節點。 | 以太網(Ethernet)、PPP(點對點協議)、HDLC(高級數據鏈路控制)、VLAN(虛擬局域網)、ARP(地址解析協議,MAC 與 IP 轉換)、RARP(反向 ARP) | 幀(Frame) | 類似 “小區內的快遞分揀”—— 按 MAC 地址(如網卡地址)在局域網內精準投遞,檢查包裹是否損壞。 |
網絡層(Network Layer) | 實現跨網絡(不同局域網 / 廣域網)的通信,通過 IP 地址進行邏輯尋址,選擇最佳傳輸路徑(路由),處理擁塞控制。 | IP(IPv4/IPv6)、ICMP(互聯網控制報文協議,如 ping traceroute)、IGMP(組播管理)、路由協議(RIP、OSPF、BGP)、IPsec(網絡層加密) | 分組 / 數據報(Packet/Datagram) | 類似 “快遞的跨省運輸”—— 通過 IP 地址規劃跨區域路線,路由設備(路由器)是 “中轉站”。 |
傳輸層(Transport Layer) | 提供端到端(如主機 A 到主機 B)的可靠或不可靠傳輸,負責流量控制、差錯恢復,通過端口號區分同一主機上的不同應用。 | TCP(傳輸控制協議,可靠傳輸,面向連接)、UDP(用戶數據報協議,不可靠,無連接)、SPX(Novell 協議) | 段(Segment,TCP)/ 報(Datagram,UDP) | 類似 “快遞公司的運輸服務”——TCP 像 “掛號信”(丟件重發),UDP 像 “普通平信”(快速但可能丟失),端口號類似 “收件人姓名”(區分同一地址的不同接收者)。 |
會話層(Session Layer) | 建立、管理和終止通信雙方的 “會話”(如登錄會話、文件傳輸會話),控制會話的同步(如斷點續傳的標記)。 | RPC(遠程過程調用)、NetBIOS(網絡基本輸入輸出系統,用于局域網會話)、SSL/TLS 的會話管理部分 | 會話數據單元 | 類似 “通話的撥號與掛斷”—— 負責啟動和結束一次通信(如登錄網站時建立會話,退出時關閉)。 |
表示層(Presentation Layer) | 處理數據的格式轉換、加密 / 解密、壓縮 / 解壓,確保不同系統的應用層能理解數據內容(如統一編碼格式)。 | JPEG(圖像壓縮)、MPEG(視頻壓縮)、ASCII/Unicode(字符編碼)、SSL/TLS 的加密部分、數據壓縮算法 | 表示數據單元 | 類似 “翻譯與包裝”—— 把數據轉換成雙方都能看懂的格式(如將中文 “你好” 轉為 ASCII 編碼,或對文件加密防止泄露)。 |
應用層(Application Layer) | 直接為用戶提供具體的網絡應用服務,是用戶可見的最高層。 | HTTP/HTTPS(網頁瀏覽)、FTP(文件傳輸)、SMTP/POP3/IMAP(郵件收發)、DNS(域名解析)、Telnet/SSH(遠程登錄)、SNMP(網絡管理) | 應用數據單元 | 類似 “具體的服務內容”—— 如瀏覽器(HTTP)、郵件客戶端(SMTP)、文件傳輸工具(FTP)等直接供用戶使用的功能。 |
以 “寄快遞” 為例類比七層模型
OSI 層 | 作用描述 | 快遞場景類比 |
應用層 | 用戶直接使用的服務(如 HTTP、郵件) | 寄件人寫快遞單(決定寄什么、收信人信息),對應 “用戶需求的最頂層”。 |
表示層 | 數據格式轉換、加密壓縮 | 把物品包裝成快遞箱(如將文件壓縮成 ZIP,給包裹加密防止損壞)。 |
會話層 | 管理通信會話(建立、中斷、同步) | 快遞員與寄件人約定取件時間(維持 “會話” 流程,如中途暫停可標記位置)。 |
傳輸層 | 端到端可靠 / 不可靠傳輸(分段、糾錯) | 快遞公司承諾 “包裹必須完整送達”(TCP)或 “只負責寄出不保證到貨”(UDP),對應分箱運輸(如將大包裹拆成多個小件)。 |
網絡層 | 跨網絡路由選擇(IP 尋址) | 快遞公司規劃運輸路線(如從北京到上海走哪條高速),用 IP 地址當 “快遞單號” 定位目的地。 |
數據鏈路層 | 相鄰設備間傳輸(MAC 尋址、成幀) | 某段高速路上的卡車司機按地址送貨(用 MAC 地址找具體路口),給每個包裹貼 “路段標簽”(幀)。 |
物理層 | 傳輸電信號 / 光信號(硬件連通) | 高速公路本身(網線、光纖等物理介質),只負責 “路是通的”,不關心跑的是什么車。 |
TCP與UDP的區別?
①TCP協議是一種可靠的、面向連接的協議,保證通信主機之間有可靠的字節流傳輸,完成流量控制功能,協調收發雙方的發送與接收速度,達到正確傳輸的目的。?
UDP是一種不可靠、無連接的協議,其特點是協議簡單、額外開銷小、效率較高,但是不能保證傳輸是否正確。?
②UDP是面向無連接的、不可靠的數據報服務;
TCP是面向連接的、可靠的字節流服務。
TCP對應的協議和UDP對應的協議
?TCP對應的協議:
(1) FTP:文件傳輸協議,默認使用21端口。
(2)Telnet:一種用于遠程登陸的端口,用戶可以以自己的身份遠程連接到計算機上,通過這種端口可以提供一種基于DOS模式下的通信服務,默認使用23端口。
(3)SMTP:簡單郵件傳送協議,用于發送郵件,默認使用25號端口。
(4)POP3:和SMTP對應,POP3用于接收郵件,默認使用110端口。
(5)HTTP協議:超文本傳輸協議,從Web服務器傳輸超文本到本地瀏覽器的傳送協議,默認使用80端口。
補充:
①DOS模式可以理解為命令行的操作模式,依靠打字進行操控,例如你去漢堡店點餐,圖形化界面只需要指著圖片點餐即可,dos模式的話,點餐得用語言描述 “我要一個雙層牛肉漢堡,不加生菜”,得記住 “菜單指令”(如點漢堡對應哪個數字代碼)。
②HTTP和HTTPS的區別:HTTPS 是 HTTP 的 “安全升級版”,通過加密和身份認證,解決了 HTTP “明文傳輸易被竊聽” 的問題,就像從 “露天快遞” 升級為 “密封快遞”,現在已成為主流網站的標配。
UDP對應的協議:
(1) DNS:域名系統,將域名地址轉換為IP地址,默認使用53號端口。
(2) SNMP:簡單網絡管理協議,默認使用161號端口,是用來管理網絡設備的。
(3) TFTP (Trival File Transfer Protocal):簡單文件傳輸協議,默認使用69號端口。
TCP/IP體系的四個層次
TCP/IP體系共有四個層次:應用層(Application Layer)、傳輸層(Transport Layer)、網絡互連層(Internet Layer)和網絡接口層(Host-to-Network Layer)
(1)網絡接口層(Host-to-Network Layer)=> 接收和發送數據報?網絡接口層主要負責將數據報發送到網絡傳輸介質上以及從網絡上接收TCP/IP數據報,相當于OSI參考模型中的物理層和數據鏈路層。?在實際中,先后流行的以太網、令牌環網、ATM、幀中繼等都可視為其底層協議。它將發送的信息組幀,并通過物理層向選定網絡發送,或者從網絡上接收物理幀,將去除數據控制信息的IP數據報交給網絡互連層。
(2)網絡互連層(Internet Layer) => 數據報封裝和路由尋址功能,網絡互連層的主要功能是尋址和對數據報的封裝以及重要的路由選擇功能。?這些功能大部分都是由IP協議來完成的,再加上地址解析協議(Address Resolution Protocol,ARP)、因特網控制報文協議(Internet Control Message Protocol,ICMP)等協議從旁協助,所以IP協議是本層眾多實體中的核心。
下面簡單介紹這幾個協議:
①網際協議(Internet Protocol,IP)。該協議是一個無連接的協議,主要負責將數據報從源結點轉發到目的結點。也就是說,IP協議通過對每個數據報中都有的源地址和目的地址進行分析,然后進行路由選擇(即選擇一條到達目標的最佳路徑),最后再轉發到目的地。
**需要注意的是:IP協議只是負責對數據進行轉發,并不對數據進行檢查。也就是說,它不負責數據的可靠性,這樣設計的主要目的是提高IP協議傳送和轉發數據的效率。 (只負責傳,不負責查,只快,不安全)
②地址解析協議(Address Resolution Protocol,ARP)。該協議主要負責將TCP/IP網絡中的IP地址解析和轉換成計算機的物理地址,以便于物理設備(如網卡)按該地址來接收數據。
③反向地址解析協議(Reverse Address Resolution Protocol,RARP)。該協議的作用與ARP的作用相反,它主要負責將設備的物理地址解析和轉換成IP地址。
④因特網控制報文協議(Internet Control Message Protocol,ICMP)。該協議主要負責發送和傳遞包含控制信息的數據報,這些控制信息包括哪臺計算機出了什么錯誤、網絡路由出現了什么錯誤等內容。
(3)傳輸層(Transport Layer)=> 應用進程間的端到端通信
**傳輸層主要負責在應用進程之間的端到端通信,即從某個應用進程傳輸到另外一個應用進程。
**它與OSI參考模型的傳輸層功能類似,也對高層屏蔽了底層通信網絡的實現細節。 傳輸層在某一時刻可能要同時為多個不同的應用進程服務,因此為了識別不同的應用進程,傳輸層在每一個分組中必須增加用于識別信源和信宿的應用程序的標識,同時,每一個分組還要附帶校驗和,以保證接收端能校驗分組的正確性,這樣可以將數據報發送到合適的應用進程。這個增加的標識稱為端口(port)或者端口號(port ID)。
TCP/IP體系結構的傳輸層包含兩個主要協議,即傳輸控制協議(Transport Control Protocol,TCP)和用戶數據報協議(User Datagram Protocol,UDP)。這兩個協議分別應用于有不同要求的應用進程。
(4)應用層(Application Layer)=> 不同協議 應用層是TCP/IP的最高層,它包括了多種高層協議,并且總有新的協議加入。
與OSI的應用層類似,它是直接為應用進程服務的一層。即當不同的應用進程數據通信或者數據交換時,就去調用應用層的不同協議實體,讓這些實體去調用TCP或者UDP層服務來進行網絡傳輸。?
與OSI不同,TCP/IP中包含了許多具體的應用層協議。
簡單郵件傳輸協議(Simple Mail Transportation Protocol,SMTP):該協議主要用于在電子郵件服務器之間傳輸電子郵件。
域名系統(Domain Name System,DNS):該協議用于域名與IP地址之間的轉換。
超文本傳輸協議(Hypertext Transportation Protocol,HTTP):該協議是為因特網上傳輸和處理超文本或者WWW(World Wide Web)頁面而服務的應用層協議。
文件傳輸協議(File Transportation Protocol,FTP):該協議是為網絡中傳輸文件進程服務的,所謂傳輸文件,是指將文件從一臺計算機通過網絡復制到另一臺計算機中。
遠程終端協議(Telnet):該協議是用于遠程登錄網絡主機的一個應用層協議。
簡單網絡管理協議(Simple Network Management Protocol,SNMP):該協議用于在控制臺與網絡設備(如路由器、交換機等)之間交換網絡管理信息
TCP/IP協議的特點
1、高可靠性 :TCP/IP采用重新確認的方法保證數據的可靠傳輸,并采用窗口流量控制機制使可靠性得到進一步保證。?
TCP的可靠性如何保證??TCP的可靠性是通過順序編號(SEQ)和確認(ACK)來實現的。
2、安全性 :為建立TCP連接,在連接的每一端都必須與該連接的安全性控制達成一致。IP在它的控制分組頭中有若干字段允許有選擇地對傳輸的信息實施保護。
3、靈活性 :TCP/IP要求下層支持該協議,而對上層應用協議不作特殊要求。因此,TCP/IP的使用不受傳輸介質和網絡應用軟件的限制。
HTTP1.0和HTTP1.1的區別
1、HTTP 1.0規定瀏覽器與服務器只保持短暫的連接,瀏覽器的每次請求都需要與服務器建立一個TCP連接,服務器完成請求處理后立即斷開TCP連接,服務器不跟蹤每個客戶也不記錄過去的請求。(類似短連接)
HTTP 1.1則支持持久連接(Persistent Connection), 并且默認使用persistent? connection。 在同一個tcp的連接中可以傳送多個HTTP請求和響應.。多個請求和響應可以重疊,也可以同時進行更加多的請求頭和響應頭(比如HTTP1.0沒有host的字段)。(類似長連接)
在1.0時的會話方式:
①建立連接
②發出請求信息
③回送響應信息
④關掉連接
HTTP 1.1的持續連接,也需要增加新的請求頭來幫助實現,例如,Connection請求頭的值為Keep-Alive時,客戶端通知服務器返回本次請求結果后保持連接;Connection請求頭的值為close時,客戶端通知服務器返回本次請求結果后關閉連接。HTTP 1.1還提供了與身份認證、狀態管理和Cache緩存等機制相關的請求頭和響應頭。
請求的流水線(Pipelining)處理,在一個TCP連接上可以傳送多個HTTP請求和響應,減少了建立和關閉連接的消耗和延遲。例如:一個包含有許多圖像的網頁文件的多個請求和應答可以在一個連接中傳輸,但每個單獨的網頁文件的請求和應答仍然需要使用各自的連接。
HTTP 1.1還允許客戶端不用等待上一次請求結果返回,就可以發出下一次請求,但服務器端必須按照接收到客戶端請求的先后順序依次回送響應結果,以保證客戶端能夠區分出每次請求的響應內容。(用戶任性,客服不允許任性,必須依次返回結果)
2、HTTP 1.1增加host字段
在HTTP1.0中認為每臺服務器都綁定一個唯一的IP地址,因此,請求消息中的URL并沒有傳遞主機名(hostname)。但隨著虛擬主機技術的發展,在一臺物理服務器上可以存在多個虛擬主機(Multi-homed Web Servers),并且它們共享一個IP地址。
HTTP1.1的請求消息和響應消息都應支持Host頭域,且請求消息中如果沒有Host頭域會報告一個錯誤(400 Bad Request)。此外,服務器應該接受以絕對路徑標記的資源請求。
3、100(Continue) Status(節約帶寬)
HTTP/1.1加入了一個新的狀態碼100(Continue)。客戶端事先發送一個只帶頭域的請求,如果服務器因為權限拒絕了請求,就回送響應碼401(Unauthorized);如果服務器接收此請求就回送響應碼100,客戶端就可以繼續發送帶實體的完整請求了。100 (Continue) 狀態代碼的使用,允許客戶端在發request消息body之前先用request header試探一下server,看server要不要接收request body,再決定要不要發request body。(先“假請求”一下,看你是否需要,如果需要,我就發真正的請求給你)
4、HTTP/1.1中引入了Chunked transfer-coding來解決上面這個問題,發送方將消息分割成若干個任意大小的數據塊,每個數據塊在發送時都會附上塊的長度,最后用一個零長度的塊作為消息結束的標志。這種方法允許發送方只緩沖消息的一個片段,避免緩沖整個消息帶來的過載。
5、HTTP/1.1在1.0的基礎上加入了一些cache的新特性,當緩存對象的Age超過Expire時變為stale對象,cache不需要直接拋棄stale對象,而是與源服務器進行重新激活(revalidation)。(按需更新,減少不必要的網絡開銷) -》通過“條件請求”來實現