새소식

프론트엔드 공부/네트워크

[네트워크] 심화 종합퀴즈

  • -

1.다음 중 IP와 IP Packet 대한 설명으로 옳지 않은 것을 모두 고르세요.

A. IP는 패킷(packet)이라는 통신 단위로 데이터 전달을 합니다.
B. IP는 OSI 7 계층 모델의 전송계층(Transport layer)에서 사용되는 프로토콜입니다.
C. IP는 패킷을 받을 대상이 없거나 서비스 불능 상태이면 패킷을 전송하지 않습니다.
D. IP는 전달 데이터의 용량이 클 경우, 이를 패킷 단위로 나눠 순차적으로 전달합니다.
더보기

정답B. IP는 네트워크 계층(Network layer)에서 사용되는 프로토콜입니다.

정답C. 패킷을 받을 대상이 없거나 서비스 불능 상태여도 클라이언트는 서버의 상태를 파악할 방법이 없기 때문에 패킷을 그대로 전송하게 됩니다. (비신뢰성)
정답D. 전달 데이터의 용량이 클 경우 이를 패킷 단위로 나눠 데이터를 전달하게 되는데 이때 패킷들은 중간에 서로 다른 노드를 통해 전달될 수 있습니다. 이렇게 되면 클라이언트가 의도하지 않은 순서로 서버에 패킷이 도착할 수 있습니다.(비신뢰성)


2.다음 중 TCP의 특징으로 옳은 것을 모두 고르세요.

A. TCP는 장치들 사이에 논리적인 접속을 위하여 3 way handshake를 사용하는 연결 지향형 프로토콜입니다.
B. TCP는 데이터 전송이 성공적으로 이루어지면, 이에 대한 응답을 돌려줍니다.
C. 만약 패킷이 순서대로 도착하지 않으면, TCP 세그먼트에 있는 정보를 토대로 패킷 전송을 다시 요청합니다.
D. TCP가 UDP보다 빠르고, 신뢰성 역시 높기 때문에 UDP보다 더 많이 사용됩니다.
더보기

정답A. TCP는 논리적인 연결을 형성하기 위해 3-way handshake를 사용하는 연결 지향형 프로토콜입니다.

정답B. TCP는 데이터 전송이 성공적으로 이루어졌을 때 응답을 반환합니다.
정답C. 패킷이 순서대로 도착하지 않으면 TCP 세그먼트의 정보를 기반으로 재전송을 요청합니다.
D. TCP는 UDP보다 빠르고 신뢰성이 높기 때문에 더 많이 사용됩니다.

UDP는 TCP보다 신뢰성이 낮지만, 빠른 전송 속도를 제공하기 때문에 실시간 스트리밍 서비스 등의 연속성이 중요한 서비스에 많이 활용되고 있습니다.


3.다음은 채팅 프로그램에서 유저가 작성한 메시지를 서버로 보낼 때, TCP/IP 4계층 모델을 기반으로 네트워크의 상황을 순서대로 나열한 것을 찾으세요.

A. 애플리케이션 계층에서 HTTP 메시지에 해당 메시지("Hello, World")가 담겨 전송됩니다.
B. 생성된 IP 패킷은 물리적 계층을 지나기 위해서 이더넷 프레임 워크에 포함되어 서버로 전송됩니다.
C. 전송 계층에서 TCP 세그먼트를 생성하고, 인터넷 계층에서 IP 패킷으로 만들어집니다.
D. 유저가 채팅 프로그램에서 "Hello, World"를 작성하고 전송 버튼을 누릅니다.

A. A. A-C-B-D
B. B. A-D-B-C
C. C. D-B-C-A
D. D. D-A-C-B

더보기

정답 D. D. D-A-C-B
채팅 프로그램에서 메시지를 보낼 때 어떤 일이 일어나는지

  1. 먼저 HTTP 메시지가 생성되면 Socket을 통해 전달됩니다.
  2. 그리고 IP 패킷을 생성하기 전 TCP 세그먼트를 생성합니다.
  3. 이렇게 생성된 TCP/IP 패킷은 LAN 카드와 같은 물리적 계층을 지나기 위해 이더넷 프레임 워크에 포함되어 서버로 전송됩니다.

4. HTTP 통신의 두 가지 속성을 모두 고르세요. (HTTP/1.1 기준)

A. createless(무창조성)
B.stateless(무상태성)
C. loginless(무접속성)
D. connectionless(비연결성)
더보기

A. createless(무창조성)
정답 B.stateless(무상태성)
C. loginless(무접속성)
정답 D. connectionless(비연결성)

B. connectionless(비연결성)은 응답이 완료되면 클라이언트와 서버의 연결이 끊어지는 속성입니다.
D. stateless(무상태성)은 connectionless(비연결성)으로 인해 서버는 클라이언트의 상태를 기억하지 못하는 속성입니다.


5.다음 중 HTTP에 대한 설명 중 틀린 것을 모두 고르세요.

A. A. HTTP을 사용하면 해당 자원들을 각각 보낼 때마다 매번 연결을 반복해야 하며, 비효율성을 해결할 방안은 없습니다.
B. B. 비연결성을 가지는 HTTP에서는 실제로 요청을 주고받을 때만 연결을 유지하고 응답을 주고 나면 TCP/IP 연결을 끊습니다 C. C. HTTP에서는 서버가 클라이언트의 상태를 보존하지 않는 무상태 프로토콜입니다.
D. D. HTTP는 무상태성을 특징으로 가지기 때문에 서버를 확장하기 어렵고, 클라이언트에서는 추가 데이터를 전송해야 합니다.
더보기

정답 A. HTTP를 사용하면 각 적용할 것을 보낼 때마다 연결을 반복해야 하고, 지금은 HTTP 지속 연결(Persistent Connections)로 비효율성의 문제를 해결합니다.

B. 연결성 HTTP는 요청과 응답을 실제로 구할 수 있는 연결을 유지하고, 응답을 받은 후 TCP/IP 연결을 끊습니다.
C. HTTP는 서버가 클라이언트의 상태를 유지하지 못하는 상태입니다.
정답 D. HTTP는 상태가 없는 권리 때문에 서버를 확장하기 위해, 클라이언트는 추가 데이터를 전송해야 합니다. HTTP의 stateless(무상태성)로 인해 클라이언트에서 이미 필요한 데이터들를 보내기 때문에 응답 서버를 쉽게 바꿀 수 있습니다. 따라서 무한한 서버 증설이 가능합니다.


6.Request, Response에서 사용되는 헤더에 대한 설명 중 올바른 것을 모두 고르세요.

A. [Request] Host: 요청한 호스트 정보(도메인)
B. [Request] Origin: 서버로 POST 요청을 보낼 때, 요청을 시작한 주소를 나타냄
C. [Response] Authorization: 인증 토큰(e.g. JWT)을 클라이언트로 보낼 때 사용하는 헤더
D. [Response] Server: 요청을 처리하는 ORIGIN 서버의 소프트웨어 정보
더보기

정답 A. [Request] Host: 요청한 호스트 정보(도메인)

정답 B. [Request] Origin: 서버에 POST 요청을 보낼 때, 요청이 발생한 주소를 나타냅니다.
C. [Response] Authorization: 인증 토큰(e.g. JWT)을 서버에게 보낼 때 사용하는 헤더입니다.
정답 D. [Response] Server: 요청을 처리하는 ORIGIN 서버의 소프트웨어 정보입니다.


7. HTTP 헤더를 통해 콘텐츠 협상을 할 때, 한국어, 영어, 일본어 순으로 우선순위가 적용될 수 있는 헤더를 모두 고르시오.

A. Accept-Language: ko,us;q=0.9,ja;q=0.8
B. Accept-Language: ko;q=1,us;q=0.9,ja;q=0.8
C. Accept-Language: ko,us;q=0.1,ja;q=0.2
D. Accept-Language: ko;=0.1,us;q=0.3,ja;q=0.2
더보기

정답 A. Accept-Language: ko,us;q=0.9,ja;q=0.8

정답 B. Accept-Language: en;q=1,us;q=0.9,ja;q=0.8
C. Accept-Language: ko,us;q=0.1,ja;q=0.2
D. Accept-Language: en;=0.1,us;q=0.3,ja;q=0.2

Quailty Values(q)는 0 ~ 1사의 값을 가지고, 1에 가까울 수록 우선순위를 가집니다. q를 생략시 1로 값이 설정됩니다.


8.다음 중 HTTPS에 대한 설명으로 올바르지 않은 것을 모두 고르세요.

A.인증서를 기반으로 데이터 제공자의 신원을 보장받을 수 있다.
B.기존 HTTP 방식보다 더 안전한 통신 프로토콜이다.
C.요청 및 응답을 중간에서 가로채는 중간자 공격에 취약합니다.
D.중간에 인터넷 요청이 탈취되더라도 그 내용을 알아볼 수 있다.
더보기

A.인증서를 기반으로 데이터 제공자의 신원을 보장받을 수 있다.
B.기존 HTTP 방식보다 더 안전한 통신 프로토콜이다.
정답 C.요청 및 응답을 중간에서 가로채는 중간자 공격에 취약합니다.
정답 D.중간에 인터넷 요청이 탈취되더라도 그 내용을 알아볼 수 있다.

HTTPS 프로토콜를 사용하면 데이터가 암호화되어 전송되기 때문에 정확한 키로 복호화하기 전까지는 어떤 내용인지 알 수 없습니다. 따라서, 중간자 공격에 취약하지 않습니다.


'프론트엔드 공부 > 네트워크' 카테고리의 다른 글

HTTP와 HTTPS  (0) 2023.03.07
TCP/IP와 OSI 모델  (0) 2023.03.06
[React] 클라이언트 Ajax 요청 종합퀴즈  (0) 2023.02.03
Open API와 API Key 종합퀴즈 문제풀이  (0) 2023.01.31
REST API, OpenAPI, API Key  (0) 2023.01.31
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.