강좌
클라우드/리눅스에 관한 강좌입니다.
네트워크 분류

게이트웨이(GateWay)

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

게이트웨이(GateWay)

 

 

 

 

게이트웨이란 서로다른 네트워크를 연결해주는 역할을 하는 특정장비나 특정호스트를 의미한다.

 

 

 

 그리고 게이트웨이로 사용되고 있는 가장 일반적인 장비는 라우터(Router)이며 리눅스시스템도 게이트웨이로 사용할 수 있다.

 

 

 

  일반적인 서버나 호스트에서는 특정 패킷을 받았을 때 자기자신의 패킷이 아니면 그냥 버린다.

 

 

 

 하지만 게이트웨이는 라우팅테이블(Routing table)을 확인하여 받은 패킷을 가장 적합한 다른 네트워크로 전달해주는 역할을 한다.

 

 

 

 이를 IP포워딩 또는 패킷포워딩이라고 한다.

 

 

 



일반적으로 게이트웨이 IP주소로 사용되는 것은 특정 네트워크내에서 호스트주소로 사용되는 IP주소들 가운데 맨 마지막 IP주소인 254번을 주로 사용한다.

 

 

 

 다음은 192.168.1.0네트워크를 가장 일반적인 방법으로 사용되는 예를 나타낸 것이다.

 

 

 

 

ⓛ 네트워크 주소 : 192.168.1.0

 

② 브로드캐스트 주소 : 192.168.1.255

 

③ 호스트로 사용가능한 주소범위 : 192.168.1.1부터 192.168.1.254

 

게이트웨이 주소 : 192.168.1.254  (일반적으로 호스트로 사용가능한 IP주소범위 중에서  가장 마지막 IP주소를 게이트웨이주소로 사용하지만 반드시 따라야 되는 것은 아님.)

 


⑤ 서브넷마스크 : 255.255.255.0

 


위의 경우 게이트웨이 주소를 192.168.1.254로 사용하고 있지만 간혹 첫번째 호스트 IP주소인 192.168.1.1을 게이트웨이주소로 사용하는 경우도 있다.

 

 

 



참고로 리눅스시스템의 네트워크 인터페이스에 기본게이트웨이를 설정하는 형식은 다음과 같다.

 

 

 

 리눅스시스템의 라우팅테이블 즉, 라우팅경로를 확인하고 설정하는 route에 대해서는 뒤에서 자세하게 배운다.

 

 

 

 

 

형식 : route add default gw “게이트웨이IP주소” dev “네트웍인터페이스장치명

 

 

 

 

아래의 예는 현재 시스템의 eth0인터페이스에서 인식하는 기본게이트웨이를 192.168.0.1로 설정하는 것이다.

 

 

 

 

[root@sulinux root]# route add default gw 192.168.0.1 dev eth0

 

 

 

위와 같이 설정된 후에는 아래와 같이 “route”을 실행하여 기본게이트웨이가 라우팅테이블에 정상적으로 설정되었는가를 확인해 보아야 한다.

 

 

 

 리눅스시스템에서 아래 예와 같이 “route”를 실행하면 현재의 라우팅테이블을 출력해 준다.

 

 

 

 

 

[root@sulinux ~]#route

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.0.0     *               255.255.255.0   U     0      0        0 eth0

169.254.0.0     *               255.255.0.0     U     0      0        0 eth0

default         192.168.0.1     0.0.0.0         UG    0      0        0 eth0

[root@sulinux ~]#

 

 

 

, 위의 결과중 마지막행을 보면 아래와 같은 설정이 있다.

 

 

 

 

default         192.168.0.1     0.0.0.0         UG    0      0        0 eth0

 

 

 

위의 설정의 의미는 다음과 같다.

 

 

 

 현재 서버가 외부와 통신을 할 때에는 192.168.0.1이라는 게이트웨이를 이용한다.

 

 

 

 , 동일네트워크가 아닌 외부네트워크와 통신을 할 때의 모든 패킷(데이터)들은 192.168.0.1 게이트웨이를 이용한다는 의미이다.

 

 

 

 위와 같은 설정이 정상적으로 되어있다면 이 시스템은 외부와의 통신이 이루어 질 수 있다.

 

 

 



리눅스시스템에서 특정 이더넷에 IP주소를 할당하고 라우팅을 설정하는 과정을 간단히 요약하면 다음과 같다.

 

 

 

 

[root@sulinux ~]# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 up

 

[root@sulinux ~]# route add -net 192.168.1.0 netmask 255.255.255.0 eth0

 

[root@sulinux ~]# route add default gw 192.168.1.254 dev eth0

 

 

 

위의 작업내역을 잘 익혀두면 간단한 이더넷 설정문제를 쉽게 해결 할 수 있다.

 

 

 

 

 

이런 게이트웨이가 패킷을 가장 알맞은 곳으로 전송하기 위해서 목적지주소와 라우팅테이블의 첫번째 Genmask값과의 AND연산을 통해 첫번째행의 Destination값과 같을 경우에 그 행의 맨 마지막에 있는 Interface로 패킷을 보낸다.

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,806 개
  • 현재 접속자 :  91 명