본문 바로가기

CS

2.4 IP 주소

2.4.1 ARP

  • 컴퓨터와 컴퓨터 간의 통신은 IP주소 기반으로 통신한다고 알고있지만 사실 IP 주소에서 ARP를 통해 MAC 주소를 찾아 MAC 주소를 기반으로 통신
  • ARP란 IP 주소로부터 MAC 주소를 구하는 IP와 MAC 주소의 다리 역할을 하는 프로토콜
  • ARP를 통해 가상 주소인 IP 주소를 실제 주소인 MAC 주소로 변환
  • RARP를 통해 실제 주소인 MAC주소를 가상 주소인 IP주소로 변환하기도 한다.

  • ARP의 주소를 찾는 과정
    • 장치 A가 ARP Request 브로드캐스트를 보내서 IP 주소에 해당하는 MAC 주소를 찾는다.
    • 해당 주소에 맞는 장치 B가 ‘ARP reply 유니퀘스트’를 통해 MAC 주소를 반환하는 과정을 거쳐 IP 주소에 맞는 MAC 주소를 찾게 된다.

2.4.2 홉바이홉 통신

  • IP 주소를 통해 통신하는 과정을 hop by hop 통신이라고 한다.
  • hop → 건너뛰는 모습, 각 패킷이 여러 개의 라우터를 건너가는 모습을 비유적으로 표현한 것
  • 각각의 라우터에 있는 라우팅 테이블의 IP를 기반으로 패킷을 전달하고 다시 전달해간다

 

  • 통신장치에 있는 ‘라우팅 테이블’의 IP를 통해 시작 주소부터 시작하여 다음 IP로 계속해서 이동하는 ‘라우팅’과정을 거쳐 패킷이 최종 목적지까지 도달하는 통신
  • 라우팅 테이블
    • 송신지에서 수신지까지 도달하기 위해 사용되며 라우터에 들어가 있는 목적지 정보들과 그 목적지로 가기 위한 방법이 들어있는 리스트
    • 게이트웨이와 모든 목적지에 대해 해당 목적지에 도달하기 위해 거쳐야 할 다음 라우터의 정보를 가짐
  • 게이트웨이
    • 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 관문 역할을 하는 컴퓨터나 소프트웨어를 두루 일컫는 용어
    • 사용자는 인터넷에 접속하기 위해 수많은 게이트웨이를 거쳐야한다.
    • 게이트웨이를 확인하는 방법은 라우팅 테이블을 통해 볼 수 있고 윈도우의 명령 프롬포트에서 netstat -r 명령어를 실행하여 확인할 수 있다.

2.4.3 IP 주소체계

  • IP 주소는 IPv4와 IPv6로 나뉜다.
  • IPv4는 32비트를 8비트 단위로 점을 찍어 표기하고, 123.45.67.89와 같은 방식으로 IP 주소를 나타낸다.
  • IPv6는 64비트를 16비트 단위로 점을 찍어 표기하며, 2001:db8::ff00:42:8329 같은 방식으로 IP 주소를 나타낸다.
  • IPv4가 가장 많이 쓰이는 주소체계이다.
  • 클래스 기반 할당 방식
    • IP 주소 체계는 과거를 거쳐 발전해오고 있으며 처음에는 A,B,C,D,E 다섯 개의 클래스로 구분하는 클래스 기반 할당 방식(CIDR)을 썼다.
    • 앞에 있는 부분을 네트워크 네트워크 주소 뒤 부분을 호스트 주소로 놓아서 사용
    • 클래스 A,B,C는 일대일 통신으로 사용되고 클래스 D는 멀티캐스트 통신, 클래스 E는 앞으로 사용할 예비용으로 쓴다.

  • 클래스 A 범위는 00000000.00000000.00000000.00000000 ~ 01111111.11111111.11111111.111111 로 십진수로 표현하면 0.0.0.0 ~ 127.255.255.255이다.
  • 네트워크의 첫번째 주소는 네트워크 주소로 사용되고 가장 마지막 주소는 브로드캐스트 용 주소로 모든 컴퓨터에 데이터를 보낼 때 사용된다.
  • 예를들어 클래스 A로 12.0.0.0 네트워크를 받았다면 12.0.0.1~12.255.255.254의 호스트 주소를 받은 것이고 12.0.0.0은 네트워크 구별 주소로 사용하면 안 되고 가장 마지막 주소인 12.255.255.255의 경우도 브로드캐스트용으로 나둬야한다.
  • 버리는 주소가 많은 단점으로 DHCP와 IPv6, NAT가 나온다.
  • DHCP
    • Dynamic Host Configuration Protocol은 IP 주소 및 기타 통신 매개변수를 자동으로 할당하기 위한 네트워크 관리 프로토콜이다.
    • IP 주소를 수동으로 설정할 필요 없이 인터넷에 접속할 때마다 자동으로 IP 주소를 할당
    • 많은 라우터와 게이트웨이 장비에 DHCP 기능이 있으며 대부분의 가정용 네트워크에서 IP주소를 할당한다.
  • NAT
    • Network Address Translation은 패킷이 라우팅 장치를 통해 전송되는 동안 패킷의 IP 주소 정보를 수정하여 IP 주소를 다른 주소로 매핑하는 방법이다.
    • IPv4 주소 체계로는 많은 주소들을 감당하지 못하는데 NAT은 공인 IP와 사설 IP로 나눠서 많은 주소를 처리한다.
    • NAT를 가능하게 하는 소프트웨어는 ICS, RRAS, Netfilter 등이 있다.
    • 공유기와 NAT
      • NAT을 쓰는 이유는 주로 여러대의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함이다. 하나의 인터넷 회선으로 여러 PC를 연결하는데 인터넷 공유기에 NAT 기능이 탑재되어 있기 때문이다.
    • NAT을 이용한 보안
      • 내부 네트워크에서 사용하는 IP 주소와 외부에 드러나는 IP 주소를 다르게 유지할 수 있기 때문에 내부 네트워크에 대한 어느 정도의 보안이 가능하다.
    • 단점
      • 여러 명이 동시에 접속하므로 실제로 접속하는 호스트 숫자에 따라서 접속 속도가 느려진다.

'CS' 카테고리의 다른 글

2.5 HTTP (2)  (0) 2022.08.29
2.5 HTTP (1)  (0) 2022.08.28
2.3 네트워크 기기  (0) 2022.08.26
2.2 TCP/IP 4계층 모델 (2)  (0) 2022.08.24
2.2 TCP/IP 4계층 모델 (1)  (0) 2022.08.24