[Network] IP 주소

Minsu·2024년 4월 29일
0

CS

목록 보기
3/3
post-thumbnail

개요

  • 네트워크 IP 주소를 공부하며 작성한 글입니다.
  • IP 주소 체계와 해당 IP 주소를 활용한 통신 과정에 대해 알아봅니다.

핵심 용어

  • IP: Internet Protocol을 의미하며 네트워크 상에서 데이터를 전송하기 위한 인터넷 규약
  • IP 주소: 컴퓨터 또는 네트워크 장치를 식별하는 데 사용되는 주소.
  • ARP: 논리 주소인 IP 주소를 실제적인 물리 주소인 MAC 주소로 변환하는 주소 해석 프로토콜
  • RARP: ARP와 반대로 물리 주소인 MAC 주소를 논리 주소인 IP 주소로 변환하는 프로토콜

주요 개념

  • ARP: IP 주소로 MAC 주소를 구하는 과정
  • 홉바이홉 통신: IP 주소를 통해 라우터와 게이터웨이를 거쳐 통신하는 과정
  • IP 주소 체계: IP 주소의 종류 및 DHCP, NAT을 통한 IP 주소 부여와 정보 수정

IP 주소란?

IPInternet Protocol을 의미하며, 컴퓨터 네트워크 상에서 데이터를 전송하기 위한 규약으로 인터넷에서 정보를 주고받을 때 사용된다.

IP 주소는 인터넷에 연결되어 있는 모든 호스트나 라우터 장비의 인터페이스에 할당된 논리적인 주소이며, 네트워크에서 데이터를 전송할 때 출발지와 목적지를 식별하는 데 사용된다. IP 주소를 통해 데이터 패킷이 올바른 목적지로 전송된다.

Public IP와 Private IP

  • Public IP

    • 네트워크 외부와 통신하는 데 사용되는 IP 주소이다.
    • ISP(Internet Service Provider)에서 할당하고, 외부에 공개되어 있는 IP 주소로 전세계에서 유일하다.
    • private IP 외 나머지 범위를 사용한다.
  • Private IP

    • 동일한 네트워크 내에서 사용되는 IP 주소이다.
    • LAN 내에서만 작동하며 일반적으로 개인 또는 사내 기기에 할당된다.
    • 범위가 정해져있다.
      • 10.0.0.0 ~ 10.255.255.255
      • 172.16.0.0 ~ 172.31.255.255
      • 192.168.0.0 ~ 192.168.255.255

→ 라우터를 통해 1개의 public IP를 할당 받고, 라우터에 연결된 개인 기기는 private IP를 할당받아 인터넷에 접속할 수 있다.

image

ARP(Address Resolution Protocol)

ARP란?

컴퓨터와 컴퓨터 간의 통신은 IP 주소에서 ARP를 통해 찾은 MAC 주소를 기반으로 통신한다.

ARP는 IP 주소로부터 이러한 MAC 주소를 구하기 위해 사용되는 주소 해석 프로토콜이다.

ARP를 통해 가상 주소인 IP 주소를 실제 주소인 MAC 주소로 변환한다. (논리 주소 → 물리 주소)

이와 반대로 물리 주소인 MAC 주소를 논리 주소인 IP 주소로 변환하는 프로토콜을 RARP(Reverse Address Resolution Protocol) 라고 한다.

image

ARP 테이블

패킷을 보낼 때마다 ARP 브로드캐스트가 실행되면 효율성이 저하되므로, 한 번 매칭된 정보는 일정 시간 동안 ARP 테이블에 캐싱되어 재사용된다.

ARP Request 이전에 먼저 해당 네트워크의 ARP 테이블을 확인하는 과정을 거치게 된다.

ARP 테이블은 IP 주소와 MAC 주소를 매핑하여 캐싱해 놓은 데이터베이스로, 일치하는 IP가 있다면 해당하는 MAC 주소를 그대로 가져와 패킷을 완성하고 통신을 하게된다. 일치하는 IP 주소가 없다면, ARP 요청을 시작한다.

ARP 동작 과정

  1. ARP Request

    출발지 컴퓨터가 목적지 컴퓨터의 MAC 주소를 모르는 상태에서, 해당 네트워크에 ARP Request 패킷을 브로드캐스트 한다.

  2. ARP Reply

    IP 주소에 해당하는 컴퓨터는 ARP Reply 유니캐스트를 통해 MAC 주소를 반환한다.

    IP 주소에 해당하지 않는 컴퓨터는 해당 패킷을 버린다.

→ 이러한 과정을 통해 MAC 주소를 얻게되면 해당 컴퓨터와 통신을 시작한다.


🧑‍💻_관련 용어 & 개념

- MAC 주소: 컴퓨터 등 네트워크 기기 내 LAN 카드를 구별하기 위한 식별 번호
- 브로드캐스트: 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식
- 유니캐스트: 고유 주소로 식별된 하나의 호스트에 1:1로 데이터를 전송하는 방식
- ARP 테이블: 네트워크 장치가 MAC 주소와 IP 주소 간의 매핑 정보를 저장하는 데이터베이스


홉바이홉 통신

IP 주소를 통해 통신하는 과정을 홉바이홉(hop by hop) 통신이라고 한다.

각 패킷은 수많은 서브네트워크 안에 있는 라우터의 라우팅 테이블 IP를 기반으로 패킷을 전달하고 또 전달해나가며 라우팅을 수행하며 최종 목적지까지 패킷을 전달한다.

즉 통신 장치에 있는 라우팅 테이블의 IP를 통해 시작 주소부터 시작하여 다음 IP로 계속해서 이동하는 라우팅 과정을 거쳐 패킷이 최종 목적지까지 도달하는 통신을 홉바이홉 통신이라고 한다.

image

라우팅 테이블(Routing Table)

라우터에 있는 목적지 정보들과 그 목적지로 가기 위한 방법이 들어 있는 리스트

넷마스크, 게이트웨이 등 목적지에 도달하기 위해 거쳐야 할 다음 라우터의 정보를 가지고 있다.

image

게이트웨이(Gateway)

서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 관문 역할을 하는 컴퓨터나 소프트웨어

사용자는 인터넷에 접속하기 위해 수많은 게이트웨이를 거쳐야 하며 게이트웨이는 서로 다른 네트워크상의 통신 프로토콜을 변환해주는 역할을 하기도 한다.

라우팅 테이블을 통해 게이트웨이 정보를 확인할 수 있다.

image

🧑‍💻_관련 용어

- 홉(hop): 건너뛰는 모습을 의미함. 통신망에서 각 패킷이 여러 개의 라우터를 건너가는 모습을 비유적으로 표현한 것.
> - 서브네트워크(Subnet): 하나의 네트워크가 분할되어 나눠진 작은 네트워크.



IP 주소 체계

IP 주소 체계 종류

인터넷 환경이 발달함에 따라 약 IPv4는 확장성과 용량 측면에서 한계를 드러내게 되었고, 그로 인해 IPv6가 등장했다.

IPv6로 넘어가는 추세지만, 가장 많이 쓰이는 주소 체계는 IPv4이다.

IP 주소는 IPv4IPv6로 나뉘며, 차이점은 다음 표와 같다.

IPv4IPv6
주소 길이32비트128비트
주소 개수약 43억 개약 3.4 * 10³⁸ 개
(거의 무한대)
주소 표기32비트를 8비트 단위로 점(.)을 찍어 구분
ex) 123.45.67.89 *십진수 표기법
128비트를 16비트씩 8개의 필드로 나누어 콜론(:)으로 구분
ex) BEAF:2002:0221:F207:0000:0000:FFFF:4002

클래스 기반 할당 방식(Classful Network Addressing)

동일한 네트워크 안의 장치들의 IP 주소는 같은 네트워크 주소를 가지고 서로 다른 호스트 주소 가진다. 클래스는 이러한 IP 주소의 네트워크 주소와 호스트 주소를 나누는 방법이자 약속이다.
IP 주소 체계는 A, B, C, D, E 다섯 개의 클래스로 구분하는 클래스 기반 할당 방식을 사용했다.

image

예시로 192.12.100.2의 경우 C클래스 범위에 속하기 때문에 네트워크 주소는 192.121.100.0이고, 호스트 주소는 2라는 것을 알 수 있다.

클래스 범위 내에서 컴퓨터에 부여할 수 있는 호스트 주소는 첫 번째 주소인 네트워크 구별 주소와 가장 마지막 주소인 브로드캐스트 주소를 제외하고 그 사이에 있는 값이다.

네트워크 영역과 호스트 영역을 나누는 이유?

  • 관리의 편의성
    • 네트워크 주소로 같은 대역의 네트워크 장치들을 하나로 묶고, 해당 네트워크 내 각각의 호스트 주소를 통해 기기를 분류하므로 관리의 편의성이 높다. (네트워크 주소가 다르면 호스트 주소는 중복 사용이 가능함)
    • 그러나 호스트 영역이 너무 커도 너무 작아도 비효율적
      • 서브넷접두사 길이가 24면 일반적으로 적당하다.

🧑‍💻_관련 용어

- 네트워크 주소: IP 주소의 일부분으로 네트워크를 식별하는 역할을 하는 주소
> - 브로드캐스트 주소: 해당 네트워크 상의 모든 호스트에게 메시지를 보내기 위한 주소


DHCP(Dynamic Host Configuration Protocol)

IP 주소 및 기타 통신 매개변수를 자동으로 할당하기 위한 네트워크 관리 프로토콜

  • 이 기술을 통해 네트워크 장치의 IP 주소를 수동으로 설정할 필요 없이 인터넷에 접속할 때마다 자동으로 IP 주소를 할당할 수 있다.
  • 가정집이나 회사 내에서 사용하는 공유기 등 많은 라우터와 게이트웨이 장비에 DHCP 기능이 있으며 이를 통해 대부분의 가정용 네트워크에서 IP 주소를 할당한다.
image

NAT(Network Address Translation)

패킷이 라우팅 장치를 통해 전송되는 동안 패킷의 IP 주소 정보를 수정하여 IP 주소를 다른 주소로 매핑하는 방법. 내부 IP를 외부 IP로 변환하는 SNAT과 반대로 외부 IP를 내부 IP로 변환하는 DNAT을 통틀어 일컫는 말이다.

private IP를 가지는 컴퓨터는 라우터를 거쳐 외부로 데이터를 전송하면서 패킷 정보 내 출발지 주소가 외부의 public IP로 수정된다.
image

내부 IP와 외부 IP의 정의

  • 내부 IP: 특정한 망 안에서 인식되는 IP
  • 외부 IP: 망 외부에서 인식하는 IP

*외부 IP는 public IP와 완전히 동일한 개념은 아니다.

NAT을 쓰는 이유

  • 공유기와 NAT
    • 여러 대의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속할 수 있다. 인터넷 회선 하나를 개통하고 인터넷 공유기를 설치해서 여러 PC 장치를 연결하여 사용할 수 있는 것도 인터넷 공유기에 NAT 기능이 탑재되어 있기 때문이다.
      → 여러 명이 동시에 인터넷에 접속하게 되므로 실제 접속하는 호스트 숫자에 따라 접속 속도가 느려질 수 있다는 단점이 있다.
  • NAT를 이용한 보안
    • NAT을 이용하면 내부 네트워크에서 사용하는 IP 주소와 외부에 드러나는 IP 주소를 다르게 유지할 수 있기 때문에 내부 네트워크에 대한 어느 정도의 보안이 가능하다.

참고 자료

profile
지식의 해상도를 높여가는 개발자 (っ'-')🖥️

0개의 댓글

관련 채용 정보