모의 면접 준비

한민우·2024년 9월 30일

CS

목록 보기
7/11

1. IP의 개념과 IP 주소 체계, 서브넷 마스크

Internet Protocol 의 약자로 인터넷이 통하는 네트워크에서 어떤 정보를 수신하고 송신하는 통신에 대한 규약을 의미합니다.

IP 주소는 네트워크 주소와 네트워크 상의 개별 호스트를 식별하기 위하여 네트워크 관리자가 부여한 호스트 주소입니다.
IP 주소는 32비트로 구성된 IPv4와 128비트로 구성된 IPv6 두 가지 형태가 있습니다. IPv4 주소는 일반적으로 4개의 10진수로 구분된 숫자(예: 192.168.0.1)로 표시되며, 각각의 숫자는 0에서 255 사이의 값을 가집니다. 반면, IPv6 주소는 16진수로 구성된 8개의 블록으로 나타납니다(예: 2001:0db8:85a3:0000:0000:8a2e:0370:7334).

서브넷 마스크는 IP 주소를 네트워크 부분과 호스트 부분으로 나누는 데 사용됩니다. 서브넷 마스크는 일반적으로 255.255.255.0과 같은 형식으로 표시되며, 이진수로 표현할 경우 네트워크 부분은 1로, 호스트 부분은 0으로 표시됩니다. 예를 들어, IP 주소 192.168.1.1과 서브넷 마스크 255.255.255.0이 있을 때, 네트워크 주소는 192.168.1.0이고, 호스트 주소는 1입니다.

예상 꼬리 질문 1: IPv4 주소 고갈 문제를 해결하기 위한 방법은 무엇인가요?
답변: IPv4 주소 고갈 문제를 해결하기 위해 몇 가지 방법이 사용되었습니다. 대표적으로 IPv6의 도입이 있으며, 이는 128비트 주소 체계를 사용해 거의 무한에 가까운 주소 공간을 제공합니다.
또 다른 방법으로는 NAT(Network Address Translation)가 있습니다. NAT는 여러 기기가 하나의 공인 IP 주소를 공유해 인터넷에 접속할 수 있게 해줍니다. 이 방식은 내부 네트워크에서 사용하는 사설 IP 주소를 공인 IP로 변환하는 기술입니다.

예상 꼬리 질문 2: 사설 IP(private IP)와 공인 IP(public IP)의 차이점은 무엇인가요?
답변: 공인 IP는 인터넷에서 고유하게 사용되는 IP 주소로, 인터넷에 직접 연결되는 기기들이 사용하는 주소입니다. 사설 IP는 내부 네트워크에서만 사용되며, 같은 사설 IP 주소가 여러 내부 네트워크에서 중복될 수 있지만, 외부에서는 중복되지 않습니다. 사설 IP는 보통 NAT를 통해 공인 IP로 변환되어 인터넷에 연결됩니다.

예상 꼬리 질문 3: 서브넷 마스크를 사용하여 네트워크를 나누는 이유는 무엇인가요?
답변: 서브넷 마스크를 사용하여 네트워크를 나누는 이유는 네트워크의 규모를 효율적으로 관리하기 위함입니다. 큰 네트워크를 여러 개의 작은 서브넷으로 나누면, 네트워크 혼잡을 줄이고 보안을 강화할 수 있습니다. 또한, 네트워크 자원을 효율적으로 사용할 수 있으며, 각 서브넷에 독립적인 IP 주소 공간을 할당해 네트워크 관리가 쉬워집니다.

예상 꼬리 질문 4: IP 주소와 MAC 주소의 차이점은 무엇인가요?
IP 주소는 네트워크 간의 통신을 위해 사용되는 논리적인 주소입니다. 이는 네트워크와 장치의 위치에 따라 동적으로 변경될 수 있습니다. 반면, MAC 주소는 네트워크 인터페이스 카드에 할당된 고유 식별자입니다. MAC 주소는 물리적 장치에 고정되어 있으며, 변경되지 않습니다. IP 주소는 경로를 결정하는 데 필요하고, MAC 주소는 같은 네트워크 내에서 패킷의 출발지와 목적지를 식별하는 역할을 합니다.


* ARP: 동일 네트워크에 속한 호스트의 MAC 주소를 알아내기 위해 사용하는 프로토콜
* 다른 네트워크에 속한 호스트에게 패킷을 보내야 할 경우 네트워크 외부로 나가기 위한 장비(라우터)의 MAC 주소를 알아내 전송

2. 네이버 주소를 입력했을 때 네트워크 상에서 발생하는 과정

답변: 먼저 도메인 네임(www.naver.com)을 IP 주소로 변환하기 위해 DNS(Domain Name System) 서버에 요청을 보냅니다. DNS 서버는 해당 도메인에 대한 IP 주소를 반환합니다.

반환된 IP 주소를 사용하여 naver의 웹 서버와 TCP(Transmission Control Protocol) 연결을 설정합니다.

TCP 연결이 완료되면, 브라우저는 HTTP 프로토콜을 사용하여 naver의 서버에 GET 요청을 보냅니다.

naver의 웹 서버는 요청을 처리한 후, 웹 페이지의 HTML, CSS, JavaScript 파일 및 이미지 등의 데이터를 포함한 응답을 클라이언트에 전송합니다.

브라우저는 수신한 데이터를 기반으로 웹 페이지를 렌더링하여 사용자에게 웹 페이지를 표시합니다.

예상 꼬리 질문 1: DNS 조회 과정에서 캐시가 어떻게 작용하는지 설명해 주세요.
답변: 사용자가 웹사이트에 접속할 때, 브라우저는 먼저 자신의 DNS 캐시를 확인합니다. 브라우저 캐시에는 최근에 방문한 사이트의 IP주소가 저장되어 있습니다.
브라우저 캐시에 IP 주소가 없다면 운영체제의 DNS 캐시를 조회합니다. OS도 최근 조회된 IP 주소를 일정 기간동안 저장합니다.
운영체제에서도 IP주소를 찾지 못할 경우 네트워크 라우터로 요청이 넘어갑니다. 많은 라우터는 자체적으로 DNS 캐시를 관리합니다.
라우터에서도 IP 주소를 찾지 못할 경우, DNS 조회는 인터넷 서비스 제공자(ISP)의 DNS 서버로 넘어갑니다. ISP는 대규모의 DNS 서버를 운영하며, 많은 도메인의 IP 주소를 캐시에 저장해 둡니다.
만약 브라우저, 운영체제, 라우터, ISP 캐시 어디에도 해당 IP 주소가 없다면, ISP의 DNS 서버는 재귀적 DNS 조회를 수행합니다. 이는 루트 DNS 서버부터 시작하여 도메인의 권한 있는 DNS 서버까지 순차적으로 질의하는 과정입니다.

예상 꼬리 질문 2: 브라우저가 DNS 캐시를 사용하는 이유는 무엇인가요?
답변: DNS 캐시는 브라우저가 이전에 접속한 웹사이트의 도메인 이름과 IP 주소를 임시로 저장하는 기능입니다. 이 캐시를 사용하면 동일한 웹사이트에 재접속할 때 DNS 서버에 다시 요청하지 않아도 되므로, 접속 시간이 단축되고 네트워크 트래픽이 줄어듭니다.

예상 꼬리 질문 3: 로드 밸런싱은 이 과정에서 어떤 역할을 하나요?
답변: 로드 밸런싱은 다음과 같은 역할을 합니다:
트래픽 분산: 여러 서버에 요청을 분산하여 단일 서버의 부하를 줄입니다.
가용성 향상: 특정 서버에 문제가 생겨도 다른 서버로 요청을 전달하여 서비스의 연속성을 보장합니다.
세션 관리: 사용자 세션을 특정 서버에 고정(sticky session)하거나 세션 정보를 공유하여 일관된 사용자 경험을 제공합니다.
SSL 오프로딩: SSL/TLS 암호화/복호화 작업을 로드 밸런서에서 처리하여 백엔드 서버의 부하를 줄입니다.

3. 라우터와 라우팅(동적 라우팅, 정적 라우팅)

답변: 라우터는 네트워크 간의 데이터 패킷을 전송하는 장치로, 서로 다른 네트워크를 연결하고 데이터의 최적 경로를 결정하는 역할을 합니다. 라우터는 각 패킷에 대해 목적지 주소를 확인하고, 이를 기반으로 패킷이 최종 목적지에 도달할 수 있도록 경로를 설정합니다.

라우팅은 이러한 경로 설정 과정을 의미하며, 크게 두 가지 방식으로 나눌 수 있습니다

정적 라우팅: 네트워크 관리자가 수동으로 경로를 설정합니다. 경로가 변경되지 않는 경우 유용하며, 관리가 간단하지만, 네트워크가 변경되면 수동으로 업데이트해야 합니다.

동적 라우팅: 동적 라우팅은 라우터가 자동으로 경로를 학습하고 업데이트하는 방식입니다. 라우터는 서로 통신하며 네트워크의 상태를 파악하고, 최적의 경로를 계산합니다. 동적 라우팅은 네트워크 변화에 즉각적으로 반응할 수 있어, 더 유연하고 효율적입니다.

예상 꼬리 질문 1: 라우팅 프로토콜의 예시를 더 설명해주세요.
답변: 대표적인 라우팅 프로토콜로는 RIP, OSPF, 그리고 BGP가 있습니다. RIP(Routing Information Protocol)는 거리 벡터 알고리즘을 사용해 홉 수를 기준으로 경로를 선택하는 프로토콜입니다. 하지만 홉 수에 제한이 있어 대규모 네트워크에 적합하지 않습니다. OSPF(Open Shortest Path First)는 링크 상태 알고리즘을 사용하여 각 네트워크 경로의 상태를 기반으로 최적의 경로를 선택합니다. BGP(Border Gateway Protocol)는 주로 인터넷 서비스 제공자(ISP) 간에 사용되며, 자율 시스템 간의 경로를 결정하는 데 사용됩니다.

예상 꼬리 질문 2: 정적 라우팅은 언제 사용되나요?
답변: 정적 라우팅은 네트워크 경로가 변동이 거의 없는 환경에서 사용됩니다. 관리자가 수동으로 경로를 설정하고, 설정된 경로로만 패킷이 전송되기 때문에 관리가 간단하지만, 경로에 문제가 발생했을 때 수동으로 수정해야 하는 단점이 있습니다. 주로 소규모 네트워크나, 특정 경로로만 트래픽을 유도하려는 경우에 사용됩니다.

예상 꼬리 질문 3: 라우팅 테이블은 무엇이며, 어떻게 동작하나요?
답변: 라우팅 테이블은 라우터가 패킷을 어디로 보낼지 결정하는 정보가 담긴 데이터베이스입니다. 라우팅 테이블에는 목적지 IP 주소, 네트워크 마스크, 게이트웨이 주소, 그리고 인터페이스 정보가 저장됩니다. 라우터는 패킷을 받을 때, 그 패킷의 목적지 IP 주소를 라우팅 테이블과 비교해 가장 적합한 경로를 선택해 패킷을 전달합니다. 라우팅 테이블은 동적 라우팅 프로토콜을 통해 자동으로 업데이트될 수 있습니다.

profile
예비 게임서버 개발자

0개의 댓글