IT 프로그래밍/컴퓨터네트워크

[컴퓨터네트워크] 1강 part2. 패킷 교환

기술1 2024. 10. 5. 14:09

패킷 교환(packet switching)

소스는 응용 계층 메세지를 패킷으로 알려진 작은 데이터 묶음으로 분할합니다. 각 패킷은 통신 링크와 패킷 교환기들을 통해 전달되며 사용자 A와 B의 패킷들은 네트워크 자원을 공유합니다.

 

각 패킷은 그 링크의 최대 전송률과 같은 속도로 전송이 됩니다.

 

패킷은 데이터가 조각으로 분할이 되지 않으며 독점적으로 할당도 되지 않습니다. 이것이 패킷 교환과 회선 교환의 차이라고 볼 수 있습니다.

 

독점적으로 사용X 그래서 네트워크 자원을 공유해서 사용을 하기 때문에 자원에 대한 경쟁이 발생합니다. 총요구량이 실제 사용량보다 높을 때 네트워크 자원에 대한 경쟁이 발생하게 되는데요. 이것이 바로 congestion 즉 혼잡이 발생했다고 합니다. 

 

혼잡이 발생하게 되면 버퍼를 기다려야 하기 대문에 지연이 발생하게 됩니다. 그리고 패킷 교환망의 주요 특징 중 하나인 store and forward 즉 한번에 하나의 hop만 이동이 가능합니다. 

 

각각의 패킷은 독립적으로 되어 있고 각각의 패킷이 빠른 속도로 돌면 스위치에서 일시적으로 기다려야 하는 것이 발생합니다. 각각의 라우터에는 버퍼(저장공간)이 존재합니다. 그래서 각각의 패킷들은 버퍼에서 외부 출력 링크로 전달될 때까지의 지연이 발생하게 됩니다.

 

패킷 교환 특징 : 통계적 다중화

패킷의 패턴을 보면 고정된 패턴을 따르지 않습니다. 전달되는 패킷이 첫번째 스위치를 통과해서 두번째 스위치까지의 링크에서 전달되는 패킷을 보면 전달되는 패턴이 고정되지 않으며 항상 host A와 B의 도착하는 순서에 따라 달라집니다.

 

따라서 다중화는 항상 고정된 패턴이 나타나게 되는데 이 패킷 스위칭에서 패킷들이 전달되는 패턴은 고정되지 않기 때문에 통계적 다중화(Statistical Multiplexing)이라고 얘기합니다.

 

호스트가 패킷을 전달하는 과정

  1. 어플리케이션 메세지를 받는다
  2. 이후 고정된 길이의 작은 조각(패킷)으로 나눈다. 
  3. 가각의 패킷을 해당 링크 (ex.R)의 대역폭으로 각각의 패킷을 전송한다.

전송지연 같은 경우 패킷 길이/링크의 대역폭로 구할 수 있습니다. 출력 링크로 전송할 때 걸리는 전송 지연은 

 

L(bits) / R(bits/sec)로 계산이 됩니다.

 

패킷 교환망 중요 특성 : store-and-forward

다음 링크로 전송될 수 있기 전에 전체 패킷이 라우터에 도착해야 한다

 

HOST에서 DES로 도착하기 전에 2개의 라우터가 존재한다면 라우터1에서 첫번째 비트가 도착했다고 해서 바로 두번째 라우터로 전달되는 것이 아닌 전체 L bit가 다 도착했을 때 두번째 출력 링크로 전송이 가능합니다. 

 

R bps 링크로 L 비트의 패킷을 전송하기 위해선 L/R 초가 걸림

 

지연 :  라우터가 2개면 => 3L / R

예시) L = 7.5Mbits, R = 1.5Mbps 

 

일때 delay는 15sec가 걸립니다.

 

길이가 L인 패킷을 목적지까지 도달할 때 Q개의 링크가 있을 때 각각의 링크는 R bps의 속도를 가집니다. 이때 걸리는 지연은 QL / R이 걸립니다. 

 

즉 Q개의 링크가 있으면 QL/R초가 걸립니다.

 

패킷 교환 VS 회선 교환

패킷교환 긍정 여론

  • 회선 교환보다 대역폭을 보다 효율적 공유
  • 더욱 간단, 효율적이며 구현 비용 절감

패킷 교환 부정 여론

  • 가변적이고 예측할 수 없는 지연때문에 실시간 서비스에 부적당

패킷교환은 더 많은 사용자들이 네트워클르 사용할 수 있게 합니다. 즉 공유관점에서 회선 교환에서 장점이 있습니다.

 

 

 

1Mbit 링크를 공유합니다. 전송하는 확률은 10% 비율로 전송을 하고 기본적으로 요구하는 대역폭이 100kbps라고 가정을 해봅시다. 이를 회선교환과 패킷교환 각각으로 비교를 해보겠습니다.

 

회선교환

  • 최대 사용자수 10 users(=1Mbps/100kbps)

패킷교환

  • 35명 사용자 가정
  • 11명 이상 사용자가 active할 확률은 0.0004
  • 10명 이하 동시 사용자가 있다면(확률 0.9996) 이 경우 데이터 도착률은 1mbps보다 작거나 같고 회선 교환과 마찬가지로 지연없이 링크를 통과합니다.
  • 10명 이상의 동시 사용자가 있는 경우 통합 도착률이 링크의 출력 용량(1Mbps)을 초과해서 출력 큐가 커집니다.

따라서 패킷 교환은 거의 항상 회선교환과 같은 지연 성능을 지니면서, 사용자 수는 3배 이상을 허용합니다. 

 

 

패킷 교환 이 좋은 경우

-bursty데이터의 경우(어떤 시점에서 많이 사용자고 적게 사용할 때)

-하지만 혼잡이 발생할 수 있으며 packet이 delay나 loss가 발생할 수 있습니다. 

 

 

메세지 분할

 


  • 분할과 재조립(송수신측 설계를 복잡하게 하지만, 분할을 통해 많은 이득)
  • 메시지 교환(메세지를 분할하지 않은 패킷 교환망)

메시지 교환은 한꺼번에 전달하는 교환망이고 패킷교환망은 메세지를 보낼 때 패킷이라는 작은 단위로 쪼개는 것입니다. 

 

패킷 교환이 메세지 교환에 비해서 훨씬 더 적은 종단간 지연이 작습니다. 


예시

  • 7.5*10^6 비트 메세지
  • 소스 목적지 사이에 두 개의 패킷 교환기와 3개의 링크 존재
  • 각 링크는 1.5 Mbps 속도
  • 네트워크 혼잡 없음

메세지 교환방식

메세지를 자르지 않고 한꺼번에 지연을 계산할 때 출발지에서 목적지까지 전달할 때 2개의 교환기와 3개의 링크가 있고 1.5Mbps가 존재합니다. 소스에서 첫번째 교환기로 걸리는 시간은 (7.5*10^6 bits/ 1.5mbps)는 5초의 시간이 걸립니다. 

 

여기에서 전송 지연이 발생할 것이니 라우터가 2개 있다면 총 3번의 전송지연이 발생해 15초에 도착합니다.

패킷 분할 방식

메세지를 5000개의 패킷으로 분할, 각 패킷은 1.5k 비트 길이를 가지며 첫번째 패킷이 첫번재 교환기로 이동하는데 걸리는시간은 1msec입니다. (1.5Kbits/ 1.5mbits) 마지막 패킷이 첫번째 교환기에 완전히 수신되는데 걸리는 시간은 5000msec시점입니다. 

 

여기서 병렬이 나타나게 되는 것입니다. 첫번재 교환기에서 네번째 패킷이 전달되고 네번째 교환기에서 세번쨰 패킷이 교환되는 등 동시에 패킷이 전송되는 과정을 통해 병렬화의 특성때문에 전체적으로 전송 시간이 줄어들게 되는 것입니다.


패킷 교환의 장점

즉 지연이 15sec에서 5sec로 3배 정도 줄어듭니다. 이는 순차적인 전송을 하는 반면 패킷 교환은 동시 전송을 하기 때문인데요. 그래서 잘게 잘라서 보내면 전체적으로 지연이 줄어든다는 장점을 알 수 있 습니다. 

 

또한 비트 오류가 발생할 경우 교환기에서 패킷 내의 오류 발견시 교환기는 전체 패킷을 버립니다. 그러면 메시지 교환의 경우 한 비트 오류가 발생하면 전체 메세지가 버려집니다. 패킷 교환의 경우, 오류가 발생한 패킷만 버리면 됩니다.

 

패킷 교환의 단점 (제어정보 전달)

제어 정보의 전달이 송수신자의 식별자, 패킷 또는 메시지 식별자와 같은 정보들이 패킷 또는 메세지 헤더에 포함되어 있으며 데이터의 바이트당 헤더 오버헤드의 양에 이썽서 메시지 교환보다 패킷교환의 경우가 더 높습니다. 


 

패킷 교환망 포워딩

포워딩이란 : 어느 경로로 따라서 경로를 통해서 전달할건지에 대한 방법

 

가상 회선 네트워크(virtual circuit network)

  • 가상 회선 번호에 따라 패킷을 전달하는 네트워크
  • 가상회선 : 소스와 목적지 호스트 사이의 경로, 가상회선번호, 경로 상의 패킷 교환기 내의 VC번호 전황 테이블 내의 엔트리들로 구성
  • 각 패킷은 태그(가상회선 ID)를 포함하고, 태그는 다음 홉(next hop)을 결정
  • 호 설정 시간에 고정된 경로가 결정됨
  • 라우터들은 진행 중인 연결에 대해 상태 정보 유지

 

host a가 host b로 보내기 전에 call set up과정이 필요하고 이 과정에서 경로가 선택이 됩니다. 그래서 A에서 B로 경로가 선택된다면 설정 과정에서 경로로 설정된 각각 링크에 번호가 할당이 됩니다. 

 

이 과정에서 스위치를 만들어서 테이블을 만드는 것입니다. 

 

그리고 전송할 때 VC의 번호도 변경해서 보냅니다. 

 

변경하는 이유는

  • 링크마다 번호를 바꿈으로써, VC필드의 길이를 줄일 수 있음
  • VC 경로 상의 각 링크에 대해 서로 다른 VC번호를 허용해서 네트워크 관리 기능 간편
  • 경로상의 모든 링크가 공통의 번호가 요구되면, 교환기들에 사용될 VC번호 협의에 의해 추가적인 메세지 교환을 해야하기에 복잡해짐

데이터 그램 네트워크(datagram network)

  • 호스트의 목적지 주소에 따라 패킷을 전달하는 네트워크
  • 각 패킷은 헤더에 목적지 주소를 포함
  • 각 패킷 교환기(router)는 목적지 주소를 외부로 나가는 링크로 매핑하는 라우터 테이블을 가지고 있음
  • VC네트워크와 비교하여, 교환기 내에 연결 상태 정보를 유지하지 않음
  • 세션동안 경로는 변경될 수 있음

 

네트워크는

 

회선교환 - 주파수분할 OR 시분할

패킷교환 - VC네트워크 OR 데이터그램 네트워크

 

이렇게 보면 됩니다. 

 

우리가 흔히 아는 인터넷망은 데이터그램 네트워크이기때문에 이거에 초점을 맞춰서 분석을 해보겠습니다. 

 

access ISP

인터넷이라는 것은 network of network로 구성되어 있는 구조라는 것을 알 수 있습니다.

 

수많은 access network가 존재하고 수많은 호스트들이 연결되어 있습니다. 인터넷이 되기 위해서는 이 access network가 상호연결 되어야 합니다. 이 access network의 과정을 생각해보면 가장 단순한 방법은 다 서로서로 연결해주는 것입니다.

 

각각의 ISP에 access network가 연결이 되어 있는 구조입니다. isp는 인터넷 연결을 접속을 제공하는 주체라고 보면 됩니다. 

 

거대한 isp들에 수많은 access network들이 연결되어 있는 구조입니다.

voa/ 아메리카의 네트워크 구성망