2009년 6월 30일 화요일

유선/무선 공유기의 동작원리 (How NAT(Network Address Translation) works)


유/무선 공유기의 기본적인 동작원리를 간단하게 설명해 보겠다. 공유기의 기본 구성은 다음과 같다.


그림과 같이 4포트 허브, NAT(Network Address Translation)기능을 가지고 있는 라우터, DHCP 서버가 들어있다.

공유기의 LAN포트에 PC가 연결되면 먼저 DHCP서버에게 네트웍 정보를 요구해서 PC가 자신의 네트웍 인터페이스를 설정하게 된다.




공유기의 가장 핵심은 NAT(Network Address Translation, 네트웍 주소 변환) 기능이다.
인터넷에 연결을 위해 할당받은 IP 주소는 하나이지만 여러대의 컴퓨터가 하나의 주소를 공유하려면 각 패킷 헤더의 주소를 적절하게 변환해 줘야만 한다.

이를 위해 공유기에는 NAT 변환 테이블을 가지고 있다.

공유기에 연결되어 있는 컴퓨터에서 인터넷으로 패킷을 보낼 때는 다음과 같이 동작한다.
모든 패킷의 헤더 부분에는 목적지 주소와 발신자 주소가 들어있다. 이 중 발신자 주소를 NAT변환 테이블의 첫번째 칸에서 찾는다. 해당 주소가 있으면 패킷의 발신자 주소를 그 같은 줄에 있는 주소로 교체해서 인터넷으로 보낸다. 위의 예에서는 192.168.0.10:3430을 154.45.34.3:2302로 교체해 주었다.

만일 발신자 주소를 테이블에서 찾을 수 없는 경우는 먼저 발신자주소를 새 항목으로 만들어 추가해주고 발신자 주소를 변경해준다.



인터넷에서 공유기에 연결되어 있는 컴퓨터로 패킷이 날라오는 경우는 다음과 같다.
WAN포트로 받은 패킷의 목적지 주소를 NAT 테이블의 두번째 칸에서 찾는다. 패킷의 목적지 주소를 찾은 항목과 쌍으로 되어 있는 주소로 교체해서 공유기에 연결된 컴퓨터로 보낸다. 위의 예에서는 153.45.34.3:2302를 192.168.0.10:3430으로 교체하였다.

이렇게 해 줌으로써 공유기 내부에는 192.168.0으로 시작하는 여러개의 IP주소를 사용하지만 WAN 포트로 나가는 패킷은 항상 한개의 IP주소(여기서는 153.45.34.3)를 사용할 수 있게 된다.

댓글 없음:

댓글 쓰기