什么是环回接口(Loopback Interface、环回地址)

article/2025/11/9 6:23:18

2.7 环回接口

大多数的产品都支持环回接口(Loopback Interface),以允许运行在同一台主机上的客户程序和服务器程序通过TCP/IP进行通信。 A类网络号 127就是为环回接口预留的。根据惯例,大多数系统把 IP地址127.0.0.1分配给这个接口,并命名为localhost。一个传给环回接口的 IP数据报不能在任何网络上出现。

我们想象,一旦传输层检测到目的端地址是环回地址时,应该可以省略部分传输层和所有网络层的逻辑操作。但是大多数的产品还是照样完成传输层和网络层的所有过程,只是当IP数据报离开网络层时把它返回给自己。

图2-4是环回接口处理IP数据报的简单过程。
在这里插入图片描述
图中需要指出的关键点是:

  1. 传给环回地址(一般是 127.0.0.1)的任何数据均作为 IP输入。

  2. 传给广播地址或多播地址的数据报复制一份传给环回接口,然后送到以太网上。这是因为广播传送和多播传送的定义包含主机本身。

  3. 任何传给该主机IP地址的数据均送到环回接口。

看上去用传输层和 IP层的方法来处理环回数据似乎效率不高,但它简化了设计,因为环回接口可以被看作是网络层下面的另一个链路层。网络层把一份数据报传送给环回接口,就像传给其他链路层一样,只不过环回接口把它返回到 IP的输入队列中。

在图2 - 4中,另一个隐含的意思是送给主机本身 I P地址的I P数据报一般不出现在相应的网络上。例如,在一个以太网上,分组一般不被传出去然后读回来。某些 BSD以太网的设备驱动程序的注释说明,许多以太网接口卡不能读回它们自己发送出去的数据。由于一台主机必须处理发送给自己的 IP数据报,因此图2 - 4所示的过程是最为简单的处理办法。

4 . 4 BSD系统定义了变量useloopback,并初始化为1。但是,如果这个变量置为 0,以太网驱动程序就会把本地分组送到网络,而不是送到环回接口上。它也许不能工作,这取决于所使用的以太网接口卡和设备驱动程序。

来源:TCP-IP详解卷1:协议 “作者:史蒂文斯”


http://chatgpt.dhexx.cn/article/Xrmew7wa.shtml

相关文章

特殊IP地址——环回地址

环回地址(Loopback Address)127.0.0.1---127.255.255.254 是一种特殊的 IP 地址,它允许计算机的软件组件在本地主机上进行网络通信,也称作本地回环地址。 在计算机网络中,环回地址是一个虚拟地址,它不属于任…

“谁告诉你环回地址就是127.0.0.1?” “老师就是这么说的。”

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「专栏简介」:此文章已录入专栏《计算机网络零基础快速入门》 环回地址是本地的「虚拟接口」,默认不会宕掉。 我们经…

带头结点单链表、不带头结点单链表(头指针单链表)

1、头结点和头指针的区别 1.1区别: 头指针表明了链表的结点,可以唯一确定一个单链表。 头指针指向链表的第一个结点,其记录第一个存储数据的结点的地址。 头结点是点链表的第一个结点,若单链表有头结点,则头指针指向头…

不带头结点的单链表------C语言实现

1 /****************************************************/ 3 File name:no_head_link.c4 Author:SimonKly Version:0.1 Date: 2017.5.205 Description:不带头节点的单链表6 Funcion List: 7 ***************************************…

单链表的头结点的作用

问题:在单链表中使用“头结点”,这个哑结点始终是链表的第一个元素,这个技巧的利与弊? 链表中第一个结点的存储位置叫做头指针,那么整个链表的存取就必须从头指针开始进行了。之后的每一个结点,其实就是上…

【数据结构】单链表之带头结点的单链表

一、单链表相关知识点介绍: 1. 结点:结点就是单链表中研究的数据元素,结点中存储数据的部分称为数据域,存储直接后继地址的部分称为指针域。 2. 头结点:引入头结点的目的是,将链表首元结点的插入和删除操作…

【链表】带头节点和不带头节点单链表的区别

目录 🍔当链表的结点只包含一个指针域时,叫做单链表 🍔不论带不带头节点,所有的链表都要有个头指针! 🍟带头结点的链表的头指针指向的是头结点,头结点的指针域指向首元结点 🍟不带…

带头结点的单链表的操作(C语言)

初始化 先了解头结点 头结点是一个特殊的结点,它的数据域不存储信息,通常情况下,头指针指向的结点为头结点,由于头结点不存储信息,所以不是数据结构中的实际结点,第一个实际结点其实是head->next指示的…

单链表(不带头结点)

单链表不带头结点结构体设计: //不带头结点的结构体设计: typedef int ELEM_TYPE;//有效数据节点结构体设计 typedef struct Node {ELEM_TYPE data;//数据域 (1.头结点:不保存任何数据 2.有效数据节点:保存有效值…

数据结构之不带头结点的单链表

我们都知道不管是单链表、双向链表还是循环链表,都带有头结点,这个头结点相当于一个起始的位置。我们在设计带头结点的单链表的时候,我们会在主函数中设计一个头结点,并把它的指针域置为空,这样我们就可以进行增删查改…

数据结构--带头结点的单链表

单链表分为:带头结点和不带头结点,不带头结点的单链表需要用到二级指针,容易出错。 1、结构体设计 typedef int ELEM_TYPE; //有效数据节点结构体设计(头结点借用) typedef struct Node {ELEM_TYPE data;//数据域 &…

带头结点的单链表的总结

线性表的链式存储是用若干地址分散的存储单元存储数据元素,逻辑上相邻的数据元素在物理位置上不一定相邻。 带头结点的单链表是指,在单链表的第一个结点之前增加一个特殊的结点,称为头结点。 头结点的作用:使所有链表(…

单链表的创建(带头结点和不带头结点)

伪代码: 创建结点 创建头结点(单独定义一个结构体来保存单链表的首地址和尾地址还有链表的长度) 创建带头结点的单链表 注意:创建头结点中的首尾指针都要指空,长度等于0; 从终端接收数据 创建结点保存数据: 创建的节点…

单链表———带头结点跟不带头结点的区别

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、单链表:带头结点跟不带头结点二、使用步骤总结 前言 数据结构中单链表的创建 带头结点跟不带头结点的区别 一、单链表:带头结点跟…

【数据结构】带头结点的单链表

文章目录 一、单链表的概念二、结构体声明:三、函数1.购买节点2.释放节点3.单链表的初始化4.判空函数5.获取单链表有效值个数6.按数据查询(返回含有此数据节点的前驱)7.按数据查询(返回含有当前数据的节点)8.按pos位置…

【考研】分清带头结点和不带头结点的单链表

CSDN话题挑战赛第2期 参赛话题:学习笔记 前言 为分清带结点与不带头结点的单链表操作,本文以图文和表格形式描述了两者之间的区别。考研中,数据结构的单链表操作是重要考点,其中,比较常考带头结点的链表操作。 所以&…

【带头结点的单链表】

带头结点的单链表 前言一、带头结点的单链表结构体设计1. 带头结点的单链表2. 结构体声明 二、函数实现1. 初始化2. 申请新节点3. 头插4. 尾插5. 按位置插入6. 头删7. 尾删8. 销毁 总结 前言 单链表的概念: 单链表是一种链式存取的数据结构,用一组地址…

带头结点单链表 (详解)

单链表结构体 结构体后的*List是一个指向结构体的指针类型,我们通过它来定义该类型的指针。 如:List p ;  则这个p就是指向LinkedList结构体的一个指针,也就是单链表的头指针。(所以说头指针是必然存在的,但单链表不…

数据结构-带头节点的单链表(C语言)超详细讲解

前面我们学到线性表的顺序存储结构(顺序表),发现它有着明显的缺点:插入和删除元素时需要频繁的移动元素,运算效率低。必须按事先估计的最大元素个数申请连续的存储空间。存储空间估计大了,造成浪费空间&…

Windows配置端口转发绕过samba 445端口限制共享linux磁盘

概述 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议…