Circuit swithing은 하나의 회선을 할당받아 데이터를 주고 받는 방식입니다. 먼저 통신을 위한 call setup을 해야하며 연결이 되고 나면 출발지 (source)로 부터 목적지(destination)까지 도착하는데 사용되는 회전 전체를 독점하기 때문에 다른 사람이 끼어들 수 없습니다.
Circuit switching은 같은 실시간 통신에 사용됩니다. 따라서 속도와 성능이 일정합니다.
Circuit switching이 회선을 분할하는 방식에는 FDM과 TDM이 있습니다.
- FDM(Frequency Division Multitasking) 방식은 할당된 대역폭을 나누어 사용하는 방식이고
- TDM(Time Division Multitasking) 방식은 할당된 대역폭을 시간단위로 나누어 번갈아가며 사용하는 방식입니다.
먼저 Packet swithing은 데이터를 패킷(packet)이라는 단위로 쪼개서 전송하는 방식입니다. 패킷은 다음 링크로 전송하기 전에 저장을 한 뒤 전달하는 store and forward 방식을 따릅니다.
store and forward : 들어오는 데이터를 버퍼에 담아 두고(store) CRC 등 에러검출과 같은 처리를 완전히 한 이후에 전달(forward)하는 교환 기법입니다.
패킷의 헤더에는 출발지(source)와 목적지(destination)의 정보가 있고 라우팅 알고리즘을 이용하여 경로를 설정하고, 중간의 라우터들을 거쳐 최종 목적지에 도달하게 됩니다. 이러한 과정에서 패킷은 다음 아루터로 이동하기 위해 큐에서 대기(queueing)하는데 이 때 수용할 수 있는 큐의 범위를 초과하게 되면 손실이 발생합니다.
1MB/s 이므로 각각 유저에게 100kb씩 할당된다면 Circuit Switching으로는 최대 10명의 유저가 사용이 가능합니다.
Packet Switching으로는 이론상 무제한으로 사용이 가능합니다. 그리고 10명 이상이 동시에 할당되어야 하는 경우는 생각보다 적기 때문에 결과론 적으로 Packet Switching이 비용상 이득인 경우가 많습니다.
- 패킷은 라우터 버퍼에 대기하고 전송 차례를 기다립니다.
-> 링크에 대한 도달률이 일시적으로 초과한다면 개이열 길이가 늘어나게 됩니다.- 대기 중인 패킷을 보관하는 메모리가 가득 차면 패킷 손실이 발생합니다.