#4 IP 주소

해피데빙·2022년 8월 9일

인터넷 계층에서 IP 주소를 쓴다

1. ARP

컴퓨터와 컴퓨터 간의 통신은 IP 주소 기반으로 통신
정확히는 IP 주소의 ARP를 통해 MAC 주소를 찾아 MAC 주소 기반으로 통신

ARP란?

  • Address Resolution Protocol
  • IP주소로부터 MAC 주소를 구하는, IP와 MAC 주소의 다리 역할을 하는 프로토콜
  • 가상 주소(논리적 주소)인 IP 주소를 실제 주소(물리적 주소)인 MAC 주소로 변환한다
    (RARP를 통해 실제 주소인 MAC 주소를 가상 주소인 IP 주소로 변환하기도 한다)
  • ARP의 주소를 찾는 과정
    : 장치 A가 -> ARP Request 브로드캐스트를 보내서(IP를 찾는) -> IP주소인 120.70.80.3에 해당하는 MAC 주소를 찾는다 -> 해당 주소에 맞는 장치 B가 ARP reply 유니캐스트를 통해 MAC 주소를 반환하는 과정을 거쳐 IP 주소에 맞는 MAC 주소를 찾게 된다

cf. 브로드캐스트
: 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식

cf. 유니캐스트
: 고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 데이터를 전송하는 방식

2. 홉바이홉

홉바이홉 : IP주소를 통해 통신하는 과정 (hop by hop)
통신망에서 각 패킷이 여러 개의 라우터를 건너가는 모습을 비유적으로 표현한 것

  • 각각의 라우터에 있는 라우팅 테이블의 IP를 기반으로 패킷을 전달하고 다시 전달해나간다
  • 통신 장치에 있는 라우팅 테이블의 IP를 통해 시작 주소부터 시작하여 다음 IP로 계속해서 이동하는 라우팅 과정을 거쳐 패킷이 최종 목적지까지 도달하는 통신

기기 - 서브 네트워트 - 라우팅 테이블 - 서브 네트워크 - 라우팅 테이블 - 기기

cf. 라우팅 : IP 주소를 찾아가는 과정

라우팅 테이블

  • 송신지에서 수신지까지 도달하기 위해 사용된다
  • 라우터에 들어가 있는 목적지 정보들과 그 목적지로 가기 위한 방법이 들어있는 리스트
  • 게이트웨이와 모든 목적지에 대한 해당 목적지에 도달하기 위해 거쳐야 할 다음 라우터 정보를 가지고 있다

게이트웨이

  • 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 관문 역할을 하는 컴퓨터나 소프트웨어를 두루 일컫는 용어
  • 사용자는 인터넷에 접속하기 위해 수많은 톨게이트인 게이트웨이를 거친다
  • 서로 다른 네트워크상의 통신 프로토콜을 변환해주는 역할을 하기도 한다
  • 라우팅 테이블을 통해 볼 수 있다
    : netstat -r 를 실행해 확인하면 IPv4 경로 테이블, IPv6 경로 테이블
    : 게이트웨이, 인터페이스 등이 나오는 것을 볼 수 있다

3. IP 주소 체계

IP 주소는 IPv4와 IPv6로 나뉜다

  • IPv4 : 32비트를 8비트 단위로 점을 찍어 표기한다 ex. 123.45.67.89 (더 많이 사용)
  • IPv6: 64비트를 16비트 단위로 점을 찍어 표기 ex. 2001:db8::ff00:42:8329

클래스 기반 할당 방식

  • 처음에는 A,B,C,D,E 다섯개의 클래스로 구분하는 클래스 기반 할당 방식 사용

  • 앞에 있는 부분을 네트워크 주소, 뒤에 있는 부분을 컴퓨터에 부여하는 주소인 호스트 주소를 놓아서 사용

  • 4바이트라면 각각 다른 주소를 표현하는데 일정량의 방이트 사용

  • 클래스 A,B,C : 일대일 통신으로 사용
    ex. 클래스 A : 0.0.0.0 ~ 127.255.255.255

  • 클래스 D : 멀티캐스트 통신 (여러 기기에서 맞는 IP주소를 찾기 위해)

  • 클래스 E : 앞으로 사용할 예비용으로 쓰는 방식

맨 왼쪽에 있는 비트를 '구분비트'라고 한다

  • 클래스 A의 구분비트 : 0
  • 클래스 B의 구분비트 : 10
  • 클래스 C의 구분비트 : 110

  • 네트워크의 첫번째 주소: 네트워크 구별 주소로 사용
  • 중간 주소 : 컴퓨터에 부여할 수 있는 호스트 주소
  • 네트워크의 가장 마지막 주소: 브로드캐스트용 주소, 네트워크에 속해있는 모든 컴퓨터에 데이터를 보낼 때 사용된다

이 방식은 사용하는 주소보다 버리는 주소가 많은 단점이 있었다
이를 해소하기 위해 DHCP와 IPv6, NAT가 나온다

DHCP

  • Dynamic Host Configuration Protocol
  • IP 주소 및 기타 통신 매개변수를 자동으로 할당하기 위한 네트워크 관리 프로토콜
  • 이 기술을 통해 네트워크 장치의IP 주소를 수동으로 설정할 필요 없이 인터넷에 접속할 때마다 자동으로 IP주소를 할당할 수 있다
  • 많은 라우터와 게이트웨이 장비에 DHCP 기능이 있다
  • 이를 통해 대부분의 가정용 네트워크에서 IP 주소를 할당한다

NAT

  • Network Address Translation
  • 사설 IP <-> 공인 IP
  • 패킷이 라우팅 장치를 통해 전송되는 동안 패킷의 IP주소 정보를 수정하여 IP 주소를 다른 주소로 매핑하는 방법
  • IPv4 주소 체계만으로는 많은 주소들을 모두 감당하지 못하는 단점이 있다
  • 이를 해결하기 위해 NAT로 공인 IP와 사설 IP를 나눠서 많은 주소를 처리한다
  • ICS, RRAS, Netfilter 등의 소프트웨어가 이를 가능하게 한다

사설 IP 주소들 <-> 스위치 <-> NAT 장치(라우터 : 사설IP - 공인IP) <-> 인터넷
NAT장치를 통해 하나의 공인 IP로 외부 인터넷에 요청할 수 있다
하나의 공인 IP를 기반으로 서로 다른 IP를 가지는 것처럼 인터넷 사용 가능

공유기와 NAT

NAT 쓰는 이유
: 여러 대의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함
ex. 인터넷 회선 하나를 개통하고 인터넷 공유기를 달아서 여러 PC를 연결하여 사용할 수 있다
이것이 가능한 이유 : 인터넷 공유기에 NAT 기능 탑재

NAT을 이용한 보안

  • 내부 네트워크에서 사용하는 IP주소와 외부에 드러나는 IP주소를 다르게 유지할 수 있다
  • 내부 네트워크에 대한 어느 정도의 보안이 가능하다

NAT의 단점

  • NAT는 여러 명이 동시에 인터넷을 접속하게 된다
  • 실제로 접속하는 호스트 숫자에 따라 접속 속도가 느려질 수 있다

IP주소를 이용한 위치 정보

  • IP주소는 인터넷에서 사용하는 네트워크 주소
  • 이를 통해 동 또는 구까지 위치 추적이 가능하다
  • 다음 사이트는 IP 주소를 기반으로 위치를 찾는 사이트
profile
노션 : https://garrulous-gander-3f2.notion.site/c488d337791c4c4cb6d93cb9fcc26f17

0개의 댓글