관리 메뉴

꿈꾸는 개발자

면접을 위한 CS 전공 지식 노트-[2.4 IP 주소] 본문

면접 준비

면접을 위한 CS 전공 지식 노트-[2.4 IP 주소]

rickysin 2023. 6. 28. 15:25

2.4.1 ARP. (Address Resolution Protocol)

컴퓨터 간 통신은 IP주소 기반으로 한다고 말하지만, 엄밀히 말하면 IP 주소에서 ARP를 통해 MAC 주소를 찾아 MAC 주소를 기반으로 통신을 하게 된다. 

IP 주소로부터 MAC주소를 구하는 IP와 MAC주소의 다리 역할을 하는 프로토콜이다.
  • ARP (가상 주소인 IP => 실제 주소인 MAC)
  • RARP (실제 주소인 MAC => 가상 주소인 IP) 

위 그림에서 볼 수 있듯이 왼쪽에 있는 장치가 APR Request Boradcast를 보내서 IP 주소에 해당하는 MAC주소를 찾는다. 

해당 주소에 맞는 오른쪽 최상단 장치가 ARP reply Unicast를 통해 MAC 주소를 반환하는 과정을 거쳐 IP주소에 맞는 MAC주소를 찾게 된다.

 

용어정리
브로드캐스트: 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식
유니캐스트: 고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 데이터를 전송하는 방식

 

2.4.2 홉바이홉(hop by hop) 통신

IP 주소를 통해 통신하는 과정을 말한다. 
Hop: 건너뛰는 모습을 의미한다. 통신망에서 각 패킷이 여러 라우터를 건너뛰는 모습을 비유적으로 표현한 것이다.

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

용어정리
라우팅: 통신 장치에 있는 "라우팅 테이블"의 IP를 통해 시작 주소 다음 IP로 계속 이동하는 과정

 

라우팅 테이블 (routing Table)

송신지 =>  라우터에 있는 수신지에 도달하기 위해 필요한 목적지 정보들과 목적지로 가기 위한 방법이 들어 있는 리스트를 의미한다.
  • 게이트웨이 포함 
  • 목적지까지 거쳐야 하는 라우터의 정보 포함

게이트웨이 (gateway)

서로 다른 통신망,프로토콜을 사용하는 네트워크 간 통신을 가능케 하는 관문 역할을 하는 컴퓨터/소프트웨어를 총괄적으로 일컫는 용어이다.

윈도우에서 네트워크를 확인하는 방법은 윈도우의 명령 프로픔트에서 netstat -r 명령어를 실행하면 된다. 

 

위 그림처럼 IPv4 경로 테이블이 보이는 데 이것이 바로 라우팅 테이블이다. 추가로, 케이트웨이, 인터페이스 정보도 담고 있다. 

 

2.4.3 IP 주소 체계

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

  • IPv4: 32비트를 8비트 단위로 점을 찍어 표기를 한다. (2^32)
  • IPv6:  64비트를 16비트 단위로 점을 찍어서 나타낸다.  (2^128)

추세는 IPv6이지만 IPv4가 여전히 가장 많이 사용되고 있다. (따라서, IPv4를 기준으로 설명한다)

 

클래스 기반 할당 방식 (classful network addressing)

처음 IP 주소 체계는 클래스 할당 방식(5개의 클래스로 구분)을 주로 사용했다. 

  • 클래스 구성: 네트워크 주소 + 호스트 주소

  • 클래스 A,B,C: 일대일 통신
  • 클래스 D: 멀티캐스트 통신
  • 클래스 E: 예비용

각 클래스의 범위는 아래와 같다 

맨 왼쪽에 있는 비트: 구분 비트이다. 이를 기반으로 클래스 간의 IP가 나눠진다. 위 형식으로 다른 네트워크도 주소 범위가 나눠진다. 

 

네트워크 주소 + 호스트 주소 + 브로드캐스트용 주소

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

 

ex) 12.0.0.0 (네트워크 주소) - 구별을 위해 사용 불가 + 12.0.0.1~12.255.255.254 (호스트 주소) - 사용 불가를 제외한 범위마 사용 가능 + 마지막 12.255.255.255의 경우 브로드캐스트용으로 사용 불가X 

 

단점: 버리는 주소가 너무 많음 => 해결책: DHCP와 IPv6

 

DHCP (Dynamic Host Configuration Protocol)

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

많은 라우터와 게이트웨이 장비에 DHCP 기능 탑재, 보통 가정용 네트워크 IP 주소를 할당한다. 

 

NAT (Network Address Translation)

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

IPv4로 많은 주소 감당 불가, 해결을 위해 NAT로 공인/사설 IP로 나눠 주소를 처리한다.

  • 소프트웨어: ICS RRAS, Netfilter 등이 있다. 

기능

  • 사설 IP <=> 공인 IP

Internal Workstation의 경우 서로 다른  IP를 가지고 있지만, NAT+router를 통해 하나의 공인 IP 주소를 가지게 된다. 따라서, 하나의 IP를 기반으로 마치 다른 IP를 가진 것처럼 해동할 수 있게 된다. 

 

공유기와 NAT

NAT를 쓰는 이유는 주로 여러 대의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함이다. ex) 인터넷 공유기 하나에 선 연결 후 여러 대 PC 연결이 가능한 것은 공유기 내에 NAT 기능이 탑재돼 있기 때문이다. 

 

NAT를 이용한 보안

NAT를 이용하면 내부 네트워크에서 사용하는 IP 주소와 외부에 드러나는 IP 주소를 다르게 유지 가능하다. (보안 유리)

 

NAT의 단점

여러 명이 동시 접속을 하기 때문에 접속하는 호스트 숫자에 따라서 접속 속도가 느려질 수 있다. 

 

2.4.4 IP 주소를 이용한 위치 정보

IP주소는 네트워크 주소이기 때문에 이를 통해 동 또는 구까지 위치 추적이 가능하다. (IP 주소를 기반으로 위치를 찾을 수 있다)