在linux中,lo是local的簡寫,是指本地環回介面;利用這個介面可以實現系統內部發送和接收數據,主要作用是檢測本機的網路配置、提供某些應用程式運行時需調用伺服器上的資源。
本教學操作環境:linux7.3系統、Dell G3電腦。
lo: local的簡寫,一般指本地環回介面。
lo介面的作用
本地一個進程發起連接,到一個本地的daemon監聽的內網IP位址(eth1: 10.1.1.1)的連接埠(8085 ),此時在eth1上是抓不到包包的,在lo 上抓到,說明使用的是本地回環介面lo,而網路層的IP位址則是內網IP位址.
lo其實是一個系統虛擬的環回接口,它的IP地址是127.0.0.1,利用這個接口可以實現系統內部發送和接收數據,所以一般情況下我們使用:ping 127.0.0.1 是可以ping通的,因為這其實就是系統內部建立連線。
127.0.0.1,通常稱為本機回環位址(Loop back address),不屬於任何一個有類別位址類別。它代表設備的本地虛擬接口,所以預設被看作是永遠不會宕掉的接口。通常在不安裝網路卡前就可以ping通這個本地回環位址。一般都會用來檢查本地網路協定、基本資料介面等是否正常的。
其主要功能有兩個:
一是測試本機的網路配置,能PING通127.0.0.1說明本機的網路卡和IP協定安裝都沒有問題;
另一個作用是某些SERVER/CLIENT的應用程式在執行時間需呼叫伺服器上的資源
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(…)實現的。
相關推薦:《Linux影片教學》
以上是linux中lo是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!