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

쉽게 배우는 데이터 통신과 컴퓨터 네트워크 연습문제 2장

by 코드 이야기 2021. 4. 11.
728x90

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

 

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

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

book.naver.com

 

 

  1. 네트워크 주소 표현 방식에는 네트워크에 연결된 모든 호스트에 데이터를 전송할 수 있는 (①) 표기 방식과 특정 사용자를 그룹으로 묶어서 지칭하는 (②) 표기 방식이 있다.
    ① 브로드캐스팅, ② 멀티캐스팅

  2. 컴퓨터 네트워크 전송 오류에는 데이터가 깨져서 도착하는 (①)오류와 데이터가 수신 호스트 까지 도착하지 못하는 (②)오류가 있는데, 이와 같은 전송 오류 문제는 (③) 기능이 해결한다.
    ① 데이터 변형, ② 데이터 분실, ③ 오류제어

  3. 일반적으로 송신 호스트가 데이터를 너무 빨리 전송하면 수신 호스트가 데이터를 잃어버리는 현상이 발생한다. 이 문제를 해결하려면 송신 호스트의 전송 속도를 조절하는 ( ) 기능이 필요하다.
    → 흐름제어

  4. 프로토콜 설계 시 데이터 전달 방식을 고려해야 하는데, 일대일 통신 환경에서 데이터를 한쪽 방향으로만 전송하는 것을 (①) 방식이라 하고, 양쪽에서 데이터를 동시에 전송하는 것을 (②) 방식이라 한다. 이외에도 양방향으로 전송할 수는 있지만 특정 시점에는 한쪽방향으로만 전송하는 (③) 방식도 있다.
    ① 단방향, ② 전이중, ③ 반이중

  5. 연결형 서비스를 이용하는 절차는 크게 3단계이다. 데이터 전달 경로를 설정하는 (①) 단계가 필요하고, 이 단계가 성공해야 (②)단계가 가능하다. 데이터를 모두 전송한 후에는 연결을 끊는 (③) 단계가 필요하다.
    ① 연결 설정, ② 데이터 선정, ③ 연속 해제

  6. OSI 7계충 모델에서 임의의 호스트에서 계층 n모듈은 상대 호스트의 계층 n모듈과 논리적으로 통신하는데, 이들이 사용하는 규칙을 계층 n ( )이라 한다.
    → 프로토콜

  7. 동일 계층에 위치하는 통신 양단을 서로 (①)라 한다. 또한 한 호스트에서 상하로 이웃하는 계층에 위치한 모듈 사이에는 (②)가 정의되어 둘 사이의 접근 방법을 제한하고 있다. 상위 계층에서는 하위 계층의 (②)를 사용하여 하위 계층의 (③)를 이용할 수 있다.
    ① 동료 프로세스, ② 인터페이스, ③ 서비스

  8. 송신 호스트에서 수신 호스트로 데이터가 전달되려면 여러 개의 중개 시스템을 거쳐야 한다. 중개 시스템은 데이터가 목적지까지 올바르게 전달되도록 적절한 경로 배정 기능을 수행한다. 따라서 중간에 위치한 중개 시스템들은 경로 배정 기능을 수행하는 네트워크 계층 프로토콜이 동작하고, 이를 () 기능이라 한다.
    → 라우팅

  9. 데이터 링크 계층을 이용해 전송되는 데이터 단위를 (①)이라 부르고, 네트워크 계층에서는 (②)이라 부른다.
    ① 프레임, ② 패킷

  10. 인터넷은 데이터 중개 기능을 담당하는 네트워크 계층의 역할을 (①)프로토콜이 담당하는 네트워크 이다. 전송 계층은 연결형은 (②), 비연결형의 (③)를 주로 사용한다.
    ① IP, ② TCP, ③ UDP

  11. 네트워크 계층의 역할을 담당하는 (①)는 사용자 데이터를 전송하는 프로토콜이다. 이때 (①)프로토콜의 동작 과정에서 오류가 발생하는 경우를 대비해 오류 정보를 전송하는 목적으로 (②)를 함께 사용한다.
    ① IP, ② ICMP

  12. 사용자가 입력한 IP 주소를 이용해 MAC 주소를 구하는 기능은 (①)가 담당하며, 반대로 MAC 주소를 IP 주소로 변환하는 기능은 (②)가 수행한다.
    ① ARP, ② RARP

  13. 모듈화된 계층 구조에 대한 설명으로 올바른 것을 모두 고르시오.
    ① 일반적으로 복잡하고 큰 시스템은 그 기능을 여러 개의 모듈로 나누어 설계한다
    ② 상하 계층이 인접한 모듈 사이의 인터페이스를 포함하여 분할된 모듈이 연동할 수 있는 표준 인터페이스를 제공한다.
    ③ 전송 매체 양단에 있는 호스트가 수행하는 프로토콜은 좌우 비대칭 구조이다.
    ④ 각 계층의 기능 오류를 수정하거나 향상시켜야 할 때, 전체 시스템을 재작성하지 않고도 해당 계층의 모듈만 교체하는 것으로 완료할 수 있다.
    ⑤ 모듈 인터페이스는 가능한 단순하게 구현해 모듈이 서로 종속적으로 밀접하게 연계하여 동작되도록 해야 한다.
    → ③ 전송 매체 양단에 있는 호스트가 수행하는 프로토콜은 좌우 대칭 구조이다.
    → ⑤ 모듈 인터페이스는 가능한 단순하게 구현해 모듈이 최대한 독립적으로 동작되도록 해야 한다.

  14. 프로토콜 설계 시 고려할 사항으로 잘못된 것을 모두 고르시오.
    ① 시스템을 구분하여 지칭하기 위해 이름을 부여하는 것을 주소 체계라 한다.
    ② 전송 오류 문제를 해결하는 오류 제어 기능은 통신 프로토콜의 가장 기본적인 기능에 속한다.
    ③ 네트워크에서 전송 오류가 발생했을 때 일반적인 해결 방법은 송신 호스트가 원래 데이터를 재전송하는 것이다.
    ④ 수신 호스트의 버퍼 처리 속도보다 송신 호스트가 데이터를 전송하는 속도가 느리면 논리적 데이터 분실 오류가 발생할 수 있다. 이 문제를 해결하려면 송신 호스트의 속도를 조정하는 흐름 제어 기능이 필요하다.
    ⑤ 일대일 통신 환경에서 데이터를 한쪽 방향으로만 전송하는 것을 반이중 방식이라 한다.
    → ④ 수신 호스트의 버퍼 처리 속도보다 송신 호스트가 데이터를 전송하는 속도가 빠르면 논리적 데이터 분실 오류가 발생할 수 있다. 이 문제를 해결하려면 송신 호스트의 속도를 조정하는 흐름 제어 기능이 필요하다.
    → ⑤ 일대일 통신 환경에서 데이터를 한쪽 방향으로만 전송하는 것을 단방향 방식이라 한다.

  15. 오류 제어 기능에 대한 설명으로 잘못된 것을 모두 고르시오.
    ① 오류가 발생하는 1차 원인은 물리 계층의 전송 매체에 의한 물리적 오류이다.
    ② 송신 호스트가 전송한 데이터는 정상적으로 도착하는 경우, 도착하지 않는 경우, 데이터의 내용이 변경되어 도착하는 경우로 구분할 수 있다.
    ③ 데이터가 변형되거나 분실되는 오류가 발생했을 때, 오류를 해결하려면 먼저 오류가 발생한 사실을 인지해야 한다.
    ④ 네트워크에서 전송 오류가 발생했을 때 일반적인 해결 방법은 수신 호스트 스스로 원래 데이터를 복구하는 것이다.
    ⑤ 물리적 오류 외에도 통신 프로토콜에서 사용하는 알고리즘의 성격에 의해 오류가 발생하기도 한다.
    → ④ 네트워크에서 전송 오류가 발생했을 때 일반적인 해결 방법은 재전송하여 원해 데이터를 복구하는 것이다.

  16. 서비스 프리미티브에 대한 설명으로 올바른 것을 모두 고르시오.
    ① 연결형 서비스는 데이터를 전송하기 전에 연결을 설정해야 하므로 전화 시스템의 통화절차와 유사한 방식이다.
    ② 비연결형 서비스는 연결을 설정하고 해제하는 단계가 필요 없다.
    ③ 하위 계층이 상위 계층에 제공하는 서비스는 프리미티브 형태로 구현되며, 연결형 서비스에서 사용하는 서비스 프리미티브 종류로 CONNECT, DATA, DISCONNECT가 있다.
    ④ 서비스 프리미티브 각각에 대하여 Request, Indication, Response, Confirm이라는 네가지 기능을 포함하도록 설계해야 한다.
    ⑤ Request와 Indication은 서버에서 클라이언트로 전송되고, Response와 Confirm은 클라이언트에서 서버로 전송된다.
    → ①, ②, ③, ④
    → ⑤ Request와 Indication은 클라이언트에서 서버로 전송되고, Response와 Confirm은 클라이언트에서 서버로 전송된다.

  17. OSI 7계층 모델에 대한 설명으로 잘못된 것을 고르시오.
    ① 두 호스트가 각각 7개 계층으로 구성된 모듈을 수행함으로써 데이터 송수신이 가능하다.
    ② 데이터가 하위 계층으로 이동 시 물리 계층을 포함한 모든 계층의 헤더 정보가 추가된다. 수신 호스트에서는 상위 계층으로 이동하며 순차적으로 헤더 정보를 제거하고 해석한다.
    ③ 송신 호스트는 동료 프로세스에 데이터를 직접 전달하지 않고 하위 계층에 서비스를 요청한다.
    ④ 송신 호스트에서 계층별로 추가된 헤더 정보가 수신 호스트에서 해석 및 삭제되어, 최상위 수신자는 원래의 전송 데이터만 받는다. ⑤ 중개 노드인 라우터는 도착한 데이터의 헤더 정보를 해석해 적절한 경로로 전달하며, 다음 라우터로 보내기 전어 헤더 정보를 적절히 수정해 전송한다.
    → ② 데이터가 하위 계층으로 이동 시 물리 계층을 제외한 모든 계층의 헤더 정보가 추가된다. 수신 호스트에서는 상위 계층으로 이동하며 순차적으로 헤더 정보를 제거하고 해석한다.

  18. OSI 7계층 모델의 각 계층에 대한 설명으로 잘못된 것을 모두 고르시오.
    ① 데이터 링크 계층은 물리 계층을 통해 전송되는 데이터의 물리적 전송 오류를 해결한다. 결과적으로 상위의 네트워크 계층에 신뢰성 있는 패킷 전송을 보장해준다.
    ② 네트워크 계층은 송신 호스트가 전송한 데이터가 어떤 경로를 통해 수신 호스트에 전달되는지를 결정하는 라우팅 문제를 해결한다.
    ③ 네트워크 트래픽이 지나치게 증가하는 문제를 조절하는 혼잡 제어 기능은 전송 계층에서 담당한다.
    ④ 세션 계층에서는 송수신 호스트 사이의 대화 제어를 비롯해 상호 배타적인 동작을 제어하기 위한 토큰 제어, 일시적인 전송 장애를 해결하기 위한 동기 기능 등을 제공한다.
    ⑤ 응용 계층은 통신 양단에서 서로 이해할 수 있는 표준 방식으로 데이터를 코딩하는 문제를 다룬다.
    → ③ 네트워크 트래픽이 지나치게 증가하는 문제를 조절하는 혼잡 제어 기능은 네트워크 계층에서 담당한다.
    → ⑤ 표현 계층은 통신 양단에서 서로 이해할 수 있는 표준 방식으로 데이터를 코딩하는 문제를 다룬다.

  19. TCP/IP 모델의 구현 환경에 대한 설명으로 올바른 것을 모두 고르시오.
    ① 인터넷에 연결된 컴퓨터의 네트워크 구현 모델에서는 전송 계층까지의 기능을 시스템 공간인 운영체제에 구현한다.
    ② TCP와 UDP는 커널 내부에 구현되므로 일반 사용자가 이 기능을 직접 이용할 수는 없다. 대신 소켓 인터페이스를 이용해 운영체제가 제공하는 시스템 콜 기능을 프로그램에서 호출하는 방식으로 사용한다.
    ③ 전송 계층부터 응용 계층까지의 기능은 사용자 프로그램이 구현한다.
    ④ 인터넷 응용 프로그램의 고유 주소는 IP 주소와 포트 번호의 조합으로 구성된다.
    ⑤ TCP/IP를 이용하려면 시스템 공간에서 네트워크 응용 기능을 지원하는 프로그램을 작성해야 한다.
    → ③ 세션 계층부터 응용 계층까지의 기능은 사용자 프로그램이 구현한다.
    → ⑤ TCP/IP를 이용하려면 사용자 공간에서 네트워크 응용 기능을 지원하는 프로그램을 작성해야 한다.

  20. TCP/IP 프로토콜 스택에 대한 설명으로 잘못된 것을 모두 고르시오.
    ① 맨 위의 응용 프로그램은 YCP와 UDP를 사용해 데이터 송수신 기능을 수행하지만, 네트워크 계층의 IP 프로토콜은 직접 사용하기도 한다.
    ② ICMP와 ARP/RARP 는 전송 계층에 소속되어 IP프로토콜의 동작을 도와주는 기능을 한다.
    ③ ICMP에서 전송하는 ICMP 메시지는 IP 프로토콜에 캡슐화되어 전송된다.
    ④ TCP/IP 모델에서 사용하는 주소에는 데이터 링크 계층의 MAC 주소, 네트워크 계층의 IP 주소, 전송 계층의 포트 번호 등이 포함된다.
    ⑤ 일반적으로 호스트의 IP 주소는 하드디스크의 특정 위치에 보관된다. 하드디스크가 없는 시스템은 LAN 카드에 내장된 MAC 주소는 알지만, 자신의 IP 주소는 모를 수 있다.
    → ② ICMP와 ARP/RARP 는 네트워크 계층에 소속되어 IP프로토콜의 동작을 도와주는 기능을 한다.

  21. 모듈화된 계층 구조 프로토콜의 장점을 설명하시오.
    - 복잡하고 큰 시스템을 기능별로 작게 분류해서 간단하고 작은 시스템으로 재구성할 수 있다. 따라서 전체 시스템을 이해하기 쉽고, 시스템을 설계하고 구현하기도 편리하다.
    - 상하 계층에 인접한 모듈 사이의 인터페이스를 포함하여 분할된 모듈이 연동할 수 있는 표준 인터페이스를 제공한다. 모듈 인터페이스는 가능한 단순하게 구현하여 모듈이 최대한 독립적으로 동작해야 한다. 모듈의 독립성은 전체 시스템의 구조를 단순하게 만들어 준다.
    - 전송 매체 양단에 있는 호스트가 수행하는 프로토콜들은 좌우 대칭 구조이다. 대칭 구조에서는 통신 양단에 위치하는 동일 계층 사이의 프로토콜을 단순화할 수 있다.
    - 각 계층의 기능 오류를 수정하거나 향상시켜야 하는 경우에 전체 시스템을 재작성하지 않고 해당 계층의 모듈만 교체하면 된다. 즉, 상하 혹은 좌우 계층 간의 인터페이스를 유지하면 특정 계층의 내부 변경이 다른 모듈의 동작에 영향을 미치지 않는다.
  22. 계층 구조의 네트워크 프로토콜을 설계할 때 고려할 사항을 나열하시오.
    → 주소표현, 오류제어, 흐름제어

  23. 임의의 송신 호스트가 수신 호스트에 데이터를 전송했을 때 발생할 수 있는 오류에는 무엇이 있는가?
    → 데이터 분실 오류, 데이터 변형 오류

  24. 흐름 제어 기능을 설명하시오.
    → 수신 호스트의 버퍼 처리 속도보다 송신 호스트가 데이터를 전송하는 속도가 빠르면 논리적인 데이터 분실 오류가 발생할 수 있다. 이 문제를 해결하려면 송신 호스트의 전송 속도를 조절하는 기능이 필요한데, 이 기능을 하는 것이 흐름 제어이다.

  25. 서비스 프리미티브에서 Request, Indication, Response, Confirm의 기능을 설명하시오.
    Request: 클라이언트에서 발생, 서버가 프리미티브의 기능을 수행하도록 하위 프로토콜에 요청할 때 사용. 연결 설정 요청, 데이터 전송 요청, 연결 해제 요청 등이 있다.
    Indication: 클라이언트로부터 Request 요청을 수신한 서버의 하위 프로토콜은 Indication을 사용해서 프리미티브 요청이 발생했음을 알린다. 연결 설정, 데아터 전송, 연결 해제에 대해 CONNECTION.Indication, DATA.Indication, DISCONNECT.Indication, 순으로 사용한다.
    Response: 클라이언트로부터 프리미티브를 받은 서버에서는 Response를 이용해 클라이언트에 응답한다. 연결 설정 요청은 CONNECT.Response를 사용해 연결 허용이나 거부로 응답하고, 데이터는 DATA.Response, 연결 해제는 DISCONNECT.Response로 전달한다.
    confirm: 서버에서 보낸 응답은 Confirm 형태로 클라이언트에 회신된다. 연결 설정은 CONNECT, Confirm, 데이터는 DATA.Confirm, 연결 해제는 DISCONNECT.Confirm로 전달된다.

  26. OSI 7계층 모델에서 각 계층의 역할을 설명하시오.
    물리 계층: 호스트를 전송 매체와 연결하기 위한 인터페이스 규칙과 전송매체의 특성을 다룬다.
    데이터 링크 계층: 물리적 전송 오류를 감지하는 기능을 제공해 송수신 호스트가 오류를 인지할 수 있도록 해준다.
    네트워크 계층: 데이터가 올바른 경로를 선택할 수 있도록 지원한다. 라우팅 문제+ 혼잡 제어기능
    전송 계층: 송신, 수신 프로세스 사이의 연결기능을 제공하기 때문에 프로세스 사이의 안전한 데이터 전송을 지원한다.
    세션 계층: 전송 계층에서 제공하는 연결의 개념과 유사한 세션 연결을 지원하지만, 이보다는 더 상위의 논리적 연결이다.
    표현 계층: 전송되는 데이터의 의미를 잃지 않도록 올바르게 표현하는 방법을 다룬다.
    응용 계층: 사용자를 위한 다양한 네트워크 응용 환경을 지원한다.

  27. TCP/ IP 모델의 구현 환경을 설명하시오.
    인터넷은 데이터의 중개 기능을 담당하는 네트워크 계층으로 IP 프로토콜을 사용하는 네트워크이다. 인터넷에 연결된 컴퓨터의 네트워크 구현 모델에서는 전송 계층까지의 기능을 시스템 공간인 운영체제 내부에 구현한다. TCP와 UDP는 시스템 운영체제인 커널 내부구조에 구현되므로, 소켓 인터페이스라는 전송 계층의 프리미티브를 사용자 프로그램에서 호출하는 방식으로 사용한다. 세션 계층부터 응용 계층까지의 기능은 사용자 프로그램으로 구현된다.

  28. ARP, RARP의 필요성을 설명하시오.
    ARP: 일반적으로 송신 호스트는 자신의 IP 주소와 MAC 주소는 쉽게 얻을 수 있지만, 수신자의 주소를 얻으려면 몇가지 처리 과정이 필요하다. 상대방 호스트의 IP 주소는 응용 프로그램의 사용자로부터 입력되지만 MAC 주소 정보는 어디에서도 얻을 수 없다. 따라서 사용자로부터 입력된 상대방 호스트의 IP 주소를 이용해 MAC 주소를 구하는 기능을 한다.
    RARP: 호스트의 IP 주소는 컴퓨터 설정 작업의 초기화 과정에서 특정 파일에 보관한다. 그러나 하드디스크가 없는 시스템은 LAN 카드에 내장된 자신의 MAC 주소는 알지만, 파일 시스템이 존재하지 않으므로 IP 주소를 알 수 없다. 이 문제를 해결하기 위하여 MAC 주소를 IP 주소로 변환하는 역할을 RARP가 담당한다.

  29. ICMP의 역할에 대해 설명하시오.
    IP가 동작하는 과정에서 동작 오류가 발생할 수 있으므로, 오류가 발생했을 때 송신자에 오류 메세지를 회신하는 기능을 담당한다.

 

728x90

댓글