라우팅 테이블(Routing table)을 확인하기 위해서는 "route" 명령어나 "netstat -rn" 명령어를 통해 확인할수 있습니다.
동일한 내용이 약간의 표현의 차이를 두고 나오고 있습니다. 확인해 보면 현재 기본게이트웨이는 192.168.40.2이며, 서브넷마스크는 255.255.255.0, 인터페이스는 eth0이라고 알 수 잇습니다. 일반적인 네트워크에서 네트워크 게이트웨이를 254나 1을 사용하지만 VMware에서 실행하는 상태이기 때문에 기본 게이트웨이가 2로 사용되고 있습니다.
AND연산 결과 Destination값과 다르기 때문에 다음 행으로 넘어가게 됩니다.
첫번째 행과 마찬가지로 Destination값과 다르기 때문에 다음행으로 넘어가게 됩니다.
[root@FC10VM /]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.122.0 * 255.255.255.0 U 0 0 0 virbr0 192.168.40.0 * 255.255.255.0 U 1 0 0 eth0 default 192.168.40.2 0.0.0.0 UG 0 0 0 eth0 [root@FC10VM /]# [root@FC10VM /]# [root@FC10VM /]# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.122.0 * 255.255.255.0 U 0 0 0 virbr0 192.168.40.0 * 255.255.255.0 U 0 0 0 eth0 0.0.0.0 192.168.40.2 0.0.0.0 UG 0 0 0 eth0 |
동일한 내용의 약간의 차이중 하나 route명령어는 "default"라고 표현하는 것과 netstat -rn명령어는 0.0.0.0이라고 표현하는대 같은 의미 입니다.
하나의 데이터를 보내기 위해 목적지의 IP주소를 붙여 보낼때 Genmask값(SubnetMask)과 AND연산을 햇을때 그 결과값이 해당행의 Destination항목과 동일할 경우 해당행의 Iface에 있는 인터페이스로 해당 데이터를 전송하게 됩니다. 그런대 이때 Iface항목의 값이 lo인 행은(Destination 값이 127.0.0.0) 루프백(Loopback)을 처리하기 위한 설정 입니다. 즉, 자기 자신에게 데이터를 보낼 때 사용하게 되는 인터페이스 입니다.
route 명령어에 나온 정보를 알아보겠습니다.
1. Flags
약어 | 풀이 |
U | Route is up |
H | Target is a host |
G | Use Gateway |
R | Reinstate route for dynamic routing |
D | Dynamically installed by daemon or redirect |
M | Modified from routing daemon or redirect |
A | Installed by addconf |
C | Cache entry |
! | Reject route |
2. Metric : 경로 설정의 기준값으로 최소 경로를 Best path로 하여 경로를 설정합니다.
3. Ref : route에서 참조하는 값(리눅스 커널에서는 사용하지 않습니다)
4. Use : route를 검사한 수 xF or xC 옵션을 이용하여 Miss or htis를 나타낼 수 있습니다.
라우팅 테이블에 근거하여 192.168.12.34에 주소로 데이터를 보내면 다음과 같은 과정이 일어납니다.
1. 첫번째 행을 읽어 보내려 하는 12.34와 Genmask값을 AND연산해 Destination값과 비교합니다.
Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.122.0 * 255.255.255.0 U 0 0 0 virbr0 |
2. 두번째 행으로 넘어와 다시 Genmask값을 AND연산으로 비교합니다.
Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.40.0 * 255.255.255.0 U 1 0 0 eth0 |
3. 세번째 행으로 넘어와 Genmask값을 AND연산으로 비교합니다.
이번에는 Genmask값이 0이기 때문에 AND연산시 모두 0.0.0.0으로 나오게 됩니다. 때문에 dafault값이 0.0.0.0과 동일하기 때문에 해당 데이터를 eth0으로 보내게 됩니다.(해당 행의 Iface값에 정의된 인터페이스로 보냄)
Destination Gateway Genmask Flags Metric Ref Use Iface default 192.168.40.2 0.0.0.0 UG 0 0 0 eth0 |