게이트웨이는 ‘관문’이나 ‘출입구’라는 의미로 다양한 분야에서 일반적으로 사용되는 용어입니다. 컴퓨터 네트워크에서의 게이트웨이는 현재 사용자가 위치한 네트워크에서 다른 네트워크로 이동하기 위해 반드시 거쳐야 하는 거점을 의미합니다. 자동차 고속도로로 진입하기 위해 통과하는 톨게이트와 유사한 개념입니다.

두 컴퓨터가 네트워크 상에서 서로 연결되려면 동일한 통신 프로토콜을 사용해야 합니다. 따라서 프로토콜이 다른 네트워크 상의 컴퓨터와 통신하려면 두 프로토콜을 적절히 변환해 주는 변환기가 필요한데, 게이트웨이가 바로 이러한 변환기 역할을 합니다. 한국인과 미국인 사이에 원활한 의사소통을 위해 통역사를 두는 것과 동일합니다.

게이트웨이는 네트워크간 톨게이트

게이트웨이는 일반적으로 하드웨어 형태로 제공되며, 내부적으로 복잡한 원리로 작동하지만 외형은 생각보다 간단합니다. 흔히 보는 네트워크 허브나 스위치 등과 비슷하게 생겼습니다. 또한 기능이나 용도, 적용 범위 등에 따라 손바닥만한 제품부터 소형 냉장고만한 제품까지 크기도 다양합니다. 물론 설치와 설정 작업은 네트워크 전문가가 아니면 처리하기가 매우 어렵습니다.

게이트웨이는 또한 라우터와 동일한 개념으로 이해할 수 있습니다. 라우터는 네트워크 장비의 일종으로,패킷을 다른 네트워크 보내주는 역할을 합니다. 이와 함께 최적의 네트워크 경로를 찾아주는 역할도 함께 수행합니다. 이렇듯 라우터도 이기종 네트워크를 연결한다는 부분에서 게이트웨이와 동일합니다. 다만 게이트웨이는 라우터보다 포괄적인 개념입니다.

우리는 컴퓨터 사용 환경에서 게이트웨이를 늘 사용하고 있습니다. 가깝게는 인터넷 유무선 공유기가 우리가 만나는 첫 번째 게이트웨이입니다. 공유기는 사용자 컴퓨터의 네트워크와 인터넷을 연결하여 사용자가 웹 사이트에 접근할 수 있도록 관문을 열어 줍니다. 사용자가 속해 있는 로컬 네트워크의 통신 프로토콜과 인터넷의 통신 프로토콜이 다르기 때문입니다. 참고로 공유기는 게이트웨이의 역할과 라우터의 역할, 방화벽 역할 등을 동시에 제공하는 종합 네트워크 장비입니다.

한편 자신의 컴퓨터에서 목적지 네트워크까지 도달하기까지 여러 개의 게이트웨이를 거칠 수 있습니다. 고속도로를 갈아탈 때마다 톨게이트를 지나야 하는 것과 다름 없습니다. 또한 톨게이트를 지날 때마다 통행료가 부가되듯, 게이트웨이를 거칠 때마다 네트워크 부하도 증가하여 전송 속도가 느려질 수 있습니다. 

인터넷을 위한 필수 조건

해당 컴퓨터가 속해 있는 로컬 네트워크 구역 내에서는 IP 주소와 서브넷마스크만 있어도 주변 컴퓨터와 통신이 가능합니다. 다른 네트워크 구역으로 나갈 필요가 없기 때문입니다. 하지만 인터넷 등의 이기종 네트워크로 나가기 위해서는 게이트웨이(라우터 등)가 있어야 하고, IP 주소, 서브넷 마스크와 함께 게이트웨이 주소까지 정확하게 설정해야 합니다.

컴퓨터가 서로 통신하기 위해서는 모든 컴퓨터마다 유일한 IP 주소를 할당해야 하듯, 게이트웨이에도 중복되지 않는 IP 주소가 필요합니다. 이 IP 주소를 토대로 각 컴퓨터가 다른 네트워크와 연결됩니다. 일반적으로 게이트웨이의 IP 주소는 해당 네트워크 내 컴퓨터에 할당된 IP 주소 중 끝자리만 다른 형태입니다. 보통 1을 지정합니다. 이를 테면 컴퓨터 IP 주소가 123.123.123.123이라면, 게이트웨이 주소는 123.123.123.1이 됩니다. 물론 게이트웨이 IP 주소 설정이 잘못되면 외부 네트워크(인터넷) 연결이 불가능합니다.

'공부 > Network' 카테고리의 다른 글

Gateway란?  (0) 2016.11.28
방화벽이란?  (0) 2016.11.26
프록시란?  (0) 2016.11.26
스위치, 라우터, 허브 차이점  (0) 2016.11.26
OSI 7계층  (2) 2016.11.26

방화벽이란?

방화벽이란 외부 사용자(WAN)들이 내부 네트워크(LAN)에 접근하지 못하도록 하는 일종의 내부 네트워크 방어도구입니다. 다른 소프트웨어적인 프로그램 도구와는 달리 방화벽이라함은 독립된 시스템이나 전용 하드웨어등을 뜻합니다. 연결요청에 대해서 승인된 호스트에 한하여 처리하는 간단한 인증에서부터 패킷필터링 및 분석, 프로토콜 내 특정 공격서명(attack signature)을 막는기술, 사용자 연결의 인증과 암호화 단계까지 다양하게 존재합니다.

공격서명(attack signature)이란 해커들이 해킹을 전제로 사용되는 공통되고 비슷한 패턴을 의미합니다. 예를 들어서 80포트를 사용해 텔넷으로 명령을 내린다던지 ftp로 이상한 패킷을 보내는 것과 같은 행위를 말합니다.

방화벽의 종류

패킷 필터링

가장 기초적인 방화벽은 "라우터"에서 행하여지는 패킷 필터링이라 할 수 있습니다. 발신지 IP / protocol / port / 패킷 등을 선별적으로 인증해 접속요청에 대하여 판단 하는 것을 의미합니다. 향상된 라우터들은 스푸핑과 DoS공격에 방어하도록 발전했으며 아예 scanning조차 불가하도록 발전된 것도 있습니다

라우터를 방화벽으로 사용 시 장점

라우터는 방화벽을 목적으로 하는 장치는 아니고 내부 네트워크를 인터넷에 연결하기 위한 장치입니다.  라우터를 방화벽으로 사용한다면, 별도의 방화벽을 준비하지 않고도 라우터만으로 내부 네트워크를 연결하면서 방화벽 기능까지할 수 있다는 장점이 생깁니다. 방화벽 장비를 도입하지 않기 때문에 비용이 저렴해 질 수 있습니다.

라우터를 방화벽으로 사용 시 단점

라우터에 엄격한 필터링 및 지나친 방화기술을 쓴다면 라우터의 성능이 급격히 낮아질수 있습니다.

어플리케이션-프록시 방화벽

어플리케이션 게이트웨이를 통한 방법입니다. 프록시(proxy) 서버란 사설 통신망의 사용자가 공중 통신망을 간접적으로 엑세스할 수 있도록 마련된 네트워크 서버입니다. 사설 통신 사용자가 대리 서버를 통해 공적인 네트워크 정보를 액세스 하거나 저장하여 공중 통신망에 대한 액세스를 제한할 수 있습니다. 프록시 서버를 사용하는 경우는 두 가지가 있습니다. 하나는 사내의 네트워크와 인터넷 간의 액세스 제어를 행하는 경우인데 프록시 서버를 사용하면 인터넷에서 회사로의 액세스는 금지시키고, 사내에서 허용된 사용자만이 인터넷 특정의 서비스를 사용 하도록 설정할 수 있습니다. 액세스 제어에 사용하는 프록시 서버는 대개 방화벽으로 머신 상에서 동작시킵니다. 또 하나는 사내 네트워크와 인터넷간의 트래픽을 경감하고 싶을때 사용하는 캐쉬 기능입니다. 예를 들어 사용자가 있는 www 페이지를 액세스 하면 그 내용을 프록시 서버는 일정기간 기억해 둡니다. 이런 방법으로 인터넷 액세스의 빈도를 줄일 수 있습니다. 이러한 방법은 소프트웨어적으로 다양한 방화벽 기술을 펼칠수 있음이 확인됩니다.

웹방화벽이란?

웹방화벽(Web Application Firewall, WAF) 은, 일반적인 네트워크 방화벽 (Firewall)과는 달리 웹 애플리케이션 보안에 특화되어 개발된 솔루션입니다. 웹방화벽의 기본 역할은 그 이름에서도 알 수 있듯, SQL Injection, Cross-Site Scripting(XSS)등과 같은 웹 공격을 탐지하고 차단하는 것입니다. 웹방화벽은 직접적인 웹 공격 대응 이 외에도, 정보유출방지솔루션, 부정로그인방지솔루션, 웹사이트위변조방지솔루션 등으로 활용이 가능합니다.

'공부 > Network' 카테고리의 다른 글

Gateway란?  (0) 2016.11.28
방화벽이란?  (0) 2016.11.26
프록시란?  (0) 2016.11.26
스위치, 라우터, 허브 차이점  (0) 2016.11.26
OSI 7계층  (2) 2016.11.26

프록시란?

프록시(Proxy)란 '대리'라는 의미로,네트워크 기술에서는 프로토콜에 있어서 대리 응답 등에서 친숙한 개념입니다. 보안 분야에서는 주로 보안상의 이유로 직접 통신할 수 없는 두 점 사이에서 통신을 할 경우 그 상이에 있어서 중계기로서 대리로 통신을 수행하는 기능을 가리켜 '프록시', 그 중계 기능을 하는 것을 프록시 서버라고 부릅니다.

프록시 서버의 특징

프록시 서버는 클라이언트 입장과 서버의 입장에서 볼 때 서로 상반되는 역할을 하는 것처럼 인식됩니다. 다시 말해서, 클라이언트 호스트에서의 입장에서 본다면 프록시 서버는 마치 원격 서버처럼 동작하는 것이고, 원격 서버에서의 입장에서 본다면 마치 클라이언트처럼 동작한다는 것입니다.

프록시 서버는 단순히 보안상의 이유만으로 설치하는 것은 아닙니다. 물론 보안상의 목적으로 설치하는 경우가 많겠지만, 그렇다고 그렇게 단순하게 볼 수만은 없을 것입니다. 우선 프록시 서버는 프록시 서버에 요청된 내용들을 캐시를 이용하여 저장해 둡니다. 이렇게 캐시를 해 두고 난 후에, 캐시 안에 있는 정보를 요구하는 요청에 대해서는 원격 서버에 접속하여 데이터를 가져올 필요가 없게 됨으로써 전송 시간을 절약할 수 있게 됨과 동시에 불필요하게 외부와의 연결을 하지 않아도 된다는 장점을 갖게 됩니다. 또한 외부와의 트래픽을 줄이게 됨으로써 네트워크 병목 현상을 방지하는 효과도 얻을 수 있게 됩니다.

프록시 서버의 종류

서버의 위치에 따라 분류하면 크게 두 가지로 나눌 수 있습니다.

Forward 프록시

이것은 프록시 서버를 '클라이언트 호스트들과 접근하고자 하는 원격 리소스의 사이'에 위치시키는 것입니다.이 프록시 서버는 원격 서버로부터 요청된 리소스를 가져와서 요청한 사용자에게 돌려주는 역할을 수행하며, 만일 캐시에 데이터가 남아 있다면 다음 요청시 캐시된 데이터로부터 제공해 주게 됩니다. 이 서버는 전형적으로 로컬 디스크에 데이터를 저장하며, 클라이언트 호스트들은 사용중인 웹 브라우저를 이용하여 프록시 서버 사용 설정을 해야 하므로 프록시 서버를 사용하고 있다는 것을 인식할 수 있을 것입니다. 이 방식은 대역폭 사용을 감소시킬 수 있다는 것과 접근 정책 구현에 있어 다루기 쉬우면서도 비용이 저렴하다는 장점을 갖습니다. 또한 사용자의 정해진 사이트만 연결할수 있는 등 웹 사용 환경을 제한할 수 있으므로 기업 환경등에서 많이 사용합니다. 

Reverse 프록시

이것은 프록시 서버를 '인터넷 리소스 또는 인트라넷 리소스 앞'에 위치시키는 방식입니다. 이 방식을 사용하면 클라이언트들이 프록시 서버에 연결되었다는 것을 알지 못하게 되며, 마치 최종 사용자가 요청 리소스에 직접 접근하는 것과 같이 느끼게 됩니다. 내부 서버가 직접 서비스를 제공해도 되지만 이렇게 구성하는 이유는 보안 때문입니다. 보통 기업의 네트워크 환경은 DMZ 라고 하는 내부 네트워크와 외부 네트워크 사이에 위치하는 구간이 존재하며 이 구간에는 메일 서버, 웹 서버, FTP 서버등 외부 서비스를 제공하는 서버가 위치하게 됩니다. example.com 사는 서비스를 자바로 구현해서 WAS 를 DMZ 에 놓고 서비스해도 되지만 WAS 는 보통 DB 서버와 연결되므로 WAS 가 최전방에 있으면 WAS 가 털릴 경우 DB 서버까지 같이 털리는 심각한 문제가 발생할 수 있습니다. 이 때문에 리버스 프록시 서버를 두고 실제 서비스 서버는 내부망에 위치시키고 프록시 서버만 내부에 있는 서비스 서버와 통신해서 결과를 클라이언트에게 제공하는 방식으로 서비스를 하게 됩니다. 특히 리눅스 환경에서 리버스 프록시로 아파치 웹 서버를 사용한다면 SELinux 를 켜 놓으면 SELinux 의 기본 정책이 웹 서버는 톰캣의 8080, 8009 포트만 접근 할 수 있으므로 아파치 웹 서버가 해킹당해도 웹 서버 권한으로는 내부망으로 연결이 불가합니다. 또한 리버스 프록시 방식은 각 요청에 대한 데이터가 캐시되기 때문에 프록시 서버는 실제 서버들을 위한 부하조절 기능을 가질 수 있습니다. 

'공부 > Network' 카테고리의 다른 글

Gateway란?  (0) 2016.11.28
방화벽이란?  (0) 2016.11.26
프록시란?  (0) 2016.11.26
스위치, 라우터, 허브 차이점  (0) 2016.11.26
OSI 7계층  (2) 2016.11.26

리피터, 허브를 레이어 1장비, 브리지 스위치를 레이어 2장비, 라우터 L3스위치를 레이어 3 장비라고 합니다. L2 스위치는 그 하위 레이어 장비의 기능을 모두 포함하고 있으며 L3스위치는 L2스위치 기능을 모두 포함하고 있습니다. 따라서, 서로 대체 하여 쓸 수 있지만, 문제는 가격이 비싸다는 것입니다. 그래서 네트워크 규모에 따라 적절한 장비를 써야 합니다.

리피터

상위계층에서 사용하는 MAC주소나 IP주소를 이해하지 못하고 단순히 전기적인 신호만 증폭시키는 역할을 합니다.

  • 전기적인 신호를 증폭시켜 먼거리 까지 도달 할 수 있도록 하는 장비
  • 전체 LAN에 접속할 수 있는 장비의 수 증가

허브

전기적인 신호를 증폭시켜 LAN의 전송거리를 연장시키고 여러대의 장비를 LAN에 접속할 수 있도록 합니다.

UTP 케이블을 사용하는 환경에서 장비들을 상호 연결시키는 콘센트레이터 역할도 함께 제공합니다.

한 장비에서 전송된 데이터 프레임을 허브로 연결된 모든 장비에게 다 전송하는 플러딩이 발생 → 프레임 충돌 발생 증가, 네트워크 성능 저하 (하프두플렉스때문)

브리지

허브와 마찬가지로 이더넷 장비를 물리적으로 연결시키고 프레임의 전송거리를 연장 시켜줍니다.

단순히 전기적인 신호를 증폭시키는 것이 아니라 프레임을 다시 만들어 전송합니다.

지금은 쓰이지 않고 있으나 용어는 쓰입니다.

스위치

MAC주소와 포트번호가 기록된 MAC주소 테이블을 가지고 있어 목적지 MAC주소를 가진 장비가 연결된 포트로만 프레임을 전송합니다.

스위치는 각각의 포트가 하나의 충돌영역에 있습니다.

프레임의 목적지 MAC주소가 브로드캐스트일 때 수신프레임을 모든 포트로 전송하며 이것을 플러딩이라고 합니다.

스위치에 접속된 장비가 많아질 수록 브로드캐스트 트래픽도 증가하고 이로인한 네트워크 성능저하가 심각해집니다. 이를 해결하기 위해 Vlan이 도입합니다.

라우터

IP주소 등 레이어 3 헤더에 있는 주소를 참조하여 목적지와 연결되는 포트로 패킷을 전송합니다.

네트워크 주소가 서로 다른 장비들을 연결할때 사용합니다. 또 원격지에 위치한 네트워크들을 연결하는 경우가 많습니다.

Vlan 이 서로 다른 장비들 간의 통신은 L3 스위치, 라우터 등 L3장비를 통해야만 가능합니다.

L3 스위치

Vlan간 라우팅을 위해 사용합니다.

Vlan 포트간 스위칭 기능을 제공하고 , 서로 다른 Vlan 포트 간에는 라우팅 기능을 제공합니다.

라우터보다 라우팅 속도가 빠르지만 장거리 통신망을 연결하는 포트도 있습니다.


'공부 > Network' 카테고리의 다른 글

Gateway란?  (0) 2016.11.28
방화벽이란?  (0) 2016.11.26
프록시란?  (0) 2016.11.26
스위치, 라우터, 허브 차이점  (0) 2016.11.26
OSI 7계층  (2) 2016.11.26

OSI 7계층이란?

OSI 모형은 국제표준화기구에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것입니다.

각 계층의 캡슐화와 디캡슐화

OSI 7계층에서 데이터를 전송할 때, 각 층마다 인식할 수 있는 헤더를 붙여야 하는데 이러한 과정을 캡슐화라 합니다. 데이터를 전송하고 전송매체를 통해 전송된 후에 1계층부터 7계층까지 올라가게 되면서 헤더를 확인해야 하는데 이러한 과정을 디캡슐레이션이라고 합니다. 각 층마다 요청과 응답을 하며 상호작용하기 때문에 서버/클라이언트 관계라고 할 수 있습니다.

OSI 7계층


계층 별 프로토콜과 기능

OSI 7계층에서 PDU개념을 중요시하는데 PDU(Process Data Unit)란 각 계층에서의 전송되는 단위입니다.

1계층에서 PDU가 비트라고 생각하기 쉽지만, PDU가 아닌 단지 신호의 흐름입니다. PDU는 2,3,4 계층을 생각하는 것이 옳습니다. 

레벨계층프로토콜장비내용

7계층

Application

HTTP, SMTP, FTP, Telnet, SSH & SCP, NFS

서비스 제공


사용자가 네트워크에 접근할 수 있도록 해주는 계층

사용자 인터페이스, 전자우편, 데이터베이스 관리 등 서비스 제공

6계층

Presentation

JPEG, MPEG, SMB, AFP

이해할 수 있는 포맷 변환


운영체제의 한 부분으로 입력 또는 출력되는 데이터를 하나의 표현 형태로 변환

필요한 번역을 수행하여 두 장치가 일관되게 전송 데이터를 서로 이해할 수 있도록 함

5계층

Session

TLS, SSH, RPC, NetBIOS

응용 간의 질서 제어


통신 세션을 구성하는 계층으로 포트연결이라고도 할 수 있음

통신장치간의 상호작용을 설정하고 유지하며 동기화

사용자 간의 포트연결(세션)이 유효한지 확인하고 설정

4계층

Transport

TCP, UDP, ARP

게이트웨이

전체 메세지를 발신지 대 목적지 (end to end)간 제어와 에러를 관리

패킷들의 전송이 유효한지 확인하고 실패한 패킷은 다시보내는 신뢰성있는 통신을 보장하며, 머리말에는 세그먼트가 포함

3계층

NetworkIP, ICP, IGMP라우터

다중 네트워크 링크에서 패킷을 발신지로부터 목적지로 전달할 책임을 가짐

2계층은 노드 대 노드 전달을 감독하는 것이고 3계층은 각 패킷이 시작 시점에서 최종 목적지까지 성공적이고 효과적으로 전달되도록 함

2계층

Data linkMAC, PPP, 무선랜브리지, 스위치

오류없이 한 장치에서 다른 장치로 프레임(비트의 모음)을 전달하는 역할

스위치 같은 장비의 경우, MAC주소를 이용하여 정확한 장치로 정보 전달

3계층에서 정보를 받아 주소와 제어정보를 헤더와 테일에 추가

1계층

PhysicalModem, 전선, 전파허브, 리피터

물리적 매체를 통해 비트 흐름을 전송하기 위해 요구되는 기능들을 조정

물리 계층 (Physical Layer)


전기적, 기계적 특성을 이용하여 통신 케이블로 전기적 신호를 전송

데이터 전달의 역할만 있음

해당 계층에서 checksum을 통해 비트의 에러체크 실시

데이터 링크 계층 (Data Link Layer)


물리적인 연결을 통해 인접한 두 장치간의 신뢰성 있는 정보 전송을 담당

프레임은 2계층에서의 전송단위이며, 주소와 제어정보를 가지고 있음

정보의 오류와 흐름을 관리하여 안정된 정보를 전달

네트워크 계층 (Network Layer)


중계 노드를 통해 전송하는 경우 어떻게 중계할 것인가를 규정

패킷은 3계층 전송단위이며, 패킷을 목적지까지 경로 설정을 함

데이터를 목적지까지 가장 안전하고 빠르게 전달하도록 함. 이를 라우팅이라 칭함

전송 계층 (Transport Layer)


종단 간(end to end) 신뢰성 있고 정확한 데이터 전송을 담당

4계층에서 전송되는 단위는 세그먼트이며, 종단 간의 에러복구와 흐름제어를 담당

4계층 장비로 L4스위치를 두는 경우가 있는데 3계층에서 온 트래픽을 분석하여 서비스 종류를 구분해주는 역할을 함

세션 계층 (Session Layer)


통신장치 간 상호작용 및 동기화를 제공

연결 세션에서 데이터 교환과 에러 발생시의 복구를 관리. 즉 논리적 연결을 담당

포트를 생각할 수 있으나, 4계층과 5계층 간 경계 사이의 모호한 위치에 존재

표현 계층 (Presentation Layer)


데이터 표현에 차이가 있는 응용처리에서의 제어 구조를 제공

전송하는 데이터의 인코딩, 디코딩, 암호화, 코드 변환 등을 수행

응용 계층 (Application Layer)


사용자와 가장 밀접한 계층이며 인터페이스 역할을 함

3계층과 4계층의 차이점 (예시)

3계층은 쉽게 말해 내 집을 찾아가는 것입니다. 집이 여러 채가 있는데 그 중, '내 집이 어디지??' 하고 우편번호를 확인하는데 여기서 우편번호가 IP에 해당합니다. 우편번호를 확인한 다음, 집을 찾아가서 '내 방이 어디지??' 하는 것이 4계층입니다.

다른 예제로 내가 친구 컴퓨터를 접속해 게임을 하기 위해선 IP를 알아야 접속이 가능합니다. 여기서 친구 컴퓨터 위치를 알려주는 것이 3계층의 역할입니다. 원격으로 접속한 다음 하고자 하는 게임이 어디 있는지 알려주는 것이 4계층의 역할입니다. 

'공부 > Network' 카테고리의 다른 글

Gateway란?  (0) 2016.11.28
방화벽이란?  (0) 2016.11.26
프록시란?  (0) 2016.11.26
스위치, 라우터, 허브 차이점  (0) 2016.11.26
OSI 7계층  (2) 2016.11.26
  1. 2017.09.17 17:36

    비밀댓글입니다

+ Recent posts