專欄:JavaEE初階起飛計劃
個人主頁:手握風云
目錄
一、網絡發展史
1.1. 獨立模式
1.2. 網絡互連
二、網絡分類
2.1. 局域網
2.2. 廣域網
三、IP地址
3.1. 概念
3.2. 格式
四、端口號
4.1. 概念
4.2. 格式
五、協議
5.1. 概念
5.2. 作用
5.3. 五元組
5.4. 協議分層
六、TCP/IP分層模型
七、網絡設備所在分層
八、封裝和分用
一、網絡發展史
1.1. 獨立模式
????????在互聯網誕生之前,早期的計算機系統是獨立且封閉的。這些大型主機(Mainframe)通常服務于單一機構,比如大學、政府部門或大型企業。每臺計算機都擁有自己的操作系統和處理能力,但它們彼此之間無法直接通信或共享數據。這個階段的計算模式類似于一個獨立的島嶼,信息和資源被嚴格地限制在各自的系統內部。
????????這種“獨立模式”的特點是:
- 封閉性強:系統之間缺乏標準化的通信協議,數據傳輸需要通過物理介質(如磁帶或軟盤)手動復制和移動。
- 資源利用率低:每個系統都必須獨立擁有所有所需的資源和數據,無法實現資源的集中管理和共享。
- 溝通受限:不同機構或部門之間的數據交換效率低下,極大地阻礙了合作與信息流通。
????????然而,正是這種模式的局限性,促使人們思考如何讓計算機能夠互相連接,從而為后來的網絡互連奠定了基礎。
1.2. 網絡互連
????????“網絡互連”是互聯網發展史上最關鍵的飛躍。它的核心思想是創建一個“網絡的網絡”,讓原本孤立的計算機系統能夠通過統一的規則互相交流。這一進程始于20世紀60年代末,美國國防部高級研究計劃局(ARPA)創建的 ARPANET 是其雛形。
????????“網絡互連”模式的關鍵轉折點是 TCP/IP 協議族的誕生。這套協議就像是不同語言之間的“通用翻譯器”,它將數據分割成小的數據包,并確保這些數據包能夠準確、高效地在不同類型的網絡中傳輸和重組。這使得不同制造商、不同技術的計算機系統能夠首次實現無縫連接。
????????隨著越來越多的網絡(包括大學、研究機構和后來的商業網絡)接入 ARPANET,并采用 TCP/IP 協議,一個跨越地域、開放互聯的全球網絡逐漸形成。這就是現代互聯網的開端。
二、網絡分類
2.1. 局域網
????????局域網(Local Area Network,簡稱 LAN)是本地、局部組建的私有網絡,也稱為內網。其內部主機之間能方便地進行網絡通信,但未連接的局域網之間無法直接通信。組建方式多樣,包括基于網線直連多臺主機,或通過集線器、交換機,以及交換機與路由器組合等方式實現連接。
2.2. 廣域網
????????廣域網(Wide Area Network,簡稱 WAN)則是通過路由器將多個局域網連接起來,形成的大范圍網絡,局域網是廣域網的子網。例如,將分布在各地甚至海外的分公司通過專線連接,便構成廣域網;全球化的公共型廣域網即互聯網(公網、外網),是廣域網的子集,有時 “廣域網” 也泛指互聯網。
三、IP地址
3.1. 概念
????????IP地址主要用于標識網絡主機、其他網絡設備(如路由器)的網絡地址。簡單說,IP地址用于定位主機的網絡地址。就像我們發送快遞一樣,需要知道對方的收貨地址,快遞員才能將包裹送到目的地。
3.2. 格式
? ? ? ? IP地址本質上一個32位的整數,32位地址分成4個部分,以.分割,通常用“點分十進制”來表示,每個部分都是0~255之間的十進制整數。
四、端口號
4.1. 概念
????????在網絡通信中,IP地址?于標識主機網絡地址,端口號可以標識主機中發送數據、接收數據的進程。 簡單說:端口號用于定位主機中的應用程序,像Chrome瀏覽器、微信,都需要聯網。比如,快遞,不光需要確認收貨地址,還需要確認收件人的手機號。
4.2. 格式
????????口號是0~65535范圍的數字,在網絡通信中,進程可以通過綁定?個端口號,來發送及接收網絡數據。
五、協議
5.1. 概念
? ? ? ? 協議,網絡協議的簡稱,網絡協議是?絡通信(即網絡數據傳輸)經過的所有網絡設備都必須共同遵從的?組約定、規則。如怎么樣建立連接、怎么樣互相識別等。只有遵守這個約定,計算機之間才能相互通信交流。
5.2. 作用
? ? ? ? 計算機之間的傳輸媒介是光信號和電信號。通過"頻率"和"強弱"來表示0和1這樣的信息。要想傳遞各種不同的信息,就需要約定好雙?的數據格式。協議如同網絡世界的 “語言”,確保不同設備(如計算機、服務器、路由器、手機等)之間能夠理解彼此發送的信息,實現有序、可靠的通信。統一了數據格式,合理分配網絡資源。
5.3. 五元組
? ? ? ? 在TCP/IP協議中,是用于唯一標識一個網絡連接或數據流的五個關鍵信息的組合,主要用于網絡設備(如路由器、防火墻、負載均衡器)對數據包進行識別、過濾、轉發或追蹤:
- 源 IP 地址:發送數據包的設備的 IP 地址,用于標識數據的來源設備。
- 目的 IP 地址:接收數據包的設備的 IP 地址,用于標識數據的目標設備。
- 源端口號:發送方設備上發起通信的進程所使用的端口號,通常在客戶端隨機分配(動態端口)。
- 目的端口號:接收方設備上對應服務的端口號,用于定位目標設備上的特定服務(如 80 端口對應 HTTP 服務)。
- 傳輸層協議:數據包所使用的傳輸層協議,常見的有 TCP(傳輸控制協議)和 UDP(用戶數據報協議)。
5.4. 協議分層
- 分層的作用
? ? ? ? 網絡通信是一個非常復雜的話題,為了解決復雜的問題,網絡協議相應地也會非常復雜。我們就可以進行拆分,每個協議負責一個部分。拆分之后,協議就會變多,還得需要分層,約定協議與協議之間的調用關系。
? ? ? ? 分層之后,每個協議只負責自己的那一部分,因此協議也更簡單,更好理解。并且解耦合更加方便,可以靈活地對協議進行替換。
六、TCP/IP分層模型
- 物理層:網絡通信中依賴的硬件設施,網線、光纖、天線;
- 數據鏈路層:負責兩個節點之間的通信,通過網線、光纖或者無線信號連接的設備;
- 網絡層:負責任意兩個節點之間的路徑規劃;
- 傳輸層:管理兩個節點之間的數據傳輸,并且只關心傳輸的起點和終點,不關心傳輸的過程;
- 應用層:負責應用程序間溝通,如簡單電子郵件傳輸(SMTP)、文件傳輸協議(FTP)。
七、網絡設備所在分層
- 對于?臺主機,它的操作系統內核實現了從傳輸層到物理層的內容,也即是TCP/IP五層模型的下四層;
- 對于?臺路由器,它實現了從網絡層到物理層,也即是TCP/IP五層模型的下三層
- 對于?臺交換機,它實現了從數據鏈路層到物理層,也即是TCP/IP五層模型的下兩層;
八、封裝和分用
? ? ? ? 我們想象這樣一個場景:我在微信中想一個好友發送一條信息“hello”。
- 發送方
????????發送方從應用層輸入“hello”,然后點擊“發送”按鈕。微信應用程序能獲取到字符串,然后按照一定的應用層協議構造成應用層數據包。接下來把應用層數據包通過操作系統的API傳給傳輸層。傳輸層涉及到的TCP/UDP協議打包成傳輸層數據包。接著再把傳輸層數據包傳到網絡層。在網絡層,通過IP協議,在傳輸層數據包的基礎上加上IP報頭,再傳給數據鏈路層。數據鏈路層最重要的協議是以太網協議,在IP數據報基礎上拼接信息。最后是物理層,需要把0101這樣的數據轉化成光信號或者電信號通過物理介質傳播出去。
- 接收方
? ? ? ? 在物理層收到光信號或者電信號,轉化成0101數字信號,交給數據鏈路層。數據鏈路層通過以太網協議進行解析,去掉幀頭幀尾,取出載荷,進一步交給網絡層。網絡層通過IP協議也會進行解析,取出載荷,進一步交給傳輸層。傳輸層通過UDP協議,進一步交給應用層。應用層再通過微信應用程序的進行解析,最后把消息顯示到界面上。
? ? ? ? 封裝,相當于包裝快遞;分用,相當于拆快遞。
? ? ? ? 交換機從物理層到數據鏈路層進行分用,解析到數據之后,會對數據重新進行封裝,再次發送出去。