原文地址: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妈经,需要有最小長度的原因稍后會解釋)
-
Preamble (8 bytes) : 前序/序文谬以,不算在以太網幀長度里面
-
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的比較