[면접을 위한 CS 지식 노트] IP주소

재오·2023년 3월 27일
5

CS

목록 보기
5/35
post-thumbnail

ARP(Address Resolution Protocol)

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

장치 A가 ARP 브로드캐스트를 보내서 IP주소에 해당하는 MAC 주소를 찾는다. 그리고 나서 해당 주소에 맞는 장치 B가 유니캐스트를 통해 MAC 주소를 반환하는 과정을 거쳐 IP 주소에 맞는 MAC 주소를 찾게 된다.

여기서 브로드캐스트는 송신자가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 것을 뜻하고, 유니캐스트는 고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 데이터를 전송하는 방식을 의미한다.

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

홉바이홉 통신은 IP주소를 통해 통신하는 과정을 의미한다. 수많은 네트워크 안에 있는 라우터의 라우팅 테이블 IP를 기반으로 패킷을 전달하고 또 전달해가며 라우팅을 수행하며 최종 목적지까지 패킷을 전달한다. 즉 통신 장치에 있는 라우팅 테이블의 IP를 통해 시작 주소부터 다음 IP로 계속 이동하는 라우터 과정을 거쳐 패킷이 최종 목적지까지 도달하는 통신을 의미한다.

라우팅 테이블

라우팅 테이블은 송신지에서 수신지까지 도달하기 위해 사용되며 목적지와 목적지로 가기 위한 방법이 들어있는 리스트를 뜻한다. 라우팅 테이블에는 게이트웨이와 모든 목적지에 대해 해당 목적지에 도달하기 위해 거쳐야 할 다음 라우터의 정보를 가지고 있다.

게이트웨이

게이트웨이는 네트워크 간의 통신을 가능하게 하는 관문 역할을 하는 용어이다. 사용자는 인터넷에 접속하기 위해 수많은 톨게이트인 게이트웨이를 거쳐야 하며 게이트웨이는 통신 프로토콜을 변환해주는 역할을 하기도 한다.

IP 주소 체계

IP 주소는 IPv4와 IPv6으로 나뉜다. IPv4가 현재 우리가 많이 쓰는 주소이지만 64비트를 16비트 단위로 표기하는 IPv6 방식으로 넘어가는 추세이다.

클래스 기반 할당 방식

클래스 기반 할당 방식은 A, B, C, D, E 다섯 개의 클래스로 구분하는 방식을 사용했다. A, B, C는 일대일 통신으로 사용되고 클래스 D는 멀티캐스트 통신, 클래스 E는 예비용으로 쓰인다. 첫번째 주소는 네트워크 구별 주소로 사용하고, 맨 마지막 주소는 네트워크에 속해 있는 모든 컴퓨터에 데이터를 보내는 브로드캐스트 주소이다. 그리고 그 사이에 있는 주소를 컴퓨터에 부여할 수 있는 호스트 주소라고 한다.

예를 들어 클래스 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

DHCP는 IP주소를 수동으로 설정할 필요 없이 인터넷에 접속할 때마다 자동으로 IP 주소를 할당할 수 있다. 많은 라우터와 게이트웨이 장비에 DHCP 기능이 있으며 이를 통해 대부분의 가정용 네트워크에서 IP주소를 할당한다.

NAT(Network Address Translation)

IPv4 주소 체계만으로는 많은 주소를 감당하지 못하는 NAT은 이러한 문제를 해결하기 위해 공인IP사설IP로 나눠서 많은 주소를 처리한다.

NAT-11.png

위에 있는 그림처럼 PC들은 192.168.0.x를 기반으로 각각의 다른 IP를 가지고 있다. 이를 사설 IP라고 한다. 그리고 NAT 장치를 통해 하나의 공인 IP인 200.100.101.1으로 외부 인터넷에 요청할 수 있다. 이를 통해 하나의 IP인 200.100.101.1을 기반으로 각각의 다른 IP를 가지는 것처럼 인터넷을 사용할 수 있다. 이처럼 NAT 장치를 통해 사설 IP를 공인 IP로 변환하거나 공인 IP를 사설 IP로 변환하는데 쓰인다.

NAT을 이용하면 내부 네트워크에서 사용하는 IP 주소와 외부에 드러나는 IP 주소를 다르게 유지할 수 있기 때문에 내부 네트워크에 대한 보안이 가능해진다. 하지만 여러명이 동시에 인터넷을 접속하게 되므로 실제로 접속하는 호스트 숫자에 따라서 접속 속도가 느려질 수 있다는 단점이 있다.

profile
블로그 이전했습니다

4개의 댓글

comment-user-thumbnail
2023년 3월 28일

멋있는 글이네요 ~ :)

1개의 답글
comment-user-thumbnail
2023년 3월 29일

수업 열시미 들었군 자네 - 김교수

1개의 답글