switching & ARQ

1231·2026년 3월 23일

AI네트워킹

목록 보기
1/13

Switching

Virtual circuit switching
Frame-Relay를 생각해보자.

circuit switching과 packet switching의 장점을 합침.
setup - transfer - teardown 과정을 거친다.

패킷을 사용하지만, 지정된 경로로 갈 수 있게 한다.

보내는것뿐만 아니라, 돌아오는 패킷도 고려한다.
VCI, Virtual Circuit Identifier 사용.
incoming과 outgoing VCI를 다르게 설정

하나의 링크에 2개 이상의 데이터가 들어오는 경우, switch에서 갈라지게 된다.
이는 incoming-outgoing table을 기반으로 스위칭 하게 된다.

switch에서 갈라지게 된다.

이러한 entry table은 다음과 같이 돌아오는 VCI를 고려하여 만들어진다.

data link layer에서의 link control
error control과 flow control.

flow control: 상대 노드의 용량을 고려하여 패킷의 양을 제어하는것
congestion control: 링크의, 즉 전체 네트워크의 논잡 여부로 패킷의 양을 제어한느것.

ARQ

automatic repeat request
문제 발생시 자동으로 해결하는 프로토콜

Stop-and-wait ARQ
0101010...기다리는 시간내 응답이 오지 않으면 재전송하는 메커니즘.
단 하나의 패킷을 보내고 기다리기 때문에 window는 1개만 존재해도 된다. 0101 만 써도 됨. 이는 응답이 올떄까지 기다려야하기 때문에 굉장히 비효율적이다.

Bandwidth-delay product
BDP.
stop-and-wait처럼 하나씩 보내는것이 아니라 bandwidth를 모두 활용하여 패킷을 한꺼번에 보내는것. Pipelining 하겠다는것.

이것의 종류에는 Go-Back-N ARQ, Selective Repeat ARQ가 존재한다.

Go-back-N ARQ
1개씩 보내는것이 아니라 W개씩 보낸다. 따라서 window는 010101이 아닌
0123456...을 사용한다.

2^m - 1 개의 window를 사용하여야 한다.
4개의 패킷을 한번에 보낼 수 있다고 가정하면, 3개의 window를 설정하여야 한다.

cycle안에 4개를 보내버리면 timeout시 다시 0번을 보낼대 receiver에서 받던것은 새로운 cycle의 0번이다. 하지만 이는 숫자가 같으므로 error가 발생했다고 인식하지 못함.


왼쪽은 3개를 사용하는 경우, 올바르게 인식.
오른쪽은 4개를 사용하는 경우, 인식 불가

만약 특정 번호를 skip해버리면 바로 다시 cycle을 수행해야 한다.
그렇다면 한놈 못받으면 뒤에 정상적으로 보냈던 놈들도 폐기해야하는 문제가 발생한다. 따라서 selective-repeat ARQ에서는 receiver의 window를 순서대로 채우는것이 아니라 sequence 넘버대로 채운다.

장점은 제대로 보냈을때 많은 양의 트래픽을 보낼 수 있다는것이다.

receiver의 window size는 1개이다.

Timeout Timer 설정 문제
상황에 따라 다르게 설정해야한다. 그것을 어떻게 설정할것이냐가 쟁점이다.

Selective Repeat ARQ
NAK사용, go-back-n ARQ에서 정상적으로 보냈던 패킷까지 모두 resent해야했던 문제를 해결

2^m-1개의 window를 컨트롤할 수 있었던 go-back-n ARQ와 달리,
보낼 수 있는 패킷 수의 절반만큼의 window만을 컨트롤 할 수 있다.

이유? receiver가 retransmited된 패킷을 새로 들어온 패킷으로 혼동할 수 있기 때문.

어떤 것이 더 좋은가?
장거리, 에러가 없다는 가정하에 많은 양의 트래픽을 한번에 보낼 수 있는 go-back-N ARQ 방법이 좋고,

에러가 많은 경우 selective repeat ARQ 방법이 더 좋다.

네트워크에서는 얼마만큼, 충돌ㅇ벗이 자원 할당 잘해서 빠르게 보낼것인지가 관건이다.

Delivery/Time의 중요성

0개의 댓글