計算機網絡(涵蓋OSI,TCP/IP,交換機,路由器,局域網)

一、網絡通信基礎

(一)網絡通信的概念

網絡通信是指終端設備之間通過計算機網絡進行的信息傳遞與交流。它類似于現實生活中的物品傳遞過程:數據(物品)被封裝成報文(包裹),通過網絡設備(集散中心)在不同的終端設備(收發點)之間傳輸。

(二)常見術語

  • 數據載荷:最終需要傳遞的信息。

  • 報文:網絡中交換與傳輸的數據單元。

  • 頭部和尾部:在數據載荷前后添加的信息段,用于標識和控制數據傳輸。

  • 封裝與解封裝:封裝是將數據載荷添加頭部和尾部形成報文的過程,而解封裝則是獲取數據載荷的過程。

  • 網關與路由器:網關提供協議轉換和路由選擇功能,路由器則根據報文的目的地址選擇最優路徑進行轉發。

二、網絡設備與功能

(一)交換機

交換機是距離終端用戶最近的網絡設備,主要用于終端用戶的網絡接入和數據幀的交換。它工作在數據鏈路層,能夠有效地隔離廣播域,減少網絡中的廣播流量。

(二)路由器

路由器是網絡層設備,負責在不同網絡之間轉發數據報文。它通過維護路由表來選擇最佳路徑,實現不同網絡之間的通信。路由器還可以隔離廣播域,支持廣域網接入和網絡地址轉換(NAT)。

(三)防火墻

防火墻是一種網絡安全設備,用于控制兩個網絡之間的安全通信。它通過監測和限制數據流,保護網絡內部的信息安全。防火墻的主要功能包括:

  • 隔離不同安全級別的網絡。

  • 實現訪問控制和用戶身份認證。

  • 提供數據加密和虛擬專用網(VPN)功能。

  • 執行網絡地址轉換(NAT)。

(四)無線設備

無線設備包括無線控制器(AC)、胖AP(Fat Access Point)和瘦AP(Fit Access Point)。它們通過Wi-Fi信號實現有線終端和無線終端之間的通信,是現代網絡中不可或缺的一部分。

三、網絡類型與拓撲結構

(一)網絡類型

根據地理覆蓋范圍,網絡可以分為:

  • 局域網(LAN):覆蓋范圍較小,通常在幾千米以內,如公司辦公網絡或家庭網絡。

  • 城域網(MAN):覆蓋范圍為一個城市,如寬帶城域網或教育城域網。

  • 廣域網(WAN):覆蓋范圍廣泛,連接多個城市甚至國家,如Internet。

(二)網絡拓撲結構

網絡拓撲是指網絡設備之間的連接方式。常見的拓撲結構包括:

  • 星型拓撲:所有設備都連接到一個中心節點,易于管理和擴展。

  • 總線型拓撲:所有設備共享一條通信線路,成本低但可靠性較差。

  • 環型拓撲:設備按環形連接,數據沿一個方向傳輸。

  • 樹型拓撲:類似星型拓撲的擴展,適用于大規模網絡。

  • 網狀拓撲:設備之間有多條連接路徑,可靠性高但成本高。

四、OSI與TCP/IP協議模型

(一)OSI七層模型

  1. 物理層:負責比特流在物理介質上的傳輸。

  2. 數據鏈路層:負責組幀、物理編址和差錯控制。

  3. 網絡層:負責數據包的尋徑和轉發。

  4. 傳輸層:建立端到端的連接,確保數據可靠傳輸。

  5. 會話層:管理通信雙方的會話。

  6. 表示層:負責數據格式的轉換。

  7. 應用層:為應用程序提供接口,如HTTP、FTP等。

OSI七層模型中,應用層、表示層和會話層直接提供用戶所需的功能,屬于用戶層;傳輸層和網絡層負責數據的端到端傳輸和路由,屬于操作系統層;鏈路層和物理層處理數據的物理傳輸和設備間的通信,屬于驅動與硬件層。

(二)TCP/IP模型

TCP/IP模型是互聯網的主流協議模型,它簡化了OSI模型,分為四層:

  1. 鏈路層:對應OSI模型中的物理層和數據鏈路層。

  2. 網絡層:主要協議為IP,負責數據包的轉發。

  3. 傳輸層:主要協議為TCP和UDP,負責端到端的通信。

  4. 應用層:提供各種網絡服務,如HTTP、FTP、SMTP等。

TCP連接的建立與關閉

三次握手

TCP連接建立過程中,客戶端和服務器通過三次報文交換來確認彼此的接收和發送能力,使用Wireshark抓包分析可以清晰地觀察到這個過程。

  1. 客戶端發送SYN報文:客戶端向服務器發送一個SYN報文,表示請求建立連接,Wireshark會顯示一個帶有SYN標志位的TCP報文,序列號為客戶端的初始序列號(ISN)。

  2. 服務器響應SYN-ACK報文:服務器接收到SYN報文后,回復一個SYN-ACK報文,表示接受連接請求,同時確認客戶端的SYN報文。Wireshark中,這個報文將包含SYN和ACK標志位,ACK確認號為客戶端的序列號加1,服務器還會生成自己的初始序列號(ISN)。

  3. 客戶端發送ACK報文:客戶端收到服務器的SYN-ACK報文后,發送一個帶ACK標志位的報文,確認服務器的響應并完成連接建立。Wireshark中會顯示客戶端發出的ACK報文,確認號為服務器的ISN加1,連接正式建立。

四次揮手

由于TCP半雙工,半關閉的特性,雙方都需要獨立的確認自己已經完成了數據的發送且雙方都不能立刻關閉接收通道,所以需要四次揮手

  • 第一次揮手: 客戶端發送FIN報文表示沒有數據要發送,此時,客戶端進入半關閉狀態,仍然可以接收服務器發送的剩余數據;

  • 第二次揮手: 服務器收到客戶端的FIN報文后,發送ACK報文確認客戶端的關閉請求,此時,服務器仍然可以繼續向客戶端發送數據;

  • 第三次揮手:當服務器的發送數據也完成時,會發送FIN報文,此時服務器進入半關閉狀態,仍然可以接收客戶端的數據。

  • 第四次揮手: 客戶端收到服務器的FIN報文后,發送一個ACK報文確認服務器的關閉請求。此時,客戶端的接收方向也關閉,連接被完全斷開。

為什么不能合并為三次揮手?

如果服務器在收到客戶端的FIN報文后沒有數據要發送,理論上,可以通過合并第二次和第三次揮手為三次進行關閉。然而,在TCP協議的標準操作中,即使服務端沒有數據要發送,也必須遵循四次揮手的過程。這是因為TCP協議設計上強調可靠性和連接狀態的準確同步。

原因:確保關閉請求的獨立性,即使服務端沒有數據要發送,它仍然需要先確認客戶端的關閉請求(發送ACK報文),然后才能開始自己的關閉過程(發送FIN報文)

在實際驗證中,為了模擬“服務端有剩余數據”的場景,我通過在服務端代碼中加入sleep(睡眠)操作,故意延遲發送數據。在服務端完成初步的響應后,繼續發送剩余數據。與“無剩余數據”對比,都抓取到了4次揮手的報文。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/70150.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/70150.shtml
英文地址,請注明出處:http://en.pswp.cn/web/70150.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

圖像處理篇---基本OpenMV圖像處理

文章目錄 前言1. 灰度化(Grayscale)2. 二值化(Thresholding)3. 掩膜(Mask)4. 腐蝕(Erosion)5. 膨脹(Dilation)6. 縮放(Scaling)7. 旋轉…

SpringMVC重定向接口,參數暴露在url中解決方案!RedirectAttributes

OK,首先描述下業務場景,終端數量限制登錄 1.首先訪問項目login的get接口 2.輸入賬號密碼點擊登錄后,會請求login的POST接口 3.后臺對終端數量邏輯處理不允許登錄跳回到登錄頁面 4.因代碼原因需在后臺進行多次重定向接口,最后跳…

Spring Boot01(注解、)---java八股

Spring Boot中常用注解及其底層實現 1、SpringBootApplication注解: SpringBootApplication注解:這個注解標識了一個SpringBoot工程,它實際上是另外三個注解的組合,這三個注解是: aSpringBootConfiguration&#xff1a…

?2.快速了解HTML5的標簽類型

??HTML5 的標簽類型豐富多樣&#xff0c;每種類型都有其獨特的功能和用途&#xff0c;以下是一些常見的 HTML5 標簽類型介紹&#xff1a; &#x1f98b;結構標簽 &#x1faad;<html>&#xff1a;它是 HTML 文檔的根標簽&#xff0c;所有其他標簽都包含在這個標簽內&am…

eNSP防火墻綜合實驗

一、實驗拓撲 二、ip和安全區域配置 1、防火墻ip和安全區域配置 新建兩個安全區域 ip配置 Client1 Client2 電信DNS 百度web-1 聯通DNS 百度web-2 R2 R1 三、DNS透明代理相關配置 1、導入運營商地址庫 2、新建鏈路接口 3、配置真實DNS服務器 4、創建虛擬DNS服務器 5、配置D…

Linux 配置交換空間(Swap)解決內存不足

&#x1f680; 作者主頁&#xff1a; 有來技術 &#x1f525; 開源項目&#xff1a; youlai-mall ︱vue3-element-admin︱youlai-boot︱vue-uniapp-template &#x1f33a; 倉庫主頁&#xff1a; GitCode︱ Gitee ︱ Github &#x1f496; 歡迎點贊 &#x1f44d; 收藏 ?評論 …

個人shell腳本分享

在周一到周五做增量備份&#xff0c;在周六周日做完全備份 #!/bin/bash定義變量 SRC“/path/to/source” # 源目錄 BKUP“/backup” # 備份主目錄 FUL“KaTeX parse error: Expected EOF, got # at position 22: …ull" #? 完全備份目錄 INC"BKUP/inc” # 增量備份…

Django 5 實用指南(一)安裝與配置

1.1 Django5的背景與發展 Django 自從2005年由Adrian Holovaty和Simon Willison在 Lawrence Journal-World 新聞網站上首次發布以來&#xff0c;Django 一直是 Web 開發領域最受歡迎的框架之一。Django 框架經歷了多個版本的演進&#xff0c;每次版本更新都引入了新功能、改進了…

百度搜索融合 DeepSeek 滿血版,開啟智能搜索新篇

百度搜索融合 DeepSeek 滿血版&#xff0c;開啟智能搜索新篇 &#x1f680; &#x1f539; 一、百度搜索全量接入 DeepSeek &#x1f539; 百度搜索迎來重要升級&#xff0c;DeepSeek 滿血版全面上線&#xff01;&#x1f389; 用戶在百度 APP 搜索后&#xff0c;點擊「AI」即…

RabbitMQ服務異步通信

消息隊列在使用過程中&#xff0c;面臨著很多實際問題需要思考&#xff1a; 1. 消息可靠性 消息從發送&#xff0c;到消費者接收&#xff0c;會經理多個過程&#xff1a; 其中的每一步都可能導致消息丟失&#xff0c;常見的丟失原因包括&#xff1a; 發送時丟失&#xff1a; 生…

【教程】MySQL數據庫學習筆記(七)——多表操作(持續更新)

寫在前面&#xff1a; 如果文章對你有幫助&#xff0c;記得點贊關注加收藏一波&#xff0c;利于以后需要的時候復習&#xff0c;多謝支持&#xff01; 【MySQL數據庫學習】系列文章 第一章 《認識與環境搭建》 第二章 《數據類型》 第三章 《數據定義語言DDL》 第四章 《數據操…

膠囊網絡動態路由算法:突破CNN空間局限性的數學原理與工程實踐

一、CNN的空間局限性痛點解析 傳統CNN的瓶頸&#xff1a; 池化操作導致空間信息丟失&#xff08;最大池化丟棄85%激活值&#xff09;無法建模層次空間關系&#xff08;旋轉/平移等變換不敏感&#xff09;局部感受野限制全局特征整合 示例對比&#xff1a; # CNN最大池化示例…

#滲透測試#批量漏洞挖掘#Apache Log4j反序列化命令執行漏洞

免責聲明 本教程僅為合法的教學目的而準備,嚴禁用于任何形式的違法犯罪活動及其他商業行為,在使用本教程前,您應確保該行為符合當地的法律法規,繼續閱讀即表示您需自行承擔所有操作的后果,如有異議,請立即停止本文章讀。 目錄 Apache Log4j反序列化命令執行漏洞 一、…

深入剖析Spring MVC

一、Spring MVC 概述 1. 什么是 Spring MVC&#xff1f; Spring MVC 是基于 Spring 框架的 Web 框架&#xff0c;它實現了 MVC 設計模式&#xff0c;將應用程序分為三個核心部分&#xff1a; Model&#xff1a;封裝應用程序的數據和業務邏輯。 View&#xff1a;負責渲染數據…

機器學習入門-讀書摘要

先看了《深度學習入門&#xff1a;基于python的理論和實踐》這本電子書&#xff0c;早上因為入迷還坐過站了。。 因為里面的反向傳播和鏈式法則特別難懂&#xff0c;又網上搜了相關內容進行進一步理解&#xff0c;參考的以下文章&#xff08;個人認為都講的都非常好&#xff0…

【AI】mac 本地部署 Dify 實現智能體

下載 Ollama 訪問 Ollama 下載頁&#xff0c;下載對應系統 Ollama 客戶端。或者參考文章【實戰AI】macbook M1 本地ollama運行deepseek_m1 max可以跑deepseek嗎-CSDN博客 dify 開源的 LLM 應用開發平臺。提供從 Agent 構建到 AI workflow 編排、RAG 檢索、模型管理等能力&am…

[實現Rpc] 消息抽象層的具體實現

目錄 具象層 _ 消息抽象的實現 信息的抽象類 實現 JsonMessage JsonRequest & JsonResponse 消息-不同消息分裝實現 實現 Request RpcRequest TopicRequest ServiceRequest Response RpcResponse TopicResponse ServiceResponse 實現 生產工廠 本篇文章繼 …

計算機考研之數據結構:深入解析最大公約數與歐幾里得算法

一、生活中的公約數應用 在日常生活中&#xff0c;經常需要處理"均分分配"問題。例如&#xff1a;要將24塊巧克力和18塊餅干平均分給小朋友&#xff0c;最多能分給幾個小朋友&#xff1f;這就是典型的求最大公約數問題。 二、基本概念詳解 約數與公約數 約數&…

NCHAR_CS和CHAR_CS,導致UNION ALL 時,提示SQL 錯誤 [12704] [72000]: ORA-12704: 字符集不匹配

檢查涉及的數據表和列的字符集設置 -- 查詢表的字符集 SELECT parameter, value FROM nls_database_parameters WHERE parameter LIKE NLS_CHARACTERSET;-- 查詢列的字符集&#xff08;對于特定表&#xff09; SELECT column_name, character_set_name FROM all_tab_columns W…

算法之 跳躍游戲

文章目錄 55.跳躍游戲思路參考&#xff1a;56.合并區間 55.跳躍游戲 55.跳躍游戲 靈神思路 思路分析&#xff1a; 兩種思路&#xff0c;思路1是我們可以直接維護當前到達i的時候所能到達的最右的邊界mr&#xff0c;如果i>mr就說明無法到達i,否則就是可以到達&#xff1b;…