Loopback Interface(环回接口)看这篇就够了

1、简介

作用
1、使本机中的不同进程(client和server)直接通过TCP/IP协议栈进行通信,让数据报不离开本机,避免将报文暴露到外网

  • 举例:通过浏览器本地预览 Axure 原型(见2 抓包)

2、排障(troubleshooting ):如果ping 127.0.0.1 不通,则表示主机的TCP/IP协议栈有问题

特点

  • 虚拟网络接口(virtual network interface )
  • IPv4:127.0.0.0/8,通常使用127.0.0.1(主机名: localhost)
  • linux系统查看:ifconfig(网卡名:lo)
    Loopback Interface(环回接口)看这篇就够了

2、举例

通过 win 浏览器本地预览 Axure 原型
Loopback Interface(环回接口)看这篇就够了

经过了TCP三次握手后,开始HTTP请求:

  • client port:59972
  • server port:32767

Loopback Interface(环回接口)看这篇就够了

3、数据流程

Loopback Interface(环回接口)看这篇就够了

当从以太网接收到数据帧后,开始进行拆解数据帧(demultiplexing),

  1. 如果是ARP报文,则直接通过ARP协议发送到以太网中
  2. 如果是IP报文,则放置到IP报文输入队列中,然后发送到IP输入函数。经过协议栈处理,发送到IP输出函数
    1. 如果目的地址是loopback地址,则直接发送给Loopback驱动的IP输入队列中
    2. 如果目的地址是广播或多播地址,拷贝一份到Loopback输入队列中,然后通过以太网发送出去
    3. 如果目的地址是本机IP,则发送给Loopback驱动的IP输入队列中
      1. 如果不是,则通过ARP协议发送到以太网,去获得目的MAC地址

关键点

  • 传给环回接口的报文都为IP报文
  • 传给广播地址或多播地址的报文都会拷贝一份到Loopback,然后再发送给以太网,因为广播和多播包含主机本身
  • 任何传给本机IP地址的报文都会送回Loopback(ping本机IP地址的报文,通过Lo网卡抓到包)
    Loopback Interface(环回接口)看这篇就够了

Loopback Interface(环回接口)看这篇就够了

参考资料

1、书籍《TCP/IP Illustrated, Volume 1: The Protocols, W. Richard Stevens.》
2、What is the loopback device and how do I use it? - Eliah Kagan
3、环回接口(loopback interface)- jason_mai-CSDN