관련 질문

관련 질문

루프백 네트워크 인터페이스가 있는 FreeBSD 시스템에서...

% ifconfig lo0      
로 0
    링크 루프백 drv_running 멀티캐스트 실행 중
    nd6 Performnud auto_linklocal no_radr
    링크 rxcsum txcsum hwcsum rxcsum_ipv6 txcsum_ipv6
    링크 주소 측정항목 0mtu 16384
        유형 24 링크 상태 0 물리적 0 전송 속도 0
    inet4 주소 127.0.0.1 prefixlen 8 bdaddr 127.0.0.1
    inet6 주소::1 범위 0 prefixlen 128 bdaddr ::1 범위 0
    inet6 주소 fe80::1 범위 3 prefixlen 64
    inet6 주소::2 범위 0 prefixlen 128
    inet4 주소 127.53.0.1 prefixlen 8 bdaddr 127.53.0.1
    inet4 주소 127.53.1.1 prefixlen 8 bdaddr 127.53.1.1
%

... IP 주소 127.0.0.2(이(또는 다른) 네트워크 인터페이스에 할당되지 않음)를 핑하면 오류가 발생합니다.

% 핑 -c 1 127.0.0.2  
PING 127.0.0.2(127.0.0.2): 56 데이터 바이트
ping: sendto: 네트워크에 연결할 수 없습니다.

--- 127.0.0.2 핑 통계 ---
1개 패킷 전송, 0개 패킷 수신, 100.0% 패킷 손실
%

OpenBSD도 마찬가지입니다.

% 핑 -c 1 127.0.0.2      
PING 127.0.0.2(127.0.0.2): 56 데이터 바이트
ping: sendto: 네트워크에 연결할 수 없습니다.
핑: 127.0.0.2 64자 쓰기, ret=-1
--- 127.0.0.2 핑 통계 ---
1개 패킷 전송, 0개 패킷 수신, 100.0% 패킷 손실
%

하지만 Linux에서는 127.0.0.2도 구성되지 않습니다.

% ifconfig LO
루오
    링크 루프백 작업
    링크주소 00:00:00:00:00:00 bdaddr 00:00:00:00:00:00
    inet4 주소 127.0.0.1 prefixlen 8 bdaddr 127.0.0.1
    inet4 주소 127.53.0.1 prefixlen 8 bdaddr 127.255.255.255
    inet6 주소::2 범위 0 prefixlen 128
    inet6 주소 fe80:: 범위 1 prefixlen 10
    inet6 주소::1 범위 0 prefixlen 128
%

... 핑은 놀라울 정도로 성공적입니다.

% 핑 -c 1 127.0.0.2
PING 127.0.0.2 (127.0.0.2) 56(84) 바이트의 데이터.
127.0.0.2의 64바이트: icmp_seq=1 ttl=64 time=0.044 ms

--- 127.0.0.2 핑 통계 ---
1개의 데이터 패킷 전송, 1개의 데이터 패킷 수신, 패킷 손실 0%, 시간 0ms
rtt 최소/평균/최대/mdev = 0.044/0.044/0.044/0.000밀리초
%

어떻게요?

관련 질문

기타 참고자료

  • 조나단 데보인 폴라드(2019).ifconfig. 스낵 가이드. 소프트웨어.

답변1

ip-route커널 라우팅 테이블의 항목을 조작하는 데 사용됩니다.

경로 유형:

unicast- 라우팅 항목은 라우팅 접두사가 포함된 대상까지의 실제 경로를 설명합니다.

...

local- 대상이 이 호스트에 할당됩니다. 패킷이 루프백됨그리고 현지에서 배달됨.

$ ip -4 route show table all type local
local 127.0.0.0/8 dev lo table local proto kernel scope host src 127.0.0.1 
local 127.0.0.1 dev lo table local proto kernel scope host src 127.0.0.1 
local 172.16.8.139 dev wlp2s0 table local proto kernel scope host src 172.16.8.139 
local 192.168.122.1 dev virbr0 table local proto kernel scope host src 192.168.122.1

$ ip -4 address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
4: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    inet 172.16.8.139/24 brd 172.16.8.255 scope global dynamic noprefixroute wlp2s0
       valid_lft 36391sec preferred_lft 36391sec
5: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever

인터페이스에 주소가 추가되면 해당 주소에 대한 로컬 경로가 자동으로 추가됩니다. 또한 루프백 인터페이스( )에 주소가 추가되면 IFF_LOOPBACK해당 인터페이스에 대한 로컬 경로도 추가됩니다.네트워크 접두사주소. Linux 5.0에서는 이 구현을 찾을 수 있습니다.fib_add_ifaddr().


반대로, 루프백이 아닌 인터페이스에 주소를 추가하는 경우,유니캐스트네트워크 접두사에 대한 경로를 추가합니다.

$ ip -4 route show table all type unicast
default via 172.16.8.1 dev wlp2s0 proto dhcp metric 600 
172.16.8.0/24 dev wlp2s0 proto kernel scope link src 172.16.8.139 metric 600 
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown

로컬 경로는 "local"이라는 특정 테이블에 추가됩니다. 이것의 가장 분명한 의미는 fast가 ip -4 route로컬 테이블을 표시하지 않는다는 것입니다. 와 동등하기 때문입니다 ip -4 route show table main.


linux-ip.net에는 일부가 있습니다더 넓은 정보. 로컬 테이블의 다른 두 가지 용도에 대해 언급합니다.

위 내용은 사용하는 모든 Linux 버전에 적용될 수 있습니다. 정확히 얼마나 거슬러 올라가는지는 잘 모르겠습니다. 그러나 이 ip route명령은 매우 오래된 것입니다. 적어도 Linux 2.2 시대로 거슬러 올라갑니다.

관련 정보