📌 신뢰적 데이터 전송의 원리
- 슬라이딩 윈도우가 뭘까요?
- 데이터 스트림에서 일정한 크기의 윈도우를 유지하며 창을 이동시키며 연속적인 데이터를 처리하는 기법
- 데이터 처리, 통계, 네트워크 등 다양한 분야에서 사용
- 네트워크에서, 패킷을 일정 크기의 윈도우로 나누어 처리하거나 윈도우를 이동시켜 특정 패턴을 감지하는 등의 용도로 활용됨.
- Go Back N에 대해 설명해주세요.
- 데이터 링크 계층에서 오류 제어를 위해 사용되는 프로토콜
- 슬라이딩 윈도우 기반
- 타이머 활용 - ACK를 받지 못한 경우 해당 프레임을 재전송
- ARQ(Automatic Repeat reQuest) : 정상적으로 수신되지 않은 프레임에 대해 전체 윈도우 재전송 요청 - 통신의 신뢰성 유지
- Selective Repeat에 대해 설명해주세요.
- 슬라이딩 윈도우 기반
- ACK, NAK 사용
- 손실된 프레임에 NAK를 보내면, Go-Back-N과 달리 손실된 프레임만 재전송 → 효율적인 네트워크 대역폭
- GoBackN보다 상태 정보를 더 많이 유지 → 서버 부담
📌 TCP
- TCP에 대해 설명해주세요.
- 전송 계층
- 신뢰성 있는 연결 지향 프토로콜
- 흐름 제어
- 혼잡 제어
- 데이터 세그먼트 전송
- 3 way handshake에 대해 설명해주세요.
- ACK
- ACK + SYN
- SYN
- 연결 설정에 이용
- 4 way handshake에 대해 설명해주세요.
- 연결 해제에 이용
- FIN
- ACK
- FIN
- ACK
- TCP 빠른 재전송에 대해서 설명해주세요.
- 혼잡제어
- 데이터 손실을 감지하고 복구하는 데 사용
- 타임아웃 기반의 재전송보다 빠름
- 중복된 ACK를 수신 → 송신 시 발생 ⇒ 정상 순서의 패킷보다 더 높은 시퀀스 번호의 패킷을 받았다는 것을 의미 → 해당 패킷 재전송
- Congestion control에 대해 설명해주세요.
- 혼잡 : 네트워크의 부하
- 네트워크 전체의 혼잡 관리
- Flow control에 대해 설명해주세요.
- 네트워크 통신에서 데이터의 흐름을 조절하여 수신측이 적절히 데이터를 수용할 수 있게 하는 것.
- 네트워크 혼잡을 방지하고 데이터의 손실을 막기 위해 사용
- 데이터 전송 속도 조절