본문 바로가기
Computer Science/네트워크

IP 주소

by 콩순이냉장고 2022. 5. 11.

컴퓨터간의 통신은 흔히들 IP주소 기반으로 통신한다고 알고 있지만 정확하게는 IP주소에서 ARP를 통해 MAC주소를 찾아 MAC주소 기반으로 통신합니다.

 

ARP(Address Resolution Protocol) : MAC 주소를 구하는 IP와 MAC 주소의 다리 역학을 하는 프로토콜 ARP를 통해 가상 주소인 IP주소를 실제주소인 MAC주소로 변환

RARP : 실제 주소인 MAC주소를 가상 주소인 IP 주소로 변환

 

ARP와 RARP

ARP가 주소를 찾는과정

A라는 장치가 브로드캐스트를 보내서 IP주소인 141.23.56.23에 해당하는 MAC주소를 찾습니다. 그리고 난후 B라는 장치가 ARP reply 유니캐스를 통해 MAC 주소를 반환하여 ip주소에 맞는 MAC주소를 찾습니다.

 

 

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

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

 

 

홉바이홉 통신(hop by hop) 

-ip 주소를 통해 통신하는 과정을 hop by hop 통신이라함

-통신 장치에 있는 라우팅 테이블의 IP를 통해 시작 주소부터 시작하여 다음 IP로 계속 해서 이동하는 라우팅 과정을 거쳐 패킷이 최종 목적까지 도달하는 통신을 말함

 

라우팅 테이블(routiong table) 

- 송신지에서 수신지까지 도달하기 위해 사용되며 라우터에 들어가 있는 목적지 정보들과 그 목적지로 가기위한 방법이 들어 있는 리스트를 뜻함

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

 

게이트웨이(gateway) 

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

-사용자가 인터넷에 접속하기위해 수많은 톨게이트인 게이트웨이를 거쳐야 하며 게이트웨이는 서로 다른 네트워크상의 통신 프로토콜을 변환해주는 역할을 하기도 합니다.

IPv4 : 32비트를 8비트 단위로 점을찍어 표기 123.45.67.89 같은 방식으로 ip주소를 표시

IPv6 : 64비트를 16비트 단위로 점을 찍어 표기 2001:db8::ff00:42:8329 같은 방식으로 ip주소를 표시

.

클래스 기반 할당 방식

 

* 네트워크 주소 구하기
참고) 255를 이진법으로 나타내면 11111111
- IP 주소 (AND) 서브넷 마스크 = 네트워크 주소 (AND연산 : 입력신호가 1일 때만 1로 출력)
ex) 123.456.789.7 (AND) 255.0.0.0 = 123.0.0.0

* 호스트 주소 구하기
ex) IP 주소 : 123.456.789.7일 때 네트워크 주소와 서브넷 마스크
- 네트워크 주소 : 123.0.0.0
- 서브넷 마스크 : 255.0.0.0
- 255를 제외한 0.0.0에 호스트 주소 자리 + 조합가능한 주소로 사용
- 호스트 주소 : 0.456.789.7

* 참고
- 네트워크주소 : nbits
- 호스트주소 : (32-n)bits
- 호스트 ID가 255일 때는 브로드 캐스트가 됨

Class First byte Subnet mask 사용 사설 IP
A 0 0~127 255.0.0.0 단말기에 할당 - 유니캐스트 루프백
127.0.0.0~127.255.255.255

10.0.0.0~10.255.255.255
B 10 128~191 255.255.0.0 단말기에 할당 - 유니캐스트 172.16.0.0~172.31.255.255
C 110 192~223 255.255.255.0 단말기에 할당 - 유니캐스트 192.168.0.0~192.168.255.255
D 1110 224~239
멀티캐스트
E 1111 240~255
브로드캐스트

 

맨왼쪽 비트를 구분비트라고 합니다.

클래스 A의 경우 맨외쪽에 있는 비트가 0

클래스 B의 경우 10 , 클래스 c의 경우 110 

이를 통해 클래스 A에서 가질 수 있는 IP 범위는 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의 경우 브로드캐스트용으로 남겨두어야 하니 이또한 사용 불가
따라서 12.0.0.1~12.255.255.254를 컴퓨터에 부여할수 있는 호스트 주소로 사용할수 있음
이방식의 사용하는 주소보다 버리는 주소가 많아 이를 해소하기위해 DHCP와 IPv6,NAT가 나옴
 

Nat(Network Address Translation) 

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

- IPv4주소 체계만으로는 많은 주소들을 모두 감당하지 못하는 단점이 있는데, 이를 해결하기 위해 NAT로 공인 IP와 사설 IP로 나눠서 많은 주소를 처리