乙太網通信原理
乙太網中所有的站點共享一個通信信道,在傳送數據的時候,站點將自己要傳送的數據幀在這個信道上進行廣播,乙太網上的所有其他站點都能夠接收到這個幀,他們通過比較自己的MAC地址和數據幀中包含的目的地MAC地址來判斷該幀是否是發往自己的,一旦確認是發給自己的,則複製該幀做進一步處理。
因為多個站點可以同時向網路上傳送數據,在乙太網中使用了CSMA/CD協定來減少和避免衝突。需要傳送數據的工作站要先偵聽網路上是否有數據在傳送,如果有的只有檢測到網路空閒時,工作站才能傳送數據。當兩個工作站發現網路空閒而同時發出數據時,就會發生衝突。這時,兩個站點的傳送操作都遭到破壞,工作站進行1-堅持退避操作。退避時間的長短遵照二進制指數隨機時間退避算法來確定。
乙太網中的幀格式定義了站點如何解釋從物理層傳來的二進制串,即如何在收到的數據幀中分離出各個不同含義的欄位。因為歷史發展的原因,現在存在著多個乙太網幀格式,包括了DIX(DEC,Intel,Xerox三家公司)和IEEE 802.3分別定義的不同的幾種幀格式,但是現在TCP/IP網際網路體系結構中廣泛使用的是DIX於1982年定義的Ethernet V2標準中所定義的幀格式,它是現在乙太網的事實標準。
Ethernet V2幀結構包括6位元組的源站MAC地址、6位元組的目標站點MAC地址、2位元組的協定類型欄位、數據欄位以及幀校驗欄位,MAC地址是一個六個位元組長的二進制序列,全球唯一的標識了一個網卡。
乙太網幀中各個欄位含義如下:
(1)前同步信號欄位。包括七個位元組的同步符和一個的起始符。同步字元是由7個0和1交替的位元組組成,而起始符是三對交替的0和1加上一對連續的l組成的一個位元組。這個欄位其實是物理層的內容,其長度並不計算在乙太網長度裡面。前同步信號用於在網路中通知其他站點的網卡建立位同步,同時告知網路中將有一個數據幀要傳送。
(2)目的站點地址。目的站點的MAC地址,用於通知網路中的接收站點。目的占地MAC地址的左數第一位如果是0,表明目標對象是一個單一的站點,如果是1表明接收對象是一組站點,左數第二位為0表示該MAC地址是由IEEE組織統一分配的,為1表明該地址是自行分配的。
(3)源站地址。幀中包含的傳送幀的站點的MAC地址,這是一個6位元組的全球唯一的二進制序列,並且最左的一位永遠是0。
(4)協定類型欄位。乙太網幀中的16位的協定類型的欄位用於標識數據欄位中包含的高級網路協定的類型,如TCP、IP、ARP、IPX等。
(5)數據欄位。數據欄位包含了來自上層協定的數據,是以太幀的有效載荷部分。為了達到最小幀長,數據欄位的長度至少應該為46位元組,等於最小幀長減去源地址和目的地址幀校驗序列以及協定類型欄位等的長度。同時乙太網規定了數據欄位的最大長度為1500位元組。
(6)幀校驗欄位。幀校驗欄位是一個32位的循環冗餘校驗碼,校驗的範圍不包括前同步欄位。
乙太網通信協定
現在比較通用的乙太網通信協定是TCP/IP協定,TCP/IP協定與開放互聯模型ISO相比,採用了更加開放的方式,它已經被美國國防部認可,並被廣泛套用於實際工程。TCP/IP協定可以用在各種各樣的信道和底層協定(如T1、X.25以及RS一232串列接口)之上。確切地說,TCP/IP協定是包括TCP協定、IP協定、UDP(User Datagram Proto—c01)協定、ICMP(Internet Control Message Protoc01)協定和其他一些協定的協定組。
TCP/IP協定並不完全符合OSI的七層參考模型。傳統的開放式系統互連參考模型,是一種通信協定的七層抽象參考模型,其中每一層執行某一特定任務。該模型的目的是使各種硬體在相同的層次上相互通信。而TCP/IP通訊協定採用了四層結構,每一層都呼叫它的下一層所提供的網路來完成自己的需求。這四層分別為:
(1)套用層:應用程式間溝通的層,如簡單電子郵件傳輸協定(SMTP)、檔案傳輸協定(FTP)、網路遠程訪問協定(Telnet)等。
(2)傳輸層:在此層中,它提供了節點間的數據傳送服務,如傳輸控制協定(TCP)、用戶數據包協定(UDP)等,TCP和UDP給數據包加入傳輸數據並把它傳輸到下一層中,這一層負責傳送數據,並且確定數據已被送達並接收。
(3)網路層:負責提供基本的數據包傳送功能,讓每一塊數據包都能夠到達目的主機(但不檢查是否被正確接收),如網際協定(IP)。
(4)接口層:對實際的網路媒體的管理,定義如何使用實際網路(如Ethernet、Serial Line等)來傳送數據。
套用
基於乙太網通信的斷路器智慧型控制器設計
針對智慧型電器的網路化發展趨勢,提出了一種基於乙太網通信的斷路器智慧型控制器的設計方案:以DSP晶片TMS320F2812為核心,並選用RTL8019AS進行乙太網通信控制。
該設計採用乙太網控制器 RTL 8019AS與 T MS 320F 2812相 連,通過網路隔離器後,接入乙太網中。 RTL 8019AS是一種兼容 NE 2000的高度集成的乙太網控制器,它實現了乙太網的媒介訪問層和物理層的功能,包括 MAC數據幀的組裝/拆分與收發、地址識別、CRC編碼校驗、曼徹斯特編解碼、接收噪聲抑制、輸出脈衝成形、逾時重傳、鏈路完整性檢測、信號極性檢測與糾正等 。
基於乙太網通信的遙控鍵盤設計與實現
在某些情況下, 程式開發人員需要對計算機的鍵盤進行 控制, 此種控制分為兩種情況, 一種情況是在本地進行計算 機鍵盤控制, 比如 Windows 作業系統自帶的軟鍵盤, 可以實現計算機鍵盤的操作效果; 另外一種情況是在遠端對計算機鍵盤進行控制, 比如無線鍵盤, 但是可能存在信號遮擋和距離受限問題。
由此提出了了一種基於乙太網通信的有線遙控鍵盤, 可以實現對計算機鍵盤進行遠距離控制。 該遙控鍵盤是通過有線的方式, 實現對鍵盤的遠距離控制。
遙控鍵盤可以是用戶自行設計的硬體實體鍵盤, 也可以是遠端軟體鍵盤或者遠端鍵盤控制程式模組。 遙控鍵盤的使用方式為:將遙控鍵盤通過乙太網和實體計算機進行連線, 用戶通過遙控鍵盤上的操作, 實現對計算機的操作控制。