본문 바로가기

Network/Network

[Network] Packet Switching (패킷 스위칭)

인터넷은 1960년대 후반, 미 국방부에서 만들었던 ARPANET이 시초입니다. ARPANET의 개발 목적은, 지리적으로 떨어져있는 컴퓨터끼리 풍부한 정보를 교환하기 위함이었습니다. 또 다른 이유로는 핵전쟁 등과 같은 상황에서 한 컴퓨터가 끊어져도 다른 컴퓨터에서는 연결이 유지되게 하기 위해서 만들어졌습니다. 이를 위해서 필요한 기술이 패킷 스위칭이었습니다.

 

패킹 스위칭이 나오기 전까지는 circuit switching(서킷 스위칭)이라는 방식을 사용했습니다. 서킷 스위칭은 정보를 송수신하는 과정에서 송수신 단말 사이에 회로(circuit) 연결을 해두고 정보 전달을 수행합니다. 이 회로는 회선을 길게 짜 맞춰 연결한 것으로, 송수신이 일어나는 동안 연결이 유지되는 방식이었습니다.

 

 

B에서 D로의 통신이 필요하면, B와 D사이에 있는 C와 서로 회선을 연결해 회로를 구성합니다. 그런 다음 송수신이 끝날 때까지 연결 상태를 유지하다가 끝나면 연결 상태를 끊습니다. 이 방법을 사용하게 되면 전용 회선을 사용하기 때문에 송수신의 품질은 좋겠지만, A에서 E로 가는 통신이 필요해졌을 때 연결이 끊기기까지 기다려야한다는 단점이 있습니다.

 

패킷 스위칭은 회선을 공유하고, 데이터를 패킷이라는 단위로 나눠서 송수신합니다. 네트워크에서 각 노드들은 같은 네트워크의 여러 노드들과 연결이 되어있습니다. 이 연결된 회선을 통해 각각의 노드는 수신받은 패킷을 저장하고, 목적지에 가까운 노드로 전송해줍니다.

 

 

A에서 E로의 통신이 필요합니다. 그러면, A에서 송신할 데이터를 패킷으로 쪼개어 B로 보냅니다. B는 이 패킷들을 받고 목적지인 E에 가까운 노드인 C로 보내게됩니다. C는 다시 D로, D는 E로 보내는 방식으로 진행됩니다. 이 때, B에서 D로의 통신이 필요하다면 마찬가지의 과정으로 B가 패킷을 C에게, C가 D에게 보냅니다. 중요한 점은, 회선이 사용 중이라고 통신이 되지 않는 것이 아니라는 것입니다.

 

이러한 패킷 스위칭은 추상화된 개념에 불과하기 때문에, 이를 구체화해줘야 합니다. 네트워크의 각 노드가 어떻게 데이터 패킷을 꾸릴지, 어떻게 네트워크를 통해 보낼지 등을 말이죠. 이런 것들을 정형화해 둔 프로토콜들이 점점 발전해서 현재의 TCP/IP 스택이 되었습니다.

 

 

서킷 스위칭 vs 패킷 스위칭

 

서킷 스위칭은 전용 회선을 통해 연결되어 있는 노드 끼리만 통신을 실시합니다. 그래서 속도가 패킷 스위칭 보다도 빠릅니다. 하지만, 연결이 끊길 때까지는 다른 노드에서 송수신 할 방법이 없다는 점이 있습니다.

 

패킷 스위칭은 서킷 스위칭보다 효율적인 방법입니다. 여러 곳으로 송수신을 할 수 있고, 서킷 스위칭보다 구현이 더 용이합니다. 하지만, 전송량이 커지면 속도가 느려지게 됩니다.

 

이 외에도 여러 장단점들이 많이 있지만, 가장 중요한 점은 바로 서킷 스위칭은 품질 보장이 된다는 점, 패킷 스위칭은 여러 이용자가 이용가능하다는 점입니다.

 


 

잘못된 점 있으면 댓글로 알려주세요! 감사합니다.

 

 

 

 

 

 

 

'Network > Network' 카테고리의 다른 글

[Network] 레이턴시  (0) 2022.05.26
[Network] 네트워크 토폴로지  (0) 2022.05.19
[Network] TCP/IP 스택  (0) 2022.04.27