태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.
 

 
블로그 이미지
[www.netrain.co.kr]에서 네트워크/보안을 공부하시는 분들을 위해 서비스를 제공하는 블로그입니다 승진아빠
Follow silpir  on Twitter


Default-gateway 동작원리

네트워크 기초 | 2010.04.07 01:30 | Posted by 승진아빠

오늘도 이경태입니다. ^^ 요즘 하도 정신없이 바빠서 뭘 하면서 살고 있는지도 모르겠습니다. 지금 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
 

티스토리 툴바