环回接口以及MTU

一、环回接口

1.环回接口出现的目的

为了解决客户机使用网络协议(如TCP/IP协议)与同一台计算机上的服务器通信的需求,实现了工作在网络层的虚拟的环回网络接口。

它不是真正的网络接口,实际上是一种由操作系统提供的专用软件,可通过TCP/IP与统一主机的其他服务器进行通信。

2.地址选择

A类地址段127.0.0.0默认被用作本地环回地址,其实只要是127开头的所有地址均是环回地址。

这个地址是用于标志本机的localhost。也就是说当要向本机发送数据时,就会用到环回地址。

具体事例说明:

就拿pc来说,pc的网卡就相当于路由器的一个接口。如一台pc网卡上设置的地址为220.172.115.50,网卡连接正常时,协议状态up,在dos命令行状态下输入ipconfig便可看到该网卡上的IP地址。此时在主机上ping其网卡地址的过程如下:主机发送一个icmp包,目的地址为220.172.115.50,请求对方回答;主机根据默认环回主机路由发现数据包目的地址的下一跳指向其loopback接口(主机事先并不知道该地址就在其网卡上),于是将数据包发往其loopback接口(即直接发往cpu);之后主机收到源IP为220.172.114.50的ping包,于是对该数据包进行回答,回应包亦根据环回路由原路返回。从该过程可看出,该数据包的始发点和被接收点都在同一个接口(即主机本身的loopback接口),寻址过程为一个环回过程,因此该接口称之为“环回接口”当网卡连接断开时,协议down下,用ipconfig便发现“media disconnected”等提示,无IP地址显示。ping 220.172.115.50便出现“destination unreachable”等提示(由于网卡协议没起来,主机没能发现相应路由,无法做出转发决定,从而提示路由不可达)。但此时ping 127.0.0.0/8网段的IP均能ping通,因为一般pc默认把127.0.0.0/8网段IP作为loopback地址,当主机发现该数据包的目的地址为其自身的环回地址时,便将该数据包直接送往其cpu。由此可看出ping通环回地址并不表示就能ping通网卡地址,因此不要拿ping 127.0.0.1来检测网卡的好坏,这样做是行不通的。

  这是因为当收到数据包时,判断若目的IP地址与本机IP地址一致(或者收到多播、广播地址,且本机属于多播、广播地址)时,网卡就会将数据发送给环回接口。此时数据包还是会经过协议栈,只是到网络层时,会传到环回接口。所以环回一般会被用于检测本机协议栈是否正常(环回接口不会经过网卡)。

二、MTU和路径MTU

在很多链路层网络中,携带高层协议PDU的帧大小是有限的。链路层的这种特征被称为最大传输单元(MTU)

当同一网络中的两台主机之间通信时,本地链路的MTU在会话期间对数据报大小有直接影响。当两台主机之间跨越多个网络通信时,每条链路可能有不同大小的MTU,在包含所有链路的整个网络路径上,最小的MTU称为路径MTU。

任何两台主机之间的路径MTU不会永远不变、这取决于当时使用的路径。如果网络中的路由器或链路故障,MTU可能改变。路径通常不对称,路径MTU不需要再两个方向上相同

原文地址:https://www.cnblogs.com/Tempt/p/11847089.html

时间: 2024-10-12 23:21:32

环回接口以及MTU的相关文章

ngrep环回接口数据抓取方法,使用-d lo参数

ngrep环回接口数据抓取方法,使用-d lo参数,注意顺序: ngrep -W byline -d lo port 80

环回接口(loopback interface)的新认识

背景 前些日子在IDC实验docker的时候,为了避免与公司网络冲突,将bridge设置为127.x网段的IP,原以为这样就OK,后来发现在访问container内部的服务的时候无法访问.开始以为iptables的问题,搞了半天,后来,才发现系统对127.x.x.x的包根本不会经过bridge.这两天补习了一下linux的路由实现,才彻底明白其中缘由. 其实,关于环回接口,TCP/IP详解中已经描述得很清楚,只是自己没有去仔细阅读而已. TCP/IP关于环回接口的描述 Linu支持环回接口( L

环回接口---loopback

尽管在网上查了不少资料,但依然未找到全面的解释,最近给县局作岗位认证培时, 忽然间想通了些问题,很多疑问迎刃而解.以下是我对环回地址及环回接口的一些认识,供大家参考交流:一.环回接口为了标识和管理网络设备(如路由器.pc),我们通常会利用到这些设备的接口(包括物理接口和逻辑接口:如vlan)上设置的IP地址.但很多情况下,尽管该设备未脱离网络,由于其管理地址所处的接口状态处于down,该设备便无法管理(因为物理连接断开,接口协议起不来).为了解决这一问题,于是便出现了loopback接口,该接口

2.tcp/ip协议分析-IP协议、ARP协议和RARP协议

IP协议是TCP/IP协议族中最核心的协议,它提供不可靠.无连接的数据报传输服务.所以理解IP协议对于我们学习网络至关重要. IP首部 重要字段介绍: 4bit首部长度:以4字节为单位,决定了IP首部长度最大为15*4=60,一般的IP数据报首部长度为20,此时该字段为5. 8bit的服务类型:包括一个3bit的优先权子字段(可以忽略),4bit的tos子字段和1bit的未用位但必须置0.4bit的TOS分别代表:最小延时.最大吞吐量.最高可靠性和最小费用. 比如在telnet交互应用中就要求有

《TCP/IP详解卷2:实现》笔记--接口层:以太网和环回

1.以太网接口 Net/3以太网设备驱动程序都遵循同样的设计.对于大多数Unix设备驱动程序来说,都是这样,因为写一个新接口卡的驱动 程序总是在一个已有的驱动程序的基础上修改而来的.下面我们简要地概述一下以太网的标准和一个以太网驱动程序的设 计.下图是一个IP分组的以太网封装. 我们所讨论的最初的以太网组帧的标准在1982年由Digital设备公司,intel公司以及施乐公司发布,并作为今天在TCP/IP网络 中最常使用的格式,另一个可选的格式是IEEE规定的802.2和802.3标准. 下图列

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

1.linux的网络接口之扫盲 (1)网络接口的命名 这里并不存在一定的命名规范,但网络接口名字的定义一般都是要有意义的.例如: eth0: ethernet的简写,一般用于以太网接口. wifi0:wifi是无线局域网,因此wifi0一般指无线网络接口. ath0: Atheros的简写,一般指Atheros芯片所包含的无线网络接口. lo: local的简写,一般指本地环回接口. (2)网络接口如何工作 网络接口是用来发送和接受数据包的基本设备. 系统中的所有网络接口组成一个链状结构,应用层

网络配置命令,绑定,接口命名以及配置文件的详解

一:三大命令家族 当我们在centos中管理网络时需要为网卡设置网络属性,有自动获取和手动配置两种,自动获取需要在主机所在的网络中至少有一台DHCP服务器,而手动配置即静态指定则可以使用命令或者修改配置文件,首先着重说一下使用命令,命令包括net-tools家族(ifcfg家族).iproute家族.nm家族:Network Manager,这三个工具都是setup的子命令,在centos6中可以使用上述命令. 具体命令的总结为: net-tools家族(ifcfg家族) ifconfig接口配

MTU&MSS

MTU是Maximum Transmission Unit的缩写,意为最大传输单元,通俗的理解就是在网络上传送的最大数据包,单位是字节. 以太网对数据帧的长度都有一个限制,其最大值为1500,这个特性被称作MTU,不同类型的网络大多数都有一个上限.如果IP层有一个IP包要传,而且数据的长度比链路层上的MTU值还要大,那么就需要对这个数据包进行分片处理,而且要求被分片的每个数据包都要等于或小于这个MTU值,一般是最后一个数据包小于这个值.例如,一个大小为5000字节的数据包在穿越网络时,如果遇到一

Windows Server 创建环回网卡

1.以管理员身份运行cmd后,在cmd命令窗口中执行:hdwwiz 启动硬件添加向导. 2.在添加硬件向导中选择手动安装或自动搜索都可以.然后选择网络适配器. 3.选择网络适配器:厂商选择Microsoft.网络适配器选择Microsoft Loopback Adapter. (如果是Windows Server 2012或Windows 8 则右边选择Microsoft KM-TEST 环回适配器) 4.回环网卡配置: 4.1 设置环回网卡IP地址 > IP地址: 虚拟IP(如 192.168