Linux中的lo回环接口
来源:互联网 发布:2015全国交通事故数据 编辑:程序博客网 时间:2024/06/06 09:41
引言————————————————————————————-
我们在Linux执行ifconfig指令时会发现显示两个设备的信息,一般来说,一个是网卡eth0,一个就是lo,具体系统可能会有差别。我们知道eth0是以太网卡,而对于lo似乎不太当回事。lo其实是一个系统虚拟的环回接口,它的IP地址是127.0.0.1,利用这个接口可以实现系统内部发送和接收数据,所以一般情况下我们使用下面指令:
root@localhost ~# ping 127.0.0.1
是可以ping通的,因为这其实就是系统内部建立连接。
(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(…)实现的。
(5)lo接口的作用
假如包是由一个本地进程为另一个本地进程产生的, 它们将通过外出链的’lo’接口,然后返回进入链的’lo’接口.具体参考包过滤器的相关内容。
实验:
本地一个进程发起连接,到一个本地的daemon监听的内网IP地址(eth1: 10.1.1.1)的端口(8085),此时在eth1上是抓不到包的,在 lo 上抓到,说明使用的是本地回环接口lo,而网络层的IP地址则是内网IP地址.
end
2017-01-20 MrBread
- linux中的lo回环接口
- linux中的lo回环接口
- Linux中的lo回环接口
- Linux中的lo回环接口详细介绍
- Linux中的lo回环接口详细介绍
- Linux中的lo回环接口介绍
- Linux的回环接口lo
- LINUX总结第16篇:Linux中的lo回环接口详细介绍
- 回环网络接口lo的自己的一点儿认识
- 为什么虚拟机上刚装的centos7只有lo回环网络接口?
- 嵌入式开发板arm + Linux的本地回环路由lo
- 关于Linux的本地回环路由lo [127.0.0.1 ]
- linux找不到eth0,只有lo回环口的解决方法
- 什么是lo本地回环?
- ifconfig 只有lo 回环地址
- 回环接口
- 回环接口
- LO接口
- 问题 E: 捡石子(哈夫曼树思想)
- 经典的二分法
- 为什么程序员一定要会用Google和Stack Overflow?
- AIDL实践二:自定义数据类型
- java基本概念-验证码
- Linux中的lo回环接口
- 第65篇 摄像头屏蔽(五)及PHP session变量
- 第十五章 套接字
- H264视频通过RTMP直播 代码 ACC,H264文件
- swift 中 as as! as? 的区别
- Android Studio主题设置、颜色背景配置
- mysql主从复制环境搭建
- vim 常用命令示意图
- [转]Linux下调用system()函数导致的问题