[TIL] 24-12-17
모의 면접
-
IP의 개념과 IP 주소 체계, 서브넷 마스크에 대해 설명해주세요.
-
브라우저에 네이버 주소를 입력했을 때 네트워크 상에서 발생하는 과정을 설명해주세요.
-
라우터와 라우팅(동적 라우팅, 정적 라우팅)에 대해 설명해주세요.
오늘 위의 내용에 대해서 모의면접을 했다.
일단 저 질문에 대한 답을 준비했고, 꼬리질문도 있다고 해서 한두개 정도 간단한 질문일 줄 알고,
적당히만 찾아봤는데, 꼬리가 너무 길었다..
내가 틀린 꼬리 질문에 대해 찾아보고 오늘 til에 적으며 기억해야겠다.
네이버 접속 시 라우터가 하는 일과 과정 (게이트웨이 포함)
-
내 컴퓨터가 네이버의 IP주소를 찾고 이 IP주소로 패킷을 보내는데, 이 IP 주소가 밖에 있다고 판단되면
기본 게이트웨이(공유기)에 패킷을 보낸다! -
게이트웨이가 목적지 주소가 외부 네트워크라 판단하면 패킷을 라우터로 전달!
-
라우터는 패킷을 받고 목적지 IP 주소를 보고 최적의 경로를 찾아 다른 네트워크로 전달!
-
여러 라우터를 거쳐 네이버 서버로 전달!
포워딩은 어떻게 일어나는가?
포워딩이란 라우터가 패킷을 목적지로 전달하는 과정
- 목적지 IP 주소 확인
- 패킷의 헤더에 있는 목적지 IP 주소를 읽음
- 라우팅 테이블 탐색
- 라우팅 테이블에서 목적지 네트워크에 해당하는 경로를 찾음
- 다음 홉 결정
- 목적지로 가기 위한 다음 라우터 또는 네트워크 장치 결정
- 패킷 포워딩
- 포워딩이 결정되면 패킷을 출구 인터페이스를 통해 다음 라우터 또는 장치로 전송
동적 라우팅이 작동하는 방식
동적 라우팅은 라이팅 프로토콜을 통해 이루어짐.
라우터들이 서로 정보를 교환하여 자동으로 경로 설정
동적 라우팅 프로토콜의 동작 원리
- 라우터 간의 정보 교환
- 라우터들은 헬로 메시지나 라우팅 업데이트를 통해 네트워크 정보를 주고받음
- 라우팅 테이블 업데이트
- 라우터는 받은 정보를 바탕으로 라우팅 테이블을 자동으로 업데이트
- 최적 경로 선택
- 각 프로토콜은 최적 경로를 계산하는 알고리즘을 사용
- RIP: 홉 카운트(경유 라우터 수)가 적은 경로 선택
- OSPF: 링크 상태를 기반으로 최단 경로 선택 (Dijkstra 알고리즘)
- BGP: 경로 속성(정책)에 따라 최적 경로 선택
- 각 프로토콜은 최적 경로를 계산하는 알고리즘을 사용
- 경로 유지
- 네트워크에 변화(라우터 다운 등)가 발생하면 라우팅 프로토콜이 자동으로 새로운 최적 경로를 설정
RIP, OSPF, BGP
RIP (Routing Information Protocol)
👉🏻 쉽게 말해: “단순하게 거쳐 가는 경유지(홉) 수가 가장 적은 경로를 선택”
작동 원리
- 경로를 평가할 때 경유지(홉)를 기준으로 삼음.
- 예를 들어, 목적지까지 3개의 라우터를 거쳐 가야 한다면 홉 카운트는 3.
- 홉 카운트가 적은 경로를 최적 경로로 선택.
특징 - 단순하고 이해하기 쉬움.
- 하지만 경유지가 적어도 속도가 빠르다고 보장할 수는 없음.
- 예: 느린 라우터를 2개 거치는 경로가 더 빠를 수도 느릴수도 있지만, RIP는 단순히 “경유지 수”만 보고 판단.
- 홉 카운트 최대값이 15라서, 경유지가 15개를 넘으면 목적지에 도달 불가능하다고 판단.
예시 “어느 길로 갈까?”
- 경로 A: 라우터 2개를 거침 (홉 수 = 2)
- 경로 B: 라우터 4개를 거침 (홉 수 = 4)
➡️ RIP는 경로 A를 선택.
OSPF (Open Shortest Path First)
👉🏻 쉽게 말해: “도로 상황(링크 상태)을 종합적으로 평가해서 가장 빠른 경로를 선택.”
작동 원리
- 각 경로의 비용(cost)을 계산해서 가장 비용이 낮은 경로를 선택.
- 비용은 대개 대역폭(속도)과 같은 요소에 따라 달라짐.
- Dijkstra 알고리즘을 사용해 최단 경로를 계산.
특징 - 링크 상태를 기반으로 경로를 계산해서 더 정확.
- 예: 네트워크 속도, 연결 상태 등을 모두 고려해서 최적 경로를 찾음.
- 경로에 대한 정보를 계층화해서 관리하므로 대규모 네트워크에 강함.
예시 “어느 길로 갈까?”
- 경로 A: 라우터 3개, 속도가 빠름 (비용 = 5)
- 경로 B: 라우터 2개, 속도가 느림 (비용 = 10)
➡️ OSPF는 비용이 낮은 경로 A를 선택.
BGP (Border Gateway Protocol)
👉🏻 쉽게 말해: “인터넷처럼 거대한 네트워크에서 정책과 규칙에 따라 최적 경로를 선택.”
작동 원리
- BGP는 주로 다른 조직(AS, Autonomous System) 간에 데이터를 주고받기 위해 사용.
- 경로를 선택할 때 경로 속성(정책)을 기준으로 삼음.
- 경로 길이
- 네트워크 정책
- 관리자가 설정한 우선순위
특징
- BGP는 인터넷 같은 대규모 네트워크를 위해 설계.
- 정책 기반 라우팅: 관리자가 설정한 정책에 따라 경로를 결정.
- 가장 유연하고 강력하지만, 설정이 복잡.
예시 “어느 길로 갈까?”
- 경로 A: 네트워크 비용은 낮지만, 특정 회사 정책에 의해 우선순위가 낮음
- 경로 B: 네트워크 비용이 약간 높지만, 회사 정책상 우선순위가 높음
➡️ BGP는 정책에 따라 경로 B를 선택할 수 있음.
서브넷 마스크가 필요한 이유
서브넷 마스크는 IP 주소의 네트워크 부분과 호스트 부분을 구분하기 위해 필요
IP 주소만 봐서는 어느 부분이 네트워크이고, 어느 부분이 호스트인지 알 수 없음.
서브넷 마스크가 하는 일
- 네트워크 주소를 결정
- 네트워크의 크기(호스트 개수)를 계산
- 라우터나 장비가 목적지 IP를 보고 같은 네트워크인지, 다른 네트워크인지를 판단할 수 있게 해줌
클래스와 클래스리스의 차이
클래스 기반(Classful) IP 주소
초기 IP 주소 체계에서는 IP 주소를 고정된 크기의 네트워크 부분과 호스트 부분으로 나눴고, 이 체계를 Classful이라고 함
클래스 기반 문제점
- IP 주소 낭비: 고정된 서브넷 마스크 때문에 필요 이상의 주소를 낭비
- 예시:
Class A
는 16,777,214개의 호스트를 지원하지만, 대부분 네트워크는 이렇게 많은 호스트 필요x
- 예시:
클래스리스(Classless) IP 주소
클래스 기반의 문제점을 해결하기 위해 CIDR(Classless Inter-Domain Routing)가 등장
특징
- 서브넷 마스크를 유연하게 설정할 수 있음.
- 고정된 클래스에 의존하지 않고 네트워크와 호스트를 나눌 수 있음.
- IP 주소를 효율적으로 할당할 수 있음.
CIDR 표기법
서브넷 마스크를 슬래시(/)와 숫자로 표현.
192.168.10.0/24 → 처음 24비트가 네트워크 부분. 192.168.10.0/26 → 처음 26비트가 네트워크 부분 → 더 많은 서브넷, 적은 호스트를 만듬.