柚子快報邀請碼778899分享:網(wǎng)絡協(xié)議的基礎知識
了解OSI模型和TCP/IP模型
在上一篇關于互聯(lián)網(wǎng)的工作原理的數(shù)據(jù)傳輸中,我們了解到,兩臺計算機之間傳輸數(shù)據(jù)時,需要將數(shù)據(jù)封裝成數(shù)據(jù)包。這些數(shù)據(jù)包中不僅包含我們實際要傳輸?shù)男畔?,還包括很多額外的內(nèi)容,比如目標地址、發(fā)件人的地址等等。
那么問題來了:這些額外的信息應該放在數(shù)據(jù)包的哪里?我們又如何區(qū)分哪些是我們需要傳輸?shù)暮诵臄?shù)據(jù),哪些是為了保障傳輸順利而添加的附加信息?
顯然,這些信息不能隨意塞進數(shù)據(jù)包里。就像快遞包裝一樣,只有遵循一套標準的打包方式,才能確保在傳輸過程中不出岔子。所以,為了規(guī)范和標準化網(wǎng)絡通信,工程師們設計了OSI模型和TCP/IP模型,用來規(guī)范數(shù)據(jù)的封裝和傳輸。
OSI模型與TCP/IP模型的區(qū)別
或許你會問:既然有了一個模型,為什么還要有兩個呢?它們之間有什么區(qū)別和聯(lián)系?
其實很簡單,OSI模型是一個理論框架,它把網(wǎng)絡通信分為7層,每一層都有各自的職責。這個模型非常詳細和規(guī)范,非常適合我們用來學習和理解網(wǎng)絡是如何運作的。但是,OSI模型更多地是一種理想化的設計,并沒有廣泛地應用在實際中。
而TCP/IP模型就不一樣了。它只有4層或5層,設計更簡化,目的就是為了解決實際網(wǎng)絡通信中的問題。TCP/IP模型廣泛應用于互聯(lián)網(wǎng),是我們?nèi)粘J褂玫挠嬎銠C網(wǎng)絡中實際運行的“規(guī)矩”。
換句話說,OSI模型更適合研究和學習,而TCP/IP模型則是在現(xiàn)實中“干活”的那個。正因為如此,在實際網(wǎng)絡中,TCP/IP模型成為了更常用的協(xié)議棧,而OSI模型則更多地作為理解網(wǎng)絡原理的理論工具來使用。
OSI模型
OSI(Open Systems Interconnection,開放式系統(tǒng)互連)模型是由國際標準化組織(ISO)在1984年提出的一個網(wǎng)絡通信模型。它的目的是為了定義網(wǎng)絡通信的標準框架,使得不同的網(wǎng)絡設備和系統(tǒng)能夠互操作。OSI模型將網(wǎng)絡通信過程分成了7個層次,每一層都有特定的功能和職責,這種分層的設計使得網(wǎng)絡通信過程更加清晰和模塊化。
一、物理層
物理層負責在物理媒體上傳輸原始的比特流,即將數(shù)據(jù)以電信號、光信號或無線信號的形式傳輸。它定義了網(wǎng)絡設備之間的物理連接方式、信號的電壓、電流、光的強度等特性。
典型的設備有:網(wǎng)線、集線器、交換機(工作在物理層模式下)等。
協(xié)議與標準:以太網(wǎng)標準(Ethernet)、光纖標準(Fibre Channel)等。
二、數(shù)據(jù)鏈路層
數(shù)據(jù)鏈路層負責將物理層傳輸?shù)脑急忍亓鹘M織成幀(Frame),并提供錯誤檢測和糾正功能,確保數(shù)據(jù)在同一網(wǎng)絡中的可靠傳輸。數(shù)據(jù)鏈路層還負責控制網(wǎng)絡中多個設備之間的訪問權(quán)(如媒介訪問控制MAC)。
典型的設備有:交換機、網(wǎng)卡。
協(xié)議與標準:以太網(wǎng)(Ethernet)、Wi-Fi(IEEE 802.11)、PPP(Point-to-Point Protocol)等。
三、網(wǎng)絡層
網(wǎng)絡層負責數(shù)據(jù)包的路由和轉(zhuǎn)發(fā),決定數(shù)據(jù)從源到目的地的路徑。它解決的是跨越多個網(wǎng)絡的傳輸問題,因此它是實現(xiàn)不同網(wǎng)絡之間互連的關鍵層次。
典型的設備:路由器。
協(xié)議與標準:IP(Internet Protocol)、ICMP(Internet Control Message Protocol)、ARP(Address Resolution Protocol)等。
四、傳輸層
傳輸層負責端到端的數(shù)據(jù)傳輸和控制,確保數(shù)據(jù)可靠、有序地傳輸?shù)侥繕藨贸绦?。它提供了?shù)據(jù)分段、流量控制、差錯校驗、數(shù)據(jù)重傳等功能。
典型的協(xié)議:TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)。
協(xié)議的特點:TCP提供可靠的、面向連接的服務,而UDP則提供無連接的、盡力而為的數(shù)據(jù)傳輸服務。
五、會話層
會話層負責建立、管理和終止應用程序之間的會話。它提供了會話建立、數(shù)據(jù)同步、恢復等功能,以確保會話數(shù)據(jù)的順序和完整性。
使用場景:如遠程過程調(diào)用(RPC)、會話管理協(xié)議等。
協(xié)議與標準:NetBIOS、PPTP(Point-to-Point Tunneling Protocol)等。
六、表示層
表示層負責數(shù)據(jù)的格式化和轉(zhuǎn)換,以便不同系統(tǒng)之間能夠理解和正確處理數(shù)據(jù)。它還負責數(shù)據(jù)的加密、解密、壓縮和解壓縮。
使用場景:例如,將不同字符集的數(shù)據(jù)轉(zhuǎn)換成通用格式、加密數(shù)據(jù)傳輸。
協(xié)議與標準:SSL/TLS(用于數(shù)據(jù)加密)、JPEG、MPEG、GIF等格式。
七、應用層
應用層為用戶提供網(wǎng)絡服務的接口,它直接與用戶的應用程序交互。應用層提供了很多網(wǎng)絡服務,如文件傳輸、電子郵件、遠程登錄、網(wǎng)絡管理等。
使用場景:用戶常用的網(wǎng)絡操作,如瀏覽網(wǎng)頁、發(fā)送電子郵件等。
協(xié)議與標準:HTTP(Hypertext Transfer Protocol)、FTP(File Transfer Protocol)、SMTP(Simple Mail Transfer Protocol)、DNS(Domain Name System)等。
TCP/IP模型
TCP/IP模型的設計初衷是為了更好地支持互聯(lián)網(wǎng)的通信需求,因此它的層次劃分更貼近實際的網(wǎng)絡通信過程。TCP/IP模型有四層(或五層,取決于具體分類),它們分別是:
網(wǎng)絡接口層(Network Interface Layer):對應OSI模型的物理層和數(shù)據(jù)鏈路層。這一層負責處理數(shù)據(jù)如何在同一網(wǎng)絡(通常是局域網(wǎng))內(nèi)傳輸,包括如何訪問物理介質(zhì)、如何組裝和解析幀等?;ヂ?lián)網(wǎng)層(Internet Layer):對應OSI模型的網(wǎng)絡層。這一層負責數(shù)據(jù)包的路由和轉(zhuǎn)發(fā),決定數(shù)據(jù)如何通過不同的網(wǎng)絡傳輸?shù)竭_目的地。傳輸層(Transport Layer):對應OSI模型的傳輸層。這一層提供端到端的通信服務,確保數(shù)據(jù)可以可靠、有序地從一個進程傳輸?shù)搅硪粋€進程。應用層(Application Layer):綜合了OSI模型的會話層、表示層和應用層的功能。它為用戶提供直接的網(wǎng)絡服務,如文件傳輸、電子郵件、遠程登錄等。
如果有五層的話,就是將網(wǎng)絡接口層劃分為物理層和數(shù)據(jù)鏈路層
OSI模型與TCP/IP模型在這里只是寫出了它的功能,但是你并不能夠理解實際的數(shù)據(jù)聯(lián)通過程和很深刻的了解在每個層中都完成了那些事情,所以僅僅了解到這里是遠遠不夠的,還需要你再深入地去學習。
但作為入門的博客,你大致的理解就已經(jīng)是一個不錯的開端了,山之千仞,始于壘土,這里也只是告誡大家要進一步的去學習,而不是淺嘗輒止。
關鍵網(wǎng)絡協(xié)議簡介(HTTP/HTTPS、TCP/UDP、DNS)
HTTP/HTTPS
HTTP(Hypertext Transfer Protocol)
HTTP,全稱超文本傳輸協(xié)議,是用于傳輸網(wǎng)頁數(shù)據(jù)的應用層協(xié)議。當我們在瀏覽器中輸入一個網(wǎng)址并訪問網(wǎng)頁時,瀏覽器和服務器之間的通信就是通過HTTP進行的。
HTTP的工作流程非常簡單:
客戶端(瀏覽器)發(fā)起請求:當你在瀏覽器中輸入一個網(wǎng)址(URL)時,瀏覽器會向服務器發(fā)送一個HTTP請求,要求訪問特定的資源(如網(wǎng)頁、圖片、視頻等)。服務器響應請求:服務器接收到請求后,處理請求并返回相應的資源(如網(wǎng)頁內(nèi)容)給客戶端。瀏覽器顯示內(nèi)容:瀏覽器接收到服務器返回的資源后,會將這些資源渲染成我們看到的網(wǎng)頁。
HTTP的特點:
無狀態(tài)性:每一次HTTP請求都是獨立的,與之前的請求沒有關聯(lián)。這意味著服務器不會記住前一次請求的狀態(tài)。為了實現(xiàn)“記住用戶”的功能(如登錄狀態(tài)),通常會使用Cookie和Session技術。明文傳輸:HTTP傳輸?shù)臄?shù)據(jù)是明文的,意味著數(shù)據(jù)在傳輸過程中容易被竊聽和篡改。這也是HTTP不夠安全的原因之一。
HTTPS(Hypertext Transfer Protocol Secure)
HTTPS是HTTP的加密版本,使用了SSL/TLS協(xié)議來加密數(shù)據(jù),確保數(shù)據(jù)傳輸?shù)陌踩?。HTTPS解決了HTTP的幾個重要問題:
數(shù)據(jù)加密:HTTPS通過SSL/TLS協(xié)議加密傳輸?shù)臄?shù)據(jù),確保數(shù)據(jù)在傳輸過程中不會被竊聽。數(shù)據(jù)完整性:HTTPS能夠檢測數(shù)據(jù)在傳輸過程中是否被篡改,確保數(shù)據(jù)的完整性。身份驗證:通過數(shù)字證書,HTTPS能夠驗證服務器的身份,確??蛻舳嗽L問的是合法的服務器,而不是偽裝的服務器。
HTTPS已經(jīng)成為互聯(lián)網(wǎng)上的主流協(xié)議,尤其是在需要傳輸敏感信息的場合(如登錄頁面、支付頁面)中,使用HTTPS是必不可少的。
2. TCP/UDP
TCP(Transmission Control Protocol)
TCP,即傳輸控制協(xié)議,是一種面向連接的、可靠的傳輸層協(xié)議。它保證了數(shù)據(jù)從發(fā)送端到接收端的可靠傳輸,常用于需要高可靠性的數(shù)據(jù)傳輸場景,如文件傳輸、網(wǎng)頁瀏覽、電子郵件等。
TCP的主要特點:
連接管理:TCP在數(shù)據(jù)傳輸之前,需要先建立連接(即“三次握手”),在傳輸結(jié)束后,需要斷開連接(即“四次揮手”)。這種連接管理確保了數(shù)據(jù)傳輸?shù)目煽啃浴?shù)據(jù)分段與重組:TCP會將大塊數(shù)據(jù)分成多個小段進行傳輸,并在接收端重新組裝。這保證了數(shù)據(jù)能夠有序、完整地到達接收端??煽總鬏敚篢CP通過確認應答機制,確保每一個數(shù)據(jù)段都被成功接收。如果接收端未收到某個數(shù)據(jù)段,TCP會重新發(fā)送該數(shù)據(jù)段,直到確認成功接收。
UDP(User Datagram Protocol)
UDP,即用戶數(shù)據(jù)報協(xié)議,是一種面向無連接的傳輸層協(xié)議。與TCP相比,UDP更加輕量,不保證數(shù)據(jù)的可靠性、有序性和完整性,但傳輸速度快,適用于實時傳輸或?qū)G包不敏感的場景,如視頻會議、在線游戲、實時語音等。
UDP的主要特點:
無連接:UDP在發(fā)送數(shù)據(jù)之前不需要建立連接,直接將數(shù)據(jù)發(fā)送給接收端。這使得UDP具有較低的延遲。不保證可靠性:UDP不會追蹤已發(fā)送的數(shù)據(jù)包,也不會確認是否成功接收。發(fā)送端只管發(fā)送,接收端如果漏掉數(shù)據(jù)包,UDP不會重發(fā)。更快的傳輸速度:由于UDP省去了連接管理和確認應答機制,因此傳輸速度比TCP更快。
3. DNS(Domain Name System)
DNS,即域名系統(tǒng),是互聯(lián)網(wǎng)的“電話簿”,負責將人類易讀的域名(如www.example.com)轉(zhuǎn)換為計算機可識別的IP地址(如192.0.2.1)。當你在瀏覽器中輸入一個域名時,DNS會將其解析為IP地址,從而使瀏覽器能夠找到相應的服務器并訪問網(wǎng)站。
DNS的工作流程:
查詢DNS服務器:當用戶輸入域名時,瀏覽器會首先查詢本地的DNS緩存,如果沒有命中緩存,就會向DNS服務器發(fā)起請求,詢問該域名對應的IP地址。遞歸解析:如果DNS服務器沒有緩存請求的域名,它會向更高級別的DNS服務器(如根DNS服務器)遞歸查詢,直到找到正確的IP地址。返回結(jié)果:最終,DNS服務器將找到的IP地址返回給瀏覽器,瀏覽器再使用該IP地址訪問目標網(wǎng)站。
DNS的重要性:
便捷性:用戶不需要記住復雜的IP地址,只需要記住簡單的域名。靈活性:域名可以指向不同的IP地址,便于網(wǎng)站遷移和服務器更換。全球分布式系統(tǒng):DNS采用分布式架構(gòu),全球各地的DNS服務器共同維護域名解析的效率和穩(wěn)定性。
柚子快報邀請碼778899分享:網(wǎng)絡協(xié)議的基礎知識
相關鏈接
本文內(nèi)容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。