네트워크 면접 질문
게층
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의 과정은 클라이언트에서 서버로 연결 시도 시
클라이언트에서 서버에게
ISN을 담은 SYN
을 보냅니다.클라이언트의 SYN 패킷을 받은 서버에서 클라이언트에게
클라이언트의SYN에 대한 ACK와 서버의 ISN을 담은 SYN
을 보냅니다.이후 서버의 SYN을 받은 클라이언트에서 서버의
SYN에 대한 ACK
를 보냅니다.
4Way-Handshake의 과정은 클라이언트에서 연결 종료 시
클라이언트에서 서버로
FIN
을 보냅니다.패킷을 받은 서버에서 클라이언트에게
ACK와 대기중인 패킷을 모두
전송합니다.대기중인 패킷을 모두 전송하면
서버에서 클라이언트에게FIN
을 전송합니다.서버에게
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)
다중화에 대해 설명해주세요
다중화는 캡슐화된 세그먼트를 하위 계층인 네트워크 계층으로 전달하는 작업
을 다중화라고 합니다.
역다중화에 대해 설명해주세요
역다중화는 네트워크 계층을 통해 도착한 세그먼트 데이터를 올바른 소켓으로 전달하는 작업
을 역다중화라고 합니다.