linux的網路介面之掃盲

來源:互聯網
上載者:User

(1)網路介面的命名

  這裡並不存在一定的命名規範,但網路介面名字的定義一般都是要有意義的。例如:

  eth0: ethernet的簡寫,一般用於乙太網路介面。

  wifi0:wifi是無線區域網路,因此wifi0一般指無線網路介面。

  ath0: Atheros的簡寫,一般指Atheros晶片所包含的無線網路介面。

  lo:   local的簡寫,一般指本地環回介面。

  (2)網路介面如何工作

  網路介面是用來發送和接受資料包的基本裝置。

  系統中的所有網路介面組成一個鏈狀結構,應用程式層程式使用時按名稱調用。

  每個網路介面在linux系統中對應於一個struct net_device結構體,包含name,mac,mask,mtu…資訊。

  每個硬體網卡(一個MAC)對應一個網路介面,其工作完全由相應的驅動程式控制。

  (3)虛擬網路介面

  虛擬網路介面的應用範圍非常廣泛。最著名的當屬“lo”了,基本上每個linux系統都有這個介面。

  虛擬網路介面並不真實地從外界接收和發送資料包,而是在系統內部接收和發送資料包,因此虛擬網路介面不需要驅動程式。

  虛擬網路介面和真實存在的網路介面在使用上是一致的。

  (4)網路介面的建立

  硬體網卡的網路介面由驅動程式建立。而虛擬網路介面由系統建立或通過應用程式層程式建立。

  驅動中建立網路介面的函數是:register_netdev(struct net_device *)或者register_netdevice(struct net_device *)。

  這兩個函數的區別是:register_netdev(…)會自動產生以”eth”作為打頭名稱的介面,而register_netdevice(…)需要提前指定介面名稱.事實上,register_netdev(…)也是通過調用register_netdevice(…)實現的。

  2、LINUX中的lo(迴環介面)

  1) 什麼是LO介面?

  在LINUX系統中,除了網路介面eth0,還可以有別的介面,比如lo(本地環路介面)。

  2) LO介面的作用是什嗎?

  假如包是由一個本地進程為另一個本地進程產生的, 它們將通過外出鏈的’lo’介面,然後返回進入鏈的’lo’介面.具體參考包過濾器的相關內容。

  PART2 實驗:

  本地一個進程發起串連,到一個本地的daemon監聽的內網IP地址(eth1: 10.1.1.1)的連接埠(8085),此時在eth1上是抓不到包的,在 lo 上抓到,說明使用的是本地迴環介面lo,而網路層的IP地址則是內網IP地址.

原文連結: http://linux.chinaitlab.com/admi...

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.