linux中l(wèi)o是什么

linux中,lo是local的簡寫,是指本地環(huán)回接口;利用這個(gè)接口可以實(shí)現(xiàn)系統(tǒng)內(nèi)部發(fā)送和接收數(shù)據(jù),主要作用是檢測本機(jī)的網(wǎng)絡(luò)配置、提供某些應(yīng)用程序在運(yùn)行時(shí)需調(diào)用服務(wù)器上的資源。

linux中l(wèi)o是什么

本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。

linux中l(wèi)o是什么

lo: local的簡寫,一般指本地環(huán)回接口。

lo接口的作用

本地一個(gè)進(jìn)程發(fā)起連接,到一個(gè)本地的daemon監(jiān)聽的內(nèi)網(wǎng)IP地址(eth1: 10.1.1.1)的端口(8085),此時(shí)在eth1上是抓不到包的,在 lo 上抓到,說明使用的是本地回環(huán)接口lo,而網(wǎng)絡(luò)層的IP地址則是內(nèi)網(wǎng)IP地址.

lo其實(shí)是一個(gè)系統(tǒng)虛擬的環(huán)回接口,它的IP地址是127.0.0.1,利用這個(gè)接口可以實(shí)現(xiàn)系統(tǒng)內(nèi)部發(fā)送和接收數(shù)據(jù),所以一般情況下我們使用:ping 127.0.0.1?是可以ping通的,因?yàn)檫@其實(shí)就是系統(tǒng)內(nèi)部建立連接。

127.0.0.1,通常被稱為本地回環(huán)地址(Loop back address),不屬于任何一個(gè)有類別地址類。它代表設(shè)備的本地虛擬接口,所以默認(rèn)被看作是永遠(yuǎn)不會(huì)宕掉的接口。通常在不安裝網(wǎng)卡前就可以ping通這個(gè)本地回環(huán)地址。一般都會(huì)用來檢查本地網(wǎng)絡(luò)協(xié)議、基本數(shù)據(jù)接口等是否正常的。

其主要作用有兩個(gè):

一是測試本機(jī)的網(wǎng)絡(luò)配置,能PING通127.0.0.1說明本機(jī)的網(wǎng)卡和IP協(xié)議安裝都沒有問題;

另一個(gè)作用是某些SERVER/CLIENT的應(yīng)用程序在運(yùn)行時(shí)需調(diào)用服務(wù)器上的資源

1.網(wǎng)絡(luò)接口的命名

這里并不存在一定的命名規(guī)范,但網(wǎng)絡(luò)接口名字的定義一般都是要有意義的。例如:

eth0:?ethernet的簡寫,一般用于以太網(wǎng)接口。

wifi0:wifi是無線局域網(wǎng),因此wifi0一般指無線網(wǎng)絡(luò)接口。

ath0:?Atheros的簡寫,一般指Atheros芯片所包含的無線網(wǎng)絡(luò)接口。

lo:?local的簡寫,一般指本地環(huán)回接口。

2.網(wǎng)絡(luò)接口如何工作

網(wǎng)絡(luò)接口是用來發(fā)送和接受數(shù)據(jù)包的基本設(shè)備。

系統(tǒng)中的所有網(wǎng)絡(luò)接口組成一個(gè)鏈狀結(jié)構(gòu),應(yīng)用層程序使用時(shí)按名稱調(diào)用。

每個(gè)網(wǎng)絡(luò)接口在linux系統(tǒng)中對(duì)應(yīng)于一個(gè)Struct?net_device結(jié)構(gòu)體,包含name,mac,mask,mtu…信息。

每個(gè)硬件網(wǎng)卡(一個(gè)MAC)對(duì)應(yīng)一個(gè)網(wǎng)絡(luò)接口,其工作完全由相應(yīng)的驅(qū)動(dòng)程序控制。

3.虛擬網(wǎng)絡(luò)接口

虛擬網(wǎng)絡(luò)接口的應(yīng)用范圍非常廣泛。最著名的當(dāng)屬“l(fā)o”了,基本上每個(gè)linux系統(tǒng)都有這個(gè)接口。

虛擬網(wǎng)絡(luò)接口并不真實(shí)地從外界接收和發(fā)送數(shù)據(jù)包,而是在系統(tǒng)內(nèi)部接收和發(fā)送數(shù)據(jù)包,因此虛擬網(wǎng)絡(luò)接口不需要驅(qū)動(dòng)程序。

虛擬網(wǎng)絡(luò)接口和真實(shí)存在的網(wǎng)絡(luò)接口在使用上是一致的。

4.網(wǎng)絡(luò)接口的創(chuàng)建

硬件網(wǎng)卡的網(wǎng)絡(luò)接口由驅(qū)動(dòng)程序創(chuàng)建。而虛擬的網(wǎng)絡(luò)接口由系統(tǒng)創(chuàng)建或通過應(yīng)用層程序創(chuàng)建。

驅(qū)動(dòng)中創(chuàng)建網(wǎng)絡(luò)接口的函數(shù)是:register_netdev(struct?net_device?*)或者register_netdevice(struct?net_device?*)。

這兩個(gè)函數(shù)的區(qū)別是:register_netdev(…)會(huì)自動(dòng)生成以”eth”作為打頭名稱的接口,而register_netdevice(…)需要提前指定接口名稱.事實(shí)上,register_netdev(…)也是通過調(diào)用register_netdevice(…)實(shí)現(xiàn)的。

相關(guān)推薦:《Linux視頻教程

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊13 分享