- 計算機網(wǎng)絡簡明教程
- 謝希仁編著
- 3781字
- 2018-12-29 00:01:15
3.4 使用廣播信道的以太網(wǎng)
3.4.1 使用集線器的星形拓撲
傳統(tǒng)以太網(wǎng)最初是使用粗同軸電纜,后來演進到使用比較便宜的細同軸電纜,最后發(fā)展為使用更便宜和更靈活的雙絞線。這種以太網(wǎng)采用星形拓撲,在星形的中心則增加了一個叫做集線器(hub)的設備(見圖3-10)。雙絞線以太網(wǎng)總是和集線器配合使用的。每個站需要用兩對無屏蔽雙絞線(做在一根電纜內(nèi)),分別用于發(fā)送和接收。雙絞線的兩端使用RJ-45插頭。由于集線器使用了大規(guī)模集成電路芯片,因此集線器的可靠性很高。1990年IEEE制定出星形以太網(wǎng)10BASE-T的標準802.3i。“10”代表10Mb/s的數(shù)據(jù)率,BASE表示連接線上的信號是基帶信號,T代表雙絞線。實踐證明,這比使用具有大量機械接頭的無源電纜要可靠得多。由于雙絞線電纜的以太網(wǎng)價格便宜而使用方便,使粗纜以太網(wǎng)和細纜以太網(wǎng)都已成為歷史,并已從市場上消失了。

圖3-10 使用集線器的雙絞線以太網(wǎng)
10BASE-T以太網(wǎng)的通信距離稍短,每個站到集線器的距離不超過100m。這種性價比很高的10BASE-T雙絞線以太網(wǎng)的出現(xiàn),為以太網(wǎng)在局域網(wǎng)中的統(tǒng)治地位奠定了牢固的基礎。
使雙絞線能夠傳送高速數(shù)據(jù)的主要措施是,把雙絞線的絞合度做得非常精確。這樣不僅可使特性阻抗均勻以減小失真,而且大大減小了電磁波輻射和無線電頻率的干擾。在多對雙絞線的電纜中,還要使用更加復雜的絞合方法。
集線器的特點如下。
(1)從表面上看,使用集線器的局域網(wǎng)在物理上是一個星形網(wǎng),但由于集線器是使用電子器件來模擬實際電纜線的工作的,因此整個系統(tǒng)仍像一個傳統(tǒng)以太網(wǎng)那樣運行。也就是說,使用集線器的以太網(wǎng)在邏輯上仍是一個總線形網(wǎng),各站點共享邏輯上的總線。各站點使用的還是CSMA/CD協(xié)議(更具體些說,是各站點中的適配器執(zhí)行CSMA/CD協(xié)議)。網(wǎng)絡中的各站點必須競爭對傳輸媒體的控制,并且在同一時刻至多只允許一個站點發(fā)送數(shù)據(jù)。因此這種10BASE-T以太網(wǎng)又稱為星形總線(star-shaped bus)或盒中總線(bus in a box)。
(2)一個集線器有許多接口①,例如,8至16個,每個接口通過RJ-45插頭(與電話機使用的插頭RJ-11相似,但略大一些)用兩對雙絞線與一個工作站上的適配器相連(這種插座可連接4對雙絞線,實際上只用2對,即發(fā)送和接收各使用1對雙絞線)。因此,一個集線器很像一個多接口的轉(zhuǎn)發(fā)器。
(3)集線器工作在物理層,它的每個接口僅僅簡單地轉(zhuǎn)發(fā)比特——收到1就轉(zhuǎn)發(fā)1,收到0就轉(zhuǎn)發(fā)0,不進行碰撞檢測。若兩個接口同時有信號輸入(即發(fā)生碰撞),那么所有的接口都將收不到正確的幀。
注:① 集線器的接口又稱為端口(port)。在運輸層要經(jīng)常使用軟件端口(port),它和集線器的端口是兩回事。由于集線器的端口就是一個接口,為了避免混淆,我們就使用集線器接口這個名詞。
(4)集線器采用了專門的芯片,進行自適應串音回波抵消。這樣就可使接口轉(zhuǎn)發(fā)出去的較強信號不致對該接口接收到的較弱信號產(chǎn)生干擾(這種干擾即近端串音)。每個比特在轉(zhuǎn)發(fā)之前還要進行再生整形并重新定時。
集線器本身必須非??煽俊,F(xiàn)在的堆疊式(stackable)集線器由4~8個集線器堆疊起來使用。一般都有少量的容錯能力和網(wǎng)絡管理功能。例如,假定在以太網(wǎng)中有一個適配器出了故障,不停地發(fā)送以太網(wǎng)幀。這時,集線器可以檢測到這個問題,在內(nèi)部斷開與出故障的適配器的連線,使整個以太網(wǎng)仍然能夠正常工作。模塊化的機箱式智能集線器有很高的可靠性。它全部的網(wǎng)絡功能都以模塊方式實現(xiàn)。各模塊均可進行熱插拔,出故障時不斷電即可更換或增加新模塊。集線器上的指示燈還可顯示網(wǎng)絡上的故障情況,給網(wǎng)絡的管理帶來了很大的方便。
802.3標準還可使用光纖作為傳輸媒體,相應的標準是10BASE-F系列,F(xiàn)代表光纖。它主要用做集線器之間的遠程連接。
3.4.2 以太網(wǎng)的MAC層
1.MAC層的硬件地址
大家知道,在所有計算機系統(tǒng)的設計中,標識系統(tǒng)(identification system)都是一個核心問題。在標識系統(tǒng)中,地址就是為識別某個系統(tǒng)的一個非常重要的標識符。
從概念上講,計算機的名字應當與系統(tǒng)的所在地無關。這就像我們每一個人的名字一樣,不隨我們所處的地點而改變。但是802標準為局域網(wǎng)規(guī)定了一種48位的全球地址(一般都簡稱為“地址”),是指局域網(wǎng)上的每一臺計算機中固化在適配器的ROM中的地址。這種48位地址可以保證全球各地所使用的適配器中的地址都是全球唯一的。這種地址又稱為硬件地址或物理地址,它具有下面兩個特點:
(1)假定連接在局域網(wǎng)上的一臺計算機的適配器壞了并更換了一個新的適配器,那么這臺計算機的局域網(wǎng)的“地址”也就改變了,雖然這臺計算機的地理位置一點也沒有變化,所接入的局域網(wǎng)也沒有任何改變。
(2)假定我們把位于南京的某局域網(wǎng)上的一臺筆記本電腦攜帶到北京,并連接在北京的某局域網(wǎng)上。雖然這臺電腦的地理位置改變了,但只要電腦中的適配器不變,那么該電腦在北京的局域網(wǎng)中的“地址”仍然和它在南京的局域網(wǎng)中的“地址”一樣。
由此可見,準確地講,局域網(wǎng)的“地址”應當是每一個站的“名字”或標識符。不過計算機的名字通常都是比較適合人記憶的不太長的字符串,而這種48位二進制的“地址”卻很不像一般計算機的名字。現(xiàn)在人們還是習慣于把這種48位的“名字”稱為“地址”。本書也采用這種習慣用法,盡管這種說法并不太嚴格。
請注意,如果連接在局域網(wǎng)上的主機或路由器安裝有多個適配器,那么這樣的主機或路由器就有多個“地址”。更準確些,這種48位“地址”應當是某個接口的標識符。
由于以太網(wǎng)的這種48位地址使用在MAC幀中,因此這種地址常常叫做MAC地址??梢姟癕AC地址”實際上就是適配器地址或適配器標識符。
當路由器通過適配器連接到局域網(wǎng)時,適配器上的硬件地址就用來標志路由器的某個接口。路由器如果同時連接到兩個網(wǎng)絡上,那么它就需要兩個適配器和兩個硬件地址。
我們知道適配器有過濾功能。但適配器從網(wǎng)絡上每收到一個MAC幀,就先用硬件檢查MAC幀中的目的地址。如果是發(fā)往本站的幀則收下,然后再進行其他的處理。否則就將此幀丟棄,不再進行其他的處理。這樣做就不浪費主機的處理機和內(nèi)存資源。這里“發(fā)往本站的幀”包括以下三種幀:
(1)單播(unicast)幀(一對一),即收到的幀的MAC地址與本站的硬件地址相同。
(2)廣播(broadcast)幀(一對全體),即發(fā)送給本局域網(wǎng)上所有站點的幀(全1地址)。
(3)多播(multicast)幀(一對多),即發(fā)送給本局域網(wǎng)上一部分站點的幀。
所有的適配器都至少應當能夠識別前兩種幀,即能夠識別單播和廣播地址。有的適配器可用編程方法識別多播地址。當操作系統(tǒng)啟動時,它就把適配器初始化,使適配器能夠識別某些多播地址。顯然,只有目的地址才能使用廣播地址和多播地址,源地址只能使用單播。
以太網(wǎng)適配器還可設置為一種特殊的工作方式,即混雜方式(promiscuous mode)。工作在混雜方式的適配器只要“聽到”有幀在以太網(wǎng)上傳輸就都悄悄地接收下來,而不管這些幀是發(fā)往哪個站的。請注意,這樣做實際上是“竊聽”其他站點的通信而并不中斷其他站點的通信。現(xiàn)在網(wǎng)絡上的黑客(hacker或cracker)常利用這種方法非法獲取網(wǎng)上用戶的口令。因此以太網(wǎng)上的用戶不愿意網(wǎng)絡上有工作在混雜方式的適配器。
但混雜方式有時卻非常有用。例如,網(wǎng)絡維護和管理人員需要用這種方式來監(jiān)視和分析以太網(wǎng)上的流量,以便找出提高網(wǎng)絡性能的具體措施。有一種很有用的網(wǎng)絡工具叫做嗅探器(Sniffer),它就使用了設置為混雜方式的網(wǎng)絡適配器。此外,這種嗅探器還可幫助學習網(wǎng)絡的人員更好地理解各種網(wǎng)絡協(xié)議的工作原理。因此,混雜方式就像一把雙刃劍,是利是弊要看你怎樣使用它。
2.MAC幀格式
常用以太網(wǎng)的MAC幀格式有兩種標準,一種是DIX Ethernet V2標準(即以太網(wǎng)V2標準),另一種是IEEE的802.3標準。這里只介紹使用得最多的以太網(wǎng)V2的MAC幀格式(見圖3-11)。圖中假定網(wǎng)絡層使用的是IP協(xié)議。實際上使用其他的協(xié)議也是可以的。

圖3-11 以太網(wǎng)V2的MAC幀格式
以太網(wǎng)V2的MAC幀比較簡單,由五個字段組成。前兩個字段分別為6字節(jié)長的目的地址和源地址字段。第三個字段是2字節(jié)的類型字段,用來標志上一層使用的是什么協(xié)議,以便把收到的MAC幀的數(shù)據(jù)上交給上一層的這個協(xié)議。例如,當類型字段的值是0000100000000000時,就表示上層使用的是IP數(shù)據(jù)報。第四個字段是數(shù)據(jù)字段,其長度在46~1500字節(jié)之間(這就表明,以太網(wǎng)的幀長在64~1518字節(jié)之間)。最后一個字段是4字節(jié)的幀檢驗序列FCS(使用CRC檢驗)。當傳輸媒體的誤碼率為1×10-8時,MAC子層可使未檢測到的差錯小于1×10-14。
為什么以太網(wǎng)要設置一個最小幀長呢?前面已經(jīng)講過,CSMA/CD規(guī)定,正在發(fā)送數(shù)據(jù)的站一旦檢測出碰撞,就必須立即停止發(fā)送。這時,已發(fā)送出去的數(shù)據(jù)就構成了一個非常短的幀。由于這種異常中止的短幀都小于64字節(jié),因此CSMA/CD規(guī)定,長度小于64字節(jié)的短幀都是無效幀,任何站收到無效幀時就丟棄它,其他什么也不做。因此,當數(shù)據(jù)字段的長度小于46字節(jié)時,MAC子層就會在數(shù)據(jù)字段的后面加入一個整數(shù)字節(jié)的填充字段,以保證以太網(wǎng)的MAC幀長不小于64字節(jié)。應當指出,從MAC幀的首部無法看出數(shù)據(jù)字段的長度是多少。在有填充字段的情況下,接收方的MAC子層在剝?nèi)ナ撞亢臀膊亢缶桶褦?shù)據(jù)字段和填充字段一起交給上層協(xié)議。現(xiàn)在的問題是:上層協(xié)議如何知道填充字段的長度呢?在4.2節(jié)將會講到,IP數(shù)據(jù)報的首部有一個“總長度”字段。例如,當IP數(shù)據(jù)報的總長度為42字節(jié)時,填充字段共有4字節(jié)。當MAC幀把46字節(jié)的數(shù)據(jù)上交給IP層后,IP層一查到總長度是42字節(jié),就把46個字節(jié)中的最后4個字節(jié)的填充字段丟棄。
在以太網(wǎng)上是以幀為單位傳送數(shù)據(jù)的。以太網(wǎng)在傳送幀時,各幀之間還必須有一定的間隙。因此接收方只要找到幀開始定界符,其后面的連續(xù)到達的比特流都屬于同一個MAC幀。以太網(wǎng)不需要使用幀結(jié)束定界符,也不需要使用字節(jié)插入來保證透明傳輸。