沖突是指在同一個網段上,同一個時刻只能有一個信號在發(fā)送,否則兩個信號相互干擾,即發(fā)生沖突。沖突會阻止正常幀的發(fā)送。沖突域是指能夠發(fā)生沖突的網段。沖突域大了,有可能導致一連串的沖突,最終導致信號傳送失敗。
單播和廣播是兩種主要的信息傳送方式,廣播方式是指一臺主機同時向網段中所有的其他計算機發(fā)送信息,廣播方式會占用大量的資源。廣播域是指廣播能夠到達的網段范圍。因此,廣播域的大小要有一定的限制。
不同的網絡設備對降低沖突域和廣播域所起的作用不同。
例如中繼器和集線器可以放大信號,但是它不區(qū)分有效信號與無效信號,因此會擴大沖突域。網橋和交換機、路由器不會傳遞干擾和無效幀,因此可以降低沖突域。路由器和三層交換機不傳遞廣播數據包,所以可以降低廣播域;其他設備傳遞廣播數據包,所以擴展了廣播域。
注:一個VLAN是一個廣播域,VLAN可以隔離廣播,劃分VLAN的其中的一個目的就是隔離廣播。
網絡設備通俗的比喻來幫助理解:
局域網好比一棟大樓,每個人(好比主機)有自己的房間(房間就好比網卡,房號就是物理地址,即MAC地址),里面的人(主機)人手一個對講機,由于工作在同一頻道,所以一個人說話,其他人都能聽到,這就是廣播(向所有主機發(fā)送信息包),只有目標才會回應,其他人雖然聽見但是不理(丟棄包),而這些能聽到廣播的所有對講機設備就夠成了一個廣播域。而這些對講機就是集線器(HUB),每個對講機都像是集線器上的端口,大家都知道對講機在說話時是不能收聽的,必須松開對講鍵才能收聽,這種同一時刻只能收或者發(fā)的工作模式就是半雙工。而且對講機同一時刻只能有一個人說話才能聽清楚,如果兩個或者更多的人一起說就會產生沖突,都沒法聽清楚,所以這就構成了一個沖突域。
廣播域(Broadcast domain):網絡中的一組設備的集合。即同一廣播包能到達的所有設備成為一個廣播域。當這些設備中的一個發(fā)出一個廣播時,所有其他的設備都能接收到這個廣播幀。HUB和SWITCH的所有端口都是在一個廣播域里,路由器上的每個端口自成一個廣播域。
有一天樓里的人受不了這種低效率的通信了,所以升級了設備,換成每人一個內線電話(交換機SWITCH,每個電話都相當于交換機上的一個端口),每人都有一個內線號碼(邏輯地址即IP地址)。(這里要額外說一下IP地址和MAC地址轉譯的問題,常見的二層交換機只識別MAC地址,它內置一個MAC地址表,并不斷維護和更新它,來確定哪個端口對應那臺主機的MAC地址,而我們所用的通信軟件都是基于IP的,IP地址和MAC地址的轉換工作,就由ARP地址解析協(xié)議來完成。)在最開始時,沒人知道哪個號碼對應哪個人,所以要想打電話給某個人得先廣播一下:“xxx,你的號碼是多少?”“我的號碼是xxxx”。這樣你就有了目標的號碼,所有的內線號碼就是通過這種方式不斷加入電話簿中(交換機的MAC地址表),下次可以直接撥到他的分機號碼上去而不用廣播了。大家都知道電話是點對點的通信設備,不會影響到其他人,起沖突的只會限制在本地,一個電話號碼的線路相當于一個沖突域,只有再串連分機時,分機和主機之間才會有沖突的發(fā)生,這個沖突不會影響到外面其他的電話。而電話號碼就像是交換機上的端口號,也就是說交換機上每個端口自成一個沖突域,所以整個大的沖突域被分割成若干的小沖突域了。而且,電話在接聽的同時可以說話,這樣的工作模式就是全雙工。這就是交換機比集線器性能更好的原因之一。
3種網絡設備的特點
HUB的所有端口都在一個沖突域和一個廣播域
SWITCH的所有端口都在一個廣播域,每個端口是一個沖突域,只有在劃分VLAN之后才能分割廣播域
ROUTER的每個端口是一個沖突域也是一個廣播域
廣播幀的產生:網絡中存在有廣播幀是不可避免的,比如開啟了DHCP服務器, 每次請求, 都會有以”FF.FF.FF.FF.FF.FF”的幀格式出現.它向所有端口轉發(fā).假設主機A與B在同一個網絡內,當主機A要向主機B發(fā)送信息,那么需要知道主機B的IP地址和MAC地址,這里面我們假定A只知道B的IP地址,而不知道 B的MAC地址,那么這時A就需要向網絡中發(fā)送一個ARP請求,來獲取B的MAC地址,這個ARP請求實際上就是一個廣播包.
而泛洪和MAC列表相關, 在緩存中是存在的, 有確定的MAC地址. 只是在MAC表中找不到具體轉發(fā)的端口和MAC的配對,才開始泛洪處理.但是泛洪并不是廣播幀(FF.FF.FF.FF.FF.FF).
廣播是有一個具體的行為,它的對象是整個網絡, 在ARP時往往需要有特定的主機來響應,當然太多的廣播對于網絡是有害的, 容易造成廣播風暴. 總的來說, 主要有以下兩點區(qū)別:
泛洪操作廣播的是普通數據幀而不是廣播幀
廣播是向同一子網內所有的端口(包括自己的那個端口)發(fā)送消息; 泛洪只是在所有的端口中不包括發(fā)送消息的(自己的)那個端口發(fā)送消息.
廣播和洪泛
一.泛洪的產生:
MAC地址表顯示了主機的MAC地址與以太網交換機端口映射關系,指出數據幀去往目的主機的方向。當以太網交換機收到一個數據幀時,將收到數據幀的目的MAC地址與MAC地址表進行查找匹配。如果在MAC地址表中沒有相應的匹配項,則向除接收端口外的所有端口廣播該數據幀,有人將這種操作翻譯為泛洪(Flooding,泛洪操作廣播的是普通數據幀而不是廣播幀)。在我們測試過的交換機中,有的除了能夠對廣播幀的轉發(fā)進行限制之外,也能對泛洪這種操作進行限制。
*交換機的老化時間設置不當,也會引起泛洪處理.因為,交換機的MAC學習也是需要一定數量的幀;重新建立MAC表也是需要時間的.(試交換機性能而定).
*頻繁地調換PC機與交換機的端口的連接也是原因之一.
注意:廣播幀和組播幀是直接向所有端口轉發(fā).
二.廣播幀的產生:
網絡中存在有廣播幀是不可避免的,比如開啟了DHCP服務器,每次請求,都會有以"FF.FF.FF.FF.FF.FF"的幀格式出現.它向所有端口轉發(fā).如果,局域網內的網卡有故障有時也會有廣播幀出現,如果大量的這種幀出現,外在表現為網絡速度變慢.
三.廣播包的產生:
往往伴隨著ARP而產生.
假設主機A與B在同一個網絡內,當主機A要向主機B發(fā)送信息,那么需要知道主機B的IP地址和MAC地址,這里面我們假定A只知道B的IP地址,而不知道B的MAC地址,那么這時A就需要向網絡中發(fā)送一個ARP請求,來獲取B的MAC地址,這個ARP請求實際上就是一個廣播包.
當主機A:172.168.0.1:XXXX.XXXX.XXXX向B:172.168.0.3請求MAC地直.
請求的是172.16.0.3這個IP的MAC地址,在ARP請求里,目的MAC地址是0000.0000.0000
這是一個MAC的廣播地址,目的是要發(fā)送一個廣播.
使本地網絡內的其他主機都接收這個請求,然后除了目標方(即172.1680.3)作出回應之外,其他機均會丟棄這個請求幀.
其目的,是讓172.168.0.3這臺機將自己的MAC發(fā)過來.
泛洪和MAC列表相關.在L2中存在.是有確定的MAC地址的,只是在MAC表中找不到具體轉發(fā)的端口和MAC的配對,才開始泛洪處理.但是泛洪并不是廣播幀(FF.FF.FF.FF.FF.FF).
廣播是有一個具體的行為,它的對象是整個網絡.
在ARP時往往需要有特定的主機來響應.
當然太多的廣播對于網絡是有害的.
容易造成廣播風暴.
新聞熱點
疑難解答