DHCP과 NAT 대해 살펴보고 어떻게 주소가 매핑이 되는지, 대표 프로토콜인 ARP와 IP프로토콜의 한계점을 보완하기 위한 에러보고에 대해 학습한다.

DHCP와 NAT

DHCP의 필요성과 DHCP의 개념에 대해 살펴보고, NAT의 필요성과 NAT의 개념에 대해 학습한다.

DHCP의 필요성

Dynamic Host Configuration Protocol

스마트폰이나 컴퓨터를 사용할 때 IP 주소가 있어야 한다.

IP주소의 역할은 인터넷에 붙어 있는 수많은 컴퓨터들 중에서 어느 하나를 식별하기 위한 식별자 역할을 한다. 그래서 반드시 IP 주소가 필요하다.

그런데 IP 주소를 일일이 설정하는 것이 아니라 자동으로 누군가 할당해주는 것을 DHCP라고 부른다.

  • 소규모의 네트워크의 경우 각각의 IP주소를 직접 분배 및 관리 가능
  • 그러나, 대규모의 네트워크의 경우 직접 분배와 관리가 어려움
    • DHCP가 부재 시 네트워크 관리자는 모든 클라이언트의 통신에 필요한 정보를 직접 입력 및 관리해야 함
  • IP를 보다 효율적으로 할당하고 관리하기 위해 필요
  • IP주소만 할당받는 건 아니고 네트워크 마스크, DNS서버 주소, 기타 관련된 정보를 받음

DHCP의 정적, 동적 할당

  • DHCP는 정적 및 동적 할당 제공
  • 동적 주소 할당
    • DHCP 클라이언트가 DHCP 서버에 요청, 서버는 먼저 정적 데이터베이스를 검사
    • 요청된 실제 주소가 정적 데이터베이스에 존재하면 클라이언트의 영구 IP주소가 반환
    • 없으면 서버는 사용 가능한 풀에서 IP주소를 선택
    • DHCP는 제한된 시간 동안 임시 IP주소를 제공
  • 정적 주소 할당
    • DHCP 서버에는 물리적 주소(MAC주소)를 IP주소에 정적으로 바인드(주소 매핑)하는 데이터베이스가 존재
    • DHCP는 서버 측은 67/UDP, 클라이언트 측은 68/UDP 포트 사용

NAT의 필요

  • Network Address Translation
  • 공인 IP주소의 수 부족(클래스풀 구현에도 불구하고)
  • -> 내부 IP(비공인주소)와 외부 IP(공인주소)를 분리하는 것
    • 중복이 되도 상관없으니 학교, 회사 내부 IP 따로 외부 인터넷으로 나가는 주소를 따로 사용
    • 내부 IP와 외부 IP를 번역하기 위해서 필요한 기술, 장치가 NAT
  • 외부로부터 내부망을 보호
    • 내부를 사설 IP로 구성하여 외부 공격으로부터 보호
    • 외부에선 내부 어떤 컴퓨터에 어떤 IP가 할당되었는지 모름
  • ISP변경에 따른 내부 IP변경 최소화

NAT 특징

NAT는 그룹내에서는 고유한 주소를 갖으며, 외부인터넷에서는 고유한 주소를 갖지 않는다. -> 이해 안 됨

NAT IP 주소 범위

  • 3개의 주소 세트를 개인 주소로 정해놓음
  • 외부 인터넷에 존재 하지 않는다.

IP 주소 사용 방식

단일주소사용

  • 단일주소를 사용하기 위해서는 항상 사설 네트워크에서 시작되야 함
  • 하나의 비공인주소를 하나의 공인주소와 매핑하여 사용하기 때문에 여러 비공인주소(컴퓨터)를 사용하는데 불편함이 있었음

여러 IP주소 사용

  • 단일주소사용의 불편함을 개선시킴
  • 사설 네트워크 호스트의 경우, 각 주소를 한 쌍으로 연결
    • 동일한 외부 호스트와 동시에 통신 가능
  • 정적 NAT
    • 사설IP주소와 전역IP주소 사이에 정적 맵핑
    • 기관 내에서 시스템의 실제IP주소를 은신 가능
  • 동적 NAT
    • pool에서 IP주소 할당
    • 대부분 동적으로 할당

IP주소와 포트 모두 사용

  • 최근에 사용하는 방식
  • 공인 IP주소가 하나더라도 여러 비공인주소가 치고 들어와도 모두 공인으로 변환되어 나갈 수 있게 됨
  • 바깥에서 봤을 땐 하나의 컴퓨터가 여러 프로그램을 접속한 것처럼 보임

NAT 장비

  • NAT은 그룹 내에서 고유한 주소를 갖음
  • 데이터를 주고 받는 경우, 모든 데이터는 NAT 라우터를 통과
    • 출입구 쪽에 대부분 라우터가 존재하기 때문에 NAT 기능을 넣어서 사용함
    • 그래서 IP공유기가 대표적은 NAT라우터
    • 공인 주소는 하나만 사용하는데 내부에서는 여러 컴퓨터를 사용하고 있음
  • 단일 주소 사용

주소 매핑과 에러보고

주소 매핑에 대해 알아본다. 대표적으로 ARP에 대해 살펴보며 필요성과 동작에 대해 공부한다.
그리고 IP프로토콜의 한계점을 보완하기 위한 에러보고(ICMP)에 대해 학습한다.

주소 매핑

  • 데이터를 전달할 때, IP주소는 내 컴퓨터, 상대방 IP주소는 우리가 줬고, 내 MAC 주소는 내 컴퓨터에서 가져오면 된다. 그런데 상대방 MAC주소는 알 수 있나?
    • MAC주소 = 하드웨어 주소=물리 주소 = 이더넷 주소
    • 상대방 MAC주소를 모르면 메시지를 보낼 수 없다.
    • 이더넷 프레임 포맷을 보더라도 제일 앞 필드에 목적지 주소, 송신자 주소가 있고 MAC주소에 목적지 주소가 들어가야 한다.
    • 이를 해결하기 위한 것이 주소 매핑이다.
    • IP주소와 MAC주소를 연결하는 것(내IP-내MAC, 상대IP-상대MAC)
  • IP주소는 논리적인 주소로, 인터넷에 접속된 컴퓨터를 구분
    • 인터넷 전체에서는 IP주소로 식별
  • Ethernet 주소는 물리적인 주소로, 해당 LAN에서 접속된 컴퓨터를 구분
    • MAC주소는 LAN에서만 유일하게 식별
    • MAC주소는 LAN에서 각 장치 구분

주소 매핑 방식

  1. 정적 매핑
    • IP주소와 MAC주소를 연결시키는 테이블을 고정적으로 생성하는 방법
      • 수작업으로 직접 입력도 가능
    • 이 방법에는 문제점이 존재
      • 컴퓨터의 NIC를 교환 가능(LAN카드를 바꾸면 MAC주소가 바뀜)
      • 이동이 가능한 컴퓨터는 하나의 네트워크에서 다른 네트워크로 이동 가능(IP주소 변경 가능성)
  2. 동적 매핑
    • 컴퓨터가 매번 IP주소와 MAC주소의 관계를 프로토콜을 이용하여 구함
    • ARP(Address Resolution Protocol)
      • IP주소에 대응하는 MAC주소를 구하는 프로토콜
      • IP주소에 해당하는 MAC 주소를 묻는 브로드 캐스팅을 수행
      • 해당되는 컴퓨터는 송신자에게 유니캐스트로 응답합
      • 이것을 받아 로컬 캐시에 주소매핑을 해놓음
    • RARP(Reverse Address Resolution Protocol)
      • MAC 주소에 대응한 IP주소를 구하는 프로토콜
      • 현재는 DHCP가 사용
      • 현재 많이 사용하지 않음

에러 보고(ICMP)

  • The Internet Control Message Protocol(ICMP)
  • IP의 단점을 보완하기 위해서 제공 - 에러제어, 흐름제어가 없기 때문에
    • IP프로토콜은 에러제어와 관리기능이 부족
      • 에러보고 메시지(Error-reporting messages) - 에러제어 관련
      • 질의응답 메시지(Query messages) - 관리기능 관련. 상대 정상 동작하는지
      • ICMP는 에러를 정정하지는 않고 단순히 보고만 수행
에러 보고 기능
  • 5가지
  1. 목적지 도달 불가
    • IP패킷을 전달할 수 없을 때, 해당 패킷은 폐기
    • 목적지 도달불가 메시지를 송신지로 전송
  2. 송신자 조절
    • 라우터나 컴퓨터는 혼잡이 발생하면 해당 패킷은 폐기
    • 송신자로 송신자 조절 메시지를 전송
  3. 시간 초과(Time exceeded)
    • 라우터는 TTL필드의 값이 0인 패킷은 폐기
    • 송신자로 시간초과 메시지가 발생
    • 단편화된 메시지가 모두 도착하지 못해 완전한 하나의 패킷을 조절할 수 없을 때 시간 초과 메시지가 발생
  4. 파라미터 문제
    • IP패킷 헤더의 정보 중에서 처리할 수 없는 부분을 발견 시
      • ex) 알 수 없는 버전 정보
  5. 경로 재설정
    • 잘못된 라우터로 패킷을 전달하는 경우
    • ex) 다음부터 목적지가 B로 가는 것은 R1인 나한테 보내지 말고 R2로 보내줘. 그러면 그것을 받은 송신자는 다음부터 B로보낼 때 R2 라우터로 패킷 전송
질의응답(Query)

  • ICMP는 네트워크 문제를 진단하기 위한 행위를 할 수 있음
    • 에코 요청 및 응답(Echo request and reply)
      • 가장 많이 사용함
      • 네트워크 생존 여부 질문
      • PING이 이것에 해당
    • 타임 스탬프 요청 및 응답(Timestamp request and reply)
      • 시간 질문
    • 주소 마스크 요청 및 응답(Address-mask request and reply)
      • 마스크 값 요청
    • 라우터 요청 및 응답(Router solicitation request and reply)
      • 라우터 정보 요청

'네트워크' 카테고리의 다른 글

09. 멀티 캐스팅  (0) 2021.07.24
08. 패킷 전달과 라우팅 프로토콜  (0) 2021.07.24
05. 이동통신과 인터넷프로토콜  (0) 2021.07.24
04. 무선 LAN과 네트워크 연결장치  (0) 2021.07.24
3.LAN 매체와 유선 LAN  (0) 2021.07.23