【转】 linux的网络接口之扫盲

转自:http://blog.csdn.net/zhangxinrun/article/details/6820433

(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’接口.具体参考包过滤器的相关内容。

  PART2 实验:

  本地一个进程发起连接,到一个本地的daemon监听的内网IP地址(eth1: 10.1.1.1)的端口(8085),此时在eth1上是抓不到包的,在 lo 上抓到,说明使用的是本地回环接口lo,而网络层的IP地址则是内网IP地址.

原文链接: http://linux.chinaitlab.com/admi...

转载于:https://www.cnblogs.com/happygirl-zjj/p/6846360.html

【转】 linux的网络接口之扫盲相关推荐

  1. linux系统修改接口名称,linux – 改变网络接口的名称,debian wheezy

    我正在尝试为接口设置名称,"ethLan"而不是eth0.这样做还可以确保if的名称在每次重新启动和内核时都保持一致. 我按照他们的说法做了,并将ethLan mac添加到/ et ...

  2. linux创建环回网卡,Linux 环回网络接口

    在开发或者调试时,我们经常需要和本地的服务器进行通信,例如启动nginx之后,在浏览器输入lcoalhost或者127.0.0.1就可以访问到本机上面的http服务. Linux是如何访问本机IP的? ...

  3. Linux: lo 网络接口

    文章目录 lo 网络接口上是否可用设置不添加IP:127.0.0.1 手动删除127.0.0.1 ip addr del 127.0.0.1 dev lo 假如 lo 网络接口上是否可用设置不添加IP ...

  4. linux 新增网络接口,为网络接口添加多IP - CentOS 7系统配置上的变化解析_Linux教程_Linux公社-Linux系统门户网站...

    一.nmtui手工添加IP 看一下当前网络设备的IP,为了精简指令输出,指令就要复杂一些了: [root@CentOS7 ~]# nmcli -t -f IP4.ADDRESS dev show en ...

  5. Linux中的lo回环接口详细介绍

    1.linux的网络接口之扫盲 (1)网络接口的命名 这里并不存在一定的命名规范,但网络接口名字的定义一般都是要有意义的.例如: eth0: ethernet的简写,一般用于以太网接口. wifi0: ...

  6. 【内核】嵌入式linux内核的五个子系统

    Perface Linux内核主要由进程调度(SCHED).内存管理(MM).虚拟文件系统(VFS).网络接口(NET)和进程间通信(IPC)5个子系统组成,如图1所示. 图1 Linux内核的组成部 ...

  7. python 测试linux dev文件,Linux测试开发人员要掌握的Linux命令有哪些?

    今天小编要跟大家分享的文章是关于Linux测试开发人员要掌握的学习Linux和 一.文件和目录相关 文件和目录相关 1.进入目录--cd cd /usr/local //进入/usr/local这个目 ...

  8. linux内核_Linux驱动编程的本质就是Linux内核编程

    由于Linux驱动编程的本质属于Linux内核编程,因此我们非常有必要熟悉Linux内核以及Linux内核的特点. 这篇文章将会帮助读者打下Linux驱动编程的基础知识. 本篇文章分为如下三个小节进行 ...

  9. linux内核源码树

    linux内核源码树扫盲分析 sudo apt-get install tree //下载tree tree //输入指令(该指令可以检查第三方工具包里的内容是否完整) 可以看到如图的树状结构: li ...

最新文章

  1. php打印出来乱码_PHP输出中文乱码的解决方法(转载)
  2. SemSegMap :基于3D点云语义信息的定位
  3. [算法][递归] 棋盘覆盖
  4. linux下的ps aux | grep -c php-fpm 与netstat -napo |grep php-fpm | wc -l 命令
  5. c++可达矩阵及连通性_3.9秒破百,矩阵式LED大灯加持,这台国产车可真香
  6. ubuntu9.10安装显卡驱动
  7. CH - 6201 走廊泼水节(最小生成树,水题)
  8. CF1497C k-LCM
  9. linux gcc 7.3.0安装,升级gcc到7.3.0
  10. 前凸后翘的步进电机调速算法~
  11. 【opencv】实时人脸+眼睛+微笑检测
  12. Burpsuite工具使用
  13. SAP License:ERP概述
  14. C#_未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序
  15. 医疗图像配准-点云配准总结
  16. Oracle表添加时间字段(执行insert、update时,时间字段自动插入当前系统时间)
  17. 计算机时间校对更改原因,计算机时间校准方法
  18. PCB多层板为什么都是偶数层
  19. centos中设置邮件发送
  20. 青年是科学的未来:JGG诚聘青年编委

热门文章

  1. VS2010/MFC编程入门之四十四:定时器Timer
  2. C# 根据年、月、周、星期获得日期等
  3. 告别.net ! 2年多了,舍不得!
  4. ECCV 2020 论文大盘点-人员重识别(ReID)篇
  5. 管天管地管空气!谷歌探索用CV估算空气质量
  6. 新年开篇,一起成长,送书 7 本!TF + PyTorch方向
  7. CVPR 2019 IIAI 目标计数
  8. Python中的实用小技巧,可以省下不是事情,喜欢记得收下
  9. 多iframe下的html同名id,获得同级iframe页面的指定ID元素的几种实现方法
  10. 345所开设人工智能本科专业高校名单大全