IP의 주소체계

JoyJuhee·2022년 8월 8일
0

네트워크

목록 보기
4/4
post-thumbnail

네트워크 장치들은 각각의 주소를 가지고 있다. 택배를 생각해보자. 주소를 기반으로 택배를 주고 받는 것 처럼, 네트워크 장치들도 주소를 기반으로 데이터를 주고 받는다. 이 때, 주소는 IPv4, IPv6가 있다. 두 주소 모두 공존하는 상태이고, 현재 가장 많이 쓰이고 있는 것은 IPv4이다. 그런, 전체의 주소가 IPv6으로 변환되는 추세이다.

1. IPv4

  • 32비트, 2^32개의 주소(41억 9천만 주소)를 표현한다.
    ❓ 하나의 비트는 0이나 1의 값을 가질 수 있다. 그래서, 32개의 자리에 각각 0,1 두개의 숫자가 올 수 있으므로 경우의 수는 2^32개이다.
  • 8비트 단위(1바이트)로 점을 찍어 4개로 구분 (123.45.67.89)
  • 0.0.0.0~255.255.255.255까지의 숫자 조합으로 최대 12자리의 번호로 이루어져 있다.
    ❓ 결국엔 8비트씩 자르는 거니까 (2^8 -1) = 255까지 표현할 수 있다.

2. IPv6

  • 128비트, 2^128개의 주소 표현
  • 16비트씩 8개로 구분하고, 각 단위는 16진수로 변환되어 콜론(:)으로 구분하여 표기
    (0은 생략가능)
  • 앞의 64비트는 네트워크 주소를 의미하며, 뒤의 64비트는 네트워크에 연결된 통신 장비 등에 할당되는 인터페이스 주소를 의미한다.

📍 IPv6 장점
1) 확대된 주소 공간
2) 단순해진 헤더 포맷(IPv4 헤더의 불필요한 필드를 제거하여 보다 빠른 처리 가능)
3) 간편해진 주소 설정가능(IPv6 프로토콜에 내장된 주소 자동 설정 기능)
4) 강화된 보안 기능(IPv6에서는 IPSec 기능을 기본 사항으로 제공)

3. www.naver.com을 입력시 화면이 나타나기까지

대기열 -> 캐싱 -> DNS -> 라우팅 -> ARP -> 초기연결을 거쳐 컨텐츠를 다운받게 되고 이 후 브라우저렌더링 과정을 거쳐 네이버라는 화면이 나타나게 된다. 또한 이러한 과정이 캡슐화, 비캡슐화 과정을 거쳐서 이뤄지게 된다.

1) 대기열

  • 브라우저는 주소창입력에 대한 요청을 대기열에 넣는다.

2) 캐싱

  • 캐싱은 요청된 값의 결과값을 저장하고 그 값을 다시 요청하면 다시 제공하는 기술로, 공유프록시캐시와 브라우저캐시로 나눠진다.
    👉 주소창을 입력했을 때 바로 서버로 가는게 아니라 캐시에 있는 값을 기반으로 무엇인가를 한다.

  • 브라우저 캐시
    : 쿠키, 로컬스토리지 등을 포함한 캐시이다. 브라우저 자체가 사용자가 HTTP를 통해 다운로드하는 모든 문서를 보유하는 것을 말한다.
    👉 어떤 사이트를 갔다가 다시 방문하면 빠르게 컨텐츠가 나타난다. 이것이 바로 브라우저 캐시 때문이다. 인터넷 사용기록을 삭제하고 싶어서 누르려고 할 때 나타나는 캐시가 브라우저 캐시이다.

  • 공유 프록시 캐시
    : 요청한 서버에서 프록시서버가 캐싱을 하는 것을 의미한다.
    👉 예를 들어, node.js로 서버를 구축한다면 앞단의 프록시서버로 nginx 서버를 둬서 이 서버를 캐싱 서버로도 사용할 수 있다.

3) DNS(도메인 이름 시스템)

  • 브라우저가 요청의 IP 주소를 확인하는 단계로, 도메인 이름과 IP 주소를 매핑해주는 서버이다.
    👉 www.naver.com에 DNS 쿼리가 오면 [Root DNS] -> [.com DNS] -> [.naver DNS] 과정을 거쳐 완벽한 주소를 찾아 IP 주소를 매핑한다.

4) IP 라우팅 > ARP 를 통해 진정한 서버를 찾는다. (MAC 주소를 찾는다.)

5) 초기 연결

  • 브라우저가 TCP 3웨이 핸드셰이크 및 SSL 연결 등을 통해 연결을 설정한다.
  • 요청을 보낸 후, 해당 요청한 서버로부터 응답을 받는다.

6) 컨텐츠 다운로드브라우저 렌더링

  • 브라우저는 서버로부터의 응답을 수신한다.

출처 : [책]면접을 위한 CS 전공지식 노트

0개의 댓글