在开发或者调试时,咱们常常须要和本地的服务器进行通信,例如启动nginx之后,在浏览器输出lcoalhost或者127.0.0.1就能够拜访到本机下面的http服务。

Linux是如何拜访本机IP的?

大多数操作系统都在网络层实现了环回能力,通常是应用一个虚构的环回网络接口来实现。这个虚构的环回网络接口看着像是一个实在的网卡,实际上是操作系统用软件模仿的,它能够通过TCP/IP与同一台主机上的其余服务进行通信,以127结尾的IPv4地址就是为它保留的,支流Linux操作系统为环回网卡调配的地址都是127.0.0.1,主机名是localhost。

环回网络接口之所以被称之为环回网络接口,是因为从本机发送到本机任意一个IP的数据报文都会在网络层交给环回网络接口,不再下发到数据链路层进行解决,环回网络接口间接发送回网络层,最终交由应用层软件程序进行解决。这种形式对于性能测试十分有用,因为省去了硬件的开销,能够间接测试协定栈软件所须要的工夫。

那环回网络接口是如何判断目标IP是否为本机地址的呢?

答案就是网络层在进行路由转发的时候会先查本地的路由表,发现是本机IP后交给环回网络接口。查看本地路由表的命令如下:

ip route show table local

输入内容如下:

broadcast 10.141.128.0 dev eth0 proto kernel scope link src 10.141.155.131

local 10.141.155.131 dev eth0 proto kernel scope host src 10.141.155.131

broadcast 10.141.191.255 dev eth0 proto kernel scope link src 10.141.155.131

broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1

local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1

local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1

其中local结尾的便是本地IP,dev前面是网卡名称。

查完了本地路由表之后会再查主路由表,也就是咱们常常操作的路由表。

ip route show table main

输入内容如下

default via 10.141.128.1 dev eth0 proto static metric 100

10.141.128.0/18 dev eth0 proto kernel scope link src 10.141.155.131 metric 100

环回网络接口

当初咱们再来看下环回网络接口

ifconfig lo

输入

lo: flags=73 mtu 65536

inet 127.0.0.1 netmask 255.0.0.0

inet6 ::1 prefixlen 128 scopeid 0x10

loop txqueuelen 1000 (Local Loopback)

RX packets 1554227 bytes 123327716 (117.6 MiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 1554227 bytes 123327716 (117.6 MiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

能够看到本地环回接口的IPv4地址是127.0.0.1,子网掩码是255.0.0.0,对应A类网络号127,乏味的是当咱们拜访 127.0.0.1-127.255.255.254之间的任意一个地址都会拜访到本机。

IPv6地址::1,前缀是128位,示意只有一个地址。

环回网络接口的以后MTU是64KB,不过最高能够设置到2GB,真是恐怖如斯。

上面几条RX,TX结尾的别离代表收发到的数据报文个数和大小以及错包、丢包、溢出次数和有效帧。

FAQ

虚构网卡的IP属于本机IP吗?

属于,因为与宿主机器共用同一个网络协议栈。

宿主机器上创立netns,netns外部的IP属于本机IP吗?

不属于,因为netns领有独立的网络协议栈,在netns外部也能够看到它自身的环回网络接口。

本文首发我的微信公众号:我在对面的角落

欢送关注,接管第一工夫更新告诉。

linux网口环回测试程序,关于linux:Linux-环回网络接口相关推荐

  1. linux网口初始化_深入理解Linux网络技术内幕——网络设备初始化

    概述 内核的初始化过程过程中,与网络相关的工作如下所示: 内核引导时执行start_kernel,start_kernel结束之前会调用rest_init,rest_init初始化内核线程init(在 ...

  2. linux练习 串口跟进程6,linux下串口测试程序

    linux下串口测试程序 通过简单的参数配置,执行文件+串口号+波特率 #include stdio.h #include stdlib.h #include unistd.h #include sy ...

  3. 转载:ZYNQ+linux网口调试笔记(1)PS-GEM0

    ZYNQ+linux网口调试笔记(1)PS-GEM0 转载原文:https://www.jianshu.com/p/a4e25e8b2f5e 开发环境 Windows SDK 2017.4 Ubunt ...

  4. linux有关网络服务的接口,linux系统有关网络服务接口定义是哪个?

    浮云间 (1)网络接口的命名 这里并不存在一定的命名规范,但网络接口名字的定义一般都是要有意义的.例如: eth0: ethernet的简写,一般用于以太网接口. wifi0:wifi是无线局域网,因 ...

  5. linux ip命令_如何在Linux上使用ip命令

    linux ip命令 Fatmawati Achmad Zaenuri/Shutterstock Fatmawati Achmad Zaenuri / Shutterstock You can con ...

  6. linux编译内核实验,实验六 Linux内核编译实验.doc

    实验六 Linux内核编译 讲师:杨行 [实验目的] 1.掌握Linux内核编译 2.了解Linux内核Makefile 3.了解Linux内核Kbuild系统 [实验原理] 网站可以下载标准内核文件 ...

  7. linux误删文件咋恢复,恢复Linux误删文件

    恢复Linux误删文件 目录方法一 方法二 不小心执行了rm删除了某些文件,是有点倒霉.不过我一般都会设置alias rm='rm -i'在删除的时候需要输入Y才能真正删除,当然此时用rm -f那也会 ...

  8. linux cached释放_正点原子Linux第四十一章嵌入式Linux LED驱动开发实验

    1)资料下载:点击资料即可下载 2)对正点原子Linux感兴趣的同学可以加群讨论:935446741 3)关注正点原子公众号,获取最新资料更新 第四十一章嵌入式Linux LED驱动开发实验 上一章我 ...

  9. 【正点原子Linux连载】第四十一章 嵌入式Linux LED驱动开发实验 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  10. Linux 学习--一篇就学懂Linux(万字长文)

    Linux 学习笔记 Linux 学习笔记 一. 常用命令 LINUX常用操作命令和命令行编辑快捷键 终端快捷键: Ctrl + a/Home 切换到命令行开始 Ctrl + e/End 切换到命令行 ...

最新文章

  1. mysql shharding_mysql 技术内幕 的示例数据库
  2. 传苹果产品总设计师欲离职 地位堪比乔布斯
  3. Python 数据科学手册 5.7 支持向量机
  4. dreamwave php,thinkphp+dreamwaver技巧
  5. java redirect 超时_java – Spring Security 3.0重定向到超时的页面
  6. JDK动态代理执行过程分析
  7. php是什么电器元件,第三代计算机采用的主要电子元器件是什么
  8. java向数据库添加中文乱码_java向数据库中插入中文出现乱码
  9. Mac苹果电脑怎么调整磁盘区域的大小
  10. linux 相机,linux下使用大恒相机实时运行ORB-SLAM
  11. 11微服务认证与授权
  12. linux les命令,Linux用户和组命令
  13. 复用-组合、继承、代理区别和用法
  14. mysql项目练习_mysql练习项目
  15. Matlab 瑞利信道仿真
  16. OSPF建立邻居、邻接关系
  17. 解决论文中图片公式乱跑、显示不全问题
  18. 运营入门——超级运营术
  19. 广数980tc3尾座锁定代码_数控车床的编程方法
  20. UE4 光照烘焙准备

热门文章

  1. matlab等势面,利用Matlab模拟点电荷系的电场线和等势面
  2. oracle如何判断数字中有字母,SQL 判断含有字母和数字的字符串
  3. 实时互动下视频 QoE 端到端轻量化网络建模
  4. 今日头条前端面试过程与面试题
  5. LSP协议被劫持导致不能上网
  6. 解决Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart
  7. web、app跳转微信支付解决方案
  8. Linux学习13—网站服务
  9. word中插入图表改变数据系列产生在行或列
  10. yarn的三种调度器