我們知道,區域網路採用廣播頻道進行傳輸,廣播頻道可以實現一對多的通訊。但現實中並不總是要進行一對多的通訊的,那麼如何在兩台主機之間進行一對一的通訊呢?這個問題不是那麼簡單的,我們需要考慮多個面向:
##網路介面卡(網路卡)的作用
網路介面卡也也就是我們通常所說的網路卡。主機與外界區域網路通訊時透過網路卡來適配的。因為主機與網卡間是透過並行傳輸,而網路卡與區域網路之家則是透過序列傳輸的,所以網路卡需要在兩者之間進行適配。
在網路卡的ROM(唯讀記憶體)中,寫入電腦的硬體位址即MAC位址。這個MAC位址是非常重要的,它是實現一對一通訊的關鍵。後面我們會講到。
CSMA/CD協定
######因為區域網路採用的是共享頻道,既然是共享頻道,我們就要控制主機的先發和後發的問題。因為,如果多台主機同時發送訊息,那麼就會產生混亂。這裡有個著名的區域網路協定CSMA/CD(載波監聽多路存取/碰撞偵測),就是解決這個問題的。 ######該協議是非常容易理解的,我們用一個例子來說明:在一個會場,有一些人參加會議。會議上沒有主持人,所有人都可以自由發言。但是,只有等其他人發言完畢,會場是安靜的,才可以發言。如果有多個人在同時發言,那麼同時發言的人都要結束發言,然後等待一個隨機時間後,若會場是安靜的就可再次發言了。這裡為什麼是一個隨機時間,很好理解,如果是固定時間的話,同時發言的人過了一段時間後還是會同時發言的。 #########透過MAC位址實作一對一通訊#########解決了上面的問題後,我們再看主機間是如何進行一對一通訊的。上文已經說過,網路卡上有一個MAC位址,下面就是一個MAC位址######A0-A4-C2-4B-9F-56#########它是由48位元( 6位元組)組成的,每個網路卡的MAC位址是全球唯一的,既然它是唯一的,那麼就可以透過它來進行主機間一對一的通訊。 ######區域網路中通訊的基本單位是資料幀。當局域網路中的主機A想要向同一區域網路的另一台主機B通信,那麼在A發送的資料幀首部就要寫明目的位址(B的MAC位址),然後這個資料幀就會廣播到區域網路中的所有主機,其他主機的網路卡接受這個資料幀時,查看其目的位址是否和自己的MAC位址一致,如果不一致就丟棄。這樣,具有廣播特性的區域網路就實現了一對一的通訊了。 ###
以上是區域網路中是如何實現一對一通信的詳細內容。更多資訊請關注PHP中文網其他相關文章!