网络接口
网络接口的命名
网络接口并不存在一定的命名规范,但网络接口名字的定义一般都是要有意义的。
例如:
- eth0: ethernet的简写,一般用于以太网接口。
- wifi0:wifi是无线局域网,因此wifi0一般指无线网络接口。
- ath0: Atheros的简写,一般指Atheros芯片所包含的无线网络接口。
- lo: local的简写,一般指本地环回接口。
网络接口如何工作
- 网络接口是用来发送和接受数据包的基本设备。
- 系统中的所有网络接口组成一个链状结构,应用层程序使用时按名称调用。
- 每个网络接口在linux系统中对应于一个struct net_device结构体,包含name,mac,mask,mtu…信息。
- 每个硬件网卡(一个MAC)对应一个网络接口,其工作完全由相应的驱动程序控制。
虚拟网络接口
- 虚拟网络接口的应用范围非常广泛。最着名的当属“lo”了,基本上每个linux系统都有这个接口。
- 虚拟网络接口并不真实地从外界接收和发送数据包,而是在系统内部接收和发送数据包,因此虚拟网络接口不需要驱动程序。
- 虚拟网络接口和真实存在的网络接口在使用上是一致的
ifconfig
执行命令:ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255
inet6 fe80::5054:ff:fe4d:77d3 prefixlen 64 scopeid 0x20<link>
ether 52:54:00:4d:77:d3 txqueuelen 1000 (Ethernet)
RX packets 778 bytes 88974 (86.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets