网络通信学习笔记之——计算机网络基础知识
一、計算機網絡基礎知識
1、什么是計算機網絡
? 把分布在不同地理位置的計算機與專門的網絡設備用通信線路互相連成一個規模大、功能強的系統, 從而使眾多計算機可以方便地互相傳遞信息、共享軟件、硬件、數據信息等。
? 計算機網絡就是由通信線路互相連接的許多自主工作的計算機構成的的集合,它是計算機技術和通信 技術相結合的產物。
2、計算機網絡的功能
? 數據通信、資源共享、提高系統的可靠性、分布式網絡處理和負載均衡。
3、計算機網絡的組成
1、通信子網
-
網卡:網絡接口卡或網絡適配器、它負責將數據發送網絡中去,也負責從網絡中獲取數據。
-
線纜、中繼器:傳輸信號,放大信號。
-
交換機:是一個擴大網絡的器材,能為子網絡中提供更多的連接端口,以便連接更多的計算機。
-
路由器:路由器是連接兩個或多個網絡的硬件設備,在網絡間起網關的作用,是讀取每一個數據包 中的地址然后決定如何傳送的專用智能性的網絡設備。
它能夠理解不同的協議,例如某個局域網使用的以太網協議,因特網使用的TCP/IP協議。這樣, 路由器可以分析各種不同類型網絡傳來的數據包的目的地址,把非TCP/IP網絡的地址轉換成 TCP/IP地址,或者反之;再根據選定的路由算法把各數據包按最佳路線傳送到指定位置。
2、資源子網
由連網的服務器、工作站、共享的打印機和其它設備及相關軟件所組成。
3、計算機網絡軟件
協議軟件:
? 它規定了計算機之間通信的準則,按網絡所采用的協議層次模型(如ISO建議的開放系統互連基本參考 模型)組織而成。除物理層外,其余各層協議大都由軟件實現。
? 每層協議軟件通常由一個或多個進程組成,其主要任務是完成相應層協議所規定的功能,以及與上、 下層的接口功能。
網絡通信軟件:
? 主要工作是監督和控制通信工作的軟件,是計算機網絡軟件的基礎組成部分。還可以讓計算機與其它 計算機通信。
? 通信軟件一般由線路緩沖區管理程序、線路控制程序以及報文管理程序組成。報文管理程序一般由接 收、發送、收發記錄、差錯控制、開始和終了5個部分組成。
網絡操作系統:
? 網絡操作系統是用于管理網絡軟、硬資源,提供簡單網絡管理的系統軟件。常見的網絡操作系統有 UNIX、Netware、Windows NT、Linux等。
網絡應用軟件:
? 主要任務是實現網絡總體規劃所規定的各項功能,提供網絡服務和資源共享。網絡應用軟件有通用和 專用之分。
通用網絡應用系統適用于較廣泛的領域和行業,如數據收集系統、數據轉發系統和數據庫查詢系統 等,專用網絡應用系統只適用于特定的行業和領域,如銀行核算、鐵路控制、軍事指揮等。
4、計算機網絡的分類
-
1、按網絡的作用范圍、規模劃分
局域網、城域網、廣域網
-
2、按網絡傳播技術劃分
廣播式網絡、點到點網絡
-
3、傳輸介質劃分
有線網、無線網、微波通信、衛星通信
5、計算機網絡的發展過程
-
1、以計算機為中心的聯機系統
-
2、分組交換網絡的誕生
-
3、網絡體系結構與協議標準化
20世紀80年代 ISO組織提出 開放式系統互聯參考模型OSI,由于這個模型照顧到了各方和利益所以 太過龐大,因此至今沒有推出成熟的產品,TCP/IP是一套符合OSI標準的協議。
-
4、高速計算機網絡5G、6G
6、OSI七層網絡模型
? 網絡協議是為網絡數據交換而制定的規則、約定、標準, 一個功能完備的計算機網絡需要制定一整 套復雜的協議集,網絡協議是按層次結構來組織的,網絡層次結構模型與各層協議的集合稱為網絡體系 結構。
? 開放式系統互聯通信參考模型(英語:Open System Interconnection Reference Model,縮寫為 OSI),簡稱為OSI模型(OSI model),一種概念模型,由國際標準化組織提出,一個試圖使各種計算 機在世界范圍內互連為網絡的標準框架。OSI將計算機網絡體系結構(architecture)劃分為以下七層:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-3Jd9fvYX-1666927252832)(C:\Users\AllureLove1231\AppData\Roaming\Typora\typora-user-images\image-20221028105726631.png)]
物理層: 將數據轉換為可通過物理介質傳送的電子信號 相當于郵局中的搬運工人。
數據鏈路層: 決定訪問網絡介質的方式,在此層將數據分幀,并處理流控制。本層指定拓撲結構并提供硬 件尋址,相當于郵局中的裝拆箱工人。
網絡層: 使用權數據路由經過大型網絡 相當于郵局中的排序工人。
傳輸層: 提供終端到終端的可靠連接 相當于公司中跑郵局的送信職員。
會話層: 允許用戶使用簡單易記的名稱建立連接 相當于公司中收寄信、寫信封與拆信封的秘書。
表示層: 協商數據交換格式 相當公司中簡報老板、替老板寫信的助理。
應用層: 用戶的應用程序和網絡之間的接口。
7、TCP/IP模型四層
? 既然有了OSI 模型標準,為什么還會有TCP/IP模型呢?在OSI模型開發出來之后,人們發現很多層次制 定的過于詳細了,比如應表會這上三層,數據在這3層是不發生任何變化的,它們僅僅是給用戶提供接口 以及提供一個加密功能,而且有一些層次的功能是沖突的,或者有一些層次其實沒有必要區分的那么清 楚,所以后來人們在使用過程中就把OSI這個模型做了一個整合,把七層整合成了四層,這就形成了 TCP/IP模型。
如下圖所示。它把上三層合并成了應用層,傳輸層、網絡層保持不變,然后把物理層和數據鏈路層做 了一個合并,合并為網絡接口層。從而就把7層模型變成了四層,當然這4層模型的功能和七層模型是完 全一樣的。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-EiMXn20V-1666927252833)(C:\Users\AllureLove1231\AppData\Roaming\Typora\typora-user-images\image-20221028105750838.png)]
**物理層:**負責通信網絡收發數據包
**網絡層:**選擇、流量控制、與網絡擁塞問題,IP協議是該層核心。
**傳輸層:**機器之間建立用于會話的端到端連接(用于數據的傳輸),該層的核心協議是TCP、UDP協 議。
**應用層:**主要為用戶提供針對性的服務,該層代表性的協議有:HTTP、SMTP、FTP、TELNET。
? 但是有的人提出了異議,認為合并上三層可以,但是不能合并物理層和數據鏈路層,因為這兩層的功 能是完全不一樣的,所以在吸取了大家的意見之后,TCP/IP模型也被修改成了五層結構,僅僅是把上三 層進行了合并,下四層保持不變,如下圖所示:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-FbqOQdEQ-1666927252835)(C:\Users\AllureLove1231\AppData\Roaming\Typora\typora-user-images\image-20221028105903756.png)]
8、MAC地址、IP地址、域名、DNS服務器
MAC地址:
? 也叫物理地址,每張網卡在生產時廠家就是固化一個48位的地址(6個字節,通常表示為12個16進制 數,如:00-16-EA-AE-3C-40),此地址全世界唯一,交換機路由器以此來確認網絡設備位置的位址, 缺點是不方便記憶、不夠靈活,但它是網警打擊網絡犯罪的最要證據之一。
IP地址:
? IP 地址是基于邏輯的,比較靈活,不受硬件的限制,也容易記憶,方便劃分子網,因此在計算機網絡 中表面上使用IP進行通信,目前由4個不超過255的整數組成,一般用點分十進制表示 (192.168.2.180)。 而在交換機、路由器中有張ARP表,一列記錄MAC,另一列記錄IP地址,通過ARP協議的RARP協議可 以對IP地址和MAC地址進行轉換。
域名:
? 由于普通人很難記憶大量IP地址,便有了代替IP地址的文字,也就是域名,普通人通過在瀏覽器中輸 入域名來訪問各種網站,但域名最終還是要翻譯成IP地址才能進行網絡間通信的,域名需要從域名服務 商處購買,也可以從組織或個人處轉讓。
DNS服務器:
網絡中有一種專門提供翻譯域名服務的計算機叫DNS服務器,它負責把域名翻譯成IP地址,需要在政 府部分備案并繳納一些費用才能加入DNS服務器。二、IP地址
1、IPv4地址
? IPv4地址的概念是在1980年代初期提出的。即使有新版本的IP地址,IPv4地址仍然是Internet用戶使 用最廣泛的地址。由32個二進制位組成,在日常生活中IPv4地址以點分十進制表示,但在程序它就是一 個網絡字節序32位無符號整數。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-jQqC9CiI-1666927252837)(C:\Users\AllureLove1231\AppData\Roaming\Typora\typora-user-images\image-20221028110020064.png)]
2、IPv4地址的格式
第一部分是網絡位,表示IP地址所屬的網段
第二部分是主機位,用來唯一標識本網段上的某臺網絡設備
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-mb8NVbZ4-1666927252840)(C:\Users\AllureLove1231\AppData\Roaming\Typora\typora-user-images\image-20221028110045826.png)]
? 主機位為全0,表示一個網段,不能分配給網絡設備 ,主機位為全1,是廣播地址的,由交換機或路由 器所擁有,除網絡地址和廣播地址以外的其他IP地址都可以作為網絡設備的IP地址。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-hyKt0VY6-1666927252842)(C:\Users\AllureLove1231\AppData\Roaming\Typora\typora-user-images\image-20221028110100688.png)]
3、IPv4地址的分類
? 官方制定的IP地址分配方案,早期設備性能不足,這種IP地址的分類方案可以提高設備轉發效率。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-kN20RBLV-1666927252844)(C:\Users\AllureLove1231\AppData\Roaming\Typora\typora-user-images\image-20221028110118631.png)]
? **A類地址:**前8位為網絡地址,后24位為主機地址,網絡位第一位必須是0,因此該類IP地址中網絡ID 的長度為8位,主機ID的長度為24位,該類IP地址范圍為1.0.0.0~126.255.255.255,一般用于廣域網。
? **B類地址:**前16位為網絡地址,后16位為主機地址。網絡位的前2為必須是10,因為該類IP地址中網絡 ID的長度為16位,主機ID的長度為16位,該類IP地址范圍為128.0.0.0~191.255.255.255,一般用于城 域網。
? **C類地址:**前24位為網絡地址,后8位主機地址。網絡位的前3位必須是110,因此該類IP地址中網絡ID 的長度為24位,主機長度為8位。該類IP地址范圍為192.0.0.0~223.255.255.255 ,一般用于局域網。
? **D類地址:**該類IP地址的第一個字節以1110開始,它是一個專門保留的地址,并不指向特定的網絡。 目前這類IP地址被用在組播中,其地址范圍為224.0.0.0~239.255.255.255。
? **E類地址:**該類IP地址以11110開始,為保留地址。其地址范圍為240.0.0.0~255.255.255.254
4、特殊的IPv4地址
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-JHJXIqc2-1666927252847)(C:\Users\AllureLove1231\AppData\Roaming\Typora\typora-user-images\image-20221028110223089.png)]
5、公網IPv4地址與私網IPv4地址
? 公網指是互聯網,公網地址就是能在互聯網進行路由(被其它設備訪問)的IPv4地址,私網地址不能 在公網進行路由的IPv4地址。
? 現在,世界上所有終端系統和網絡設備需要的IP地址總數已經超過了32位IPv4地址所能支持的最大地 址數4,294,967,296,為節省IPv4地址官方把IPv4中的部分IP地址保留用作私網地址,A、B、C類地址段 中都預留了特定范圍的地址作為私網地址,為主機分配私網地址節省了公網地址,可以用來緩解IP地址 短缺的問題。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-zmzF39Ga-1666927252848)(C:\Users\AllureLove1231\AppData\Roaming\Typora\typora-user-images\image-20221028110248292.png)]
? 企業網絡中普遍使用私網地址,不同企業網絡中的私網地址可以重疊,默認情況下,網絡中的主機無 法使用私網地址與公網通信,我們能夠上網靠的是ISP組織分給我們的公網IP地址,但是這種IP地址一般 不是給個人的,一般都是給一個單位,一個區域的(共享寬帶)。
? 也就是說我們實際上能接觸到的一般都是私網地址,即我們用ipconig命令查到的都是私有地址,也就 相當于局域網內的IP地址,當我們真正聯網時,會先把數據發送到路由器,然后再由路由器進行處理實 現真正的聯網操作,路由器的地址才是真正聯網的IP地址,也就是公網IP,而我們在自己電腦上查到的 都是私網IP。
6、子網掩碼
? 與IPv4地址的格式相同,但不同的是它的網絡位是全1,主機位是全0,主要用在私網中使用,IPv4地 址和子網掩碼一起可以用來唯一的標識一個網段中的某臺網絡設備。
| A | 11111111 00000000 00000000 00000000 | 255.0.0.0 |
| B | 11111111 11111111 00000000 00000000 | 255.255.0.0 |
| C | 11111111 11111111 11111111 00000000 | 255.255.255.0 |
? 子網掩碼告知路由器,地址的哪一部分是網絡地址,哪一部分是主機地址,使路由器正確判斷任意IP 地址是否是本網段的,從而正確地進行路由。
? 子網掩碼&ip地址 = 網絡地址,如果兩人個ip地址的網絡地址相同,那么說明它們在同一個子網內, 就可以直接通信而不需要路由器,反之如果如果兩人個ip地址的網絡地址不同,就需要使用到路由器跨 網絡通信,不同子網中的IPv4地址可以相同。
? 子網掩碼是在IPv4地址資源緊缺的背景下為了解決lP地址分配而產生的虛擬lP技術,通過子網掩碼將 A、B、C三類地址劃分為若干子網,從而顯著提高了IP地址的分配效率,有效解決了IP地址資源緊張的 局面。另一方面,在企業內網中為了更好地管理網絡,網管人員也利用子網掩碼的作用,人為地將一個 較大的企業內部網絡劃分為更多個小規模的子網,再利用三層交換機的路由功能實現子網互聯,從而有 效解決了網絡廣播風暴和網絡病毒等諸多網絡管理方面的問題。
7、網關地址
? 負責私網中出口的計算機,計算機會把要發送的數據優先發送網關地址,由它負責轉發,一般由路 由器擔任(路由器就是一臺具有路由功能的計算機)。
8、IPv6地址
? IPv4地址組合的數量是有限的,總體而言,可以算出40億(256 4)個唯一地址。在IPv4地址才開始 時,這個數字似乎永遠不會過期。但是,現在情況有所不同了。2011年,全球互聯網編號分配機構 (IANA)分發了IPv4地址空間的最后一塊。2015年,IANA正式宣布美國已用完IPv4地址。
? 直到今天,IPv4地址仍然承載著最多(超過90%)的互聯網流量。到目前為止,即使目前存在IPv4地 址耗盡的問題,也有一些方法可以繼續使用IPv4地址。例如,當僅需要一個唯一的IP地址來代表一組設 備時,網絡地址轉換(NAT)是一種方法。除此之外,IP地址可以重復使用。
? 當然,我們已經有了徹底耗盡的解決方案-IPv6地址,IPv6地址使用以冒號分隔的十六進制數字。它分為 八個16位塊,構成一個128位地址方案。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-AlPrMULp-1666927252849)(C:\Users\AllureLove1231\AppData\Roaming\Typora\typora-user-images\image-20221028110556993.png)]
? 仔細觀察,您會發現IPv6地址并不是一種全新的技術。它是Internet協議的最新版本,但它是在1998 年開發的,旨在替換IPv4地址。
9、IPv4與IPv6的區別
地址類型:
? IPv4具有三種不同類型的地址:多播,廣播和單播。IPv6還具有三種不同類型的地址:任意廣播,單 播和多播。
數據包大小:
? 對于IPv4,最小數據包大小為576字節。對于IPv6,最小數據包大小為1208字節。
header區域字段數:
? IPv4具有12個標頭字段,而IPv6支持8個標頭字段。
可選字段:
? IPv4具有可選字段,而IPv6沒有。但是,IPv6具有擴展header,可以在將來擴展協議而不會影響主包 結構。
配置:
? 在IPv4中,新裝的系統必須配置好才能與其他系統通信。在IPv6中,配置是可選的,它允許根據所需 功能進行選擇。
安全性:
? 在IPv4中,安全性主要取決于網站和應用程序。它不是針對安全性而開發的IP協議。而IPv6集成了 Internet協議安全標準(IPSec)。IPv6的網絡安全不像IPv4是可選項,IPv6里的網絡安全項是強制性 的。
與移動設備的兼容性:
? IPv4不適合移動網絡,因為正如我們前面提到的,它使用點分十進制表示法,而IPv6使用冒號,是移 動設備的更好選擇。
主要功能:
? IPv6允許直接尋址,因為存在大量可能的地址。但是,IPv4已經廣泛傳播并得到許多設備的支持,這 使其更易于使用。
10、IPv4或IPv6使用哪個
? 對于使用IPv6還是IPv4這個問題,沒有標準答案。在考慮未來的網絡體驗時,IPv6地址就顯得至關重 要。即使在我們已經沒有網絡地址的情況下仍然可以有其他辦法使用IPv4地址,但是這些選項也可能會 輕微影響到網絡速度或引起其他問題。不過,使用IPv6需要開發支持IPv6的新技術和產品。IPv6的速度 顯然不比IPv4快,但是從IPv4完全更改為IPv6將為Internet提供更大的唯一IP池。那么為什么我們仍在使 用IPv4?
? 問題就在于IPv4和IPv6無法相互通信。這就是為什么IPv6的集成和適配很復雜。大多數網站或應用程 序僅支持IPv4類型的IP地址。想象一下突然更改每個設備的IP地址。用戶將無法訪問大多數網站或應用 程序,而我們在互聯網上將陷入一片混亂。從舊的IP類型轉換為新的IP類型的過程應分步完成。例如, 這兩個協議能夠并行運行。此功能稱為雙重堆棧。它允許用戶同時訪問IPv4和IPv6內容。
三、TCP協議與UDP協議
1、TCP/IP、TCP、UDP是什么
TCP/IP協議是一個協議簇,里面包括很多協議的,UDP只是其中的一個, 之所以命名為TCP/IP協議, 因為TCP、IP協議是兩個很重要的協議,就用他兩命名了,而TCP和UDP是位于TCP/IP模型中傳輸層的兩 個協議,他們代表著TCP/IP模型所具備的兩種通信模式。
? TCP (Transmission Control Protocol)傳輸控制協議,也叫數據流協議 。
? UDP (User Datagram Protocol)用戶數據報文協議,也叫報文協議。
2、TCP協議介紹
? TCP是一種面向廣域網的通信協議,目的是在跨越多個網絡通信時,為兩個通信端點之間提供一條安 全可靠的通信方式:
TCP的主要特點:
-
基于流的方式
-
面向連接;
-
可靠通信方式;
-
在網絡狀況不佳的時候盡量降低系統由于重傳帶來的帶寬開銷;
-
通信連接維護是面向通信的兩個端點的,而不考慮中間網段和節點。
TCP的傳輸機制:
? **數據分片:**在發送端對用戶數據進行分片,在接收端進行重組,由TCP確定分片的大小并控制分片和重組;
? **到達確認:**接收端接收到分片數據時,根據分片數據序號向發送端發送一個確認;
? **超時重發:**發送方在發送分片時啟動超時定時器,如果在定時器超時之后沒有收到相應的確認,重發 分片;
? **滑動窗口:**TCP連接每一方的接收緩沖空間大小都固定,接收端只允許另一端發送接收端緩沖區所能 接納的數據,TCP在滑動窗口的基礎上提供流量控制,防止較快主機致使較慢主機的緩沖區溢出;
? **失序處理:**作為IP數據報來傳輸的TCP分片到達時可能會失序,TCP將對收到的數據進行重新排序,將 收到的數據以正確的順序交給應用層;
? **重復處理:**作為IP數據報來傳輸的TCP分片會發生重復,TCP的接收端必須丟棄重復的數據;
? **數據校驗:**TCP將保持它首部和數據的檢驗和,這是一個端到端的檢驗和,目的是檢測數據在傳輸過 程中的任何變化。如果收到分片的檢驗和有差錯,TCP將丟棄這個分片,并不確認收到此報文段導致對 端超時并重發。
TCP的首部格式:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-abzG1SDc-1666927252850)(C:\Users\AllureLove1231\AppData\Roaming\Typora\typora-user-images\image-20221028111019798.png)]
Source Port 是源端口,16位。 Destination Port是目的端口,16位。 Sequence Number是發送數據包中的第一個字節的序列號,32位。 Acknowledgment Number是確認序列號,32位。 Data Offset是數據偏移,4位,該字段的值是TCP首部(包括選項)長度除以4。 標志位: 6位URG表示Urgent Pointer字段有意義:ACK表示Acknowledgment Number字段有意義PSH表示Push功能,RST表示復位TCP連接SYN表示SYN報文(在建立TCP連接的時候使用)FIN表示沒有數據需要發送了(在關閉TCP連接的時候使用)Window表示接收緩沖區的空閑空間,16位,用來告訴TCP連接對端自己能夠接收的最大數據長度。 Checksum是校驗和,16位。 Urgent Pointers是緊急指針,16位,只有URG標志位被設置時該字段才有意義,表示緊急數據相對序列號 (Sequence Number字段的值)的偏移。3、TCP的連接過程
? TCP是因特網中的傳輸層協議,使用三次握手協議建立連接。當主動方發出SYN連接請求后,等待對 方回答SYN+ACK,并最終對對方的 SYN 執行 ACK 確認。這種建立連接的方法可以防止產生錯誤的連接,TCP使用的流量控制協議是可變大小的滑動窗口協議。
? 建立一個連接需要三次握手,而終止一個連接要經過四次握手,這是由TCP的半關閉(half-close)造 成的。
TCP三次握手的過程:
客戶端發送SYN(SEQ=x)報文給服務器端,進入SYN_SEND狀態。
服務器端收到SYN報文,回應一個SYN (SEQ=y)ACK(ACK=x+1)報文,進入SYN_RECV狀態。
客戶端收到服務器端的SYN報文,回應一個ACK(ACK=y+1)報文,進入Established狀態。
三次握手完成,TCP客戶端和服務器端成功地建立連接,可以開始傳輸數據了。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-epZDA8Wf-1666927252854)(C:\Users\AllureLove1231\AppData\Roaming\Typora\typora-user-images\image-20221028111319328.png)]
TCP四次揮手的過程:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-RkLG78gw-1666927252855)(C:\Users\AllureLove1231\AppData\Roaming\Typora\typora-user-images\image-20221028111349447.png)]
注意:
4、UDP協議介紹
? 是一種支持無連接的傳輸協議,UDP協議與TCP協議一樣用于處理數據包,在OSI模型中,兩者都位于 傳輸層,處于IP協議的上一層,與TCP互為補充,UDP為應用程序提供了一種無需建立連接就可以發送 封裝的 IP 數據包的方法。
? 由于傳輸數據不建立連接,因此也就不需要維護連接狀態,包括收發狀態等,因此一臺服務機可同時 向多個客戶機傳輸相同的消息(多對多通信)。
UDP的主要特點:
? UDP它除了給應用程序發送數據包功能并允許它們在所需的層次上架構自己的協議之外,幾乎沒有做 什么特別的事情,而TCP協議幾乎做了所有通信協議該做的事情。
? UDP不提供數據包分組、組裝和不能對數據包進行排序的缺點,也就是說,當報文發送之后,是無法 得知其是否安全完整到達的。
UDP的首部格式:
? UDP信息包的標題很短,只有8個字節,相對于TCP的20個字節信息包而言UDP的額外開銷很小。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-RhGpP03N-1666927252857)(C:\Users\AllureLove1231\AppData\Roaming\Typora\typora-user-images\image-20221028111529733.png)]
Length:
? 數據報的長度是指包括報頭和數據部分在內的總字節數。因為報頭的長度是固定的,所以該域主要被 用來計算可變長度的數據部分(又稱為數據負載)。
? 數據報的最大長度根據操作環境的不同而各異。從理論上說,包含報頭在內的數據報的最大長度為 65535字節。不過,一些實際應用往往會限制數據報的大小,有時會降低到8192字節。
? 吞吐量不受擁擠控制算法的調節,只受應用軟件生成數據的速率、傳輸帶寬、源端和終端主機性能的 限制。
? UDP是面向報文的。發送方的UDP對應用程序交下來的報文,在添加首部后就向下交付給IP層,既不 拆分,也不合并,而是保留這些報文的邊界,由應用程序需要選擇合適的報文大小。
Checksum:
? UDP協議使用報頭中的校驗值來保證數據的安全。校驗值首先在數據發送方通過特殊的算法計算得 出,在傳遞到接收方之后,還需要再重新計算。
? 如果某個數據報在傳輸過程中被第三方篡改或者由于線路噪音等原因受到損壞,發送和接收方的校驗 計算值將不會相符,由此UDP協議可以檢測是否出錯。這與TCP協議是不同的,后者要求必須具有校驗 值。
UDP的適用范圍:
? 它主要用于不要求分組順序到達的傳輸中,分組傳輸順序的檢查與排序由應用層完成 ,也就是可靠性 由應用層負責,UDP協議適用運行在同一臺設備上的多個應用程序進行通信,即使進行網絡通信也只適 合于一次傳輸少量數據,使用UDP協議包括:TFTP、SNMP、NFS、DNS、BOOTP。
? UDP報文沒有可靠性保證、順序保證和流量控制字段等,可靠性較差。但是正因為UDP協議的控制選 項較少,在數據傳輸過程中延遲小、數據傳輸效率高,適合對可靠性要求不高的應用程序,或者可以保 障可靠性的應用程序。
? 多媒體數據流,不產生任何額外的數據,即使知道有破壞的包也不進行重發。當強調傳輸性能而不是 傳輸的完整性時,如:音頻和多媒體應用,UDP是最好的選擇。在數據傳輸時間很短,以至于此前的連 接過程成為整個流量主體的情況下,UDP也是一個好的選擇。
5、選擇TCP還是UDP
TCP向上層提供面向連接的可靠服務 ,UDP向上層提供無連接不可靠服務。 雖然 UDP 并沒有 TCP 傳輸來的準確,但是也能在很多實時性要求高的地方有所作為。
| 是否連接 | 無連接 | 面向連接 |
| 是否可靠 | 不可靠傳輸,不使用流量控制和擁塞控制 | 可靠傳輸,使用流量控制和擁塞控制 |
| 連接對象個數 | 支持一對一,一對多,多對一和多對多交互通信 | 只能是一對一通信 |
| 傳輸方式 | 面向報文 | 面向字節流 |
| 首部開銷 | 首部開銷小,僅8字節 | 首部最小20字節,最大60字節 |
| 使用場景 | 是用于實時應用(IP電話,視頻會議,直播等) | 適用于要求可靠傳輸的應用 |
接 | 面向連接 |
| 是否可靠 | 不可靠傳輸,不使用流量控制和擁塞控制 | 可靠傳輸,使用流量控制和擁塞控制 |
| 連接對象個數 | 支持一對一,一對多,多對一和多對多交互通信 | 只能是一對一通信 |
| 傳輸方式 | 面向報文 | 面向字節流 |
| 首部開銷 | 首部開銷小,僅8字節 | 首部最小20字節,最大60字節 |
| 使用場景 | 是用于實時應用(IP電話,視頻會議,直播等) | 適用于要求可靠傳輸的應用 |
總結
以上是生活随笔為你收集整理的网络通信学习笔记之——计算机网络基础知识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle 公司
- 下一篇: 我偷看了老板的微信分组,整个人都不好了…