티스토리 뷰
양방향 통신 -> 오류 제어와 흐름 제어 기능을 모두 지원
- 송신 호스트는 정보 프레임(전송 데이터 + 순서 번호 + 오류 검출 코드)을 순서 번호에 따라 연속적으로 전송함
- 정보 프레임을 수신한 수신 호스트가 응답하는 순서 번호는 정상적으로 수신한 번호가 아닌 다음에 수신하기를 기대하는 번호를 회신하는 것이 일반적임
- 송신 윈도우(임시 저장 버퍼 수)는 전송은 되었지만 긍정 응답이 회신되지 않은 프레임을 재전송에 대비하여 보관. 송신 호스트가 관리.
- 수신 윈도우(임시 저장 버퍼 수)는 프로토콜의 동작 방식(고백-N 방식, 선택적 재전송 방식)에 따라 크기가 달라짐. 수신 호스트가 관리.
1) 흐름 제어
순서 번호(sequence number)
- 프레임 별로 부여되는 일련 번호
- 정지-대기 프로토콜에서는 순서 번호가 n=1임 (비연속형 전송)
- 0 부터 임의의 최대 값까지 순환 방식으로 사용
- 프레임에서 순서 번호의 공간 크기 = n 비트 : 순서 번호의 범위는 0 ~ 2^n - 1
- 일반적으로 순서 번호의 최대값이 송신 윈도우 크기보다 커야 함
윈도우 크기(window size)
- 송신 : 긍정 응답 프레임을 받지 않고 연속으로 전송할 수 있는 프레임의 최대 개수 => 송신 후 임시 저장용 버퍼 수
- 수신 : 수신한 프레임을 임시로 저장 가능한 버퍼 수
연속형 전송(pipelining)
- ACK 프레임을 받지 않은 상태에서도 여러 프레임을 연속으로 전송
- 오류 가능성이 적은 환경에서 효율적으로 사용
오류발생시 해결 방법
- 고백 N (Go-Back N) : 오류가 발생한 프레임 이후의 모든 프레임을 재전송
- 선택적 재전송(Selective Retransmission): 오류가 발생한 프레임만 재전송
ex)
윈도우 크기 = 8
10 번~17 번 프레임을 연속 전송
12 번 프레임 오류 발생
고백 N(Go-back N) 방식
: 오류난 정보 프레임 이후는 모두 버리는 형식이므로 수신 윈도우 크기는 1
선택적 재전송(Selective retransmission) 방식
: 12번째 정보를 재수신하기 전까지는 다음 프레임의 긍정 응답은 보내지 않음
: 송신 윈도우 크기 = 수신윈도우 크기
'cs > network' 카테고리의 다른 글
[네트워크/network] 네트워크 계층의 혼잡 제어 기능 (0) | 2021.04.17 |
---|---|
[네트워크/network] 네트워크 계층의 비연결형/연결형 서비스 (0) | 2021.04.17 |
[네트워크/network] 데이터 링크 계층의 단순 프로토콜/정지-대기 프로토콜 (단방향 통신) (0) | 2021.04.01 |
[네트워크/network] 토큰 버스/링 프레임 구조 (0) | 2021.04.01 |
[네트워크/network] 허브/스위치 허브 (0) | 2021.04.01 |