[네트워크] Packet Switching, Circuit Switching
Packet Switching, Circuit Switching
link와 router에서 데이터(패킷)가 이동하는 통신 방식에는 두가지가 있다. Packet switching(패킷 교환) 방식과 Circuit switching(회선 교환) 방식이다.
Packet switching : store-and-forward
Packet switching은 store-and-forward(저장 후 전달 방식)을 채택한다. store-and-forward 방식은 '전송될 모든 패킷이 라우터에 도착해야(store), 패킷의 첫 비트가 next link로 전송된다(forward)'는 개념이다.
위 그림에서 1번 패킷이 라우터로 전송되고 있다. 절반 정도까지만 전달됐기 때문에, 이 1번 패킷이 출력되기 위해서는 나머지 절반을 모두 다 받아야지(즉 1번 패킷의 모든 비트를 다 받아야지만) 내보낼수 있다는 소리이다.
- Packet switching으로 source에서 destination까지 1번 패킷이 전달될 때 걸리는 시간을 계산해보자. 각 링크는 초당 R bps의 속도로 패킷을 전송하고, 각 패킷은 L bit이다. (전파지연은 무시)
- (1) 앞서 설명한 것처럼 한 패킷의 모든 bit가 라우터에 다 도착할 때까지, 이미 도착해 있는 1번 패킷의 일부 비트들은 다음 링크로 출발하지 못하고 기다려 주어야 한다.
- (2) 그러므로 1번 패킷이 라우터에 다 도착하여 저장이 완료되면, 그 시간은 1L/R초이다.
- (3) 1L/R 초에서 2L/R 초가 될 동안, 첫번째 패킷은 destination으로 연결된 링크를 타고 전송되고, source에서는 두번째 패킷이 라우터를 향해 출발한다.
- (4) 그렇다면 2L/R 초가 흐르면,
-
- 1번 패킷은 destination에 있고
- 2번 패킷은 라우터에 저장이 완료(모든 비트들이 도착)된다.
- 즉, 1번 패킷이 destionation에 도착하면 end-end delay가 2L/R 초가 된다는 뜻이다. (전파 지연은 무시)
- 만약 store-and-forward 방식이 아니였더라면, 지연이 발생하지 않으므로 end-end delay는 1L/R초가 된다는 것도 알아두면 좋다.
-
Packet switching: queueing delay, packet loss
이전 그림처럼 라우터를 사이에 둔 두 링크가 모두 같은 속도라면 좋겠지만, 대부분은 그렇지 않다. 만약, 출력링크로 패킷을 내보내는 속도가 패킷이 라우터로 들어오는 속도보다 느리다면 라우터에는 queue가 생기며, 시간이 흘러 이 큐는 패킷을 받아들일 저장공간이 부족하여 넘치게 될 것이다. 방금 한 얘기에 대한, 2가지 개념이 있다.
1) queueing delay
각 패킷 스위치(라우터)는 접속 된 여러 개의 링크를 가진다. 각 링크에 대해 패킷 스위치는 출력 버퍼를 갖고 있으며, 그 링크로 송신하려고 하는 패킷을 저장하고 있다. 만약 버퍼에 도착한 패킷이 출력 링크로 나가야 하는데 그 해당 링크가 이미 다른 패킷을 내보내고 있다면 도착한 패킷은 버퍼에서 대기해야한다. 이렇게 도착하는 패킷이 버퍼에서 대기하는 상황을, queueing delay라고 한다.
2) packet loss (drop)
버퍼의 용량은 한정적이므로 이 버퍼가 넘치면 방금 도착한 패킷이나 이미 저장되어 있는 패킷은 버퍼에 들어가지 못하고, 패킷이 버려지는 손실이 발생한다.
Circuit switching
링크와 스위치의 네트워크를 통해 데이터를 이동시키는 방식에는 Packet switching 방식 이외에도 Circuit switching(회선교환) 방식이 있다.
Circuit switching 방식에서는 종단 시스템 간에 통신을 제공하기 위해 경로상에 필요한 자원은 세션이 유지되는 동안에는 예약되어야 한다.
Circuit switching 네트워크의 예로는 전통적인 전화망이 있다. 어떤 사람이 전화망을 통해 다른 사람에게 정보를 보내려고 할 때 어떤 일이 일어나는지 생각 해보자.
일단 내가 친구한테 전화를 하려면 수화기를 들고 번호를 입력한다. 번호를 입력하고 친구가 전화를 딱 받는 순간! 해당 전화망은 아무도 쓰지 못하고 오로지 나만 쓸수 있다는 것이다. 이렇게 연결이 예약된 상태에서 전화를 하게된다면 송신자는 수신자에게 보장된 일정 전송률로 데이터를 보낼수 있다는 장점이 있다. 하지만 연결 동안에는 다른 사람이 사용하지 못하는 단점이 있다. 전화를 하는 도중 다른 친구가 나한테 전화를 해도 '상대방이 통화중입니다' 라는 소리가 나오는 것처럼 말이다.
source와 destination 사이의 경로를 정해버리면 queueing delay 완화되고 중간에서의 손실도 줄어든다. 하지만 문제는 경로를 설정해놨는데 사용을 안한다면 낭비가 된다. 그렇다면 계속 데이터를 주고받아야 한다. 아하! 전화에 적합하구나! 해서 Circuit-switching은 전화를 위해 개발된 것이다.
만약 친구와 통화를 한다면, 내 목소리와 친구의 목소리가 흘러가는 경로가 미리 준비되어 있을 것이다.
내용 출처 : https://wogh8732.tistory.com/14, https://inyongs.tistory.com/48
- Circuit switching의 특징을 정리하면 아래와 같다.
- (1) 미리 경로를 예약하여 사용한다.
- (2) 자원을 공유하지 않아 독립적이다.
- 통신의 품질이 안정적으로 유지되고 보장된다. (guaranteed)
- (3) delay와 loss가 완화된다. (라우터에 도착하는 패킷은 미리 지정된 경로로 빠르게 전송되기 때문에)
- (4) Bandwidth를 고정하면 사용자의 수가 정해져 있어서, 자원이 없으면 연결이 안된다.
위 그림에서 굵은 초록색의 회선을 두 호스트가 사용하게 되면 다른 호스트 들은 이 회선을 사용하지 못한다. 각 링크가 4개의 회선을 가지므로 라우터 간에 1Mbps의 전송속도를 갖는다면 각 회선 교환 연결은 250kbps의 속도를 얻게 된다.
Circuit switching의 구현 방법 - FDM, TDM
- FDM (frequency division multiplex, 주파수 분할 다중 방식)
- 주파수 단위로 쪼개는 것.
- TDM (time division multiplex, 시간 분할 다중 방식)
- 시간 단위로 쪼개는 것
Packet switching vs. Circuit switching
Packet switching | Circuit Switching | |
---|---|---|
장점 |
|
경로를 지정함으로써 아래와 같은 장점들을 얻을 수 있다.
|
단점 |
|
|
함께 보면 좋은 글
참고 자료
- Computer Networking: A Top Down Approach 6th edition - Jim Kurose, Keith Ross Addison-Wesley March 2012
- https://inyongs.tistory.com/38
- https://inyongs.tistory.com/39
- https://inyongs.tistory.com/44
- https://inyongs.tistory.com/48
- https://joooootopia.tistory.com/5