`

Linux 网络接口

    博客分类:
  • Wifi
阅读更多
转自http://cchxm1978.blog.163.com/blog/static/354282532010101510819656/
Linux中的lo回环接口详细介绍

Linux基础 2010-11-15 10:08:19 阅读125 评论0   字号:大中小 订阅
 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’接口.具体参考包过滤器的相关内容。

  PART2 实验:

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

相关推荐

    Linux网络编程 Linux网络编程.TXT

    ### Linux网络编程核心知识点解析 #### 一、网络模型与协议概述 - **OSI七层模型**:从物理层到应用层,详述了数据在网络中的传输过程。 - **Internet模型**:简化了OSI模型,将网络分为四层:应用层、传输层、...

    Linux网络编程,包括tcp/upd,select/poll/epoll/pdf

    linux网络编程 pdf # Linux网络编程基础 Linux网络编程是指在Linux操作系统上开发网络应用程序的过程。它主要涉及到TCP/UDP协议以及select/poll/epoll等多路复用技术。 TCP/UDP协议是网络通信的基础,其中TCP协议...

    Linux网络编程教程pdf完整版

    1. **网络编程基础**:首先,书中会介绍网络通信的基本概念,包括TCP/IP协议栈、套接字(socket)接口、端口号以及网络地址(如IPv4和IPv6)等。了解这些基础知识是进行网络编程的前提。 2. **套接字编程**:作为...

    linux网络编程(linux网络编程入门书籍)

    Linux网络编程是操作系统领域中的一个重要话题,特别是在服务器端软件开发中。这门技术涉及如何在Linux环境下编写程序,实现网络通信,包括TCP/IP协议栈、套接字编程、并发服务处理等多个方面。以下是对这个主题的...

    Linux网络编程.pdf

    《Linux网络编程》一书深入探讨了在网络环境中利用Linux操作系统进行高效编程的技术和理论,尤其适合于希望深入了解网络编程原理及实践的读者。本书不仅涵盖了网络编程的基础理论,还提供了丰富的示例代码,帮助读者...

    linux 网络编程.pdf

    linux 网络编程.pdf

    Linux网络编程-基础

    Linux 网络编程基础 Linux 网络编程是一种在 Linux 操作系统下进行网络通信的编程方式,通过使用套接字(socket)和各种网络函数来实现网络通信。在 Linux 系统中,网络编程可以分为客户端和服务器端两个部分,...

    Linux网络编程

    《Linux网络编程》内容简介:Linux是目前最流行的开源操作系统,网络功能在Linux下占有核心的地位。《Linux网络编程》循序渐进地从应用层到Linux内核、从基本知识点到综合案例,向读者介绍如何在Linux下进行网络程序...

    Linux网络编程(第2版)随书源代码.rar

    《Linux网络编程(第2版)》是一本深入探讨Linux环境下网络编程的权威书籍,它为读者揭示了网络通信的核心原理和技术。随书附带的源代码是学习和实践网络编程的重要参考资料,可以帮助读者更直观地理解书中的理论...

    Linux网络编程.rar

    linux网络编程

    Linux网络编程1.pdf

    Linux网络编程是计算机...以上知识点总结了Linux网络编程的主要内容,包括进程间通信的方法、套接字编程接口、网络安全问题、以及更高级的网络编程技术。掌握这些知识对于开发高性能、安全可靠的网络应用程序至关重要。

    Linux网络编程.pdf.rar

    学习Linux网络编程首先要理解其系统调用接口和进程间通信机制,这是编写网络应用的基础。 二、网络基础知识 在深入编程之前,你需要了解网络的基本概念,如OSI七层模型、TCP/IP四层模型以及各层的功能。特别是TCP...

    linux网络编程代码

    Linux网络协议栈遵循TCP/IP模型,包括链路层、网络层、传输层和应用层。在编程中,需要了解如ARP(地址解析协议)、IP(网际协议)、TCP(传输控制协议)和UDP(用户数据报协议)等协议的工作流程。TCP提供可靠的...

    Linux网络编程_张斌.rar

    《Linux网络编程》是张斌先生的一部专著,深入浅出地讲解了在Linux操作系统环境下进行网络编程的各种技术和实践。这本书涵盖了网络编程的基础概念、协议、API使用以及实际问题的解决方案,对于想要掌握Linux网络编程...

    linux网络编程-源代码.rar

    《Linux网络编程》一书是IT领域中关于操作系统与网络通信的经典教材,它深入探讨了在Linux环境下如何进行网络编程,涵盖了从低级socket接口到高级应用层协议的实现。这个压缩包“linux网络编程-源代码.rar”包含了该...

    linux网络编程 代码 加电子书

    总结起来,Linux网络编程是一个深度和广度兼具的领域,包括TCP/IP协议的理解、Linux网络API的使用、进程间通信的实现以及实践中的问题解决。结合电子书和源代码,学习者可以全面深入地掌握这一技术,并应用于实际...

    Linux网络编程一步一步学.rar

    6. **网络安全**:理解SSL/TLS加密机制,以及如何在Linux网络程序中实现安全通信,是现代网络编程不可或缺的一部分。 7. **网络性能优化**:如何通过缓冲区管理、TCP选项调整、负载均衡等手段来优化网络应用性能也...

    linux网络编程.ppt

    UNIX的API接口对Linux有很大影响,Linux作为一个类Unix系统,其网络编程接口与UNIX高度一致。 1.2.2 MINIX操作系统 MINIX是另一个启发Linux的操作系统,由荷兰阿姆斯特丹的Andrew S. Tanenbaum教授创建,也是一个...

    Linux网络编程pdf

    3. **Linux网络编程**: 这部分可能涵盖了网络协议栈、套接字编程、网络服务开发等内容。开发者会学习如何使用socket API进行客户端和服务端的编程,理解TCP/IP协议族的工作原理,包括TCP和UDP连接的建立与关闭,...

Global site tag (gtag.js) - Google Analytics