본문 바로가기
학교/[연습문제] 데이터 통신(쉽게 배우는 데이터 통신과 네트워크)

쉽게 배우는 데이터 통신과 컴퓨터 네트워크 연습문제 10장 (전송 계층)

by 코드 이야기 2021. 6. 21.
728x90

 

https://book.naver.com/bookdb/book_detail.nhn?bid=11491623 

 

쉽게 배우는 데이터 통신과 컴퓨터 네트워크

[데이터 통신과 컴퓨터 네트워크]는 데이터 통신과 컴퓨터 네트워크의 상호 연관된 부분을 함께 학습할 수 있도록 구성한 도서다. 복잡한 데이터 통신 과정은 생략하고, 친숙한 TCP/IP 인터넷을

book.naver.com

 

 

 

  1. UDP 프로토콜의 헤더 구조에는 ( ) 기능이 제공되지 않으므로 데이터그램 분실 여부를 확인할 수 없다. 또한 데이터그램 도착 순서가 변경되는 오류를 해결하지 못하는 원인도 이 기능이 존재하지 않기 때문이다.
    → 데이터의 순서 번호

  2. UDP 프로토콜은 슬라이딩 윈도우 프로토콜과 같은 흐름 제어 기능을 제공하지 않으므로 ( )에 의한 데이터 분실 오류가 발생할 수 있다.
    → 버퍼 오버플로

  3. 인터넷 환경에서 실시간 서비스를 제공하는 가장 현실적인 방법 중 하나는 ( )에 순서번호 기능을 추가하는 것이다. 이러한 프로토콜의 대표적인 예가 실시간 멀티미디어 데이터의 전송을 지원하는 RTP이다.
    → UDP

  4. 실시간 데이터를 전송하는 환경에서는 ( ① )라는 변수가 중요한데, 이는 데이터그램의 도착 시간을 측정하였을 때 ( ② )시간 분포를 의미한다. 즉, 각 데이터그램의 도착 시간이 일정하지 않고 불규칙적으로 도착하는 정도를 나타낸다. ( ② )은 송신 프로세스에서 전송한 데이터의 출발 시간과 수신 프로세스에 도착한 시간의 차이이다.
    → ① 지터, ② 지연

  5. RTP에서 ( ① )는 데이터 전송 과정에서 송수신 프로세스가 데이터를 직접 전송할 수 없는 상황이 발생하였을 때, 데이터를 중개하는 기능이다. ( ① )에는 ( ② )와 ( ③ )의 두 종류가 존재한다.
    → ① RTP 릴레이, ② 믹서, ③ 트랜슬레이터

  6. RTP 제어 프로토콜을 RTP 데이터 전송 프로토콜과 구분하기 위해 ( ① )라 부른다. 데이터 전송 프로토콜은 세션 참가자 사이의 멀티 캐스트 기능을 이용한 사용자 데이터의 전송을 담당하지만 ( ① )는 제어와 관련된 기능을 수행한다.
    → RTCP

  7. OSI에서 정의한 ( ① )는 다섯 개의 클래스로 서비스를 구분하여 지원한다. 클래스 0이 구조가 가장 단순하고, 클래스 번호가 커질수록 기능이 추가된다. ( ① )가 상위 계층에 제공하는 전송 서비스에는 연결형과 비연결형이 있다.
    → ① TP

  8. TP가 상위 계층에 제공하는 서비스에는 연결형과 비연결형이 있다. 연결형 서비스를 이용하기 위한 연결 설정용 ( ① )와 연결 해제용 ( ② )이 정의되어 있다. 데이터는 일반 데이터를 의미하는 T-DATA와 긴급 데이터를 의미하는 T-EXPEDITE로 정의된다. 비연결형 서비스에서는 연결설정과 해제 과정이 불필요하므로 데이터 전송을 위한 ( ③ ) 프리미티브만 존재한다.
    → ① T-CONNECT, ② T-DISCONNECT, ③ T-UNIDATA

  9. UDP에 대한 설명으로 올바른 것을 모두 고르시오.
    ① IP 프로토콜을 이용해 비연결형 서비스를 지원한다.
    ② 헤더와 전송 데이터 모두에 대한 체크섬을 제공하지만, Best Effort 전달 방식 때문에 신뢰성이 떨어진다.
    ③ UDP는 상위 계층에서 받은 데이터를 IP 프로토콜에 전달하지만 전송한 데이터그램이 목적지까지 제대로 도착했는지는 확인하지 않는다.
    ④ 프로토콜이 처리하는 기능이 작으므로 데이터 전송 시간에 민감한 응용 환경에서는 TCP가 주로 사용된다.
    ⑤ UDP 헤더 구조는 TCP보다 단순하여 수행하는 기능도 간단하다
    → ①, ②, ③, ⑤
    → ④ 프로토콜이 처리하는 기능이 작아 TCP보다 데이터 처리가 빠르므로 데이터 전송 시간에 민감한 응용 환경에서는 UDP가 주로 사용된다.

  10. UDP 헤더에 대한 설명으로 올바른 것을 모두 고르시오.
    ① Source Port와 Destination Port 필드는 송수신 프로세스에 할당된 네트워크 포트 번호이다. UDP 포트 번호는 TCP 포트 번호와 독립적으로 관리된다.
    ② Checksum 필드는 헤더와 데이터에 대한 체크섬 값을 제공하며, 수신자는 체크섬 오류를 발견하면 해당 데이터그램을 버린다.
    ③ 일반적으로 UDP 데이터그램은 다른 계층과의 연관성 문제를 고려하여 8,192바이트를 넘지 않게 사용한다.
    ④ UDP의 체크섬 기능은 오류 문제를 해결하기 위한 기본 기능이기 때문에 필수적으로 사용된다.
    ⑤ UDP는 TCP보다 구조가 아주 단순해 고속 전송이 필요한 응용환경에 적합하다.
    → ①, ②, ③, ⑤
    → ④ UDP의 체크섬 기능은 오류 문제를 해결하기 위한 기본 기능이기 때문에 필수적으로 사용된다. (필수가 아니다.) (UDP 헤더체크섬은 선택 사항. 만일, 송신측에서체크섬 값을 전부 zero로 송출하면, 수신측은체크섬을 하지 않아도 됨. TCP 헤더 체크섬은 필수 사항)

  11. UDP의 데이터 전송에 대한 설명으로 잘못된 것을 모두 고르시오.
    ① UDP는 비연결형 서비스를 이용하여 데이터그램을 전송하며, 각 데이터그램은 전송 과정에서 독립적으로 중개된다.
    ② 흐름 제어 기능을 제공하지 않기 때문에 버퍼 오버플로에 의한 데이터 분실 오류가 발생할 수 있다.
    ③ UDP의 헤더 구조는 순서 번호를 제공하지 않기 때문에 데이터 분실 여부를 확인할 수 없다.
    ④ 데이터그램의 도착순서가 뒤바뀌어 수신되면 순서를 올바르게 조정하고 상위 계층에 전달한다.
    ⑤ 응용 프로그램에서 데이터 분실을 감지하려면 순서 번호와 유사한 기능을 프로그램 내부에 구현해야 한다.
    → ④ 데이터그램의 도착순서가 뒤바뀌어 수신되면 순서번호가 없어서 순서 변경 오류를 해결할 수 없다.

  12. 실시간 전송 서비스의 요구 사항에 대한 설명으로 올바른 것을 모두 고르시오.
    ① 송신 프로세스가 전송한 데이터의 전송 간격이 수신 프로세스에 그대로 유지되도록 하는 것이 중요하며, 대부분 특정 데이터가 정해진 시간 안에 반드시 도착하도록 요구된다.
    ② 송신 프로세스가 전송한 데이터들은 인터넷을 거쳐 수신 프로세스에 전달되는 동안 간격이 규칙적으로 변하는 특징이 있다.
    ③ 수신 프로세스에 도착한 데이터의 시간이 실시간 재생에서 요구하는 일정 범위보다 늦으면 해당 데이터는 불필요하기 때문에 버린다.
    ④ 지연은 송신 프로세스에서 전송한 데이터의 출발 시간과 수신 프로세스에 도착한 시간의 차이이다. 지연은 네트워크 구조, 라우팅 방식, 전송 프로토콜과는 무관하며, 대역폭에 의해서 영향을 받는다.
    ⑤ 지터 분포는 데이터그램의 도착 시간이 어느 정도 불규칙한지에 대한 정도를 확인시켜 준다.
    → ①, ③, ⑤
    → ② 송신 프로세스가 전송한 데이터는 데이터그램 사이의 시간 간격이 일정하다가 인터넷을 거쳐 수신 프로세스에 전달되는 과정에서 간격이 불규칙하게 변한다.
    → ④ 지연은 송신 프로세스에서 전송한 데이터의 출발 시간과 수신 프로세스에 도착한 시간의 차이이다. 지연은 네트워크 구조, 라우팅 방식, 전송 프로토콜의 종류, 대역폭 등에 의해서 영향을 받는다.

  13. RTP의 데이터 전송과 관련된 설명으로 올바른 것을 모두 고르시오.
    ① RTP는 실시간 서비스를 제공하기 위해 작고 빠른 전송 기능을 제공하는 TCP 위에서 구현된다.
    ② 하위 계층에서 실시간 서비스에 필요한 모든 기능을 제공하지 않기 때문에 순서 번호 등의 기능은 RTP 내부에 구현되어야 한다.
    ③ RTP는 믹서와 트랜슬레이터라는 RTP 릴레이를 지원한다. 릴레이는 데이터 전송 과정에서 송수신 프로세스가 데이터를 직접 전송할 수 없는 상황이 발생하였을 때, 데이터를 중개하는 기능이다.
    ④ 믹서는 여러 송신 프로세스로부터 RTP 데이터그램 스트림을 받아 이들을 적절히 조합하여 새로운 데이터그램 스트림을 생성한다.
    ⑤ 트랜슬레이터는 입력된 각 RTP 데이터그램을 하나 이상의 출력용 RTP 데이터그램으로 만들어주는 장치이다.
    → ②, ③, ④, ⑤
    → ① RTP는 실시간 서비스를 제공하기 위해 작고 빠른 전송 기능을 제공하는 UDP 위에서 구현된다.

  14. RTP 헤더에 대한 설명으로 올바른 것을 모두 고르시오.
    ① RTP 헤더에 응용 환경과 관련된 가변 크기의 헤더를 추가할 수 있다.
    ② 처음 12바이트의 정보는 모든 RTP 패킷에 존재하며, CSRC 구분자 목록은 믹서에 의해 추가된 경우에 사용된다.
    ③ Extensions 필드 값이 0이면 고정 헤더의 마지막에 확장 헤더가 하나 더 이어짐을 의미한다.
    ④ Payload Type 필드는 JPEG 영상 등과 같이 데이터그램에 포함된 페이로드 유형을 의미한다.
    ⑤ Timestamp 필드는 데이터그램에 포함된 데이터의 생성 시기를 나타낸다.
    → ①, ②, ④, ⑤
    → ③ Extensions 필드 값이 1이면 고정 헤더의 마지막에 확장 헤더가 하나 더 이어짐을 의미한다.

  15. TP에서 정의된 서비스 클래스에 대한 설명으로 잘못된 것을 모두 고르시오.
    ① 클래스 0과 1은 단일 포트를 지원하기 위한 프로토콜이다.
    ② 클래스 2, 3, 4는 목적지에서 다수 포트를 지원하는 멀티플렉싱 기능이 있다.
    ③ 클래스 0은 패킷 손실 확인과 같은 간단한 오류 복구 기능을 지원한다.
    ④ 클래스 4는 16비트의 체크섬을 이용해 헤더 오류를 확인할 수 있다.
    ⑤ 모두 7개의 클래스(5개)가 지원되며 클래스 0이 가장 간단하고, 번호가 커질수록 기능이 추가된다.
    → ①, ②, ④
    → ③ 클래스 0은 오류 검출 기능 없이 기본 전송 기능만 제공하고, 클래스 1은 패킷 손실과 같은 간단한 오류 복구 기능을 지원한다.
    → ⑤ 모두 5개의 클래스가 지원되며 클래스 0이 가장 간단하고, 번호가 커질수록 기능이 추가된다.

  16. UDP 헤더 구조를 그리고, 각 필드의 의미를 설명하시오.
    Source/Destination Port(송/수신 포트): 송수신 프로세스에 할당된 네트워크 포트 번호이다. 호스트에서 실행되는 프로토콜을 구분하는 데 이용한다.
    Lnegth(길이): 프로토콜 헤더를 포함한 UDP 데이터그램의 전체 크기이다. 단위는 바이트이고, UDP 헤더의 크기가 8바이트이므로 최솟값은 8이다.
    Checksum(체크섬): 프로토콜 헤더와 데이터에 대한 체크섬 값을 제공하여 수신 프로세스가 데이터 변형 오류를 감지할 수 있다.
    (그림 10-1)

  17. UDP에서의 데이터 분실오류를 설명하시오.
    데이터의 순서 번호 기능을 제공하지 않으므로 데이터그램 분실 여부를 확인할 수 없다. 상위 계층 스스로 데이터 분실을 확인해 복구해야 한다.

  18. UDP에서의 데이터 도착 순서 변경 오류를 설명하시오.
    데이터그램 분실 오류의 경우와 마찬가지로 도착 순서 병경 오류를 해결할 수 없는 이유는 데이터의 순서 번호 기능이 없기 때문이다. 도착 순서 변경 오류를 해결하려면 UDP를 사용하는 응용 프로그램의 내부에 순서 번호 기능이 구현되어야 한다.

  19. RTP의 필요성을 실시간 요구 조건과 관련하여 설명하시오.
    음성, 영상 정보를 인터넷에서 실시간으로 서비스하면 데이터그램 변형이나 분실 오류 복구하는 기능이 상대적으로 덜 중요해진다. 대신 데이터그램의 도착 순서, 수신한 패킷의 지연 간격 분포의 균일성과 데이터 압축에 의한 정보 전송량의 최소화가 중요하다. TCP는 신뢰성이 지나치게 강조되고, UDP는 데이터그램 순서를 보장 못한다. 따라서 UDP에 순서번호 기능을 추가한 RTP가 필요하다. RTP는 유니캐스팅뿐 아니라 멀티캐스팅도 지원한다.

  20. 지터 분포를 설명하시오.
    지터 분포는 데이터그램의 도착 시간을 측정하였을 때 각 데이터그램의 도착 시간이 일정하지 않고 불규칙적으로 도착하는 정도를 나타낸다.

  21. RTP 헤더 구조를 그리고, 각 필드의 의미를 설명하시오.
    Version(버전): RTP의 버전 번호이며, 현재 2로 지정된다.
    Padding(패딩): RTP 페이로드의 마지막에 패딩 데이터가 존재하는지 여부를 나타낸다. 응용 환경에서 페이로드의 크기가 특정 크기의 배수가 되어야 할 때 사용한다.
    Extension(확장): 고정 헤더의 마지막에 확장 헤더가 하나 더 이어짐을 의미한다.
    CSRC Count(CSRC 개수): CSRC 구분자의 개수를 표현한다.
    Marker(표식): 임의의 표식을 위해 이용하므로 페이로드 유형에 따라 값의 의미가 결정된다. 보통 데이터 스트림의 경계점을 표시하는데 사용한다.
    Payload Type(페이로드 유형): 헤더 다음에 이어지는 RTP 페이로드의 유형을 나타낸다.
    Sequence Number(순서 번호): Timestamp 필드 값이 동일한 페이로드에 대해 패킷 손실이나 순서 변경과 같은 오류를 검출할 수 있도록 한다. 일반적으로 동시에 생성된 일련의 연속 패킷들은 동일한 Timestemp 값을 가지며, 순서 번호는 RTP 패킷 단위로 1씩 증가한다.
    Timestamp(타임스탬프): RTP 페이로드에 포함된 데이터의 생성시기를 나타낸다. 시간 단위는 페이로드의 종류에 영향을 받으며, 송신 프로세스에서 사용하는 클록에 의해 발생한다.
    SSRC Identifier(SSRC 구분자): 임의의 세션 내에서 RTP 페이로드의 발신지가 어디인지를 구분하는 고유 번호로, 랜덤하게 생성되는 32비트 숫자이다.
    (그림 10-7)

  22. OSI TP의 서비스 프리미티브를 연결 설정, 데이터 전송, 연결 해제 관점에서 설명하시오.
    A프로세스와 B 프로세스 사이에 프리미트브
    연결설정
    A->B: T-CONNECT.request
    B->A: T-CONNECT.confirm
    데이터 전송
    A->B: T-DATA.request
    B->A: T-DATA.identification
    연결해제
    A->B: T-DISCONNECT.request
    B->A: T-DISCONNECT.identification

 

 

 

 

 

728x90

댓글