Chapter 5 The Data Link Layer

原文地址:https://sunnyqjm.github.io/2018/05/05/computer_networking_01/

Link Layer: Introduction and Services

  • 鏈路層實現(xiàn)相鄰節(jié)點間的可靠數(shù)據(jù)傳輸
  • nodes(節(jié)點) => 主機/端系統(tǒng)路由器
  • links(鏈路) => 連接兩相鄰節(jié)點間的通信頻道
  • The Services Provided by the Link Layer(鏈路層所提供的服務)

    鏈路層 所提供的 最基本的服務 就是 在兩個相鄰節(jié)點見得單個通信鏈路上轉移datagram

    • 成幀(Framing

      • 發(fā)送端 將構造數(shù)據(jù)幀雇寇,將datagram放入數(shù)據(jù)域,加頭加尾(尾部是用來檢測及糾錯的)考廉,打包成幀
      • 接收端解開 收到的 數(shù)據(jù)幀尚困,將datagram傳遞給上層
    • 鏈路接入(Link access

      • MAC (Medium access control, 介質訪問控制) 協(xié)議詳細規(guī)定了數(shù)據(jù)幀何時如何發(fā)送到鏈路上
      • MAC協(xié)議還用于當多個節(jié)點共享同一鏈路的時候昧旨,協(xié)調多個節(jié)點如何傳遞數(shù)據(jù)幀
    • 可靠數(shù)據(jù)傳輸(Relilable delivery

      數(shù)據(jù)鏈路層可提供兩相鄰節(jié)點間的可靠數(shù)據(jù)傳輸(但不是必須的查乒,大多數(shù)無線協(xié)議是不提供可靠數(shù)據(jù)傳輸?shù)模?/p>

    • 流量控制(flow control

      調節(jié)接收端發(fā)包的速率盯拱,防止接收端緩存溢出

    • 差錯檢測(Error detection

      通過添加錯誤檢測位盒发,在接收端可以對收到的數(shù)據(jù)幀進行錯誤檢測

    • 差錯糾正(Error correction

    • 半雙工和全雙工(Half-duplex and full-duplex

  • 鏈路層的實現(xiàn)

    網絡適配器與其他主機組件以及網絡協(xié)議棧的關系

    數(shù)據(jù)鏈路層的實現(xiàn)是:硬件 + 軟件

    • 大部分功能在硬件(網卡)中實現(xiàn):framing, link access, flow control, err dectection 等等
    • 部分功能由運行在CPU上的軟件完成:發(fā)送端從網絡層接收datagram,以及接收端將解開frame得到的datagram傳遞給網絡層等
    • 硬件實現(xiàn)的效率高狡逢,可以做糾錯等比較復雜的操作而不太影響性能
    • 現(xiàn)今很多人致力于將網絡層甚至傳輸層的一部分工作宁舰,比如Checksum放到網卡中用硬件來實現(xiàn),雖然這于網絡協(xié)議棧分層的思想相悖奢浑,但是確實可以提高網絡性能

Error-Detection and Correction Techniques

  • 奇偶校驗(Parity checking
  • 校驗和(Checksum
  • 循環(huán)冗余校驗(Cyclic Redundancy Check
  • 奇偶校驗(Parity checking

    • 奇校驗和偶校驗

      • 奇校驗:數(shù)據(jù)位上1的個數(shù)個校驗位上1的個數(shù)之和為奇數(shù)
      • 偶校驗:數(shù)據(jù)位上1的個數(shù)個校驗位上1的個數(shù)之和為偶數(shù)
    • One-bit even parity(單比特位偶校驗)

      單比特位偶校驗圖示
      • 存在的問題:當有偶數(shù)個bit為發(fā)送錯誤的時候蛮艰,這種方式無法檢測
      • 可以用來檢錯,但是準確率不高
    • Two-dimensional even parity(二位偶校驗)

      二位偶校驗圖示
      • 即使偶數(shù)位比特位發(fā)送錯誤雀彼,也能檢測出來
      • 通過二維校驗位的定位壤蚜,可以精確到哪一個bit位發(fā)生錯誤,進而改正這個錯誤(接收端如果能自行改正錯誤將降低網絡的整體時延徊哑,提升網絡的性能)
      • 可以檢錯袜刷,也可以糾錯
  • 校驗和(Checksum

    通常發(fā)送端用校驗和算法將讓整個數(shù)據(jù)包的所有bit位參與計算,得到一個校驗和(最簡單的實現(xiàn)方式是將其看做一系列的數(shù)值莺丑,直接相加)著蟹,在接收端再次計算這個校驗和,并與收到的校驗和逐bit比對

  • 循環(huán)冗余校驗(Cyclic Redundancy Check

    循環(huán)冗余校驗碼格式
    • 數(shù)據(jù)格式說明

      • 前d位為數(shù)據(jù)域
      • 后r位為CRC碼
    • 生成多項式G

      • 生成多項式 G 共有 r + 1位 (其中R位CRC碼的長度)

      • 可能直接以 二進制的形式 給出

      • 也可能以 多項式的形式 給出(需要先轉成二進制形式)

        Eg.: G = x4 + x3 + x ==> G : 11010

    • 舉個栗子

      計算CRC碼的栗子
      • 在data后面加上r位0用與計算
      • 其中里面每一步處理的時候執(zhí)行的是 異或運算
      • 若最后的結果位數(shù)不夠r為,則要在前面補上足夠的0

Multiple Access Protocols(多路訪問協(xié)議)

  • 網絡的兩種鏈路類型
    • point-to-point link (點對點鏈路) => 只有一個發(fā)送端和接收端
    • brodcast link (廣播鏈路) => 可能同時存在多個發(fā)送端和接收端在同一個鏈路上通信
  • Introduction

    • 多路訪問問題(multiple access problem

      當在同一個通信鏈路上同時存在多個發(fā)送端和接收端的時候萧豆,他們之間要進行通信奸披,由于同一時刻必然只有一個接收端和發(fā)送端,如何確保并協(xié)調這些節(jié)點的通信就是 多路訪問問題 => 多路訪問協(xié)議Multiple Access Protocol)就是致力于解決這個問題

    • 碰撞的發(fā)生及處理

      在廣播鏈路中炕横,通常一個節(jié)點發(fā)送數(shù)據(jù)源内,該鏈路連接的所有節(jié)點都會收到一份copy,如果同一時刻有兩個發(fā)送端在發(fā)送數(shù)據(jù)份殿,則接收端無法解析這些數(shù)據(jù)膜钓,這就發(fā)送了 碰撞collide) => 通常一旦碰撞發(fā)生争拐,接收端就會選擇丟棄這些包糜工,這就相當于丟包發(fā)送了。這一段時間丹壕,兩個發(fā)送端發(fā)送數(shù)據(jù)都不會被成功接收拾枣,鏈路并沒有成功傳輸數(shù)據(jù)沃疮,浪費了帶寬資源。而且通常不作處理的話梅肤,接入的節(jié)點越多司蔬,發(fā)生碰撞的幾率越高,帶寬就被大量的浪費

    • 多路訪問協(xié)議分類

      • 信道分隔協(xié)議channel partitioning protocols
      • 隨機訪問協(xié)議random access protocols
      • 輪詢協(xié)議taking-turns protocols
  • Channel Partitioning Protocols

    4個節(jié)點的TDM和FDM分隔信道圖示
    • 采用固定的資源分配方式姨蝴,資源獨占獨享
    • 資源利用率低
    • 不會發(fā)生沖突
    • TDM 和 FDM
  • Random Access Protocols

    使用隨機訪問協(xié)議時俊啼,一個 正在傳輸?shù)墓?jié)點 總是可以 享用所有的帶寬。當 發(fā)生碰撞 時左医,所有 參與碰撞的節(jié)點 都會 重傳數(shù)據(jù)包授帕。但并不是立即重傳,而是 隨機等待一段時間之后再重傳It waits a random delay before retransmitting th frame)浮梢。而且每個參與碰撞的節(jié)點產生時延都是獨立且隨機的跛十,這樣就可以保證一部分節(jié)點可以錯開其它節(jié)點,不發(fā)生沖突而成功傳送數(shù)據(jù)包秕硝。

    • Sloted ALOHA (分時隙的ALOHA協(xié)議)

      • 假設
        • 所有數(shù)據(jù)幀的長度都為L比特(All frames consist of exactly L bits

        • 每個時隙的大小為L/R秒芥映,也就是說一個在 一個時隙內剛好可以傳輸一個數(shù)據(jù)幀Time is divided int oslots of size L/R seconds, that is, a slot equals the time to transmit one frame

        • 節(jié)點只在時隙開始的時候傳遞數(shù)據(jù)包Nodes start to transmit framges only at the beginings of slots) => 也就是說在時隙內不會有其它未在傳輸?shù)墓?jié)點試圖傳遞數(shù)據(jù)

        • 所有節(jié)點都是同步的,這樣所有節(jié)點都能知道時隙什么時候開始(The nodes are synchronized so that each node knows when the slots begin)=> 前面的是書上的原話远豺,同步和異步的定義在不同的場景下的定義可能不一樣奈偏。這里所說的同步應該是對時間軸進行同步,所有實現(xiàn)的時候憋飞,只要時隙一開始霎苗,所有節(jié)點都能知道姆吭,并單獨決定是否發(fā)送數(shù)據(jù)幀榛做。

        • 一旦兩個或更多的數(shù)據(jù)幀在同一時隙內發(fā)生了 沖突collide),所有的節(jié)點都能在時隙結束前知道發(fā)生了沖突。(If two or more frames collide in a slot, then all the nodes detect the collission event before the slot ends

      • 每個節(jié)點所執(zhí)行的操作
        • 當節(jié)點 有一個新的數(shù)據(jù)幀要發(fā)送 時检眯,它會 等待下一個時隙的開始厘擂,并試圖 在下一個時隙內發(fā)送整個數(shù)據(jù)幀When the node has a fresh frame to send, it waits until the begining of the next slot and transmit the entire frame in the slot.

        • 如果 沒有發(fā)送沖突 ,則節(jié)點 認為數(shù)據(jù)包已成功傳輸且不用考慮重傳锰瘸,如果還有數(shù)據(jù)幀未發(fā)的話刽严,這個時候節(jié)點就可以準備發(fā)送下一個數(shù)據(jù)幀。(If there isn't collision, the node has successfully transmited its frame and thus need not consider restransmitting the frame. The node can prepare a new frame for transimission, if it has one

        • 如果 發(fā)生了沖突避凝,節(jié)點能夠在時隙結束前獲悉舞萄,節(jié)點會在接下來的連續(xù)時隙內以概率p重傳數(shù)據(jù)幀,直到這個數(shù)據(jù)幀被成功發(fā)送且沒有發(fā)送沖突管削。(If there is a collision, the node detects the collision before the end of the slot. The node restransmits its frame in each subsequent slot with probability p until the frame is transimited without a collision

      • 以概率p發(fā)送數(shù)據(jù)幀

        這是在發(fā)送沖突以后倒脓,節(jié)點會重傳因為沖突而未傳輸成功的數(shù)據(jù)幀。但是為了避免下一時隙的大概率沖突含思,Slotted ALOHA協(xié)議選擇讓每個節(jié)點以概率p重傳崎弃,也就是說發(fā)送沖突的每個節(jié)點在下一時隙有概率p的可能重傳數(shù)據(jù)包,有 (1 - p) 的可能選擇等待(值得注意的是含潘,選擇等待的節(jié)點在沒有重傳成功之前饲做,都會在下一時隙開始時以概率p重傳發(fā)送沖突的數(shù)據(jù)包) 。而且每個節(jié)點在未重傳成功之前遏弱,都會每次以概率p發(fā)送盆均,且是各自獨立的,這也就實現(xiàn)了隨機訪問協(xié)議中 當沖突發(fā)生的時候腾窝,每個節(jié)點會獨立的隨機等待一段時間 的特性

      • 舉個栗子
        Slotted ALOHA協(xié)議執(zhí)行示例

        上面假設三個節(jié)點各有一個數(shù)據(jù)包需要發(fā)送

        • 1時刻缀踪,3個節(jié)點都試圖發(fā)送數(shù)據(jù),發(fā)送沖突
        • 2時刻虹脯,3個節(jié)點都有需要重傳的數(shù)據(jù)包驴娃,但是選擇等待
        • 3時刻node3選擇等待,但是另外連個節(jié)點選擇發(fā)送循集,發(fā)送沖突
        • 4時刻只有node2選擇發(fā)送唇敞,發(fā)送成功(至此,node2已經沒有需要發(fā)送的數(shù)據(jù)幀)
        • 5時刻node1和node3都選擇等待
        • 6時刻只有node1選擇發(fā)送咒彤,發(fā)送成功(至此疆柔,node1已經沒有需要發(fā)送的數(shù)據(jù)幀)
        • 7時刻,node3成功發(fā)送數(shù)據(jù)幀

        可以看出镶柱,發(fā)送3個數(shù)據(jù)幀旷档,卻用了7個時隙,浪費了帶寬

      • Slotted ALOHA 協(xié)議的優(yōu)點
        • 單節(jié)點的瞬時帶寬可達到最大帶寬
        • 時隙的分配高度分散歇拆,只給需要傳輸數(shù)據(jù)的節(jié)點分配時隙(當系統(tǒng)中每個時隙只有一個節(jié)點需要發(fā)送數(shù)據(jù)的時候鞋屈,該協(xié)議可以工作的很好)
        • 實現(xiàn)簡單
      • 缺點
        • 有可能發(fā)生碰撞進而浪費時隙(而且參與的節(jié)點越多范咨,發(fā)生碰撞的可能性越大)
        • 需要嚴格的時鐘同步
      • 當有 大量的節(jié)點參與 的時候,時隙(帶寬)的最大利用率 大概只有 1 / e ≈ 37%

    • Aloha (pure ALOHA)

      Pure ALOHA協(xié)議執(zhí)行示例

      純的ALOHA協(xié)議沒有時鐘同步厂庇。當有一個數(shù)據(jù)幀要發(fā)送的時候就立即發(fā)送渠啊,當發(fā)生沖突的時候就立即以概率p重傳,以概率(1 - p)等待傳輸一個數(shù)據(jù)幀所需要的時間权旷。=> 沖突發(fā)生的概率更大了替蛉,當有 大量的節(jié)點參與 的時候,帶寬的最大利用率 大概只有 1 / 2e ≈ 18.5%

    • Carrier Sense Multiple Access (CSMA, 載波偵聽多路訪問)

      • 文明交流所必備的兩個素質
        • Listen before speaking :如果別人在啊講話拄氯,則等別人說完再發(fā)表言論躲查。在網絡世界中,就是當你有一個數(shù)據(jù)幀需要發(fā)送的時候译柏,而這個時候其它節(jié)點正在發(fā)送數(shù)據(jù)幀熙含,則當前節(jié)點等待一段時間后再看是否還有節(jié)點在傳輸,仍有則繼續(xù)等待艇纺,直到信道空閑的時候怎静,發(fā)送數(shù)據(jù)。=> 載波偵聽carrier sensing

        • If someone else begins talking at the same time, stop talking :如果在發(fā)送數(shù)據(jù)的過程中黔衡,發(fā)現(xiàn)其它節(jié)點也在發(fā)送數(shù)據(jù)蚓聘,則停止發(fā)送數(shù)據(jù)。=> 沖突檢測collision dection

      • CSMA的大致原理

        發(fā)送數(shù)據(jù)幀之前先偵聽信道盟劫,如果信道為忙則等待一段時間后再嘗試發(fā)送夜牡,如果為閑,則立即發(fā)送侣签。

      • CSMA仍然存在沖突

        一個節(jié)點A發(fā)送數(shù)據(jù)到信道中塘装,到另一個節(jié)點B可以偵聽到節(jié)點A正在發(fā)送數(shù)據(jù)之間存在一段時延,如果在這短時間內影所,節(jié)點B剛好有數(shù)據(jù)發(fā)送蹦肴,那么由于它還沒有檢測到A正在發(fā)送數(shù)據(jù),就會認為當前信道是空閑的猴娩,接著B就開始發(fā)送數(shù)據(jù)阴幌,這樣沖突就出現(xiàn)了。

      • 不偵聽信道卷中,沖突發(fā)生時不處理
        不偵聽信道矛双,沖突發(fā)生時不處理
      • 偵聽信道,沖突發(fā)生時停止發(fā)送
        偵聽信道蟆豫,沖突發(fā)生時停止發(fā)送
      • Nonpersistent CSMA => 不持續(xù)偵聽信道
        • 當節(jié)點有數(shù)據(jù)需要發(fā)送的時候议忽,信道為閑則發(fā)
        • 信道為忙,則等待一段時間后在嘗試發(fā)送
      • 1-persistent CSMA
        • 信道為閑十减,則發(fā)
        • 信道為忙栈幸,則持續(xù)偵聽信道毛雇,知道信道為閑,然后以概率1發(fā)數(shù)據(jù)(當兩個節(jié)點同時偵聽到信道閑侦镇,并都以概率1發(fā)數(shù)據(jù),就發(fā)生了沖突)
      • p-persistent CSMA
        • 信道為閑织阅,則發(fā)
        • 信道為忙壳繁,則持續(xù)偵聽信道,知道信道為閑荔棉,然后以概率p發(fā)數(shù)據(jù)
      • CSMA with collision detection (CSMA/CD, 帶沖突檢測的載波偵聽多路訪問協(xié)議)
        • 要求節(jié)點必須全雙工工作(發(fā)送數(shù)據(jù)包的同時也嘗試接收數(shù)據(jù)包)闹炉,當檢測到沖突時(如果發(fā)送數(shù)據(jù)包的時候收到其他節(jié)點發(fā)送的數(shù)據(jù)包就表示發(fā)送了沖突),立即停止發(fā)送數(shù)據(jù)包 => 可以把沖突帶來損失降低
        • 目前為止润樱,所有的無線傳輸都是半雙工的渣触,故不能采用CSMA/CD
      • CSMA with collistion avoid (CSMA/CA, 帶沖突避免的載波偵聽多路訪問協(xié)議)

        因為無線傳輸時半雙工的,無法再發(fā)包的同時檢測沖突壹若,故一旦沖突發(fā)生嗅钻,發(fā)包也不會停止,故應該盡量避免沖突

    • Taking-Turns Protocols(輪流協(xié)議)

      • polling protocol (輪詢協(xié)議)

        主節(jié)點對每個節(jié)點進行輪詢店展,只要當被詢問時才可以發(fā)送數(shù)據(jù)

        • 優(yōu)點:沒有沖突养篓,沒有空時隙
        • 缺點:會有詢問延時,需要主節(jié)點赂蕴,會有單點故障
      • token-passing protocol(令牌傳遞協(xié)議)

        一個特殊的幀被作為令牌柳弄,在節(jié)點之間按特定的順序傳遞,只有持有令牌的節(jié)點才可以發(fā)送數(shù)據(jù)(且每次發(fā)送的數(shù)據(jù)有上限)

        • 優(yōu)點:不需要主節(jié)點概说,沒有沖突碧注,沒有空時隙
        • 缺點:可能有些節(jié)點中途宕機,導致令牌無法傳遞糖赔,或者持有令牌后宕機萍丐,導致令牌丟失等等
    • Local Area Networks (LANs, 本地局域網)

      LAN

Link-Layer Address (鏈路層尋址)

  • MAC Address

    每個連接到LAN的網絡適配器都有一個唯一的MAC地址
    • MAC地址是 數(shù)據(jù)鏈路層的地址,同時也是數(shù)據(jù)鏈路層所采用的編址方式
    • 長度為48 bits放典,常用12個16進制的數(shù)字表示(2個一組碉纺,6組)
    • 每個網絡適配器上有一個網路地址,網卡出廠的時候的MAC地址是全球唯一的(是由IEEE統(tǒng)一管理的)刻撒,但是現(xiàn)在可以用軟件修改網絡適配器的MAC地址骨田,這里仍然假設它是唯一且不變的。
  • Address Resolution Protocol (ARP, 地址解析協(xié)議)

    ARP 協(xié)議實現(xiàn)的是IP地址到MAC地址的映射

    每個節(jié)點都有網絡層地址和鏈路層地址
    • 一個節(jié)點發(fā)送一個frame 時声怔,實際上所有在 同一個子網內的節(jié)點都會收到 一個copy态贤,只是在鏈路層做了一層判斷,若 該frame的目的MAC地址與本節(jié)點的MAC地址匹配則解包醋火,傳遞給上層悠汽,否則直接丟棄箱吕。

    • 每一個 藉由網絡適配器在局域網內通信的 節(jié)點都會在內存中維護一張 ARP table(地址映射表),保存了 當前局域網內所有已知主機的IP地址與MAC地址的映關系柿冲。(且映射表中的每一個表項都有一個TTL茬高,一旦過期便會移除該表項)

    • 當欲發(fā)送的frame的目標IP在本地ARP table中 找不到對應的映射時 ,節(jié)點 發(fā)送一個APR query package假抄,目的MAC地址為全1怎栽,作為廣播,只有與目的IP匹配的設備會返回一個正常的數(shù)據(jù)幀宿饱,節(jié)點再記錄下IP地址與返回消息中包含的目標節(jié)點的MAC地址的映射熏瞄。

      ARP table

    • ARP協(xié)議是即插即用的

    • MAC地址只在本局域網內有效

      一個路由器連接兩個子網

      => 數(shù)據(jù)幀在穿越路由器的時候鏈路層首部的源MAC地址和目的MAC地址都要修改

Ethernet (以太網)

  • 它是互聯(lián)網中有線網絡通信的事實標準
  • 所采用的MAC (Multiple Access Control, 多路訪問控制) 協(xié)議為 1-persistent CSMA/CD (Carrier Sense Multiple Access with Collide Detection, 帶沖突檢測的載波偵聽多路訪問協(xié)議)
  • 以太網相較于其他有線局域網最大的優(yōu)勢:實現(xiàn)簡單,價格便宜
  • Ethernet Frame Structure (以太網幀結構)

    {% img /img/computer_network/computer_network_81.png 以太網幀結構2%}

    • Preamble (8 bytes) : 前序/序文谬以,不算在以太網幀長度里面
      • Dest. address (6 bytes) : 目的端MAC地址節(jié)點A向B發(fā)一個數(shù)據(jù)包强饮,在數(shù)據(jù)包到達B之前,B恰好要想A發(fā)一個數(shù)據(jù)包为黎,此時因未收到A發(fā)的包邮丰,故認為信道空閑,B向A發(fā)一個包铭乾。在B收到A的包后柠座,意識到發(fā)送了沖突,停止發(fā)送數(shù)據(jù)包片橡。****
    • Source address (6 bytes) : 源端MAC地址
    • Type : 標識使用的是哪個網絡層協(xié)議
    • Data : 數(shù)據(jù)域
    • CRC : 冗余校驗碼

    => 以太網frame的長度范圍:64 bytes ~ 1518 bytes (其中最大是因為協(xié)議規(guī)定了MTU妈经,需要有最小長度的原因稍后會解釋)

  • CSMA/CD: Thernet's Multiple Access Protocol

    • 信道空閑時,立即發(fā)送捧书,若信道為忙吹泡,則持續(xù)偵聽信道 => 持續(xù)偵聽
    • 信道偵聽過程中,一旦信道再次空閑经瓷,則以概率1發(fā)送數(shù)據(jù)包 => 1-persistent
    • 在邊發(fā)送數(shù)據(jù)的同時爆哑,邊接收數(shù)據(jù) => 發(fā)送數(shù)據(jù)過程中如果收到數(shù)據(jù)包則表示發(fā)送了沖突
    • 一旦發(fā)生沖突,立即停止發(fā)送數(shù)據(jù)包舆吮,并廣播一個信號(告知其它用戶發(fā)送沖突了)揭朝,同時等待一段時間(具體等待的時間由 “二進制退避算法” 求得)
  • * 二進制退避算法

    {0, 1色冀, 2潭袱, ···, 2m - 1}

    • 其中m是發(fā)生沖突的次數(shù)
    • 隨機選擇一個元素 x 512 bits times
    • bit times: 在當前網絡環(huán)境下傳輸1 bit所需要的時間
    • 沖突10次以后集合不在擴大锋恬,即集合最大為1024個元素屯换。沖突16次以后直接丟棄該包,不再傳輸
  • 為什么以太網幀的長度最小為64 bits?

    • 數(shù)據(jù)幀長度不夠長所引發(fā)的問題

      數(shù)據(jù)幀長度不夠長所引發(fā)的問題

      節(jié)點A向B發(fā)一個數(shù)據(jù)包彤悔,在數(shù)據(jù)包到達B之前嘉抓,B恰好要想A發(fā)一個數(shù)據(jù)包,此時因未收到A發(fā)的包晕窑,故認為信道空閑抑片,B向A發(fā)一個包。在B收到A的包后杨赤,意識到發(fā)送了沖突敞斋,停止發(fā)送數(shù)據(jù)包。如果A在B發(fā)的包到達A之前就已經將數(shù)據(jù)包發(fā)送完畢了望拖,即A發(fā)的數(shù)據(jù)包不夠長的情況下,A可能以為數(shù)據(jù)包發(fā)送成功了嗎挫鸽,而實際上是發(fā)送沖突了

    • 為什么是64個字節(jié)

      為什么是64個字節(jié)
  • CSMA/CD efficiency

    CSMA/CD efficiency
    • 當dprop -> 0说敏,或dtrans -> ∞,效率 -> 1
    • 數(shù)據(jù)包長度越長丢郊,節(jié)點間距離越短盔沫,效率越高
    • 節(jié)點數(shù)據(jù)↑,發(fā)送沖突的可能性↑枫匾,效率↓
  • 不同的以太網標準

    不同的以太網標準
    • T開頭的都是雙絞線
    • 所有非T開頭的都是光纖
    • 同軸電纜的格式:10Base2

=> 以太網負載在30%以內的時候性能很好架诞,基本不丟包,但超過30%就會發(fā)生一系列的問題

Link-layer Switches (鏈路層交換機)

  • 幾種常見網絡設備區(qū)別

    • 中繼器repeter):物理層設備 => 將信號放大后轉發(fā)
    • 集線器hubs):物理層設備 => 不能隔離沖突域(集線器是一種特殊的中繼器)
    • 網橋Bridge):二層網絡設備 => 可隔離沖突域
    • 交換機Switches):二層網絡設備 => 可隔離沖突域
    • 路由器Router):3層網絡設備 => 可隔離廣播域

    => 網橋和交換機的功能基本一致干茉,不過 網橋是二段口的谴忧,而交換機是多端口 的,同時 交換機還兼?zhèn)洹白詫W習” 等功能

  • 沖突域和廣播域

    • 沖突域:在同一個沖突域的兩個設備同時通信會導致沖突
    • 廣播域:在同一個廣播域中的設備可以互相廣播
  • 交換機(Switches)

    • 鏈路層設備角虫,比Hub更智能沾谓,其重要作用 => 存儲轉發(fā)以太網幀
    • 對主機透明
    • 即插即用
    • 自學習
    • 允許多路同步傳輸 => 交換機隔離了沖突域
  • Switch table and self-learn

    交換機通過自學習填充交換表

    • self-learn(自學習)

      交換機通過自學習可以在 Switch table中記錄下從哪個端口可以到達哪個主機(下面建立交換表的過程中會詳細講述自學習)

    • Switch table

      交換表
      • 交換表初始時為空

      • 當收到一個frame時,記錄下發(fā)送端的MAC地址以及從哪個端口進來的戳鹅,并去查詢交換表中有無到目的主機MAC地址對應的記錄均驶,若有則直接轉發(fā)到對應端口,若無枫虏,執(zhí)行下一步

      • 若交換表中無對應的記錄妇穴,則向所有的端口廣播一個消息,目的MAC地址設置為目的主機隶债,目的主機收到之后會回發(fā)一個數(shù)據(jù)包腾它,交換機記錄下其MAC地址以及從哪個端口可達。

  • 交換機可以將一個子網分隔成多個局域網

  • hubs, routers, switches的比較

    hubs, routers, switches的比較
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末死讹,一起剝皮案震驚了整個濱河市携狭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌回俐,老刑警劉巖逛腿,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件稀并,死亡現(xiàn)場離奇詭異,居然都是意外死亡单默,警方通過查閱死者的電腦和手機碘举,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來搁廓,“玉大人引颈,你說我怎么就攤上這事【惩桑” “怎么了蝙场?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長粱年。 經常有香客問我售滤,道長,這世上最難降的妖魔是什么台诗? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任完箩,我火速辦了婚禮,結果婚禮上拉队,老公的妹妹穿的比我還像新娘弊知。我一直安慰自己,他們只是感情好粱快,可當我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布秩彤。 她就那樣靜靜地躺著,像睡著了一般事哭。 火紅的嫁衣襯著肌膚如雪呐舔。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天慷蠕,我揣著相機與錄音珊拼,去河邊找鬼。 笑死流炕,一個胖子當著我的面吹牛澎现,可吹牛的內容都是我干的。 我是一名探鬼主播每辟,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼剑辫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了渠欺?” 一聲冷哼從身側響起妹蔽,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后胳岂,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體编整,經...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年乳丰,在試婚紗的時候發(fā)現(xiàn)自己被綠了掌测。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡产园,死狀恐怖汞斧,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情什燕,我是刑警寧澤粘勒,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站屎即,受9級特大地震影響庙睡,放射性物質發(fā)生泄漏。R本人自食惡果不足惜剑勾,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一埃撵、第九天 我趴在偏房一處隱蔽的房頂上張望赵颅。 院中可真熱鬧虽另,春花似錦、人聲如沸饺谬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽募寨。三九已至族展,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拔鹰,已是汗流浹背仪缸。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留列肢,地道東北人恰画。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像瓷马,于是被迫代替她去往敵國和親拴还。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內容