Post

네트워크 면접 질문

네트워크 면접 질문

게층

OSI 7계층에 대해 설명해주세요

OSI 7계층으로는 하위 계층부터 물리, 링크,네트워크, 전송, 세션, 표현, 애플리케이션이 있습니다.

물리 계층은 0과 1로 구성된 데이터를 전기적인 신호로 변환시켜줍니다.
링크 계층은 LAN 안의 연결된 컴퓨터들끼리 MAC 주소로 통신이 가능하게 해줍니다.
네트워크 계층은 데이터를 목적지까지 전달합니다.
전송 계층은 포트 번호로 데이터의 목적지가 어느 애플리케이션인지 식별해줍니다.
세션 계층은 양 끝단의 응용 프로세스가 통신을 하기 위한 방법을 제공합니다.
표현 계층은 데이터 표현에 대한 독립성과 암호화 역할을 담당합니다.
응용 계층은 최종 목적지로 응용 프로세스와 직접 관계하여 응용 서비스를 수행합니다.

TCP/IP 4계층에 대해 설명해주세요

TCP/IP 4 계층으로는 네트워크 엑세스, 인터넷, 전송, 응용이 있습니다.

네트워크 액세스 계층은 프레임 단위의 데이터들을 물리주소인 MAC 주소로 전송합니다.
인터넷 계층은 패킷 단위의 데이터들을 논리 주소인 IP 주소로 정확하게 라우팅합니다.
전송 계층은 통신 노드 간의 연결 제어 및 데이터 송수신을 담당합니다.
응용 계층은 사용자가 응용 프로그램과 소통할 수 있게 합니다.

IP

IPv4에 대해 설명해주세요

IPv4는 4개의 8비트로 이루어진 주소를 가지는 네트워크 계층 프로토콜입니다.

IPv6에 대해 설명해주세요

IPv4는 8개의 16비트로 이루어진 주소를 가지는 네트워크 계층 프로토콜입니다.

Address Resolution Protocol(ARP)

ARP는 IP주소를 MAC 주소와 매칭시키기 위한 프로토콜입니다.
ARP는 3계층에서 사용되는 프로토콜이고

ARP의 통신 과정은 ARP Request를 LAN 구간의 모든 호스트에게 Broadcast합니다.
이후 ARP Request를 받은 호스트가 해당 IP를 가지고 있으면 자신의 MAC 주소를 담아 응답합니다.

UDP와 TCP

UDP에 대해 설명해주세요

UDP는 비연결 지향적이고 비신뢰적인 전송 프로토콜입니다.
패킷의 전송과 순서를 보장하지 않습니다.

TCP에 대해 설명해주세요

TCP는 연결 지향적이고 신뢰적인 전송 프로토콜입니다.
패킷의 전송과 순서를 보장하지만 속도는 UDP보다 느립니다.
연결 시 3Way-Handshake를 하고 연결 종료 시 4Way-Handshake를 거칩니다.

3Way-Handshake의 과정은 클라이언트에서 서버로 연결 시도 시

  1. 클라이언트에서 서버에게 ISN을 담은 SYN을 보냅니다.

  2. 클라이언트의 SYN 패킷을 받은 서버에서 클라이언트에게
    클라이언트의 SYN에 대한 ACK와 서버의 ISN을 담은 SYN을 보냅니다.

  3. 이후 서버의 SYN을 받은 클라이언트에서 서버의 SYN에 대한 ACK를 보냅니다.

4Way-Handshake의 과정은 클라이언트에서 연결 종료 시

  1. 클라이언트에서 서버로 FIN을 보냅니다.

  2. 패킷을 받은 서버에서 클라이언트에게 ACK와 대기중인 패킷을 모두 전송합니다.

  3. 대기중인 패킷을 모두 전송하면 서버에서 클라이언트에게 FIN을 전송합니다.

  4. 서버에게 FIN을 받은 클라이언트에서 ACK를 보낸 후 일정 시간을 이후 연결을 종료합니다.

4단계에서 클라이언트에서 ACK를 보낸 후 일정 시간을 가진 후 연결을 종료하는 이유는
2단계에서 서버에서 보낸 패킷이 뒤늦게 도착할 수도 있으므로 기다리는 것입니다.

HTTP

HTTP에 대해 설명해주세요

HTTP은 애플리케이션 계층 프로토콜
상태 정보를 저장하지 않는 Stateless의 특징
클라이언트에 요청에 맞는 응답을 보낸 후 연결을 끊는 Connectionless의 특징을 가지고 있습니다.

HTTPS에 대해 설명해주세요

HTTPS은 HTTP 프로토콜에 SSL을 추가한 프로토콜입니다.
HTTPS 프로토콜은 SSL을 추가했기 때문에 메시지가 암호화되고
SSL을 통해 TCP 통신을 하기 때문에 암호화와 증명서, 안전성 보호를 이용할 수 있게 됩니다.

DNS

DNS에 대해 설명해주세요

DNS는 도메인 이름으로 실제 IP 주소를 찾는 방법입니다.

www.google.com에 접속할때 생긱는 과정 설명해주세요

클라이언트에서 DNS 서버로 도메인을 전달합니다.
도메인을 전달받은 DNS 서버에서 도메인에 맞는 IP를 찾아 클라이언트에게 전달합니다.

로드 밸런싱

로드 밸런싱에 대해 설명해주세요

로드 밸런싱을 트래픽을 적절히 서버에 분담해주는 기술입니다.

L4 로드 밸런싱에 대해 설명해주세요

L4 로드 밸런싱은 OSI 계층중에 4계층인 전송 계층에서 작동하는 로드 밸런싱입니다.
L4 로드 밸런싱은 메세지를 면밀히 관찰하지 않기 때문에 빠릅니다.

L7 로드 밸런싱에 대해 설명해주세요

L7 로드 밸런싱은 OSI 계층중에 7계층인 애플리케이션 계층에서 작동하는 로드 밸런싱입니다.
L7 로드 밸런싱은 메시지를 면밀히 관찰하기 때문에 적절한 서버로 보낼 수 있습니다.

서브넷

서브넷팅에 대해 설명해주세요

서브넷팅이란 네트워크를 더 작은 네트워크로 분할하는 기술입니다.
서브넷팅에서는 IP 주소를 네트워크 부분호스트 부분으로 나눕니다.
네트워크 부분은 모든 서브넷이 공통으로 가지며,
호스트 부분은 각 서브넷에서 개별 장치를 식별하는데 사용됩니다.

서브넷 마스크에 대해 설명해주세요

서브넷 마스크는 네트워크 아이디와 호스트 아이디를 구별하는 구분자입니다.
예를 들어 192.168.32.123이라는 IP주소가 있고 서브넷 마스크가 255.255.255.0일때
IP 주소와 서브넷 마스크를 AND 연산 시 192.168.32.0이 나오고
이것이 네트워크 아이디이고 네트워크 부분을 제외한 나머지 123이 호스트 아이디입니다.

소켓

소켓은 프로세스가 데이터를 수신하고 송신하기 위한 창구 역할을 합니다.
소켓의 구성요소로는 프로토콜, IP 주소, 포트 번호가 있습니다.

다중화(Multiplexing)와 역다중화(Demultiplexing)

다중화에 대해 설명해주세요

다중화는 캡슐화된 세그먼트를 하위 계층인 네트워크 계층으로 전달하는 작업을 다중화라고 합니다.

역다중화에 대해 설명해주세요

역다중화는 네트워크 계층을 통해 도착한 세그먼트 데이터를 올바른 소켓으로 전달하는 작업을 역다중화라고 합니다.

This post is licensed under CC BY 4.0 by the author.