13 TCP 프로토콜은 신뢰성 있는 데이터 전송이 수행되도록 다양한 방법을 사용한다. 신뢰성 전송을 위한 대표적인 방법 두 가지를 예를 들어 설명하시오.

14 TCP에서는 흐름제어를 위해 슬라이딩 윈도우 방식을 사용한다. 여기서 윈도우란 무엇을 의미하며 어떻게 동작하는지 설명하시오.

윈도우란 하나의 호스트가 데이터 전송을 위해서 전송측 혹은 수신측 양쪽에서 사용하는 버퍼(buffer)를 의미. 윈도우 내부의 데이터는 ACK를 받지 않아도 즉시 전송이 가능한 데이터. 즉 원도우 크기만큼 ACK와 무관하게 데이터를 전송할 수 있음.

15 P-ACK 재전송이란 무엇인지 설명하시오.

일반적으로 하위계층 네트워크 시스템이 신뢰성을 갖고 있지 못할 경우 신뢰성을 주기 위해서 주로 사용되는 기법. 이는 수신측이 데이터를 수신할 때마다, ‘ACK’ 메시지를 전송하는 기법. 전송지에서는 전송한 각각의 세그먼트에 대한 정보를 가지고 있으며, 다음 패킷을 전송하기 전에 ACK을 기다림. 아래 그림은 ACK을 사용하는 프로토콜이 데이터를 전송하는 과정. 전송측은 세그먼트 1을 보내고, 이것을 수신한 수신측은 ACK 1을 보내어 정상적인 수신을 알림. 이어서 전송측은 세그먼트 2를 보낸다. 수신측은 이에 대한 확인 응답으로 ACK 2를 보냄. 이러한 과정이 반복된다.

Untitled

16 TCP의 연결설정 과정의 동작을 흐름도를 이용해 구체적으로 설명하시오.

TCP의 연결 설정과정은 3방향(Three-way handshaking) 교신기법을 사용. 전송측과 수신측 모두가 데이터 전송을 준비하고, 일련번호를 초기화. 교신과정의 첫 번째 세그먼트는 “코드영역”에 SYN(synchronization) 비트를 설정. 두 번째 메시지는 SYN 비트에 대한 응답으로, SYN 비트와 ACK 비트를 모두 설정. 마지막 교신 메시지는 단지 ACK 역할만을 담당. 아래 그림 A라는 교신과정을 초기화한 장치는 “3방향 교신”과정 내부의 SYN 세그먼트의 일련번호 영역의 일련번호인 x를 전송. SYN을 받은 B라는 장치는 그 일련번호를 인식하고, 일련번호 영역에서 일련번호를 초기화 한 후, x+1의 일련번호 갖는 ACK을 전송. ACK 번호인 y를 통해 B에서의 모든 데이터가 전송완료 되었음을 나타낸다.

연결이 설정되면 데이터를 양방향으로 동시에 전송.

Untitled

17 TCP 프로토콜의 혼잡제어를 위한 방법 중 혼잡회피 알고리즘의 동작에 대해 구체적으로 설명하시오.

혼잡회피 알고리즘은 다음 그림과 같이 혼잡 윈도우 크기를 혼잡 상태가 감지될 때까지 1씩(1, 2, 3, 4, …) 증가시키는 방법. 느린 출발 알고리즘과는 달리 비교적 큰 값에서 시작하지만 일정하게 1씩 증가.

Untitled

18 SCTP 서비스의 특성을 TCP 및 UDP와 비교해 설명하시오.

SCTP는 UDP의 메시지 지향특성과 TCP의 연결 지향적인 신뢰성 서비스 제공 특성을 결합한 전송계층 프로토콜. 순차적, 비순차적 데이터 스트림 모두에 대해 신뢰성 전송 특성을 갖는다. 다수의 IP 주소 및 인터페이스 사용하여 다중경로 설정 및 경로 장애에 대한 복구를 가능하게 하는 멀티홈잉 기능을 지원. 주(primary) 데이터 전송 경로를 선택하고, 경로의 연결을 검증하기 위한 경로 선택 및 모니터링 기능을 지원. 외부 공격으로부터 데이터를 보호하고, 중복 또는 누락된 데이터 청크에 대한 알림 제공을 위해 유효성 검사 및 승인 메커니즘을 지원.

19 UDP 세그먼트의 구조와 각 영역의 기능에 대해 설명하시오.

UDP 세그먼트의 구조는 전송지 포트 번호, 수신지 포트 번호, 길이 영역, 체크섬, 데이터(메시지) 영역 등으로 구분. 각 영역의 기능 ▷전송지 포트 번호는 전송지 호스트에서 수행되는 프로세스가 사용하는 포트 번호 ▷수신지 포트 번호는 수신지 호스트에서 수행되는 프로세스가 사용하는 포트 번호 ▷길이는 헤더와 데이터를 합한 전체 길이를 바이트 단위로 나타낸 것. 최소 8바이트 이상이 되어야 한다. ▷체크섬은 사용자 데이터에 오류가 있는지를 검사하기 위해 사용.