코딩과로그

나의 컴퓨터의 라우팅 테이블 해석 본문

Devops

나의 컴퓨터의 라우팅 테이블 해석

피리음 2023. 3. 28. 07:46

리눅스에서 netstat -rn 을 치면 나의 라우팅 테이블 주소를 확인할 수 있습니다.

 

 

각 컬럼에 대한 정보

- Destination : 목적지 네트워크의 IP 주소

- Gateway     :  Next Hop이라고도 불린다. 목적지 네트워크에 해당될 경우 이 Gateway 로 패킷을 전달한다. 

- Genmask    :  subnet mask 라고도 불린다. Destination 과 Genmask 값을 통해 네트워크 주소를 확인해 Gateway에 갈 IP인지 확인할 수 있다.

- Flags           :   

      U = 유효함,

      G = 게이트웨이 라우터를 의미함, 즉 호스트나 네트워크에 직접 연결된 놈이 아니다.

-  MSS (Maximum Segment Size) : 

   최대 세그먼트 크기이며 커널이 이 경로를 통해 전송하기 위해 구성할 가장 큰 데이터그램의 크기

    값이 0 일 경우, 내부 기본값을 사용하는 것이라 함. 보통 IPv4는 536bytes, IPv6은 1220bytes 가 기본값이라고 한다.

- Iface : 목적지에 연결되는 인터페이스를 의미한다.

 

# 내 컴퓨터의 라우팅 테이블의 정보를 얻어온다. (우분투 기준)
$ netstat -rn | awk -v OFS='\t' '{print $1, $2, $3, $8}' | column -t
Kernel       IP           routing
Destination  Gateway      Genmask        Iface
0.0.0.0      192.168.0.1  0.0.0.0        enx00e04d69887d
169.254.0.0  0.0.0.0      255.255.0.0    enx00e04d69887d
172.17.0.0   0.0.0.0      255.255.0.0    docker0
172.18.0.0   0.0.0.0      255.255.0.0    br-f97f50416a3c
172.19.0.0   0.0.0.0      255.255.0.0    br-4e479ce36f64
172.20.0.0   0.0.0.0      255.255.0.0    br-ca67b5bb14ed
192.168.0.0  0.0.0.0      255.255.255.0  enx00e04d69887d

# 이하 해석
# Destination 이 0이면 모든 IP (*)라는 의미이다. 따라서 보내려는 모든 IP는 gateway (192.168.0.1)로 전송될 수 있다.
0.0.0.0      192.168.0.1  0.0.0.0        enx00e04d69887d
# 이하 아직은 중요하지 않아보이는 것들은 생략했다.
...
# Gateway정보가 0.0.0.0 인데 이는 네트워크 주소가 192.168.0 이라면 기본 게이트웨이를 사용한다는 의미이며,
기본 게이트웨이는 Destination이 0.0.0.0 에 해당되는 게이트웨이인 192.168.0.1이 이에 해당된다.
192.168.0.0  0.0.0.0      255.255.255.0  enx00e04d69887d

 

Destination 과 Genmask 의 조합으로된 네트워크주소가 내가 요청하려는 IP 주소와 매칭될 경우 Gateway 로 패킷을 전달한다.

 

 

https://www.baeldung.com/cs/routing-table-entry

https://unix.stackexchange.com/questions/625333/what-is-meant-by-a-mss-of-0

https://tldp.org/LDP/nag2/x-087-2-iface.netstat.html