網絡概念(二)

以太網的基本知識網絡

以太網是一種爲多臺計算機可以彼此自由和廉價地相互通訊而設計的通訊技術。這種網絡的本質其實就是一根網線。spa

收發器的功能只是將不一樣網線之間的信號鏈接起來而已。設計

  當一臺計算機發送信號時,信號就會經過網線流過整個網絡,最終到達全部的設備。這就好像全部人待在一個大房間裏,任何一我的說話,全部人都可以聽到,一樣地,這種網絡中任何一臺設備發送的信號全部設備都能接收到。所以須要在信號的開頭加上接收者的信息,也就是地址。這樣一來就可以判斷信號的接收者了,與接收者地址匹配的設備就接收這個包,其餘的設備則丟棄這個包,這樣咱們的包就送到指定的目的地了。視頻

 

經過 MAC 頭部中的接收方 MAC 地址,就可以知道包是發給誰的;而經過發送方 MAC 地址,就可以知道包是誰發出的;此外,經過以太類型就能夠判斷包裏面裝了什麼類型的內容。blog

有了交換式集線器,如今信號只會流到根據 MAC 地址指定的設備,而不會到達其餘設備了。路由

路由器等網絡設備的網卡是集成在設備內部的,其電路的設計也有所不一樣,儘管結構有差別,但功能和行爲是沒有區別的。it

網卡的 ROM 中保存着全世界惟一的 MAC 地址,這是在生產網卡時寫入的。監控

網卡中保存的 MAC 地址會由網卡驅動程序讀取並分配給 MAC模塊。音頻

制定以太網標準的組織 IEEE 出於歷史緣由使用了「幀」而不是「包」,所以在以太網術語中都是說「幀」,其實咱們基本不必討論二者的區別,能夠認爲包和幀是一回事,只是說法不一樣罷了。
軟件

圖中顯示了協議棧和網卡對包的處理過程。MAC 頭部很容易被誤解爲是由網卡來處理的,實際上它是由 TCP/IP 軟件來負責的。
用電信號來表示數字信息時,採用將數據信號和時鐘信號疊加在一塊兒的方法。因爲時鐘信號是按固定頻率進行變化的,只要根據時鐘信號的變化週期,就能夠從數據信號中讀取相應的電壓和電流值,並將其還原爲 0 或 1 的比特了。這裏的重點在於如何判斷時鐘信號的變化週期。時鐘信號是以 10 Mbit/s或者 100 Mbit/s 這種固定頻率進行變化的,所以,不能一開始就發送包的數據,而是要在前面加上一段用來測量時鐘信號的特殊信號,這就是報頭的做用。

末尾的 FCS(幀校驗序列)用來檢查包傳輸過程當中因噪聲致使的波形紊亂、數據錯誤,它是一串 32 比特的序列,是經過一個公式對包中從頭至尾的全部內容進行計算而得出來的。它和磁盤等設備中使用的 CRC A 錯誤校驗碼是同一種東西,當原始數據中某一個比特發生變化時,計算出來的結果就會發生變化。在包傳輸過程當中,若是受到噪聲的干擾而致使其中的數據發生了變化,那麼接收方計算出的 FCS 和發送方計算出的 FCS 就會不一樣,這樣咱們就能夠判斷出數據有沒有錯誤。

發送信號的操做分爲兩種,一種是使用集線器的半雙工模式,另外一種是使用交換機的全雙工模式。

網卡的 MAC 模塊生成通用信號,而後由 PHY(MAU)模塊轉換成可在網線中傳輸的格式,並經過網線發送出去。

半雙工模式中,爲了不信號碰撞,首先要判斷網線中是否存在其餘設備發送的信號。若是有,則須要等待該信號傳輸完畢,由於若是在有信號時再發送一組信號,兩組信號就會發生碰撞。

PHY(MAU)的職責並非僅僅是將 MAC 模塊傳遞過來的信號經過網線發送出去,它還須要監控接收線路中有沒有信號進來。在開始發送信號以前,須要先確認沒有其餘信號進來,這時才能開始發送。
UDP協議

若是數據很短,用一個包就能裝得下。若是隻有一個包,就不用考慮哪一個包未送達了,由於所有重發也只不過是重發一個包而已,這種情下咱們就不須要 TCP 這樣複雜的機制了。並且,若是不使用 TCP,也不須要發送那些用來創建和斷開鏈接的控制包了。此外,咱們發送了數據,對方通常都會給出回覆,只要將回復的數據看成接收確認就好了,也不須要專門的接收確認包了。這種狀況就適合使用 UDP。像 DNS 查詢等交換控制信息的操做基本上均可以在一個包的大小範圍內解決,這種場景中就能夠用 UDP 來代替TCP。

還有另外一個場景會使用 UDP,就是發送音頻和視頻數據的時候。音頻和視頻數據必須在規定的時間內送達,一旦送達晚了,就會錯過播放時機,致使聲音和圖像卡頓。若是像 TCP 同樣經過接收確認響應來檢查錯誤並重發,重發的過程須要消耗必定的時間,所以重發的數據極可能已經錯過了播放的時機。一旦錯過播放時機,重發數據也是沒有用的,由於聲音和圖像已經卡頓了,這是沒法挽回的。固然,咱們能夠用高速線路讓重發的數據可以在規定的時間內送達,但這樣一來可能要增長几倍的帶寬才行。

相關文章
相關標籤/搜索