TCP/IP(三)數據鏈路層~2

1、局域網

1.一、局域網和以太網的區別和聯繫

局域網:前面已經介紹了,其實就是學校裏面、各個大的公司裏,本身組件的一個小型網絡,這種就屬於局域網。算法

以太網:以太網(Ethernet)指的是由Xerox公司建立並由Xerox、Intel和DEC公司聯合開發的基帶局域網規範,是當今現有局域網採用的最通用的通訊協議標準。緩存

    以太網絡使用CSMA/CD(載波監聽多路訪問及衝突檢測)技術,並以10M/S的速率運行在多種類型的電纜上。網絡

聯繫:是以太網就必定是局域網,可是局域網不必定就是以太網。 由於以太網就是一個規範,而大多數局域網都使用這個規範,因此纔有這個話。學習

1.二、以太網經常使用的拓撲結構

  1)星狀spa

    這種結構的網絡是工做站以星形方式鏈接起來的,網中的每個節點設備都以中防節爲中心,經過鏈接線與中心 節點相連,若是一個工做站須要傳輸數據,它首先必須經過中心節點。計算機網絡

    因爲在這種結構的網絡系統中,中心節點是控制中心,任意兩個節點間的通訊最多隻需兩步,因此,可以傳輸速度快,而且網絡構形簡單、建網容易、便於控制和管理。但這種網絡系統,3d

    網絡可靠性低,網絡共享能力差,而且一旦中心節點出現故障則致使全網癱瘓。code

    

  2)樹形  htm

    樹形結構網絡是自然的分級結構,又被稱爲 分級的集中式網絡。其特色
    是網絡成本低,結構比較簡單。在網絡中,任意兩個節點之間不產生迴路,每一個鏈路都支持雙向傳輸,而且,網絡中節點擴充方便、靈活,尋查鏈路路徑比較簡單。
    但在這種結構網絡系統中,除葉 節點及其相連的鏈路外,任何一個工做站或鏈路產生故障會影響整個網絡系統的正常運行。

    

 

  3)總線型

    總線形結構網絡是將各個節點設備和一根總線相連。網絡中全部的節點工做站都是經過總線進行信息傳輸的。

    

  4)環形 

    環形結構是 網絡中各節點經過一條首尾相連的通訊鏈路鏈接起來的一個閉合環形結構網。環形結構網絡的結構也比較簡單,系統中各工做站地位相等。
    系統中通訊 設備和線路比較節省。在網中信息設有固定方向單向流動,兩個工做站節點之間僅有一條通路,系統中無信道選擇問題; 某個結點的故障將致使物理癱瘓。
    環網中,因爲環路是封閉的,因此不便於擴充,系統響應延時長,且信息傳輸效率相對較低。

    

2、CSMA/CD協議(半雙工通訊)

局域網是用廣播信道的方式去傳送數據,那麼就會遇到問題,若是在局域網內有兩個pc機同時在其中傳播數據呢?就會發生碰撞,使兩個數據都失效,那麼如何解決這個問題呢,使用CSMA/CD協議來解決這類問題。

2.一、概述

  1)多址接入

    一種多址接入協議,許多站點以多址接入的方式連接在一根總線上,其實就是局域網中總線網這種形式。

  2)載波監聽

    發送前監聽,就是在發送數據前監聽總線中是否有數據在傳播,若是有就不發送。就是用電子技術檢測總線上有沒有其餘計算機發送的數據信號。

  3)碰撞檢測

    邊發送邊監聽,在發送數據的中途也會監聽總線中是否會有其它數據,當幾個站同時在總線上發送數據時,總線上的信號電壓擺動值將會增大(互相疊加)。

    當一個站檢測到的信號電壓擺動值超過必定的門限值時,就認爲總線上至少有兩個站同時在發送數據,代表產生了碰撞。 所謂「碰撞」就是發生了衝突。所以「碰撞檢測」也稱爲「衝突檢測」

    檢測到碰撞以後:     

      在發生碰撞時,總線上傳輸的信號產生了嚴重的失真,沒法從中恢復出有用的信息來。

      每個正在發送數據的站,一旦發現總線上出現了碰撞,就要當即中止發送,省得繼續浪費網絡資源,而後等待一段隨機時間後再次發送。

      經過例子也說明一下CSMA/CD協議會作哪些事情,借用下面這個圖來講明問題

      

      分析:

        第一步:B向D發送數據,在發送數據前,因爲採用的CSMA/CD協議,那麼先會進行載波監聽,看總線中是否有其餘的數據傳輸(若是檢測,經過物理層的一些電磁波等)。

        第二步:若是沒有,那麼B就能夠開始發送數據,因爲B到D之間存在必定距離,那麼在總線中傳輸數據也要時間,雖然很快,可能只須要十幾微秒,在發送的的途中,遇到C向A發送數據,

            因爲B到D的數據還沒傳過來,那麼C也就沒監聽到總線中有數據,因此也開始發,那麼在途中兩個數據就會相遇,這就造成了碰撞,在碰撞之後,兩個電磁波疊加,在總線中傳輸,

            那麼會到C或者B時,就會知道電磁波的不一樣,從而發生了碰撞。這就是碰撞檢測。

2.二、詳細描述

  1)解釋名詞

  傳播延時:

    

  爭用期:發生碰撞所須要的最遲時間。在根據上面的大致分析,咱們知道A到B之間的任意時刻均可能會發生碰撞,那麼A確認發生碰撞要多久呢,那就是2t 了,傳播時延是t,

      可能正好到B那裏就發生了碰撞,而後返回到A,又須要t的時間,那就是2t了,咱們把這個2t時間就叫作爭用期。

    舉例:在10Mb/s(傳播速率)的以太網,爭用期爲51.2μs(微秒),那麼在爭用期內可發送64字節,及512bit的數據。怎麼算來的呢?  

      10Mb/s  = 10 000 Kb/s = 10 000 000 b/s (這裏的換算是1000,指的是計算機網絡中傳輸的多少位多少位,也就是0101這樣的位數)

      51.2μs = 0.0512 ms = 0.000 0512 s  (1s = 1000ms = 1000 000 μs)

      51.2μs能傳多少bit呢? 上面兩個相乘就爲 512bit 了,換算爲字節,字節的換算是 1byte(字節) = 8bit(位) 因此 512/8=64byte(字節) 就這樣算過來的。

  最短有效幀:64字節,就是上面這樣算的,發送了64個字節以後,確定就不會發生碰撞,以太網規定了最短有效幀長爲 64 字節,凡長度小於 64 字節的幀都是因爲衝突而異常停止的無效幀。

  2)二進制指數類型退避算法

    這個算法就是在發生碰撞後,pc機該如何處理,在什麼時間後再次發送數據。

    其實就是四部曲: 

      第一步:肯定基本退避時間,通常就是爭用期2t

      第二步:定義參數k  K = Min[重傳次數,10]

      第三步:從整數集合中[0,1,...,(2的k次方 -1)]隨機取一個數,記爲r,重傳所須要等待的時延就是r倍的基本退避時間(2rt)

      第四步:當重傳16次還不能成功則丟棄該幀,並向高層彙報

    解釋:其實這四步很簡單,我來分析一下就會了,首先第一次傳數據,重傳次數爲0,那麼k=0,從整數集合中只有0這個值,那麼r=0,等待的時延就是2rt=0,因此第一次傳數據須要等待的時延就是0,

      不須要等待,除非先檢測到了有數據已經在傳了,若是第一傳數據發現碰撞,那麼重傳次數爲1,那麼k=1,整數集合中就有0,1兩個值,隨機取值,取到r=1,那麼等待的時延就是2t,意思就是

      在第一次發生碰撞後,須要等待2t的時間,才能在從新發送數據,也可能不須要等就直接發,r=0時。

2、以太網信道利用率問題

  分析圖:

  

  分析:一個幀從開始發送,經可能發生的碰撞後,將再重傳數次,到發送成功(發送成功這段時間T0是指數據的發送時延,幀長爲 L (bit),數據發送速率爲 C (b/s),於是幀的發送時間爲 L/C = T0 (s)),

     幀發出去之後,還要通過端到端的傳播時延t,全部在真正佔用信道的時間是 TO+t ,前面發生的碰撞損耗的時間,數據並無佔用信道,咱們指真正佔用信道的時間是指數據發送成功即不發生

       碰撞而後到達目的地的這段時間,而前面發生碰撞的時間,都市在浪費信道,每發送一幀須要的平均時間就是在信道中發生碰撞浪費的時間+上數據傳輸成功所用的佔用期。不要理解錯了。

  公式和參數a的理解:   首先理解一下信道利用率,借用上面的圖,就是佔用期在其圖中的比例變大,則信道利用率就高。可是不肯定前面發生了多少次碰撞,

            只是一個平均的估算值,因此就定義了這個a的公式,用t/T0來表明信道利用率

  1)a→0 表示一發生碰撞就當即能夠檢測出來,並當即中止發送,於是信道利用率很高。

    a→0也就是t越小,而T0越大,發送時延儘量大一點,而t傳播時延儘量小一點,現實意義就是數據在在信道中傳播的時間若是很小很小,那麼數據一發送,

    就能在不多的時間裏面檢測出碰撞來了,那麼在前面那張圖中,花費在爭用期(發生碰撞)的時間就少了,就能快點成功發送數據佔的時間就長了了,那信道的利用率不就很高嗎,

  2)a 越大,代表爭用期所佔的比例增大,每發生一次碰撞就浪費許多信道資源,使得信道利用率明顯下降

    就是T0越小,而r很大,那發生一次碰撞就浪費了不少信道資源,由於在信道中傳輸無用的波佔的時間太長了。而成功發送的佔用期天然就變小了,因此信道利用率就越低了。

    根據上面的分析信道利用率,就發現,影響信道利用率的就跟T0和t有關,也就是跟以太網的連線長度有關,因此纔有在以太網中,有最遠距離的限制,就是不能讓t太大,

    以致於a很大,信道利用率過低,還有發送的幀長也有最小幀長的限制,由於怕發送的數據幀過短,而發送速率就必定,那麼發送時延T0就過小了,會讓a的值越大,信道利用率就過低了。

2.一、最大信道利用率

  

  理想的狀況下就是不發生碰撞,一發送完數據,另外一個數據就又發送,也就是一有空閒時間,就發送數據。這個時候,信道中一直有數據在傳輸,一刻也不停歇,那此時的信道利用率就是100了?

  錯誤,這個想法是錯的,舉個例子就知道了。每幀用的時間就是下面圖中這塊,這塊也就能夠當作一段數據幀平均花費的時間,這裏面所影響的因素就是發送時延T0和t傳播時延了,一段數據幀平均花費的時間爲1s,

  這是已經固定了,可是其中的兩個部分並無肯定,若是T0佔的比例大,說明發送時延大,發送速率已經肯定了,那麼就確定是發送的數據變多了,在信道中傳輸的bit更過,信道利用率不就更到了嗎,通俗一點講,

  就是給了你1s的時間,你儘量的多發些bit過去,那麼你的傳播時延就大了,那不就信道利用率的很高了嗎,理想狀態下考慮的因素跟那個現實考慮的因素不同。

    

  對CSMA/CD協議的討論,大概就是這些內容了,剛纔討論的前提是已經知道誰發送給誰了,而後說的數據在傳播過程當中遇到的問題。

3、PC機與PC機怎麼找到對方

用的就是MAC地址,在以太網中是若是封裝數據幀來達到可以準確傳輸數據到目的地的呢?

MAC地址的格式:

    48bit,6個字節,前3個字節是由管理機構給各個廠家分配的。也就是說若是有廠家想生產網卡這類須要mac地址的東西,必須先像管理機構申請前三位字節,

    因此網卡上的前三個字節就表明着某個廠家,後三個字節就是由廠家本身來設定的。

每一個網卡都擁有識別數據幀中mac地址的功能

數據幀格式:

    

    先無論前8個插入字節的意思,在以太網中,發送的數據幀最小要是64個字節,那這64個字節由哪些組成的呢,就是圖中所示,6個目的MAC地址,6個源MAC地址,2個字節表明數據包的類型,

  還有4個字節是FCS,用來進行CRC算法檢測的,剩下的46個字節就是數據包最少要發送的字節數了,若是數據包實際發的少於46,那麼會給這個數據包自動補充0,來達到須要的字節數。

    而後說說插入的8個字節是什麼意思?前7個字節用來使發送的數據幀的的比特同步,也叫做前同步碼,最後一個字節,幀的開始定界符,也就是告訴接收方,從這個字節開始,後面是是MAC幀了。

   有人這個時候會問,既然有了幀開始定界符,爲何還要同步碼?緣由是,在接受MAC幀後,並不能立刻識別出幀開始定界符,沒有那麼快的反應分辨出來,因此須要在前面加同步碼,使接收方有反應的時間,

  因此同步碼都是1010101010101這樣的bit。前7個字節的同步碼跟最後一個字節中的前6個bit位相同。上面圖中這裏畫的有點錯誤,圈錯了,正確的是下面這樣:

    

3、擴展以太網

集線器和網橋(多個接口的交換機)

3.一、集線器

  1)概述  

  集線器(HUB)屬於 數據通訊系統中的基礎設備,它和雙絞線等傳輸介質同樣,是一種不需任何軟件支持或只需不多管理軟件管理的硬件設備。它被普遍應用到各類場合。集線器工做在局域網(LAN)環境
  應用於OSI參考模型第一層,所以又被稱爲物理層設備。集線器內部採用了電器互聯,當維護LAN的環境是邏輯總線或環型結構時,徹底能夠用集線器創建一個物理上的星型或樹型網絡結構。在這方面,集線器
  所起的做用至關於多端口的中繼器。其實,集線器實際上就是中繼器的一種,其區別僅在於集線器可以提供更多的端口服務,因此集線器又叫多口中繼器。 HUB按照對輸入信號的處理方式上,能夠分爲無源HUB、有源HUB、智能HUB。
  2)工做過程
  集線器的工做過程是很是簡單的,它能夠這樣的簡單描述:首先是節點發信號到線路,集線器接收該信號,因信號在電纜傳輸中有衰減, 集線器接收信號後將衰減的信號整形放大,最後集線器將放大的信號廣播轉發給其餘全部端口。

  

  就是隻可以轉發數據,來了就往接了集線器的PC機上發數據,其餘什麼差錯校驗呀,什麼東西全都不作,

  集線器的用法首先是下面這樣

    

  而後想辦法,改進成這樣了

   

  改完是有好處也有壞處

    用集線器擴展局域網優勢:

      使原來屬於不一樣碰撞域的局域網上的計算機可以進行跨碰撞域的通訊。

      擴大了局域網覆蓋的地理範圍。
    用集線器擴展局域網缺點:

      碰撞域增大了,但總的吞吐量並未提升。

      若是不一樣的碰撞域使用不一樣的數據率,那麼就不能用集線器將它們互連起來。
  因爲集線器總有這樣的缺點,因此網橋這個設備就出來了

3.二、網橋

  1)概述  

    也有人把「網橋」比喻成一個聰明的中繼器(Repeater)。由於中繼器只是對所接收的信號進行放大,而後直接發送到另外一個端口鏈接的電纜上,主要用於擴展網絡的物理鏈接範圍;

  而網橋除了能夠擴展網絡的物理鏈接範圍外,還能夠對MAC 地址進行分區,隔離不一樣物理網段之間的碰撞(也就是隔離「衝突域」)。集線器和中繼器都是物理層設備,而網橋屬於二層設備。
    咱們常常聽到這樣的說法,那就是「網橋」是一種可鏈接不一樣網段的二層網絡設備(二層交換機也同樣),一個端口能夠鏈接一個網段。因此不少人總在納悶,網橋怎麼能鏈接不一樣網段呢?

  其實這是由於你們對這裏所說的「網段」並不理解。其實這裏「網段」更準確地講應該是叫「物理網段」,是指IP 地址屬於同一網絡地址段(也就是IP 地址中的網絡ID同樣),位於不一樣地理位置的不一樣LAN 分段,

  是基於物理意義上的地理區域進行劃分的。咱們常說的網段是指IP 地址屬於不一樣網絡地址段的網絡或子網,是一個三層概念,其實這應該叫作邏輯網段,是基於邏輯意義上的網絡地址進行劃分的。

  (hzhsan:就是說這裏的網段是物理網段,並非咱們平時說的IP網段,不關心三層上的概念)
    不管是網橋,仍是二層交換機,雖然每一個端口能夠鏈接一個網段,可是它們所鏈接的主機都在同一網絡,或者同一子網中。如鏈接的主機位於不一樣辦公室或者不一樣辦公樓中,則可採用同一網絡地址的兩個或多個小LAN,

  以組成一個能夠統一管理的大LAN。但要注意的是,由於網橋只有兩個端口,因此所鏈接的兩個物理網段的主機一般就是由當時的集線器進行集中鏈接的(網橋端口一般不是直接鏈接主機的)。

  軟件中一般所說的橋接(如VMware中的橋接工做模式)也就是網橋的做用,它鏈接的也是同一網絡或子網中的兩個網段。
    網橋都是隻有兩個端口嗎?應該能夠有多個端口吧?
    答案:基本網橋只有兩個端口,還有一種網橋叫作多口網橋,多口網橋有多個端口 

    圖1

  2)優勢

  有兩個優勢,能識別mac地址,遇到陌生的mac地址,會在內部mac表中記錄下該mac地址,下次再使用,就認識了

    1.1)根據 MAC 幀的目的地址對收到的幀進行轉發

    2.2)過濾幀的功能。當網橋收到一個幀時,並非向全部的接口轉發此幀,而是先檢查此幀的目的 MAC 地址,而後再肯定將該幀轉發到哪個接口

  3)網橋原理

    圖2

    前面說到了網橋具備兩種主要特性:一是可基於物理網段的MAC 地址進行學習,二是能夠隔離衝突域。下面經過一個示例來進行解析。
  假設圖1 中所示的物理網段1 和物理網段2 中的主機都是經過集線器集中鏈接的,則這樣這兩個物理網段各自造成一個衝突域,由於集線器是採用共享介質傳輸的,

  而網橋的背板信道不是共享的(每一個端口的數據收發都有一條單獨的信道),因此一個集線器就是一個衝突域。網橋的數據轉發原理如圖2所示。下面是具體的解析。
    說明 MAC 地址表也就是一般所說的CAM(Content Addressable Memory,內容可尋址存儲器)表,保存的是對應MAC 地址主機與所鏈接的交換機端口的映射。這個映射表項能夠由管理員手動綁定建立,

  也能夠由交換機自動學習獲得。在交換機上能夠經過一些命令(如Cisco 交換機是使用show mac-address-table 命令)查看。下面是一個在交換機上查看MAC 地址和端口映射表的示例,其中列出了交換機中

  爲CPU 分配的靜態(static)MAC 地址和經過學習功能自動學習獲得的動態(dynamic)MAC 地址,其中的Ports 列顯示的是對應MAC 地址主機所鏈接的端口,VLAN 列則爲對應主機鏈接端口所屬的VLAN。  

mac-address-table 

  現假設圖5-34 所示網絡中的一臺PC 要向另外一臺PC 發送數據。由於集線器也是物理層設備,不能識別幀中的MAC 地址,因此不管是哪臺主機要發送數據,在集線器上都是以廣播方式進行的,

  鏈接該集線器上的全部節點都會收到這個廣播幀,包括網橋鏈接到該集線器的端口。

    1)當網橋收到集線器的廣播幀後,網橋會把幀中的源MAC 地址和目的MAC 地址與網橋緩存中保存的MAC 地址表進行比較。

    2)最初,網橋的緩存中是沒有任何MAC 地址的,因此一開始它也不知道哪臺主機在哪一個物理網段上,收到的全部幀都直接以泛洪方式(也是複製原數據幀)轉發到另外一個端口上,

      同時會把數據幀中的源MAC 地址所對應的物理網段記錄下來(其實就是與對應的網橋端口對應起來)。

    3)在數據幀被某個PC 機接收後,也會把對應目的MAC 地址所對應的物理網段記錄在緩存中的MAC 表中。這樣,通過屢次這樣的記錄,就能夠在MAC 地址表中把整個網絡中各

      主機MAC 地址與對應的物理網段所有記錄下來。由於網橋的端口一般是鏈接集線器的,因此一個網橋端口會與多個主機MAC 地址進行映射。

    4)當網橋收到的數據幀中源MAC 地址和目的MAC 地址都在網橋MAC 地址表中能夠找到時,網橋會比較這兩個MAC 地址是否屬於同一個物理網段。若是是同一物理網段,

      則網橋不會把該幀轉發到下一個端口,直接丟棄,起到衝突域隔離做用。相反,若是兩個MAC 地址不在同一物理網段,則網橋會把從一個物理網段發來的幀轉發到鏈接

      另外一個物理網段上,而後再經過所鏈接的集線器進行復制方式的廣播。

  3)透明網橋 

    局域網上的站點並不知道所發送的幀將通過哪幾個網橋,由於網橋對各站來講是看不見的  

    是一種即插即用設備,其標準是 IEEE 802.1D

  4)網橋的優勢與缺點

  優勢:   

    過濾通訊量。

    擴大了物理範圍。
    提升了可靠性。
    可互連不一樣物理層、不一樣 MAC 子層和不一樣速率(如10 Mb/s 和 100 Mb/s 以太網)的局域網。
  缺點:  

    存儲轉發增長了時延。

    在MAC 子層並無流量控制功能。
    具備不一樣 MAC 子層的網段橋接在一塊兒時時延更大。
    網橋只適合於 用戶數不太多(不超過幾百個)和通訊量不太大的局域網,不然有時還會因傳播過多的廣播信息而產生網絡擁塞。這就是所謂的廣播風暴。

4、高速以太網

從最先的使用集線器鏈接的以太網(CSMA/CD,半雙工,10Mb/s)到使用網橋階段的擴展以太網(CSMA/CD,半雙工,10Mb/s或100Mb/s)到如今的高速以太網(半雙工/全雙工通訊)。

4.一、高速以太網

  速率達到或超過100Mb/s的以太網

  這個也沒什麼好講的,就是在以前的基礎上增強了不少東西,

    速率提升了不少

    從半雙工通訊到能使用全雙工通訊了(這個並非說就拋棄了半雙工,在星形拓撲結構中的局域網,也就使用CSMA/CD協議的半雙工通訊的方式,全雙工就不使用該協議了)

    傳輸距離能夠增加,由於有了光纖(傳輸過程的穩定性),速率加強很大,不止侷限於局域網,擴展到了有城域網,廣域網。

4.二、10Gb/s以太網

  1)概述

  與 10 Mb/s,100 Mb/s 和 1 Gb/s 以太網的幀格式徹底相同。

  保留了 802.3 標準規定的以太網最小和最大幀長,便於升級。也就是最小64字節,最大是多少不知道。

  再也不使用銅線而只使用光纖做爲傳輸媒體。

  只工做在全雙工方式,所以沒有爭用問題,也不使用 CSMA/CD 協議。

  2)優勢  

    成熟的技術

    互操做性很好
    在廣域網中使用以太網時價格便宜。

    統一的幀格式簡化了操做和管理

相關文章
相關標籤/搜索