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


一、局域網

1.1、局域網和以太網的區別和聯系

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

以太網:以太網(Ethernet)指的是由Xerox公司創建並由Xerox、Intel和DEC公司聯合開發的基帶局域網規范,是當今現有局域網采用的最通用的通信協議標准。

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

聯系:是以太網就一定是局域網,但是局域網不一定就是以太網。 因為以太網就是一個規范,而大多數局域網都使用這個規范,所以才有這個話。

1.2、以太網常用的拓撲結構

  1)星狀

    這種結構的網絡是工作站以星形方式連接起來的,網中的每一個節點設備都以中防節為中心,通過連接線與中心 節點相連,如果一個工作站需要傳輸數據,它首先必須通過中心節點。

    由於在這種結構的網絡系統中,中心節點是控制中心,任意兩個節點間的通信最多只需兩步,所以,能夠傳輸速度快,並且網絡構形簡單、建網容易、便於控制和管理。但這種網絡系統,

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

    

  2)樹形  

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

    

 

  3)總線型

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

    

  4)環形 

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

    

二、CSMA/CD協議(半雙工通信)

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

2.1、概述

  1)多址接入

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

  2)載波監聽

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

  3)碰撞檢測

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

    當一個站檢測到的信號電壓擺動值超過一定的門限值時,就認為總線上至少有兩個站同時在發送數據,表明產生了碰撞。 所謂“碰撞”就是發生了沖突。因此“碰撞檢測”也稱為“沖突檢測”

    檢測到碰撞之后:     

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

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

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

      

      分析:

        第一步:B向D發送數據,在發送數據前,由於采用的CSMA/CD協議,那么先會進行載波監聽,看總線中是否有其他的數據傳輸(如果檢測,通過物理層的一些電磁波等)。

        第二步:如果沒有,那么B就可以開始發送數據,由於B到D之間存在一定距離,那么在總線中傳輸數據也要時間,雖然很快,可能只需要十幾微秒,在發送的的途中,遇到C向A發送數據,

            由於B到D的數據還沒傳過來,那么C也就沒監聽到總線中有數據,所以也開始發,那么在途中兩個數據就會相遇,這就形成了碰撞,在碰撞以后,兩個電磁波疊加,在總線中傳輸,

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

2.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時。

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

  分析圖:

  

  分析:一個幀從開始發送,經可能發生的碰撞后,將再重傳數次,到發送成功(發送成功這段時間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.1、最大信道利用率

  

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

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

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

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

    

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

三、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.1、集線器

  1)概述  

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

  

  就是只能夠轉發數據,來了就往接了集線器的PC機上發數據,其他什么差錯校驗呀,什么東西全都不做,

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

    

  然后想辦法,改進成這樣了

   

  改完是有好處也有壞處

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

      使原來屬於不同碰撞域的局域網上的計算機能夠進行跨碰撞域的通信。

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

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

      如果不同的碰撞域使用不同的數據率,那么就不能用集線器將它們互連起來。
  由於集線器總有這樣的缺點,所以網橋這個設備就出來了

3.2、網橋

  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 子層的網段橋接在一起時時延更大。
    網橋只適合於 用戶數不太多(不超過幾百個)和通信量不太大的局域網,否則有時還會因傳播過多的廣播信息而產生網絡擁塞。這就是所謂的廣播風暴。

四、高速以太網

從最早的使用集線器連接的以太網(CSMA/CD,半雙工,10Mb/s)到使用網橋階段的擴展以太網(CSMA/CD,半雙工,10Mb/s或100Mb/s)到現在的高速以太網(半雙工/全雙工通信)。

4.1、高速以太網

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

  這個也沒什么好講的,就是在之前的基礎上加強了很多東西,

    速率提高了很多

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

    傳輸距離可以增長,因為有了光纖(傳輸過程的穩定性),速率增強很大,不止局限於局域網,擴展到了有城域網,廣域網。

4.2、10Gb/s以太網

  1)概述

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

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

  不再使用銅線而只使用光纖作為傳輸媒體。

  只工作在全雙工方式,因此沒有爭用問題,也不使用 CSMA/CD 協議。

  2)優點  

    成熟的技術

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM