IP 주소

송은·2023년 6월 15일
0

CS

목록 보기
6/6
post-thumbnail

1. ARP

컴퓨터간의 통신은 흔히 IP 주소 기반으로 통신한다고 알고 있지만 정확히 이야기하자면 IP 주소에서 ARP를 통해 MAC 주소를 찾아 MAC 주소를 기반으로 통신한다.

ARP(Address Resolution Protocol)를 통해 가상 주소인 IP 주소를 실제 주소인 MAC 주소로 변환할 수 있다.

  • IP(논리적 주소) → ARP → MAC 주소(물리적 주소) 변환

그래서 이와 반대로 RARP를 통해서 실제 주소인 MAC 주소를 가상 주소인 IP 주소로 변환하기도 한다.

  • MAC 주소(물리적 주소) → RARP → IP(논리적 주소)

과정

장치 A : IP 120.70.80.3에 해당하는 주소가 누구야?

장치 B ,C, D에게 브로드캐스트 전송

장치 B

  • 어? 그거 나야 내 MAC 주소는 A6:8E:C4:D5:E7:F8이야!
  • 여기 내 MAC 주소야. ARP 유니캐스트 전송


장치 A : IP 주소에 맞는 MAC 주소 응답받음


2. 홉바이홉 통신

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

Hop(홉)
영어 뜻: 건너뛰는 모습
통신망에서 각 패킷이 여러 개의 라우터를 건너가는 모습을 비유적으로 표현

서브네트워크 안에 있는 라우터의 라우팅 테이블 IP를 기반으로 패킷을 전달해나간다. 이렇게 IP 주소를 찾아나아가며 최종 목적지까지 패킷을 전달한다.

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

  • 라우팅: IP 주소를 찾아가는 과정
  • 라우팅 테이블: 송신지에서 수신지까지 도달하기 위해 사용되며, 라우터에 들어가있는 목적지 정보들과 그 목적지로 가기 위한 방법이 들어있는 리스트(게이트웨이, 다음 라우터의 정보)
  • 게이트웨이: 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 관문 역할

❓ 라우팅 테이블 확인 방법

# 윈도우 명령 프롬프트
netstat -r

IPv4 경로 테이블, IPv6 경로 테이블 → 라우팅 테이블

  • 게이트웨이, 인터페이스에 대한 정보를 담고 있음.

3. IP 주소 체계

IP 주소는 IPv4와 IPv6으로 나뉜다.

  • IPv4는 123.45.67.89와 같이 32비트를 8비트 단위로 점을 찍어 IP 주소를 나타낸다.
  • IPv6은 2001:db8::ff00:42:8329와 같이 64비트를 16비 단위로 점을 찍어 IP 주소를 나타낸다.

✅ 추세는 IPv6로 가고 있지만 현재 가장 많이 쓰이는 주소 체계는 IPv4이다.


클래스 기반 할당 방식

A, B, C, D, E 다섯개의 클래스로 구분하는 클래스 기반 할당 방식이다.

앞에 있는 부분을 네트워크 주소, 그 뒤에 있는 부분을 컴퓨터에 부여하는 주소인 호스트 주소로 놓아서 사용한다.
👉 클래스 A,B,C는 일대일 통신으로 사용되고, 클래스 D는 멀티캐스트 통신, 클래스 E는 앞으로 사용할 예비용으로 쓰는 방식이다.

각 클래스는 일정한 범위를 가지는데, 맨 왼쪽에 있는 '구분 비트'를 통해서 클래스간의 IP가 나눠진다.

  • 클래스 A 범위: 00000000.00000000.00000000.00000000 (0.0.0.0) ~ 01111111.11111111.11111111.11111111 (127.255.255.255)
  • 클래스 B 범위: 10000000.00000000.00000000.00000000 (128.0.0.0) ~ 10111111.11111111.11111111.11111111 (191.255.255.255)
  • 클래스 C 범위: 11000000.00000000.00000000.00000000 (192.0.0.0) ~ 11011111.11111111.11111111.11111111 (223.255.255.255)

위의 예시에서 구분 비트는 다음과 같다.

  • 클래스 A: 0
  • 클래스 B: 10
  • 클래스 C: 110

이런 식으로 클래스마다 나뉘어져 있고, 다른 네트워크도 이런 식의 주소 범위를 가지고 있다.


또한, 네트워크의 첫번째 주소는 네트워크 주소로 사용되고, 가장 마지막 주소는 브로드캐스트용 주소로 네트워크에 속해 있는 모든 컴퓨터에 데이터를 보낼 때 사용한다.

예) 클래스 A로 12.0.0.0이란 네트워크를 부여 받음

그렇다면 클래스 A에는

  • 12.0.0.0으로는 네트워크 구별 주소
  • 12.0.0.1 ~ 12.255.255.254 호스트 주소로 사용 가능
  • 12.255.255.255 가장 마지막 주소로, 브래드캐스트용 주소

✅ 하지만 이러한 클래스 기반 할당 방식은 사용하는 주소보다 버리는 주소가 많은 단점이 있었고, 이를 해소하기 위해 DHCPIPv6, NAT가 나오게 된다.


DHCP

DHCP(Dynamic Host Configuration Protocol).
IP 주소 및 기타 통신 매개변수를 자동으로 할당하기 위한 네트워크 관리 프로토콜이다.

DHCP를 통해서 네트워크 장치의 IP 주소를 수동으로 설정할 필요 없이, 인터넷이 접속할 때마다 자동으로 IP 주소를 할당할 수 있다.

많은 라우터와 게이트웨이 장비에 DHCP 기능이 있으며, 이를 통해 대부분의 가정용 네트워크에서 IP 주소를 할당한다.


NAT

NAT(Network Address Translation).
패킷이 라우팅 장치를 통해 전송되는 동안 패킷의 IP 주소 정보를 수정하여 IP 주소를 다른 주소로 매핑하는 방법이다.

  • IPv4 주소 체계 → 많은 주소 감당 못함 → NAT로 공인 IP와 사설 IP로 나누어 많은 주소를 처리!
  • NAT 가능하게하는 소프트웨어: ICS, RRAS, Netfilter

👎 하지만 여러명이 동시에 인터넷을 접속하게 되므로 실제로 접속하는 호스트 숫자에 따라서 접속 속도가 느려질 수 있다는 단점이 있다.


사설 IP ↔️ 공인 IP 변환

  • 재석: 192.168.0.2
  • 하하: 192.168.0.3
  • 명수: 192.168.0.4
  • 홍철: 192.168.0.5

↕️

스위치 192.168.0.xxx

↕️

NAT 장치 (라우터) 121.165.151.200

↕️

외부 인터넷

192.158.0.xxx를 기반으로 각각의 다른 사설 IP를 가지고 있다.
그리고 NAT 장치를 통해 하나의 공인 IP인 121.165.151.200으로 외부 인터넷에 요청할 수 있다.

이를 통해 한 회사에 있는 무한도전팀은 하나의 IP인 121.165.151.200을 기반으로 각각의 다른 IP를 가지는 것처럼 인터넷을 사용할 수 있다.

✅ 이처럼 NAT 장치를 통해 사설 IP를 공인 IP로 변환하거나 공인 IP를 사설 IP로 변환하는데 쓰인다.


공유기와 NAT

NAT를 사용하는 이유는 여러 대의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함이다.

예를 들어 인터넷 회선 하나를 개통하고 인터넷 공유기를 달아서 여러 PC를 연결하여 사용할 수 있는데,

이것이 가능한 이유는 인터넷 공유기에 NAT 기능이 탑재되어 있기 때문이다.


NAT를 이용한 보안

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


4. IP 주소를 이용한 위치 정보

IP 주소는 인터넷에서 사용하는 네트워크 주소이기 때문에 이를 통해 동 또는 구까지 위치 추적이 가능하다.

다음 사이트에서 IP 주소를 기반으로 위치를 찾을 수 있다.

profile
개발자

0개의 댓글