一、網(wǎng)絡(luò)體系結(jié)構(gòu)分層概述
本周課程重點(diǎn)圍繞網(wǎng)絡(luò)分層模型展開。網(wǎng)絡(luò)通信的復(fù)雜性決定了必須采用分層設(shè)計(jì)思想,將龐大問(wèn)題分解為多個(gè)相對(duì)獨(dú)立的子問(wèn)題。分層模型的核心優(yōu)勢(shì)在于各層之間通過(guò)接口提供服務(wù),層內(nèi)實(shí)現(xiàn)細(xì)節(jié)對(duì)其他層透明,極大地提高了系統(tǒng)的模塊化、可維護(hù)性和互操作性。
二、OSI參考模型(七層模型)
OSI(Open Systems Interconnection)模型由ISO提出,是一個(gè)理論上的標(biāo)準(zhǔn)框架,共分七層:
- 物理層:負(fù)責(zé)在物理媒介上透明傳輸原始比特流,定義機(jī)械、電氣、功能和規(guī)程特性。如網(wǎng)線、光纖、中繼器、集線器工作于此層。
- 數(shù)據(jù)鏈路層:在相鄰節(jié)點(diǎn)間提供可靠的數(shù)據(jù)幀傳輸。主要功能包括成幀、物理編址、差錯(cuò)控制(CRC)、流量控制和介質(zhì)訪問(wèn)控制(MAC)。交換機(jī)工作于此層。
- 網(wǎng)絡(luò)層:負(fù)責(zé)將數(shù)據(jù)包從源主機(jī)跨越多個(gè)網(wǎng)絡(luò)送達(dá)目的主機(jī),核心功能是邏輯尋址(如IP地址)和路由選擇。路由器是此層的典型設(shè)備。
- 傳輸層:提供端到端(進(jìn)程到進(jìn)程)的可靠或不可靠數(shù)據(jù)傳輸服務(wù)。關(guān)鍵概念包括端口號(hào)、連接管理、流量控制和差錯(cuò)恢復(fù)。TCP和UDP協(xié)議屬于此層。
- 會(huì)話層:負(fù)責(zé)建立、管理和終止應(yīng)用程序之間的會(huì)話(Session)。
- 表示層:處理數(shù)據(jù)表示問(wèn)題,如數(shù)據(jù)加密/解密、壓縮/解壓縮、格式轉(zhuǎn)換(如ASCII與EBCDIC碼轉(zhuǎn)換)。
- 應(yīng)用層:為用戶應(yīng)用程序提供網(wǎng)絡(luò)服務(wù)接口,如HTTP、FTP、SMTP、DNS等協(xié)議。
三、TCP/IP四層模型(實(shí)踐標(biāo)準(zhǔn))
TCP/IP模型是互聯(lián)網(wǎng)的實(shí)際標(biāo)準(zhǔn),更為精簡(jiǎn),共四層:
- 網(wǎng)絡(luò)接口層:對(duì)應(yīng)OSI的物理層和數(shù)據(jù)鏈路層,負(fù)責(zé)在本地網(wǎng)絡(luò)上傳送幀。
- 網(wǎng)際層:對(duì)應(yīng)OSI的網(wǎng)絡(luò)層,核心協(xié)議是IP(Internet Protocol),負(fù)責(zé)尋址和路由。配套協(xié)議有ICMP(控制報(bào)文)、IGMP(組管理)、ARP(地址解析)等。
- 傳輸層:與OSI傳輸層對(duì)應(yīng),提供端到端通信。主要協(xié)議:
- TCP:面向連接、可靠的字節(jié)流服務(wù)。通過(guò)三次握手建立連接,提供流量控制、擁塞控制和重傳機(jī)制。
- UDP:無(wú)連接、不可靠的數(shù)據(jù)報(bào)服務(wù)。開銷小、延遲低,適用于實(shí)時(shí)應(yīng)用或簡(jiǎn)單查詢。
- 應(yīng)用層:對(duì)應(yīng)OSI的會(huì)話層、表示層和應(yīng)用層,將OSI高三層功能合并。包含了所有高層協(xié)議,如HTTP、FTP、DNS、SMTP、SSH等。
兩者對(duì)比:OSI模型概念清晰,但復(fù)雜且未完全實(shí)現(xiàn);TCP/IP模型簡(jiǎn)單實(shí)用,是互聯(lián)網(wǎng)基石,但接口與協(xié)議綁定較緊。通常教學(xué)和實(shí)踐中采用一種五層混合模型(物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層)來(lái)綜合理解。
四、協(xié)議、服務(wù)與接口
- 協(xié)議:對(duì)等層實(shí)體間通信規(guī)則的集合,定義了格式、順序以及發(fā)送/接收動(dòng)作(語(yǔ)法、語(yǔ)義、時(shí)序)。是“水平的”。
- 服務(wù):下層為相鄰上層提供的功能操作,通過(guò)服務(wù)訪問(wèn)點(diǎn)實(shí)現(xiàn)。服務(wù)原語(yǔ)包括請(qǐng)求、指示、響應(yīng)、證實(shí)。是“垂直的”。
- 接口:相鄰層之間交換信息的邊界,定義了上層如何訪問(wèn)下層的服務(wù)。
五、封裝與解封裝過(guò)程
數(shù)據(jù)在發(fā)送端自上而下傳遞時(shí),每一層都會(huì)在上一層數(shù)據(jù)前加上本層的控制信息(頭部,數(shù)據(jù)鏈路層還有尾部),這個(gè)過(guò)程稱為封裝。接收端則自下而上逐層去掉頭部,進(jìn)行解封裝。
- 應(yīng)用層生成報(bào)文。
- 傳輸層加上TCP/UDP頭部,形成段。
- 網(wǎng)絡(luò)層加上IP頭部,形成包。
- 數(shù)據(jù)鏈路層加上幀頭(含MAC地址)和幀尾(CRC校驗(yàn)),形成幀。
- 物理層將幀轉(zhuǎn)換為比特流在介質(zhì)上傳輸。
理解這一過(guò)程對(duì)于網(wǎng)絡(luò)故障排查和協(xié)議分析至關(guān)重要。
六、本周實(shí)驗(yàn)與思考
實(shí)驗(yàn)環(huán)節(jié):使用Wireshark抓包工具捕獲并分析HTTP/TCP流量,觀察TCP三次握手、HTTP請(qǐng)求/響應(yīng)報(bào)文結(jié)構(gòu)以及四層報(bào)文封裝格式。
關(guān)鍵思考題:
1. 為什么網(wǎng)絡(luò)架構(gòu)需要分層?不分層會(huì)帶來(lái)什么問(wèn)題?
2. TCP和UDP的主要區(qū)別是什么?分別舉出最適合使用它們的應(yīng)用場(chǎng)景。
3. 描述從在瀏覽器輸入網(wǎng)址到頁(yè)面顯示,大致經(jīng)歷了哪些協(xié)議和過(guò)程?(可結(jié)合后續(xù)課程深化)
****:本周內(nèi)容是理解整個(gè)計(jì)算機(jī)網(wǎng)絡(luò)工程的基石。掌握分層思想、各層核心功能以及TCP/IP協(xié)議族中主要協(xié)議的特點(diǎn),是后續(xù)學(xué)習(xí)路由交換、網(wǎng)絡(luò)安全和應(yīng)用開發(fā)的基礎(chǔ)。務(wù)必理解封裝解封裝這一核心數(shù)據(jù)流動(dòng)過(guò)程。