저번 글에서는 인터네트워킹 중 네트워크의 연결에 대해 알아보았다. 이번 글은 인터네트워킹 게이트웨이와 프로토콜에 대하여 살펴볼 것이다.
게이트웨이
게이트웨이의 종류는 다양하지만, 일반적으로 지원할 수 있는 기능의 한계에 따라 리피터, 브리지, 라우터 등으로 나뉜다. 인터네트워킹 시스템은 용어 자체로 의미를 간단 해석하고 이해시키기 위한 개념적인 명칭이며, 인터네트워킹 기능을 실행하는 시스템을 게이트웨이라 부른다.
라우터는 물리 계층, 데이터 링크 계층, 네트워크 계층의 기능을 지원한다. 네트워크 계층은 경로 선택 기능을 제공해야 하므로 임의의 네트워크에서 들어온 데이터를 어느 네트워크로 전달할지 판단할 수 있어야 한다. 이를 위하여 라우터는 자신과 연결된 네트워크와 호스트들의 정보를 유지 및 관리함으로써 특정 진로가 사용 가능한지 여부와 다수의 경로 중에서 어느 경로가 빠른 데이터 전송을 지원하는지 판단할 수 있어야 한다. 네트워크의 호스트에 대한 정보는 일반적으로 라우팅 테이블에 보존된다.
리피터는 물리 계층의 기능을 지원한다. 물리적 신호는 전송 거리가 멀어질수록 감쇄되기 떄문에 중간에 이를 지원해 주어야 한다. 예시를 들면, 사람의 목소리는 멀리 전달될수록 세기가 약해져서 점점 알아들을 수 없게 된다. 이처럼 네트워크에서도 무선 신호 혹은 유선의 전기적 신호도 거리가 멀수록 신호의 크기가 감소한다. 그러므로 리피터는 한쪽에서 입력된 신호를 물리적으로 간단히 증폭하여 다른 쪽으로 중개하는 역할을 한다.
리피터는 단순히 신호를 증폭하는 역할을 하며, 전송 과정에서 일어나는 물리적인 결함 문제는 다루지 않는다. 이를 보완한 브리지는 리피터 기능에 데이터 링크 계층의 기능이 추가된 것으로 물리 계층에서 발생한 결함을 해결해 준다. 예시를 들면, 무선공유기는 유무선 기능을 모두 지원하는 브리지의 예이다.
프로토콜
프로토콜은 통신 시스템이 데이터를 교환하기 위해 이용하는 통신 규칙이다. OSI 7계층 모델에서는 각 계층에서 실행하는 프로토콜이 서로 역할을 분배하여 독립적으로 작동한다. 그러므로 계층 1에는 계층 1끼리 통신할 수 있는 프로토콜이 존재하고, 계층 2에는 계층 2끼리 연락할 수 있는 프로토콜이 존재한다.
프로토콜의 예
프로토콜의 예로 스마트폰을 예시하러 들면, 수신자는 스마트폰 전원을 켜서 발신자의 통화 요청보다 먼저 대기 상태에 있어야 한다. 발신자가 수신자의 전화번호를 누르면(또는 번호를 입력한 후 통화 버튼을 누르면) 수신자 스마트폰의 벨이 울린다. 수신자가 통화 버튼을 눌러 전화를 받으면 연결이 설정된다(수신자가 벨 소리를 못 듣고 전화를 받지 않으면 연결되지 않으므로 연결 설정은 무조건 양자의 합의가 있어야 한다).
일단 연결이 설정되면 연결이 해제되기 전까지 데이터를 교환할 수 있다. 연결 해제는 외형상 한쪽의 일방적인 종료로 이루어지지만 실제로는 대화 과정에서 쌍방의 합의로 이루어진다. 실제 네트워크 프로토콜에서도 연결 해제를 한쪽의 일방적인 선택과 양자의 합의에 의한 결정으로 구별하여 설계한다.
통화하는 규칙 중 시간은 위에서 아래로 흐르고, 왼쪽의 발신자가 오른쪽의 수신자에게 통화를 시도하는데 이러한 연결을 설정할 때는 항상 발신자의 요구에 의하여 시작되며, 수신자는 미리 연결 대기 상태에 있어야 한다. 연결 설정은 상호 간의 합의 아래 이루어지지만, 종료는 한쪽의 일방적인 종료 선언으로도 가능하다.
데이터 단위
데이터 단위의 용어 중에서 네트워크 계층에서 정의된 패킷이 인터넷에서 제일 많이 인용되며, 데이터 링크 계층에서 사용하는 프레임도 중요하다. 전송 계층에서 정의된 데이터그램은 가상 회선이라는 용어와 대비되면서 중대하게 다루어지기 때문에 이들 세 용어에 익숙해질 필요가 있다.
네트워크 프로토콜을 이용해 데이터를 교환할 때는 먼저 데이터를 특정 형태로 규격화하는 작업이 필수이다. 예시를 들면, 우편물을 전송할 때 정해진 규격 봉투를 이용하는 것과 같은 원리이다. 규격 봉투에 전송하는 사람 주소, 수신하는 사람 주소 등을 규칙에 따라 기입하는 것처럼 네트워크에서도 데이터를 프로토콜에서 정의된 데이터 규격에 맞춰 묶어주어야 한다. 이처럼 한 단위의 규격으로 묶인 전송 데이터를 데이터 단위라 한다.
OSI 7계층 모델의 각 계층에서 규격화된 데이터에는 고유 명칭이 있다. 계층에 상관없이 이용할 때는 통칭하여 PDU라 부른다.
데이터 단위의 고유 명칭은 다음과 같다
APDU( Application Protocol Data Unit ) : 응용 계층에서 활용한다.
PPDU( Presentation Protocol Data Unit ) : 표현 계층에서 활용한다.
SPDU( Session Protocol Data Unit ) : 세션 계층에서 활용한다.
TPDU( Transport Protocol Data Unit ) : 전송 계층에서 활용한다. 인터넷에서 이용하는 전송 계층 프로토콜인 TCP에서는 세그먼트라 부르고, UDP에서는 데이터그램이라 부른다. 데이터그램은 일반적인 상황에서 계층 4 프로토콜의 전송 데이터를 가리킬 때도 이용된다.
NPDU( Network Protocol Data Unit ) : 네트워크 계층에서 이용하며, 보통 패킷이라 부른다. 패킷은 원래 네트워크 계층의 IP 프로토콜에서 유래했지만, 요즘은 네트워크 계층의 전송 데이터를 뜻한다.
DPDU( Data Link Protocol Data Unit ) : 데이터 링크 계층에서 이용하며, 일반적으로 프레임이라 부른다.
요약 및 결론
• 게이트웨이는 네트워크를 연결하는 장치로, 리피터, 브리지, 라우터 등이 있다.
• 라우터는 네트워크 계층의 기능을 지원하며, 네트워크의 호스트에 대한 정보를 유지 및 관리한다.
• 리피터는 물리 계층의 기능을 지원하며, 신호를 증폭하는 역할을 한다.
• 브리지는 리피터 기능에 데이터 링크 계층의 기능이 추가된 것으로, 물리 계층에서 발생한 오류를 해결한다.
• 프로토콜은 통신 시스템이 데이터를 교환하기 위해 이용하는 통신 규칙이다.
• 데이터 단위는 네트워크 프로토콜을 이용해 데이터를 교환할 때 사용하는 데이터의 단위로, PDU, APDU, PPDU, SPDU, TPDU, NPDU, DPDU 등이 있다.