오늘도 이경태입니다. ^^ 요즘 하도 정신없이 바빠서 뭘 하면서 살고 있는지도 모르겠습니다. 지금 44시간째 깨어 있습니다. 아까 10시 40분에 강의를 마쳤을 때는 너무 피곤해 다리가 휘청하더니, 지금은 좀 괜잖네요. 내일도 6시에 일어나야 하니 오늘은 2시 전에 자야겠습니다.
오늘은 Default-gateway에 대해 학습을 해보려고 합니다.
예전에 Default-route는 배우셨죠? Default-gateway는 먼가요? 요즘은 대부분 DHCP로 IP를 받아서 사용하시기 때문에 모르시는 분들이 많이 계시던데 네트워크 환경에서 IP를 설정할 때 함께 등록을 하는 정보죠?
다음과 같이요!
'IP 주소'와 '서브넷 마스크'를 설정하고 나면 그 밑에 '기본 게이트웨이'라고 있잖아요. 그게 Default-gateway 입니다. 오늘은 이놈이 뭐할 때 사용되며, 어떤 역할을 수행하는지 간단히 확인해 보도록 하겠습니다.
PC도 Router와 마찬가지로 Routing table에 의해 Packet을 전송시킵니다. 그럼 PC도 Routing table이 있겠네요? 예... CMD 창에서 'route print'라고 치시면 확인하실 수 있습니다.
그럼, Default-gateway로 설정한 IP address가 Default route 경로로 설정되어 있는 것을 확인하실 수 있으실 겁니다. 다음은 제 PC의 예입니다.
C:\Users\Kenneth>route print
===========================================================================
IPv4 경로 테이블
===========================================================================
활성 경로:
네트워크 대상 네트워크 마스크 게이트웨이 인터페이스 메트릭
0.0.0.0 0.0.0.0 192.168.123.254 192.168.123.188 25
그런데, 이것이 오늘 내용의 핵심이 아니라, PC 내부에서 어떻게 동작하느냐 하는 것이 핵심입니다. ^^
PC는 통신을 하기 위해 다음과 같은 일을 수행합니다.
1. Application은 통신을 하기 위한 'Port #'를 Layer 4로부터 할당받습니다.
2. Layer 4 Header 정보를 완성합니다.
3. Layer 3 Header 정보를 완성합니다.
4. Layer 2 Header 정보를 완성하려 하지만, Destination MAC address를 알지 못합니다.
그러면 Destination MAC address를 알아야겠군요. 어제 ARP는 배우셨다고요?
설마 아무리 피곤해도 같은 이야기를 하겠습니까? ^^
MAC address를 알기 위해 다음과 같은 작업을 PC는 순차적으로 수행합니다.
1. 나와 상대방의 Network 정보를 비교합니다.
※ 비교방법 (AND 연산은 예전에 설명드려서 아시죠? ^^)
- '자신의 IP address' AND '자신의 Subnet mask' = 자신의 Network address라 판단
- '상대의 IP address' AND '자신의 Subnet mask' = 상대의 Network address라 판단
2. '자신의 Network address' = '상대의 Network address' 인 경우 → 어제 메일링을 읽어보세요.
3. '자신의 Network address' ≠ '상대의 Network address'인 경우
- 동일 Network이 아니므로 데이터 전송을 위해 Routing table을 Lookup합니다.
- 하지만, 대부분의 PC에 다른 Network 정보가 있을리가 없죠.
(이 부분은 'PC 및 Server Packet Routing' 때 자세히 설명드리겠습니다.)
- Default route를 찾습니다. 경로는 Default-gateway로 가라고 되어 있군요.
- ARP table에서 Default-gateway에 대한 MAC address를 찾습니다.
- 정보가 있으면 Destination MAC address에 해당 MAC address를 채워 전송합니다.
- 정보가 없으면 Default-gateway에 대한 ARP request를 전송합니다.
왜 Default-gateway MAC address를 넣어야 하냐고요? Default-gateway는 Routing을 수행해서 타 Network과 통신을 가능하게 해주는 Layer 3 장비이기 때문에 Frame의 Layer 2 주소가 자신의 주소와 일치하지 않을 경우 무시하거든요.
참고로 Router는 다음과 같이 동작합니다.
차후에 Router 동작원리 때 자세하게 설명드리도록 할께요.
Default-gateway의 역할에 대해 이해가 좀 가셨나요? 쉽지 않은 부분이지만 굉장히 중요한 부분입니다. 이해가 안가시는 부분이 있으시면 편하게 의견란이나 카페에 글을 남겨주세요.
오늘은 여기까지 진행하도록 하겠습니다. ^^
'네트워크 기초' 카테고리의 다른 글
'TCP 3-way Handshaking' 동작원리! (0) | 2010.04.14 |
---|---|
'TCP 3-way Handshaking'은 왜 필요한가? (2) | 2010.04.13 |
Default-gateway 동작원리 (0) | 2010.04.07 |
ARP의 이해 (0) | 2010.04.06 |
TCP/IP 프로토콜 개요 (0) | 2010.04.04 |
OSI 7 Layer : 'Layer 6'와 'Layer 7'의 역할 (0) | 2010.03.31 |