報文、幀、分組、段、資料包,這些術語是同一個東西嗎?
報文
是一種相對寬泛和通用的說法,基本上每一層都可以用。
比如,在應用層,你可以說“HTTP報文”;
在傳輸層,你可以說“TCP報文”;
同樣的,在網路層,當然就是“IP報文了”。
事實上,網路層也是“報文”一詞被使用最多的場景了。
資料包也是類似的,可以在很多場景下通用。
我們再稍微考究一下語法。packet這個詞的字尾是et。
而在英文中,以et結尾的很多詞 表示某一個小小的東西。
比如功能完備的一小段程式碼,叫 code snippet,一小段內嵌在html 中的java前端程式碼,叫applet。
自然的,packet就是一個小的pack(包裹)。
然而,另外幾個術語在用的時候,就需要講究一點了,因為它們並不是通用詞,而是特定 層的專有詞彙。
幀(frame)
是二層也就是資料鏈路層的概念,代表了二層報文,它包含幀頭、載荷、幀尾。
注意,幀是有尾部的,而其他像 IP、TCP、HTTP 等層級的報文,都沒有尾部。我們
不可以說“TCP 幀”或者“IP 幀”,雖然也許對方也明白你的意思,但我們都想做得專業一點,不是嘛。
這裡還有個小知識點:HTTP/2 實現了多路複用,其中也有幀的概念,
不過那個幀,跟這裡網路二層的幀,除了名稱相同以外,就沒有別的聯絡了。
分組是 IP 層報文,也就是狹義的 packet。
段特指 TCP segment,也就是 TCP 報文。
既然 segment 是“部分”的意思,那這個“整體”又是什麼呢?它就是在應用層交付給傳輸層的訊息(message)。
當 message被交付給傳輸層時,如果這個 message 的原始尺寸,
超出了傳輸層資料單元的限制(比如超出了 TCP 的 MSS),
它就會被劃分為多個 segment。
這個過程就是分段(segmentation),也是 TCP 層的一個很重要的職責。
說到 segmentation,你可能也會想到 fragmentation(分片)。
這倆是同一個東西嗎?
這方面的知識點也不少,我在這裡就不具體展開了。不過彆著急,我會在第 8 講裡,幫你
把這兩個東西梳理清楚。
另外,這裡還要提一下,Datagram 的中文叫“資料包”,但不是“資料包”。
讀音類似,但意思並不完全相同。
前面說過,“資料包”是一個通用詞,所以用“UDP 資料包”指代“UDP 資料包”並沒有問題。
但反過來,非 UDP 協議的資料包,比如 TCP 段,
就不能叫“TCP 資料包”了,因為 TCP 不是 Datagram。
最後,你可以再來看下這張層級和術語對應關係的示意圖:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29990276/viewspace-2917373/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 幀、報文、報文段、分組、包、資料包的概念區別
- 資料幀、資料包、資料包以及資料段 詳解
- 這是什麼東西呢?
- 【Android】 註解是個好東西, 這個可以有Android
- 來聊聊,這個Java到底是什麼東西?Java
- 框架是個什麼東西?框架
- dbca裡面的 示例方案 和 HR schema是一個東西嗎
- 整了個JSON分頁的東西JSON
- 13個“神祕”資料,幫你揭祕“男人”這東西!——資訊圖
- 抓包概念大比較:資料包、資料包、分組
- 關於LLVM,這些東西你必須知道!LVM
- 一姑娘從程式猿身上學到了這些東西
- 防騙大資料,朋友圈裡賣的這些東西...不是坑人就是害命!大資料
- 翻出了 oracle 一些老東西 放這裡了 oracle 資料結構解析Oracle資料結構
- rlwrap 是一個好東西 for linuxLinux
- 擁有這些Java這些技術可以漲工資嗎?Java
- TCP Socket一些東西TCP
- js中的arguments是一個好東西JS
- TCP 的 Keepalive 和 HTTP 的 Keep-Alive 是一個東西嗎?TCPHTTPKeep-Alive
- 這三種東西永遠不要放到資料庫裡(ZT)資料庫
- 資料分析師買東西
- 近期做的一些東西
- 計組那些容易搞混的東西
- 有點東西,template可以直接使用setup語法糖中的變數原來是因為這個變數
- 我在阿里工作的這段時間裡,都學到了哪些東西阿里
- 大家看看這個東西怎麼解密啊!!!! (597字)解密
- 原來 GitHub 不僅能學程式碼,還有這些東西Github
- html入門的一些東西HTML
- 這些資料庫塊可以被重用嗎?資料庫
- 學會了 C 語言真的可以開發出很多東西嗎?
- iOS開發幾年了,你清楚OC中的這些東西麼iOS
- this,call和apply(這三個東西,如何牢牢記住)APP
- Vue 3 的 setup語法糖到底是什麼東西?Vue
- Javascript是個好東西(廣大人民的智慧是無窮的):JavaScript
- 大資料工程師需要的東西大資料工程師
- ftp是什麼,ftp是什麼東西?FTP
- 年末分享些東西,看的中就拿去
- Excel弊端“一網打盡”,這款報表工具有點東西!Excel