문제 1

TCP 프로토콜이 종단 시스템 간 신뢰적인 데이터 전송 서비스를 제공하는 이유를 IP와 관련해서 서술하시오.

→ IP는 최선적 전달만 하고 세그먼트딴의 데이터의 무셜성은 보장하지 않기 때문에 TCP는 핸드셰이킹을 통해 연결지향적인 서비스를 제공한다.

문제 2

UDP 프로토콜은 TCP 프로토콜과 달리 3way-Hand-Shake 과정을 안거치므로 비 연결성 특징을 가지는 프로토콜이다. 이러한 이유로 빠른 응답을 위해서 DNS 서버는 UDP 프로토콜을 사용하기도 한다. 그런데 UDP 프로토콜 헤더에 체크섬 필드를 추가한 이유에 대해 설명하시오.

→ 오류검출을 하여 오류 발생시 응답을 알리기 위해서

문제 3

트랜스포트 계층 프로토콜은 각 종단 시스템에서 동작하는 프로세스 간 논리적 통신 기능을 제공한다. 신뢰적인 데이터 전송을 위해서 과거부터 문제점을 어떻게 극복했고, 현재는 어떤 기술이 적용되었는지 설명하시오.

rdt 1.0 : 하위계층을 완전 신뢰적인 계층으로 보고 요청 응답 처리

rdt 2.0: 패킷의 손상여부를 확인하기 위해 ack nak를 도입

rdt 2.1 : ack nak의 손상이 될경우를 고려하여 상태를 표시하는 순서 필드를 도입

rdt 2.2: nak의 사용을 없애고, ack의 중복(최근 수신된 ack를 보내는 행위)을 통해 nak의 자리를 대체

rdt 3.0 : 패킷의 손실을 고려하여, 카운트다운 타이머를 도입하여 손실을 확인했다.

파이프라이닝 기법을 사용하여 좋지 않은 전송률을 쓰는 대기 지연 방식을 개선하여 여러개의 데이터를 보내 각 송신에 대해 ack를 바로 받는 방법을 쓴다.

데이터 회복 관점에서 GBN 과 SR 로 나뉜다.