[Networks] Store and Forward Transmission
대부분의 패킷 스위치(라우터)들은 store-and-forward transmission을 사용합니다. 이는 패킷 스위치가 Source로부터 모든 패킷을 받고 난 후에, Outbound Link로 전송을 시작하는 방식을 의미합니다.
* Source : 패킷을 보내는 출발지
* Destination : 패킷을 받아야하는 목적지
* Outbound Link : Destination 쪽으로 가는 링크입니다. 다른 스위치와 이어져있습니다.
만약 Source가 각각 L bits 인 패킷 3개를 Destination에게 전송한다면, 패킷 스위치가 첫번째 패킷을 먼저 수신합니다. 그럼 패킷 스위치의 '모든 패킷을 수신하고 나서, Outbound Link로 패킷 전송을 시작한다' 라는 특성 때문에, 먼저 받은 패킷을 저장해 놓아야 합니다. 이를 Store 라고 합니다. 또한 모든 패킷이 패킷 스위치에 도착해서, 다시 전송하는 과정을 Forward 라고 합니다.
그러면, Source가 패킷 전송을 시작할 때부터 Destination이 모든 패킷을 수신할 때까지 걸리는 시간을 계산해보겠습니다. 계산에서 Propagation Delay는 무시합니다.
* Propagation Delay : 케이블을 타고 Bits가 이동하는 시간. 광속에 가깝습니다.
Source가 N bits 패킷 하나를 보낸다고 할 때, Transmission Rate를 R bits/sec라고 가정해보겠습니다.
time==0) Source로부터 패킷 스위치까지 N bits를 전송하니, 여기서 N/R 만큼 시간이 소요됩니다.
time==N/R) 패킷 스위치는 Source로부터 전체 패킷을 모두 수신하였고 이때부터 패킷 스위치는 outbound link로 패킷 전송을 시작할 수 있습니다. 이때도, N/R 만큼 시간이 소요됩낟.
time==2N/R) 패킷 스위치는 모든 패킷을 전송하였고, Destination 까지 도착하였습니다.
그러므로, 총 2L/R 시간이 걸리게 됩니다.
만약 패킷 스위치가 store-and-forward transmission 방식 대신에 패킷을 받으면 바로 전송을 시작하는 방식을 채택한다면, L/R 시간이 걸릴 것입니다. 이는 앞서 온 패킷들을 저장하지 않고 바로 보내기 때문입니다.
이 글은 Computer Networking Top Down Approach 8th을 정리한 글입니다. 사용된 이미지의 출처 또한 동일합니다.
댓글
이 글 공유하기
다른 글
-
[Networks] Delay in Packet-Switched Networks
[Networks] Delay in Packet-Switched Networks
2023.05.18 -
[Networks] Circuit Switching
[Networks] Circuit Switching
2023.05.16 -
[Networks] URI와 PURL
[Networks] URI와 PURL
2023.03.09 -
[Networks] AWS 로드 밸런싱 - ALB
[Networks] AWS 로드 밸런싱 - ALB
2022.01.20