#4 IP 주소

해피데빙·2022년 8월 9일
0
post-custom-banner

인터넷 계층에서 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
post-custom-banner

0개의 댓글