【計算機網絡 | 第三篇】常見的網絡協議(二)

沒有看過我寫的關于網絡協議的第一篇博客可以看【計算機網絡 | 第二篇】常見的通信協議(一)-CSDN博客

TCP的三次握手和四次揮手

TCP三次握手

三次握手是TCP協議建立可靠連接的過程,目的是確保客戶端和服務端雙方的雙向通信能力正常,并同步初始序列號。

簡單回答實例:

第一次握手:客戶端先發送一個SYN報文,帶上自己的初始序列號。

第二次握手:服務端回復一個SYN-ACK,確認客戶端的序列號,并發送自己的序列號。

第三次握手:客戶端回復一個ACK,確認服務端的序列號。

為什么需要三次握手呢??

1.防止歷史連接問題:若客戶端因網絡延遲重發SYN,舊的SYN可能新連接建立之后到達,通過三次握手,客戶端可通過的三次握手拒絕SYN,避免資源浪費。

2.確保雙向通信能力:若只有兩次握手只能確認客戶端的發送能力和服務端的接收能力,無法確認服務端的發送能力和客戶端的接收能力。

三次握手可以攜帶數據嗎?

在TCP三次握手過程中,第三次握手是可以攜帶數據的(客戶端發送完 ACK 確認包之后就進入 ESTABLISHED 狀態了),也就是說一旦完成前兩次握手,TCP協議允許在第三次握手時傳輸數據。

如果第三次握手的 ACK 確認包丟失,但是客戶端已經開始發送攜帶數據的包,那么服務端在收到這個攜帶數據的包時,如果該包中包含了 ACK 標記,服務端會將其視為有效的第三次握手確認。這樣,連接就被認為是建立的,服務端會處理該數據包,并繼續正常的數據傳輸流程。

?

TCP四次揮手

四次揮手是TCP協議安全斷開連接的的過程,目的是確保雙方數據完全傳輸完畢并且有序釋放資源。TCP是全雙工通信,需要雙方獨立關閉各自的數據流,因此需要四次交互。

簡單回答實例:

第一次揮手:主動方先發送FIN表示不再發送數據。

第二次揮手:被動方回復ACK確認收到,但可能繼續發送剩余數據。

第三次揮手:被動方數據發完后,再發送FIN表示準備關閉。

第四次揮手:主動方回復ACK,并等待一段時間確保對方收到。

為什么需要四次揮手?

1.全雙工特性:TCP允許雙方獨立發送和接收數據,關閉連接時,需雙方各自確認數據發送完畢。

2.ACK和FIN無法合并:被動方收到FIN后可能仍需處理數據,需要先發ACK確認,再發FIN關閉自身通道。

HTTP是基于TCP還是UDP?

HTTP/3.0 之前是基于 TCP 協議的,而 HTTP/3.0 將棄用 TCP,改用 基于 UDP 的 QUIC 協議

此變化解決了 HTTP/2.0 中存在的隊頭阻塞問題。隊頭阻塞是指在 HTTP/2.0 中,多個 HTTP 請求和響應共享一個 TCP 連接,如果其中一個請求或響應因為網絡擁塞或丟包而被阻塞,那么后續的請求或響應也無法發送,導致整個連接的效率降低。這是由于 HTTP/2.0 在單個 TCP 連接上使用了多路復用,受到 TCP 擁塞控制的影響,少量的丟包就可能導致整個 TCP 連接上的所有流被阻塞。HTTP/3.0 在一定程度上解決了隊頭阻塞問題,一個連接建立多個不同的數據流,這些數據流之間獨立互不影響,某個數據流發生丟包了,其數據流不受影響(本質上是多路復用+輪詢)。

?

IP

IP協議的作用:

IP是TCP/IP協議最重要的協議之一,屬于網絡層協議,主要作用是定義數據包的格式,對數據包進行路由和尋址,保證在網絡傳輸中到達正確目的地。

目前IP協議分為兩種:一種是過去的IPv4,一種是新的IPv6。

IPv4 使用 32 位地址作為其 Internet 地址,這意味著共有約 42 億( 2^32)個可用 IP 地址。

只靠IPv4,地址當然是不夠用的,因此有了IPv6.

IPv6 使用 128 位互聯網地址,這意味著越有 2^128(3 開頭的 39 位數字,恐怖如斯) 個可用 IP 地址。

據說IPv6可以給地球上的每一顆沙子都分配一個地址。

什么是IP地址,IP尋址如何工作?

每個連入互聯網的設備或域(如計算機、服務器、路由器等)都被分配一個 IP 地址(Internet Protocol address),作為唯一標識符。每個 IP 地址都是一個字符序列,如 192.168.1.1(IPv4)、2001:0db8:85a3:0000:0000:8a2e:0370:7334(IPv6) 。

當網絡設備發送 IP 數據包時,數據包中包含了 源 IP 地址目的 IP 地址 。源 IP 地址用于標識數據包的發送方設備或域,而目的 IP 地址則用于標識數據包的接收方設備或域。這類似于一封郵件中同時包含了目的地地址和回郵地址。

網絡設備根據目的 IP 地址來判斷數據包的目的地,并將數據包轉發到正確的目的地網絡或子網絡,從而實現了設備間的通信。

這種基于 IP 地址的尋址方式是互聯網通信的基礎,它允許數據包在不同的網絡之間傳遞,從而實現了全球范圍內的網絡互聯互通。IP 地址的唯一性和全局性保證了網絡中的每個設備都可以通過其獨特的 IP 地址進行標識和尋址。

什么是IP地址過濾?

IP 地址過濾(IP Address Filtering) 簡單來說就是限制或阻止特定 IP 地址或 IP 地址范圍的訪問。例如,你有一個圖片服務突然被某一個 IP 地址攻擊,那我們就可以禁止這個 IP 地址訪問圖片服務。

IP 地址過濾是一種簡單的網絡安全措施,實際應用中一般會結合其他網絡安全措施,如認證、授權、加密等一起使用。單獨使用 IP 地址過濾并不能完全保證網絡的安全。

ARP

什么是Mac地址?

MAC 地址的全稱是 媒體訪問控制地址(Media Access Control Address)。如果說,互聯網中每一個資源都由 IP 地址唯一標識(IP 協議內容),那么一切網絡設備都由 MAC 地址唯一標識。

可以理解為,MAC 地址是一個網絡設備真正的身份證號,IP 地址只是一種不重復的定位方式(比如說住在某省某市某街道的張三,這種邏輯定位是 IP 地址,他的身份證號才是他的 MAC 地址),也可以理解為 MAC 地址是身份證號,IP 地址是郵政地址。MAC 地址也有一些別稱,如 LAN 地址、物理地址、以太網地址等。

APR協議解決了什么問題?

ARP 協議,全稱 地址解析協議(Address Resolution Protocol),它解決的是網絡層地址和鏈路層地址之間的轉換問題。因為一個 IP 數據報在物理上傳輸的過程中,總是需要知道下一跳(物理上的下一個目的地)該去往何處,但 IP 地址屬于邏輯地址,而 MAC 地址才是物理地址,ARP 協議解決了 IP 地址轉 MAC 地址的一些問題。

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

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

相關文章

HAL庫(STM32CubeMX)——高級ADC學習、HRTIM(STM32G474RBT6)

系列文章目錄 文章目錄 系列文章目錄前言存在的問題HRTIMcubemx配置前言 對cubemx的ADC的設置進行補充 ADCs_Common_Settings Mode:ADC 模式 Independent mod 獨立 ADC 模式,當使用一個 ADC 時是獨立模式,使用兩個 ADC 時是雙模式,在雙模式下還有很多細分模式可選 ADC_Se…

Unity接入安卓SDK(3)厘清Gradle的版本

接入過程中,很多人遇到gradle的各種錯誤,由于對各種gradle版本的概念不甚了了,模模糊糊一頓操作猛如虎,糊弄的能編譯通過就萬事大吉,下次再遇到又是一臉懵逼。所以我們還是一起先厘清gradle的版本概念。 1 明晰概念 …

python-67-基于plotly的繪圖可視化和智能推薦圖表

文章目錄 1 各種圖表的適用場景1.1 面積圖1.2 餅圖1.3 散點圖1.3.1 散點1.3.2 散點加線1.4 折線圖1.5 箱線圖1.5.1 不同類別的箱線圖1.5.2 一個變量的箱線圖1.5.3 多個變量的箱線圖1.6 小提琴圖1.6.1 不同類別的小提琴圖1.6.2 一個變量的小提琴圖1.7 直方圖1.7.1 直方圖1.7.2 分…

Spring AI MCP

MCP是什么 MCP是模型上下文協議(Model Context Protocol)的簡稱,是一個開源協議,由Anthropic(Claude開發公司)開發,旨在讓大型語言模型(LLM)能夠以標準化的方式連接到外…

c++_csp-j算法 (3)

弗洛伊德算法(Floyd) Floyd算法又稱為插點法,是一種利用動態規劃的思想尋找給定的加權圖中多源點之間最短路徑的算法,與Dijkstra算法類似。該算法名稱以創始人之一、1978年圖靈獎獲得者、斯坦福大學計算機科學系教授羅伯特弗洛伊…

QT常見輸入類控件及其屬性

Line Edit QLineEdit用來表示單行輸入框,可以輸入一段文本,但是不能換行 核心屬性: 核心信號 信號 說明 void cursorPositionChanged(int old,int new) 當鼠標移動時發出此型號,old為先前位置,new為新位置 void …

【k8s系列1】一主兩從結構的環境準備

環境準備 虛擬機軟件準備及安裝,這里就不詳細展開了,可以看文章:【一、虛擬機vmware安裝】 linux環境準備及下載,下載鏡像centOS7.9,以前也有寫過這個步驟的文章,可以看:【二、安裝centOS】 開始進入正題…

【C++類和數據抽象】類的作用域

目錄 一、類的作用域基本概念 1.1 什么是類的作用域 1.2 作用域層次體系 1.3 類作用域的特點 1.4 基本訪問規則 二、訪問控制三劍客 2.1 public:開放接口 2.2 private:數據封裝 2.3 protected:繼承通道 2.4 跨作用域訪問示例 三…

opencv圖片顏色識別,顏色的替換

圖片顏色識別 1. RGB顏色空間2. 顏色加法2.1使用numpy對圖像進行加法2.2使用opencv加法(cv2.add) 3 顏色加權加法(cv2.addWeighted())4. HSV顏色空間5. 制作掩膜4. 與運算(cv2.bitwise_and)5.顏色的替換7 R…

ADC數據不穩定的解決方案

問題如圖: 解決方案:上圖第一個通道后來接入GND,就穩定了 上圖第一個通道后來接入VCC,就穩定了

Spark(18)Yarn-概述

Hadoop三大核心組件:HDFS、MapReduce和YARN 一)Yarn的概念 YARN(Yet Another Resource Negotiator,另一種資源協調者)是一個通用資源管理系統和調度平臺,可為上層應用提供統一的資源管理和調度。它的引入為集群在利用率,資源統一管…

Flowith AI,解鎖下一代「知識交易市場」

前言 最近幾周自媒體號都在瘋狂推Manus,看了幾篇測評后,突然在某個時間節點,在特工的文章下,發現了很小眾的Flowith。 被這段評論給心動到,于是先去注冊了下賬號。一翻探索過后,發現比我想象中要有趣的多&…

Maxscript調用Newtonsoft.Json解析Json

Maxscript調用Newtonsoft.Json解析Json_newtonsoft.json maxscript-CSDN博客

搭建用友U9Cloud ERP及UAP IDE環境

應用環境 Microsoft Windows 10.0.19045.5487 x64 專業工作站版 22H2Internet Information Services - 10.0.19041.4522Microsoft SQL Server 2019 - 15.0.2130.3 (X64)Microsoft SQL Server Reporing Services 2019 - 15.0.9218.715SQL Server Management Studio -18.6 laster…

github新建一個遠程倉庫并添加了README.md,本地git倉庫無法push

1.本地git倉庫與遠程倉庫綁定 2.push時報錯,本地的 main 分支落后于遠程倉庫的 main 分支(即遠程有更新,但你本地沒有),需要拉取遠程的倉庫--->在merge合并(解決沖突)--->push 3.但是git …

我用deepseek做了一個提取壓縮文件夾下pdf和word文件工具

由于最近需要把大量的壓縮文件的pdf和word文件統一復制到一個文件夾中。 我們一般正常操作方式的是把一個壓縮文件一個一個解壓,然后在把一個的解壓好的文件夾下文件復制到另外一個文件夾中。 這個也需太繁瑣了,從以往統計的需要花費兩個小時間&#x…

企業網絡安全合規風險高、運營不穩定,要怎么解決?

在數字化浪潮中,數據已然成為企業的核心資產,其重要性不言而喻。然而,數據泄露風險也時刻威脅著企業的生存與發展。不少企業在歷經數據泄露的慘痛教訓后,紛紛選擇部署數據防泄露系統。那么,企業部署數據防泄露系統前后…

C#—Lazy<T> 類型(延遲初始化/懶加載模式)

C# 的 Lazy<T> 類型 Lazy<T> 是 C# 中的一個類&#xff0c;用于實現延遲初始化&#xff08;懶加載&#xff09;模式。它提供了一種線程安全的方式來延遲創建大型或資源密集型對象&#xff0c;直到第一次實際需要時才進行初始化。 主要特點 延遲初始化&#xff1a…

C++之unordered封裝

目錄 一、哈希表的修改 1.1、哈希表節點結構 1.2、迭代器 1.3、哈希表結構 1.4、完整代碼 二、unordered_map的實現 二、unordered_set的實現 一、哈希表的修改 注意&#xff1a;這里我們使用哈希桶來封裝unordered_map和unordered_set。 1.1、哈希表節點結構 templa…

[滲透測試]滲透測試靶場docker搭建 — —全集

[滲透測試]滲透測試靶場docker搭建 — —全集 對于初學者來說&#xff0c;僅僅了解漏洞原理是不夠的&#xff0c;還需要進行實操。對于公網上的服務我們肯定不能輕易驗證某些漏洞&#xff0c;否則可能觸犯法律。這是就需要用到靶場。 本文主要給大家介紹幾種常見漏洞對應的靶場…