Linux中的lo回环接口介绍

文章来源:http://soft.chinabyte.com/os/327/11628327.shtml

1、linux的网络接口之扫盲
  
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’接口.具体参考包过滤器的相关内容。
  
3)实验:
 本地一个进程发起连接,到一个本地的daemon监听的内网IP地址(eth1: 10.1.1.1)的端口(8085),此时在eth1上是抓不到包的,在 lo 上抓到,说明使用的是本地回环接口lo,而网络层的IP地址则是内网IP地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值