728x90
개요
- 오류에 의해 변질된 프레임의 복구
- 오류 수정 코드 (Error Correction Codes: ECC)
- 순방향 수정 (Forward Error Correction: FEC) → 수신자가 수정하는 코드
- 자동 반복 요청 (Automatic Repeat reQuest: ARQ) : 재전송
- ACK와 타임아웃 (Acknowledgements and Timeouts)
- 역방향 수정 (Backward Error Correction)
- 오류 중에는 프레임 자체가 성립이 안 되는 framing error 도 존재한다.
- 이 경우에는 수신 쪽이 frame 수신 여부를 인식하지 못하는 frame loss이다.
오류 수정 코드 (Error Correcting Codes)
- Forward Error Correction (FEC)
- 재전송이 용이하지 않은 경우에 유용하다.
- Time이 정해진 것은 재전송하기 힘들다.
- 전화 같은 실시간 통신에서 재전송을 통해 늦게 수신된 데이터는 가치가 없다.
재전송을 통한 오류 복구
- 타임아웃, 재전송용 버퍼 처리 등에 필요하다.
- 어댑터에서 단독으로 처리하는데 한계가 있다.
- 2계층 기능이지만 노드 내 소프트웨어로 처리한다.
ARQ: 응답 (ACK) 및 타임아웃
- Frame을 전송하고 Timeout을 설정한다.
- 송신자가 설정한 Timeout 시간까지 수신자가 ACK를 보내야 한다.
- Timeout 시간동안 ACK가 도착하지 않았다면 재전송한다.
ARQ: 순서 번호 (Seq. #)
- ACK의 분실 경우: 중복 data 문제가 발생한다. (송신자는 ACK를 받지 못하면 재전송하므로)
- 순서 번호가 필요하고, 수신된 중복 data는 버린다.
- 중복된 데이터라고 하더라도 ACK는 반드시 전송해야 한다.
Automatic Repeat Request
- Error detection
- Acknowledgment
- Retransmission after timeout
- Negative Acknowledgment (NAK - optional)
- frame 오류가 발생하면 NAK을 보낼 수 없기 때문에 Time out은 꼭 써야하고, NAK은 선택 사항이다.
Piggybacking
- Data와 ACK를 한 번에 보내는 것
Stop and Wait: Timing 분석
- 지연 시간이 짧아지고 Data 크기가 증가하면 효율이 증가한다.
- 링크 효율은 Frame의 크기에 비례하고, 전파 지연시간에 반비례한다.
Frames
- 거리가 동일할 때 대역폭은 링크의 부피에 비례한다.
정지대기 (Stop-and-Wait)
- outstanding frame = 1, 오류 검출도 한 개만 한다.
- 문제점 : 파이프를 꽉 채운 상태로 유지하지 못한다.
Ex. 1.5Mbps link x 45㎳ RTT = 67.5Kb (8KB). 프레임의 사이즈가 1KB인 경우, 정지 대기(stop-and-wait)는 링크 용량의 1/8만을 사용 한다. 송신자는 ACK를 기다리기 전에 8개의 프레임을 보낼 수 있는 것이 바람직하다.
728x90
'School Lecture Study > 컴퓨터 통신' 카테고리의 다른 글
10. 슬라이딩 윈도우 구현 (0) | 2022.10.26 |
---|---|
9. 슬라이딩 윈도우 (Sliding-Window) (0) | 2022.10.26 |
7. 오류 검출 (0) | 2022.10.25 |
6. 프레이밍 (Framing) (0) | 2022.10.25 |
5. 인코딩 (Encoding) (0) | 2022.10.25 |