개인 공부

네트워크 - 채널, 터널링

Machine_웅 2022. 12. 20. 13:19
728x90
반응형

1. 용어 정리

- 데이터 스트림을 인터넷 상에서 가상의 파이프를 통해 전달시키는 기술[1]

- 컴퓨터 네트워크에서 터널링 프로토콜을 사용하면 네트워크 사용자는 기본 네트워크가 직접 제공하지 않는 네트워크 서비스에 접근하거나 제공할 수 있다[2]

 

 

2. 터널링의 특징

- 호스트와 호스트 사이에 통신이 어떤 프로토콜을 사용하던 간에 일단 터널이 구성되면, 그 안에 원래 내용물(패킷)은 감싸지기(캡슐화) 때문에 내용물이 무엇인지는 중요하지 않게 됨[3]

- 특정 프로토콜을 지원하지 않는 네트워크를 통해 외부 프로토콜을 실행 할 수 있다[2]

- 기본 네트워크 서비스만을 사용하여 제공하기에는 비실용적이거나 안전하지 않은 서비스를 제공할 수 있다. 예를 들면 실제 네트워크 주소가 회사 네트워크의 일부가 아닌 원격 사용자에게 회사 네트워크 주소를 제공 할 수 있다[2]

- 터널링은 트래픽 데이터를 다른 형태로 재패키징하기 때문에, 터널을 통해 실행되는 트래픽의 성격이 숨겨진다[2]

 

 

3. 터널링과 캡슐화의 차이

- 캡슐화는 OSI 7 계층을 참조하여 통신을 하기 위해 하위계층에서 상위계층 데이터를 포장하는 개념이다[3]

- 터널링은 계층이 동일하거나 하위의 다른 프로토콜을 숨기기 위해 상위에서 데이터를 캡슐화하고, 외부 네트워크를 통과    하여 목적지에 도착한뒤 다시 디슐화까지 하는 통신과정을 일컫는 말이다[3]

 

- 터널링 ≠ 캡슐화, 캡슐화 후 전송된 목적지에 디캡슐화 하는 전체의 과정을 터널링이라고 부르는 것이다.

 

 

4. 터널링의 구성 요소[3]

- 승객 프로토콜(Passenger Protocol): 캡슐화가 되어야 할 프로토콜(애플토크, CLNS, IP, IPX)

- 전달 프로토콜(Carrier Protocol): 캡슐화 시킬 프로토콜(GRE, IP-in-IP, L2TP, MPLS, STUN, DLSw+)

- 전송 프로토콜(Transport Protocol): 전달 프로토콜을 끌고 갈 프로토콜(IP)

 

=> 즉, 내부 네트워크에서만 사용되는 승객 프로토콜을 전달 프로토콜의 데이터 안에 집어 넣은 뒤 전송 프로토콜을 통해 목적지로 이동시키는 것이다. 목적지에 도착하면 출발지에서 하였던 캡슐화를 거꾸로 하여 전달 프로토콜 안에 들어있던 승객 프로토콜을 동작시켜 원하는 목적지로 이동한다.

 

 

터널링 예시

- 네트워크 A, B가 존재하며 각각 내부에서만 사용되는 C Protocol을 사용한다. (두 Protocol은 동일하며, 인터넷 망에서는 사용 불가능하다고 가정)

- 네트워크 A, B가 C Protocol을 이용해 통신하기위해 아래와 같이 Tunneling을 구성한다.

- 중간에 인터넷이라는 IP Network가 존재하지만, IP Network의 존재를 인식하지 못하고 서로 C Protocol로 통신하게 된다.

- C Protocol로 구성된 Packet을 GRE로 캡슐화시켜 목적지까지 이동시킨 뒤 디캡슐화를 통해 C Protocol을 꺼내 확인한다.

 
728x90
반응형

'개인 공부' 카테고리의 다른 글

Android Protocl Buffers ver.3 사용하기 proto3  (0) 2022.12.21
네트워크 - 버퍼, 버퍼링, 캡슐화 ,큐  (0) 2022.12.20
네트워크 - PDU , MTU  (0) 2022.12.20
Socket, Web Socket 란?  (0) 2022.12.16
SSL / TLS  (0) 2022.12.15