<연습문제>
1. UDP 프로토콜의 헤더 구조에는 데이터의 순서 번호 기능이 제공되지 않으므로 데이터그램 분실 여부를 확인할 수 없다. 또한 데이터그램 도착 순서가 변경되는 오류를 해결하지 못하는 원인도 이 기능이 존재하지 않기 때문이다.
2. UDP 프로토콜은 슬라이딩 윈도우 프로토콜과 같은 흐름 제어 기능을 제공하지 않으므로 버퍼 오버플로에 의한 데이터 분실 오류가 발생할 수 있다.
3. 인터넷 환경에서 실시간 서비스를 제공하는 가장 현실적인 방법 중 하나는 UDP에 순서번호 기능을 추가하는 것이다. 이러한 프로토콜의 대표적인 예가 실시간 멀티미디어 데이터의 전송을 지원하는 RTP이다.
4. 실시간 데이터를 전송하는 환경에서는 지터 라는 변수가 중요한데, 이는 데이터그램의 도착 시간을 측정하였을 때 지연시간 분포를 의미한다. 즉, 각 데이터그램의 도착 시간이 일정하지 않고 불규칙적으로 도착하는 정도를 나타낸다. 지연은 송신 프로세스에서 전송한 데이터의 출발 시간과 수신 프로세스에 도착한 시간의 차이이다.
5. RTP에서 RTP Relay 는 데이터 전송 과정에서 송수신 프로세스가 데이터를 직접 전송할 수 없는 상황이 발생하였을 때, 데이터를 중개하는 기능이다. RTP Relay에는 믹서와 트랜슬레이터의 두 종류가 존재한다.
6. RTP 제어 프로토콜을 RTP 데이터 전송 프로토콜과 구분하기 위해 RTCP라 부른다. 데이터 전송 프로토콜은 세션 참가자 사이의 멀티 캐스트 기능을 이용한 사용자 데이터의 전송을 담당하지만 RTCP는 제어와 관련된 기능을 수행한다.
7. OSI에서 정의한 TP는 다섯 개의 클래스로 서비스를 구분하여 지원한다. 클래스 0이 구조가 가장 단순하고, 클래스 번호가 커질수록 기능이 추가된다. TP가 상위 계층에 제공하는 전송 서비스에는 연결형과 비연결형이 있다.
8. TP가 상위 계층에 제공하는 서비스에는 연결형과 비연결형이 있다. 연결형 서비스를 이용하기 위한 연결 설정용 T-CONNECT와 연결 해제용 T-DISCONNECT이 정의되어 있다. 데이터는 일반 데이터를 의미하는 T-DATA와 긴급 데이터를 의미하는 T-EXPEDITE로 정의된다. 비연결형 서비스에서는 연결설정과 해제 과정이 불필요하므로 데이터 전송을 위한 T-UNITDATA 프리미티브만 존재한다.
9. UDP에 대한 설명으로 올바른 것을 모두 고르시오. 1, 2, 3, 5
- IP 프로토콜을 이용해 비연결형 서비스를 지원한다.
- 헤더와 전송 데이터 모두에 대한 체크섬을 제공하지만, Best Effort 전달 방식 때문에 신뢰성이 떨어진다.
- UDP는 상위 계층에서 받은 데이터를 IP 프로토콜에 전달하지만 전송한 데이터그램이 목적지까지 제대로 도착했는지는 확인하지 않는다.
- 프로토콜이 처리하는 기능이 작으므로 데이터 전송 시간에 민간함 응용 환경에서는 TCP가 주로 사용된다. v
- UDP 헤더 구조는 TCP보다 단순하여 수행하는 기능도 간단하다.
10. UDP 헤더에 대한 설명으로 올바른 것을 모두 고르시오. 1, 2, 3, 5
- Source Port 와 Destination Port 필드는 송수신 프로세스에 할당된 네트워크 포트 번호이다. UDP 포트 번호는 TCP 포트 번호와 독립적으로 관리된다.
- Checksum 필드는 헤더와 데이터에 대한 체크섬 값을 제공하며, 수신자는 체크섬 오류를 발견하면 해당 데이터그램을 버린다.
- 일반적으로 UDP 데이터그램은 다른 계층과의 연관성 문제를 고려하여 8,192바이트를 넘지 않게 사용한다.
- UDP의 체크섬 기능은 오류 문제를 해결하기 위한 기본 기능이기 때문에 필수적으로 사용된다. v
- UDP는 TCP보다 구조가 아주 단순해 고속 전송이 필요한 응용 환경에 적합하다.
11. UDP의 데이터 전송에 대한 설명으로 잘못된 것을 모두 고르시오. 4
- UDP는 비연결형 서비스를 이용하여 데이터그램을 전송하며, 각 데이터그램은 전송 과정에서 독릭접으로 중개된다.
- 흐름 제어 기능을 제공하지 않기 땨문에 버퍼 오버플로에 의한 데이터 분실 오류가 발생할 수 있다.
- UDP의 헤더 구조는 순서 번호를 제공하지 않기 때문에 데이터그램 분실 여부를 확인할 수 없다.
- 데이터그램의 도착 순서가 뒤바뀌어 수신되면 순서를 올바르게 조정하여 상위 계층에 전달한다. v
- 응용 프로그램에서 데이터 분실을 감지하려면 순서 번호야 유사한 기능을 프로그램 내부에 구현해야 한다.
12. 실시간 전송 서비스의 요구 사항에 대한 설명으로 올바른 것을 모두 고르시오. 1, 3, 5
- 송신 프로세스가 전송한 데이터의 전송 간격이 수신 프로세스에 그대로 유지되도록 하는 것이 중요하며, 대부분 특정 데이터가 정해진 시간 안에 반드시 도착하도록 요구된다.
- 송신 프로세스가 전송한 데이터들은 인터넷을 거쳐 수신 프로세스에 전달되는 동안 간격이 규칙적으로 변하는 특징이 있다. v
- 수신 프로세스에 도착한 데이터의 시간이 실시간 재생에서 요구하는 일정 범위보다 늦으면 해당 데이터는 불필요하기 때문에 버린다.
- 지연은 송신 프로세스에서 전송한 데이터의 출발 시간과 수신 프로세스에 도착한 시간의 차이이다. 지연은 네트워크 구조, 라우팅 방식, 전송 프로토콜과는 무관하며, 대역폭에 의해서 영향을 받는다. v
- 지터 분포는 데이터그램의 도착 시간이 어느 정도 불규칙한지에 대한 정도를 확인시켜 준다.
13. RTP의 데이터 전송과 관련된 설명으로 올바른 것을 모두 고르시오. 2, 3, 4, 5
- RTP는 실시간 서비스를 제공하기 위해 작고 빠른 기능을 제공하는 TCP 위에서 구현된다. v
- 하위 계층에서 실시간 서비스에 필요한 모든 기능을 제공하지 않기 때문에 순서 번호 등의 기능은 RTP의 내부에 구현해야 한다.
- RTP는 믹서와 트랜슬레이터라는 RTP 릴레이를 지원한다. 릴레이는 데이터 전송 과정에서 송수신 프로세스가 데이터를 직접 전송할 수 없는 상황이 발생했을 때, 데이터를 중개하는 기능이다.
- 믹서는 여러 송신 프로세스로부터 RTP 데이터그램 스트림을 받아 이들을 적절히 조합하여 새로운 데이터그램 스트림을 생성한다.
- 트랜슬레이터는 입력된 각 RTP 데이터그램을 하나 이상의 출력용 RTP 데이터그램으로 만들어주는 장치이다.
14. RTP 헤더에 대한 설명으로 올바른 것을 모두 고르시오. 1, 2, 4, 5
- RTP 헤더에 응용 환경과 관련된 가변 크기의 헤더를 추가할 수 있다.
- 처음 12바이트의 정보는 모든 RTP 패킷에 존재하며, CSRC 구분자 목록은 믹서에 의해 추가된 경우에 사용된다.
- Extensions 필드 값이 0이면 고정 헤더의 마지막에 확장 헤더가 하나 더 이어짐을 의미한다. v
- payload Type 필드는 JPEG 영상 등과 같이 데이터그램에 포함된 페이로드의 유형을 의미한다.
- Timestamp 필드는 데이터그램에 포함된 데이터의 생성 시기를 나타낸다.
15. TP에서 정의한 서비스 클래스에 대한 설명으로 잘못된 것을 모두 고르시오. 3, 5
- 클래스 0과 1은 단일 포트를 지원하기 위한 프로토콜이다.
- 클래스 2, 3, 4는 목적지에서 다수 포트를 지원하는 멀티플렉싱 기능이 있다.
- 클래스 0은 패킷 손실 확인과 같은 간단한 오류 복구 기능을 지원한다. v
- 클래스 4는 16비트의 체크섬을 이용해 헤더 오류를 확인할 수 있다.
- 모두 7개의 클래스가 지원되면 클래스 0이 가장 간단하고, 번호가 커질수록 기능이 추가된다. v
16. UDP의 헤더 구조를 그리고, 각 필드의 의미를 설명하시오.
• Source Port/Destination Port(송신 포트/수신 포트) : 송수신 프로세스에 할당된 네트워크 포트 번호다. 호스트에서 실행되는 프로세스를 구분하는데 이용한다. 호스트는 IP 프로토콜의 IP 주소로 구분하므로, 인터넷에서 실행되는 네트워크 프로세스의 고유 구분자는 호스트의 IP 주소와 프로세스 포트 번호의 조합이다. UDP 포트 번호는 TCP 포트 번호와 독립적으로 관리되고 할당 된다.
• Length(길이) : 프로토콜 헤더를 포함한 UDP 데이터그램의 전체 크기다. 단위는 바이트고, UDP 헤더의 크기가 8바이트이므로 최소값은 8이다.
• Checksum(체크섬) : 프로토콜 헤더와 데이터에 대한 체크섬 값을 제공하여 수신자가 데이터그 램 변형 오류를 감지할 수 있도록 해준다. IP 프로토콜에서는 헤더만 체크섬을 계산하지만, UDP 에서는 데이터까지 체크섬을 계산한다. 수신자는 체크섬 오류를 발견 하면 해당 데이터그램을 버린다. UDP의 체크섬 기능은 옵션이므로 필드 값이 0이면 송신자가 체크섬 계산을 하지 않았다는 의미가 되어, 수신 프로세스에서는 체크섬으로 오류 검출 기능을 수행하지 않는다.
17. UDP에서 데이터 분실 오류를 설명하시오.
-데이터그램 분실 오류는 데이터가 목적지에 도착하지 못하는 것이다. 다음과 같이 송신자가 전송한 데이터그램 네 개가 첫 번째 라우터에서 두 번째 라우터로 전송되는 과정에서 3번 데이터그램에 오류가 발생하여 다음 라우터에 도착하지 못했다. UDP는 분실 오류를 복구하는 기능을 수행하지 않으므로 수신자에는 1, 2, 4번 데이터그램만 도착한다. UDP에서의 데이터그램 분실 오류는 상위 계층 스스로 데이터 분실을 확인하는 기능을 수행하여 복구해야 한다.
18. UDP에서의 데이터 도착순서 오류를 설명하시오.
데이터 도착 순서 변경 오류는 다음과 같이 데이터그램의 전송 순서가 뒤바뀌어 수신자에 도착한 경우다. UDP는 각 데이터그램을 개별 전송 경로를 선택하여 전송된다. 따라서 그림처럼 1번과 2번 데이터그램은 아래쪽 경로로, 3번과 4번 데이터그램은 위쪽 경로로 전달 될 수 있다. 또한 각 경로에서 데이터를 얼마나 빠르게 전송할 수 있는지도 예측할 수 없다. 그림에서는 위쪽 경로를 선택한 3, 4번 데이터그램이 수신자에 먼저 도착하여 최종 도착 순서가 3, 4, 1, 2번으로 변경되었다.
19. RTP의 필요성을 실시간 요구조건과 관련하여 설명하시오.
-파일 전송, 전자 메일 같은 전통적인 인터넷 서비스환경에서 가장 중요한 사항은 신뢰성이며, 부차적으로 전체 네트워크 시스템의 성능과 지연 문제가 다루어진다. 이에 비해 실시간 서비스에서는 전송 시간이 중요하다. 송신 프로세스가 전송한 데이터의 전송 간격이 수신 프로세스에 그대로 유지되도록 하는 것이 중요하며, 대부분 특정 데이터가 정해진 시간 안에 반드시 도착하도록 요구한다.
특정 시간을 초과하여 도착한 데이터는 결과적으로 무용지물이 되고 만다. TCP와UDP를 근간으로 인터넷 환경에서 실시간 서비스를 제공하는 가장 현실적인 방법 중 하나는 UDP에 데이터그램 순서 번호 기능을 추가하는 것이다. 이러한 프로토콜의 대표적인 예가 실시간 멀티미디어 데이터의 전송을 지원하는 RTP(Real Time Protocol)다. RTP는 유니캐스팅뿐만 아니라 멀티캐스팅도 지원한다. RTP는 불규칙하게 수신되는 데이터 순서를 정렬하기 위해 타임스탬프(Time stamp) 방식을 사용한다. 그리고 프로토콜 동작이 응용 프로그램의 라이브러리 형태로 구현되는 ALF(Application Level Framing) 방식을 사용하기 때문에, 프로토콜 내부에 위치하는 버퍼의 크기를 각 응용 프로그램마다 별도로 관리하기가 용이하다. 따라서 응용 환경이 요구하는 알고리즘에 따라 버퍼 크기를 개별적으로 조절할 수 있어 실시간 응용 서비스에 유용하다.
20. 지터 분포를 설명하시오.
-실시간 데이터를 전송하는 환경에서는 지터라는 중요한 변수를 고려해야 한다. 지 터 분포는 데이터그램의 도착 시간을 측정하였을 때 지연 시간의 분포다. 즉, 각 데이터그램 도착 시간이 일정하지 않고 불규칙적으로 도착하는 정도를 나타낸다. 다음 그림에서 (a) 는 전송 간격이 균일했던 송신 데이터그램이 수신 측에 도착할 때 간격이 일정하지 않음을 보인다. 이러한 송수신 프로세스 사이의 데이터그램 간격 차이를 (b)에 표시했는데 이 분포를 지터라고 한다.
21. RTP 헤더구조와 각 필드의 의미를 설명하시오.
RTP 헤더구조는 다음과 같다.
• Version(버전) : RTP의 버전 번호로, 현재 2로 지정되어 있다.
• Padding(패딩) : 페이로드의 마지막에 패딩 바이트가 존재하는지 여부를 나타낸다. 응용 환경에서 페이로드의 크기가 특정 크기의 배수가 되어야 할 때 사용한다.
• Extension(확장) : 값이 1이면 위 그림에 표기된 고정 헤더의 마지막에 확장 헤더가 하나 더 이어짐을 의미한다.
• CSRC Count(CSRC 개수) : CSRC 구분자의 개수를 표시한다.
• Marker(표식) : 임의의 표식(Marking)을 위해 이용하므로, 페이로드 유형에 따라 값의 의미가 결정된다. 보통 데이터 스트림의 경계점을 표시하는데 사용한다. 예를 들어, 비디오 페이로드에서는 프레임 마지막을 표시한다.
• Payload Type(페이로드 유형) : 데이터그램에 포함된 페이로드의 유형을 나타낸다. 예를 들어, JPEG 영상에 대해 표시할 수 있다. 페이로드의 내용은 음성과 영상 등의 형식을 포 함한다.
• Sequence Number(순서 번호) : Timestamp 필드 값이 같은 데이터그램에 대해 패킷 손실이나 순서 변경과 같은 오류를 검출할 수 있도록 한다.
• Timestamp(타임스탬프) : 데이터그램에 포함된 데이터의 생성 시기를 나타낸다. 시간 단 위는 페이로드 종류에 영향을 받으며 송신 프로세스의 클록에 의해 발생한다.
• SSRC Identifier(SSRC 구분자) : 세션에서의 소스(Source)를 구분하는 고유 번호로, 랜덤 하게 생성되는 32비트 숫자다.
22. OSI TP의 서비스 프리미티브를 연결 설정, 데이터 전송, 연결 해제 관점에서 설명하시오.
서비스 프리미티브를 이용한 연결형 서비스의 동작 과정을 설명한다. 위에서 아래로 연결 설정 과정, 데이터 전송 과정, 연결 해제 과정의 절차가 순서대로 표시되어 있으며, 왼쪽에서 오른쪽으로 요구가 발생하는 경우를 가정하였다. 먼저 T-CONNECT 요구는 연결이 정상적으로 설정되는 경우를 가정한 것이다. 연결 설정 요구를 받은 오른쪽에서 연결 을 거부하면 연결이 설정되지 않을 수 있다.
'Network > 쉽게 배우는 데이터 통신과 컴퓨터 네트워크(개정판)' 카테고리의 다른 글
쉽게 배우는 데이터 통신과 컴퓨터 네트워크(개정판) 12장 연습문제 (2) | 2022.12.14 |
---|---|
쉽게 배우는 데이터 통신과 컴퓨터 네트워크(개정판) 11장 연습문제 (2) | 2022.12.08 |
쉽게 배우는 데이터 통신과 컴퓨터 네트워크(개정판) 9장 연습문제 (2) | 2022.12.05 |
쉽게 배우는 데이터 통신과 컴퓨터 네트워크(개정판) 8장 연습문제 (0) | 2022.12.05 |
쉽게 배우는 데이터 통신과 컴퓨터 네트워크(개정판) 7장 연습문제 (1) | 2022.11.30 |