CS 스터디

[네트워크] - IP 주소

judyshin 2024. 10. 10. 23:58

인터넷 계층에서 쓰이는 IP 주소에 대해 알아보겠습니다 ㄱㄱ

 

ARP (Address Resolution Protocol)

=> IP 주소로부터 MAC 주소를 구하는 프로토콜

 

IP 주소는 가상 주소. MAC 주소는 실제 주소.

*RARP: MAC 주소를 IP 주소로 변환

 

장치 A가 ARP Request 브로드캐스트를 보내면 IP 주소가 120.70.80.3에 해당하는 MAC 주소를 찾는다.

그러고 나서 해당 IP 주소인 장치 B가 ARP Reply 유니캐스트를 통해 MAC 주소를 반환해 준다.

 

 - 브로드캐스트: 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식

 - 유니캐스트: 고유 주소로 식별된 네트워크 목적지에 1:1로 데이터를 전송하는 방식

 

Hop By Hop 

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

hop은 건너뛰다 라는 뜻인데, 통신망에서 각 패킷이 여러 개의 라우터를 거쳐가는 모습을 비유적으로. 표현한 것이다.

아래 그림처럼 수많은 서브 네트워크 안의 라우터의 라우팅 테이블 IP를 기반으로 패킷이 전달되며 최종 목적지에 도달한다.

 

라우팅이란 IP 주소를 찾아가는 과정

통신 장치에 있는 '라우팅 테이블'의 IP를 통해 시작 주소부터 다음 IP로 계속해서 이동하는 것이 라우팅 과정.

 

Routing Table

라우터의 목적지 정보들과 그 목적지로 가기 위한 방법이 들어 있는 리스트.

라우팅 테이블에는 게이트웨이와 모든 목적지에 대해 해당 목적지에 도달하기 위해 거쳐야 할 다음 라우터의 정보가 있다.

 

Gateway

서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능케 하는 관문 역할을 하는 컴퓨터나 소프트웨어를 두루 일컫는 용어

 

사용자는 인터넷에 접속하기 위해 수많은 게이트웨이를 거쳐야 한다.

게이트웨이를 확인하는 방법은 라우팅 테이블을 보는 것.

*netstat -r 을 통해 라우팅 테이블을 볼 수 있다.

 

IP주소 체계

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

둘의 차이점은 그냥 표로 넣어야지

 

클래스 기반 할당 방식

처음의 IP 주소 체계는 A, B, C, D, E 다섯 개의 클래스로 구분하는 클래스 기반 할당 방식을 사용했다.

앞 부분을 네트워크 주소, 뒷 부분을 호스트 주소로 설정했다.

 

(그림)

 

클래스 A, B, C는 일대일 통신,

클래스 D는 멀티캐스트 통신, 클래스 E는 앞으로 사용할 예비용

각 클래스들은 맨 앞의 '구분 비트'를 통해 구분했다.

 

그러나 이 방식은 버리는 주소가 더 많은 단점이 있어,

뒤이어 DHCP, IPv6, NAT가 등장했다.

 

DHCP

웅냥냥

NAT (Network Address Translation)

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

 

NAT로 공인 IP와 사설 IP로 나눠서 많은 주소를 처리한다.

 

(NAT 그림)

 

공유기와 NAT

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

 

NAT를 이용한 보안

NAT를 이용하면 내부 네트워크에서 사용하는 IP 주소와 외부에 드러나는 IP 주소를 다르게 유지할 수 있다.

 

NAT의 단점

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