[네트워크] 2강 스위칭
출처 성균관대학교 안성진 교수님, [KMOOC 강의] 네트워크의 기초, "02. 스위칭과 다중접속 프로토콜"
장치(노드)들이 서로 데이터를 주고받기 위해서는 선(링크)으로 연결되어 있어야 한다. 여러 개의 장치들이 있을 때 이 장치들을 어떻게 연결하면 좋을까?
가장 먼저 떠올릴 수 있는 방식은 모든 장치들을 직접 연결하는 방식이다.

그렇지만 이 방식은 그리 효율적이지 못하다.
문제점
- 많은 장치들을 모두 연결하려면 비용이 많이 발생함
- 모든 링크가 항시 사용되는 것이 아니기 때문에 비효율적임
하나의 링크가 특정 두 장치를 연결할 때만 사용된다면 대다수의 링크들은 대부분의 시간을 유휴 상태로 낭비하게 된다. 링크를 구축하느라 비용은 비용대로 들이고 그만큼 사용은 100%하지 못하는 상황이다.
이러한 아쉬움을 해결하기 위해 스위칭이라는 방법을 사용한다.
스위칭 Switching
스위칭이란 장치들 중간에 스위치라는 연결 장치를 하나 두는 방식이다. 스위치에 여러 장치들을 연결해두고, 장치들 사이에 연결이 필요할 때마다 스위치가 장치들을 임시로 연결해준다.
스위칭 방식에는 크게 3가지 종류가 있다.
1. 회선 교환 방식 Circuit Switching
회선 교환은 통신하고자 하는 두 장치에게 회선을 아예 할당하는 방식이다. 두 장치가 물리적인/논리적인 선으로 연결된다.

특징
- 장치들이 연결되어 있는 동안 두 장치가 회선을 점유함
- 두 장치만 회선을 이용하므로 고정된 속도로 데이터를 주고받을 수 있음
- 전화망(PSTN)이 이 방식을 사용함
- PSTN: Public Switched Telephone Network
- 연결을 설정하는데 시간이 소요되고, 연결이 된 이후에는 지연 시간이 없음 (전화)
- 데이터 전송이 많은 경우에 유용함
아쉬운 점
데이터를 주고받지 않는 시점에도 회선을 점유하고 있다면 비용을 지불해야 한다.
그리고 두 장치가 데이터를 주고받지 않는 시점에는 해당 회선을 다른 장치에게 공유할 수 없을까? 하는 생각이 든다. 여기서 나온 방식이 메시지 교환 방식이다.
2. 메시지 교환 방식 Message Switching
메시지 교환은 중간 장치들이 전체 데이터를 전달받아 저장(save)하고 그 다음에 선으로 데이터를 보내는(forward) 방식이다.
선으로 데이터를 보내는(forward) 동안에는 다른 컴퓨터가 그 선을 사용할 수 없지만, 데이터를 다 보내고 나면 다른 컴퓨터가 그 선을 쓸 수 있다는 장점이 있다.

특징
- 각 노드는 메시지 저장 공간을 확보함
- 유휴 링크는 다른 메시지 전송에 사용할 수 있어 효율적임
아쉬운 점
큰 용량의 데이터를 보내는 경우 중간 장치들이 대용량의 저장 공간을 확보해야 한다는 한계가 있다.
이러한 한계를 해결하기 위한 방법으로 중간 장치들이 저장할 수 있는 크기로 데이터를 잘라서 보내자는 아이디어가 나오게 되었다. 이것이 패킷 교환 방식이다.
3. 패킷 교환 방식 Packet Switching
패킷 교환은 데이터를 패킷 단위로 나눠서 전송하는 방식이다.
큰 메시지를 패킷으로 자르다보니 패킷마다 해당 패킷이 데이터의 몇 번째 부분인지 표시해 주는 부분이 필요하다. 이러한 부가 정보는 '헤더'라는 것에 담아서 데이터와 함께 전달한다.

패킷을 보내는 동안에는 다른 컴퓨터가 그 링크를 쓸 수 없지만 패킷을 다 보내고 나면 다른 컴퓨터가 그 링크를 점유할 수 있다.
특징
- 군집성이 있는 트래픽 전송에 적합함
- 군집성이 있는 트래픽 bursty traffic: 한 번에 큰 트래픽이 있다 없다 하는 유형의 트래픽
- 회선 교환 방식은 링크에 문제가 발생하면 중간에 다른 링크를 선택할 수 없지만, 패킷 교환 방식은 그렇지 않음
- 두 장치가 하나의 전송 속도를 갖지 않음. 그때그때 속도가 달라짐
패킷 교환 방식은 두 가지 방식으로 다시 나뉜다.
3-1. 데이터그램 방식
데이터그램 방식은 연결 설정이라는 과정 없이 메시지를 패킷 단위로 잘라서 목적지가 어디라는 것만 정해놓고 데이터를 보내는 방식이다.

데이터그램 방식에서는 첫 번째 패킷, 두 번째 패킷 등등이 가는 경로가 다 다를 수 있다. 그에 따라 목적지에 패킷이 도착하는 순서도 보낼 때의 순서와 다를 수 있다.
장점
네트워크를 항상 효율적으로 쓸 수 있다는 것이 장점이다. 그때그때 패킷을 어디로 보내는 것이 더 빠른지 판단하여 그곳으로 패킷을 보낸다.
한계
목적지에 패킷이 순서대로 도착하지 않기 때문에 어딘가에서는 패킷의 순서를 맞춰주는 기능(순서 제어)이 필요하다. 그리고 효율적인 경로를 결정하는 데 시간이 소요된다.
3-2. 가상 회선 방식
가상 회선 방식이란 회선 방식과 다르게 회선을 다른 사람과 공유하여 사용할 수 있는 방식이다.


가상 회선 방식이 데이터그램과 다른 점은 연결 설정이라는 과정이 있다는 점이다. 가상 회선 방식으로 데이터를 보내려면 먼저 목적지까지 어디어디를 거쳐서 가야된다는 가상 회선을 만들어야 한다.
이 선을 따라서 패킷들이 순서대로 가다보니 출발한 패킷은 항상 목적지에 순서대로 도착한다.

가상 회선은 다음 이미지와 같이 어디로 이동할지를 나타내는 포트 번호 및 라벨 번호를 이용하여 만들어진다.

3-3. 멀티 프로토콜 라벨 스위칭 Multi-Protocol Label Switching(MPLS)
데이터그램 방식에서 사용하는 방식을 가상 회선 방식으로 겹쳐서 사용할 수도 있다.
데이터그램 방식에서는 원래 목적지로 갈 때 순서대로 가지 않고 최대한의 효율을 높여서 가는 방식이었다. 그런데 이 방식을 그대로 사용하지 않고 가상 회선 방식으로 패킷에 라벨을 붙여서 보낼 수도 있다. 이 방식을 멀티 프로토콜 라벨 스위칭이라고 부른다.

이 방식을 사용하는 이유는 속도 때문이다.
데이터그램 방식의 큰 문제점은 패킷이 들어왔을 때마다 어느 경로가 효율적인지 결정하는 데 시간이 걸린다. 반면 가상회선 방식은 패킷에 라벨을 붙여 보내기 때문에 효율적인 경로를 결정할 필요가 없다. 스위칭 스피드가 빠르다.
지금 사용하는 인터넷은 속도 개선을 위해 MPLS를 많이 사용한다.