久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

TCP/IP系列之三網(wǎng)絡層——終于有人把它們中的關系理清楚了

 greatwitch0703 2022-04-08
圖片

大家好,我是小杰,。

老規(guī)矩,,先上鎮(zhèn)寶圖——TCP/IP模型

圖片

本文并沒有涉及IP地址分類和子網(wǎng)掩碼內(nèi)容。

往期精彩:

TCP/IP協(xié)議一家老小詳細介紹介紹

TCP/IP協(xié)議家中的老二——數(shù)據(jù)鏈路層

IP協(xié)議格式

IP是TCP/IP協(xié)議中的核心協(xié)議,。它包含兩大特性:不可靠,、無連接,。

  1. 不可靠指的是它本身不會保證數(shù)據(jù)一定完整送達,需要依靠上層協(xié)議解決,。
  2. 無連接指的是每個IP數(shù)據(jù)報之間沒有關系,,相互獨立。

至于為什么會這樣設計,,我的理解是分層的思想就是為了讓每層各司其職,,自己負責自己的事情,否則會把某一層弄得很臃腫失去了分層的意義,,我們在設計功能的時候也應該具有這種思想,。

圖片

IP數(shù)據(jù)報格式

需要注意的是,這種傳輸次序被稱為大端存儲,,又叫網(wǎng)絡字節(jié)序,,因此我們在代碼中的數(shù)據(jù)必須轉(zhuǎn)換成網(wǎng)絡字節(jié)序。

接下來簡述一些各個字段的含義:

  1. 4位版本號,,用來表示如0100(IPv4),,0110(IPv6)

  2. 4位首部長度:因為一共4位,所以最大表示十進制數(shù)是15,,但是主要注意的是這里的計算單位是32bit,因此最大表示15 * 32bit(4字節(jié)) = 60字節(jié),,首部一定是4字節(jié)的倍數(shù),,不夠會進行填充

    TOS字段格式
  3. 圖片

  4. 上面這個就是RFC 791文檔中對該TOS服務類型字段的定義,0~2位表示優(yōu)先權(quán),,3位表示時延,,4位表示吞吐量,5位表示 可靠性,,后兩位保留恒為0

  5. 16位總長度表示的是IP包的總長度,,以字節(jié)為單位。因此IP包最大為65535字節(jié)大小,。

  6. 當IP數(shù)據(jù)包因為過大而被分片時,,被分片的IP數(shù)據(jù)報會擁有相同的值

  7. Flag標志位

    • 第一位為保留位
    • 第二位,即分段,,是否允許分片(不允許則超過數(shù)據(jù)鏈路層支持的最大長度則丟棄)
    • 第三位,,用來表示是不是最后一個分段,當后續(xù)還有報文則會先放到緩沖區(qū),,等待進行重組
  8. 片偏移:當IP大包分成多個時,,依據(jù)該偏移量進行重組包,以8字節(jié)位單位計算偏移量

  9. TTL生存時間:設置數(shù)據(jù)報最多的路由數(shù),,即數(shù)據(jù)報的生存時間由源主機設置,,經(jīng)過一個路由器值就減1,,當字段值為0時數(shù)據(jù)報被丟棄,并發(fā)送ICMP報文通知源主機,。

  10. 協(xié)議如TCP協(xié)議和UDP協(xié)議等,。

  11. 首部檢驗和字段是根據(jù)IP首部計算的檢驗和碼,發(fā)現(xiàn)錯誤就會直接丟棄,。

  12. 剩下的就是源和目的地址的IP了

抓包

這個是我從電腦上抓的包,,已經(jīng)把各個字段列出來了,理論與實踐結(jié)合起來了

圖片

IP實際抓包

IP路由過程

現(xiàn)在來說所一個IP數(shù)據(jù)包從A發(fā)送到B需要哪些過程:

  1. 當一個IP數(shù)據(jù)包被打包好之后,,上面會記錄有目的地址的IP,,于是把它遞給數(shù)據(jù)鏈路層,由數(shù)據(jù)鏈路層封裝成幀,,開始發(fā)送,。
  2. 首先查看目的地址是否處于同一個網(wǎng)絡,如果在同一個網(wǎng)絡則直接發(fā)送,,如果不在同一個網(wǎng)絡,,則傳輸給主機所在的默認網(wǎng)關(路由器),由默認網(wǎng)關幫忙轉(zhuǎn)發(fā),。這個過程會查看主機的路由表進行匹配選擇,。
  3. 路由器根據(jù)路由器的路由表進行匹配,而且會把數(shù)據(jù)包TTL減一,,找到則從表中相應的端口發(fā)出,,找不到則丟棄并向源地址發(fā)送ICMP包,通告源主機,。
  4. 緊接著再重復步驟2,,3 直到找到或丟棄

IP路由表和轉(zhuǎn)發(fā)表(MAC表)

  1. MAC地址表是二層設備中存儲“MAC地址”和“轉(zhuǎn)發(fā)端口”映射關系的表,并不直接存儲IP地址,。
  2. 對于三層設備的三層端口來說,,通常是基于報文目的IP地址,對照自身的路由表來選擇轉(zhuǎn)發(fā)路徑,,只有二層設備基于“MAC地址”進行數(shù)據(jù)幀的轉(zhuǎn)發(fā),。
  3. MAC地址是燒錄在網(wǎng)卡或者接口上的物理地址,具有二層意義和全球唯一性,,一般不能被改變,。IP地址是網(wǎng)絡中的主機或者三層接口在網(wǎng)絡中的邏輯地址,在同一個網(wǎng)絡內(nèi)具有唯一性,。

二層以下數(shù)據(jù)幀的交換一般通過交換機或其他二層設備,,需要用到主機間的MAC地址,但是通常主機網(wǎng)卡配置的是IP地址,此時就需要借助“ARP協(xié)議”將目標主機的IP地址轉(zhuǎn)換為對應主機的MAC地址才能進行通信,,完整過程就是主機依靠IP-MAC的對應關系封裝數(shù)據(jù)幀,,二層設備在收到含有目標MAC地址的數(shù)據(jù)幀后,查看自己的“MAC地址表”,,便知道這個MAC地址該從自己的哪個端口發(fā)送出去,。

綜上來說,雖然數(shù)據(jù)包發(fā)送時包含了完整的TCP/IP四層信息,,但是IP地址只在網(wǎng)絡間尋址才起作用,,在同一個網(wǎng)絡內(nèi),IP地址在發(fā)送端被轉(zhuǎn)化為MAC地址進行尋址,,而這種轉(zhuǎn)化和交換的對應關系,,依賴于ARP協(xié)議和MAC地址表。


    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多