Learn business/Network

Packet Switching을 사용하면 왜 Loss나 Delay가 발생할까?


전세계 네트워크

컴퓨터가 없는 세상은 상상도 못할 만큼 우리 생활 깊숙히 자리잡고 있습니다. 컴퓨터를 통해 다른 사람과 소통하는건 너무나도 자연스럽고 당연한 일입니다. 이렇게 컴퓨터를 통해 각지의 세계 사람들과 소통하고 수 많은 정보를 습득할 수 있는 것도 바로 네트워크 덕분입니다. 네트워크란 무엇일까요? 네트워크는 network가 합쳐진 말입니다. 하드웨어끼리 마치 그물망 처럼 연결되어 데이터들을 주고 받는 집단 이라고 볼 수 있습니다.

 

Network-Core / Network-Edge / Link

위 그림을 보면 수많은 점들이 연걸되어있습니다. 위 그림을 크게 Network-Core / Network-Edge / Link로 나눠볼 수 있습니다. 

  • Network-Core
    • 흔히 말하는 Router들이 존재합니다. (Router들의 집합)
    • 이 Router들은 전송받은 데이터를 목적지까지 전달하는 역할을 합니다.
    • 인터넷망에서 중심부에 있다고 생각하면 됩니다.
  • Network-Edge
    • 개인 컴퓨터 / 랩탑 / 서버등이 존재합니다.
    • 데이터를 전송하고 받는 주체입니다.
    • 인터넷망에서 가장 가장자리에 있다고 생각하면 됩니다.
  • Link
    • Router와 Router를 연결해주는 선입니다.

Network-Core에 있는 Router들은 어떻게 데이터를 전송할까요?

Circuit Switching(회선 교환) 방식

  • 출발지에서 목적지까지 가는 길을 만들어 놓고 그 사용자만 사용하도록 하는 방식입니다.
  • 대표적으로 유선전화가 있습니다. 
  • 옛날에 많이 쓰이던 데이터 전송 방식입니다.

Packet Switching(패킷 교환) 방식

  • 사용자가 전송하고자 하는 데이터를 패킷 단위로 받아서 그때 그때마다 보내는 방식입니다.
  • 오늘날의 전송 방식입니다.

그렇다면 왜 Packet Switching 방식을 사용할까요? 오늘날 사람들의 인터넷 소비 방식은 일정한 규칙을 가지고 있습니다. 가만히 생각해보면 저희가 인터넷 서핑을 한다고 했을때, 매초마다 클릭을 하여 네트워크의 자원을 소비하고 있나요? 아마 특정 기사를 클릭하고 스크롤을 내려 몇 초정도는 가만히 글을 읽고 있을 것입니다.

 

Circuit Switching 방식은 네트워크 자원이 필요없는 시간이 많음에도 불구하고 자원을 점유하고 있습니다. 당연히 유선전화의 경우는 필요한 방식입니다. 그러나 인터넷 서핑에는 불필요한 방식입니다. 그래서 그때마다 데이터 요청이 올때마다 패킷 단위로 받아서 그때 그때마다 보내는 방식을 데이터 전송 방식인 Packet Switching 방식을 채택하였습니다.

 

하지만 만약 사용자가 몰린다면 Packet Switching 방식도 문제가 될 수 있습니다. 왜 그럴까요?

 

Packet Switching 데이터 전송 방식에서 발생하는 Delay 종류

Processing Delay

  • Packet이 정상적인 데이터인지 확인하는 시간이 필요합니다.
  • Packet의 목적지가 어디인지 확인하는 시간이 필요합니다.

Queuing Delay

  • Packet이 나가는 속도보다 Router에 들어오는 속도가 빠르다면, Router는 들어오는 Packet을 어딘가에 보관을 해야합니다. 그게 바로 Queue입니다.
  • 그래서 앞서 들어온 Packet이 나가는 속도가 느리다면 방금 도착한 Packet은 Queue에서 대기해야합니다.
  • Queuing Delay는 네트워크 상에서 가장 문제가 됩니다. 사람이 몰리면 당연히 네트워크 상에 돌아다니는 Packet이 많아지기 때문입니다.
  • 만약 해당 Router에 대기하고 있는 Queue가 가득찬 상태에서 Packet이 들어오면 해당 Packet은 유실이 됩니다.

Transmission Delay

  • 데이터는 bit의 집합입니다.
  • 한 Packet이 첫번째 bit부터 마지막 bit까지 해당 Router를 빠저나가는 시간이 필요합니다.

Propagation Delay

  • 그 다음 Router까지 도달하는데 걸리는 시간이 필요합니다.

Packet Swiching 방식으로 데이터를 전송하면 위 4가지 Delay가 발생하는 것은 필연적입니다. 그래서 사람들의 사용량이 많아지면서 네트워크 상에 돌아다니는 Packet이 많아지면 인터넷 속도가 느려지게 되는 것입니다. Queuing Delay에서 언급한 내용처럼 Queue에 Packet이 가득 차있으면 데이터 유실이 발생하게 되며, 지연이 생길 수 밖에 없습니다.

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

Java Socket Server/Client (TCP 통신)  (3) 2020.03.02
CORS 이슈 해결 :: Spring Security  (0) 2020.02.24
CORS 이슈 해결  (3) 2020.02.16
CORS 정책  (3) 2020.02.09