<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          CV工程師用不到的鏈路層知識(shí)點(diǎn)

          共 2375字,需瀏覽 5分鐘

           ·

          2021-04-02 18:30

          前言

          上一篇記錄了一下當(dāng)主機(jī)配置了動(dòng)態(tài)獲取IP之后,連入網(wǎng)絡(luò)之后究竟是如何獲取IP得,以及如何根據(jù)CIDR(無(wú)類型域間選路)信息獲取子網(wǎng)號(hào)、網(wǎng)絡(luò)中第一個(gè)地址和子網(wǎng)掩碼。

          今天來(lái)記錄一下鏈路層相關(guān)的理論知識(shí)(八股文)

          鏈路層

          「鏈路層的主要功能」

          (1)為IP模塊發(fā)送和接收IP數(shù)據(jù)報(bào)

          (2)為ARP模塊發(fā)送ARP請(qǐng)求和接收ARP應(yīng)答

          (3)為RARP發(fā)送RARP請(qǐng)求和接收RARP應(yīng)答

          為IP模塊發(fā)送和接收數(shù)據(jù)報(bào)

          • 數(shù)據(jù)包是發(fā)給誰(shuí)的?誰(shuí)應(yīng)該接收?
          • 多個(gè)進(jìn)程一起發(fā),會(huì)不會(huì)產(chǎn)生混亂?有沒有先發(fā)后發(fā)的規(guī)則
          • 發(fā)送過(guò)程出現(xiàn)了錯(cuò)誤,怎么處理?

          「MAC地址」

          上圖中標(biāo)記的就是eno16777736網(wǎng)卡的物理地址,也就是MAC地址,用十六進(jìn)制標(biāo)識(shí)。

          一個(gè)網(wǎng)絡(luò)包要從一個(gè)地方傳到另一個(gè)地方,除了要有確定的地址,還需要又定位功能,而有門牌號(hào)碼屬性的IP地址,才有遠(yuǎn)程定位功能。

          MAC地址更像是一個(gè)身份證,而IP地址就是門牌號(hào)。

          比如可以根據(jù)IP查找到主機(jī)在哪一棟樓,用MAC可以在用IP找到的樓中查找到對(duì)應(yīng)的主機(jī)。

          MAC地址有一定的定位功能,不過(guò)范圍非常有限,只能局限在一個(gè)子網(wǎng)里面。

          「數(shù)據(jù)報(bào)是發(fā)給誰(shuí),誰(shuí)接收?」

          此時(shí)在數(shù)據(jù)報(bào)中就需要存放源MAC地址以及目標(biāo)MAC地址。

          「多個(gè)進(jìn)程一起發(fā),會(huì)不會(huì)產(chǎn)生混亂?有沒有先發(fā)后發(fā)的規(guī)則」

          MAC的全程是Medium Access Control,即媒體訪問(wèn)控制。控制在往媒體上發(fā)數(shù)據(jù)的時(shí)候,誰(shuí)先發(fā),誰(shuí)后發(fā)的問(wèn)題。防止發(fā)生混亂。此問(wèn)題中的規(guī)則,叫多路訪問(wèn)。

          有三種方式解決此問(wèn)題:

          (1)分多車道,每輛車一車道,各走各的,這在計(jì)算機(jī)網(wǎng)絡(luò)里叫做信道劃分。

          (2)限號(hào)出行協(xié)議,在計(jì)網(wǎng)中叫做輪流協(xié)議。

          (3)先出門,發(fā)現(xiàn)很堵,返回,錯(cuò)峰出行,叫隨機(jī)接入?yún)f(xié)議。以太網(wǎng)用的就是這種方式。

          「發(fā)送過(guò)程出現(xiàn)了錯(cuò)誤,怎么處理?」

          在上一張圖片中,最后面有個(gè)CRC,也就是循環(huán)冗余檢測(cè),通過(guò)XOR異或的算法,來(lái)計(jì)算整個(gè)包是否在發(fā)送的過(guò)程中出現(xiàn)了錯(cuò)誤。

          什么是ARP?

          當(dāng)一臺(tái)主機(jī)把以太網(wǎng)數(shù)據(jù)幀發(fā)送到位于同一局域網(wǎng)上的另一臺(tái)主機(jī)時(shí),是根據(jù)48bit的以太網(wǎng)地址(也就是MAC地址)來(lái)確定目的接口的。

          地址解析為這兩種不同的地址形式提供映射:32bit的IP地址和數(shù)據(jù)鏈路層使用的任何類型的地址。

          ARP為IP地址到對(duì)應(yīng)的硬件地址之間提供動(dòng)態(tài)映射。從邏輯Internet地址到對(duì)應(yīng)的物理硬件地址,在32 bit的IP地址和采用不同網(wǎng)絡(luò)技術(shù)的硬件地址之間提供動(dòng)態(tài)映射

          「也就是說(shuō),通過(guò)ARP可以根據(jù)IP地址找到對(duì)應(yīng)的MAC地址」

          在需要發(fā)送一個(gè)數(shù)據(jù)報(bào)的時(shí)候,通常是有IP地址,但是不知道對(duì)方的MAC地址是什么,這個(gè)時(shí)候就需要通過(guò)ARP請(qǐng)求去獲取IP地址對(duì)應(yīng)主機(jī)的MAC地址。

          「通過(guò)局域網(wǎng)的交換機(jī)進(jìn)行尋找?!?/strong>


          「ARP高速緩存」

          ARP高速運(yùn)行的關(guān)鍵是由于在每個(gè)主機(jī)上都有一個(gè)ARP高速緩存,這個(gè)高速緩存存放了最近Internet地址到硬件地址之間的映射記錄,每個(gè)元素生存時(shí)間是20分鐘。

          比如,發(fā)送數(shù)據(jù)報(bào)的時(shí)候只知道IP不知道MAC,此時(shí)就是發(fā)送ARP請(qǐng)求

          ?

          「步驟:」

          • 先查看本地ARP緩存,沒查到轉(zhuǎn)下一步
          • 通過(guò)交換機(jī)廣播ARP請(qǐng)求
          • 對(duì)應(yīng)的機(jī)器進(jìn)行ARP應(yīng)答
          • 獲取到MAC地址,存入緩存
          ?

          「ARP代理」

          如果ARP請(qǐng)求是從一個(gè)網(wǎng)絡(luò)的主機(jī)發(fā)送到另一個(gè)網(wǎng)絡(luò)的主機(jī),那么連接這兩個(gè)網(wǎng)絡(luò)的路由器就可以回應(yīng)該請(qǐng)求。

          ARP代理也稱為混合ARP或ARP出租,是由于通過(guò)兩個(gè)物理網(wǎng)絡(luò)之間的路由器可以互相隱藏物理網(wǎng)絡(luò)。

          「arp命令」

          arp -a:顯示ARP高速緩存中的所有內(nèi)容

          可以使用-d刪除某項(xiàng)內(nèi)容

          使用-s保存某項(xiàng)內(nèi)容

          什么是RARP?

          RARP稱為「逆地址解析協(xié)議」

          就是通過(guò)MAC地址獲取對(duì)應(yīng)主機(jī)的IP地址。

          具有本地磁盤的系統(tǒng)從磁盤文件中獲取IP地址,但是無(wú)盤機(jī)需要采用其他方法獲取IP地址。

          無(wú)盤系統(tǒng)的RARP實(shí)現(xiàn)過(guò)程是從接口卡上讀取唯一的硬件地址,然后發(fā)送一份RARP請(qǐng)求,請(qǐng)求某個(gè)主機(jī)響應(yīng)該無(wú)盤系統(tǒng)的IP地址。

          報(bào)文結(jié)構(gòu)如下:

          跟ARP報(bào)文結(jié)構(gòu)主要區(qū)別就是操作代碼:3是RARP的請(qǐng)求,4是RARP的應(yīng)答

          環(huán)回接口

          大多數(shù)的產(chǎn)品都支持環(huán)回接口(Loopback Interface),以允許運(yùn)行在同一臺(tái)主機(jī)上的客戶程序和服務(wù)器程序通過(guò)TCP/IP進(jìn)行通信。A 類網(wǎng)絡(luò)號(hào)127就是為環(huán)回接口預(yù)留的。根據(jù)慣例,大多數(shù)系統(tǒng)把 IP地址127.0.0.1 分配給這個(gè)接口,并命名為localhost。一個(gè)傳給環(huán)回接口的IP數(shù)據(jù)報(bào)不能在任何網(wǎng)絡(luò)上出現(xiàn)。

          一旦傳輸層檢測(cè)到目的端地址是環(huán)回地址時(shí),應(yīng)該可以省略部分傳輸層和所有網(wǎng)絡(luò)層的邏輯操作。但是大多數(shù)的產(chǎn)品還是照樣完成傳輸層和網(wǎng)絡(luò)層的所有過(guò)程,只是當(dāng)IP數(shù)據(jù)報(bào)離開網(wǎng)絡(luò)層時(shí)把它返回給自己。

          需要指出的關(guān)鍵點(diǎn):

          1. 傳給127.0.0.1的任何數(shù)據(jù)均作為IP輸入。
          2. 傳給廣播地址或多播地址的數(shù)據(jù)報(bào)復(fù)制一份傳給127.0.0.1,然后送到以太網(wǎng)上。
          3. 任何傳給該主機(jī)IP地址的數(shù)據(jù)均送到127.0.0.1。

          最大傳輸單元 MTU

          以太網(wǎng)和802.3對(duì)數(shù)據(jù)幀的長(zhǎng)度都有一個(gè)限制,其最大值分別是1500和1492字節(jié)。鏈路層的這個(gè)特性稱作MTU,最大傳輸單元。

          通過(guò)ifconfig命令可查看每個(gè)網(wǎng)卡的MTU

          路徑 MTU

          兩臺(tái)通信主機(jī)路徑中的最小 MTU,路徑MTU 在兩個(gè)方向上不一定是一致的。



          往期推薦

          下期見

              

          上古偽神

          一個(gè)分享Java后端學(xué)習(xí)日志和健身的公眾號(hào)

          歡迎大家點(diǎn)個(gè)在看、點(diǎn)個(gè)贊、分享至朋友圈

          瀏覽 98
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  奇米狠狠干| 欧美视频在线91 | 欧美成人手机在线砚看 | 天天弄| 亚洲天堂二区 |