IP와 MAC을 통한 네트워크 통신

구동희·2022년 8월 26일
1
post-thumbnail

IP란?

IP는 Internet Protocol의 약자로, 네트워크에서 어떤 정보를 수신하고 송신하는 통신에 대한 규약을 의미한다.

IP 주소

IP 주소는 네트워크에서 컴퓨터간 통신하기 위해 각 컴퓨터에 부여된 네트워크 상 주소이다.
IP 주소를 통해 멀리떨어진 컴퓨터가 네트워크로 서로 통신 할 수 있다.

IP 주소는 우편번호

IP 주소를 우편번호에 비유하면 이해하기가 쉽다.
예를들어, A가 B에게 편지를 쓴다면 A는 B의 우편번호를 통해 편지를 전달 할 수있다. 마찬가지로 B도 A의 우편번호를 통해 답장을 보낼 수 있다.

이렇게 편지를 보낼 목적지의 정보인 우편번호는 IP 주소와 굉장히 유사하다.

IPv4

보통 IP 주소라 하면 4개의 10진수로 이루어진 IPv4 체계를 의미한다.
IPv4는 32비트 방식으로, 8비트씩 4자리로 구성되며 각 자리는 온점으로 구분한다.

IPv4는 0 ~ 2^32개의 주소를 가질 수 있다.
대략 43억개의 주소를 있다는 말이다.

그런데 인터넷 사용자가 급증하면서 IPv4 체계로는 네트워크에 연결되는 기기들에게 고유한 IP 주소를 전부 부여하기가 어려워졌다.
이러한 문제를 해결하기 위해 IPv6가 등장했다.

IPv6

IPv6는 IPv4 주소체계를 128비트로 확장한 IP주소이다.
16비트씩 8자리로 각 자리는 온점으로 구분한다.

그러나 기존의 주소체계를 변경하는데 비용이 많이 들어 아직 완전히 상용화가 되지 않았다.

💡 현재는 IPv4 체계에서 공인 IP, 사설 IP등을 통해 부족한 IP 주소의 개수를 보완하고 있다.

MAC이란?

Media Access Control의 약자로, 매체 접근 제어 방식을 다루는 프로토콜이다. 통신 과정에서 단말(컴퓨터) 간의 충돌 발생을 제어하는 방식을 의미한다.

MAC 주소

MAC 주소는 네트워크 통신을 위한 NIC(네트워크 인터페이스 카드)에 할당된 고유 식별자 주소이다.
하드웨어 주소라고도 부르며, 전세계 모든 MAC주소와 겹치지 않는다는 특징이 있다. 즉, 전세계에서 고유한 식별 주소라는 것이다.

실제 네트워크에서 호스트간의 통신에서는 IP주소 뿐만이 아니라 MAC주소도 사용이 된다.

MAC 주소는 주민등록번호

MAC 주소를 주민등록번호에 비유하면 이해하기가 쉽다.
예를들어, A가 B에게 편지를 쓴다면 A는 B의 우편번호(IP 주소)를 통해 편지를 전달 할 수있다.
그런데 갑자기 우편번호 체계가 바뀌었다거나 B가 이사를 갔다면 B가 아닌 C에게 편지가 전달 될수도 있다.

그래서 B인지 확인하기 위해 변하지 않는 고유한 식별 번호인 주민등록번호가 필요하다. 네트워크 통신에서는 MAC 주소가 통신의 올바른 목적지 인지 확인하기 위한 용도로 IP주소와 함께 사용된다.

IP 주소가 필요한 이유

MAC 주소는 주민번호와 같이 변하지 않는 고유한 식별번호이다. 그렇다면 MAC 주소만으로 네트워크 통신을 하는게 효율적이지 않을까? 아쉽게도 이것은 불가능하다.

예를들어, 같은 아파트에 사는 사람이라면 귀찮더라도 주민번호를 비교하면서 상대방을 찾을수 있다. 하지만 전국에 모든 사람들의 주민번호를 모두 확인하면서 상대방을 찾는것은 불가능에 가깝다.

그래서 IP 주소(우편번호)를 통해서 상대방의 대략적인 위치까지 접근한 후에 MAC 주소(주민등록번호)를 통해서 통신하려는 상대방을 식별해야한다.

ARP 프로토콜

위와 같이 컴퓨터간의 네트워크 통신에서 올바른 목적지인지 확인하기 위해 변하지 않는 고유번호인 MAC주소가 필요하다.
그런데 네트워크 통신을 시작 할 때, 컴퓨터는 상대방의 IP주소는 알아도 MAC주소는 알지 못한다. 그럼에도 통신은 잘 이루어진다. 왜 그럴까?

네트워크 통신과정에서 ARP 프로토콜을 통해서 MAC 주소를 알아내고 올바른 목적지 인지 확인하는 과정이 따로 존재하기 때문이다.

ARP 프로토콜 이란?

Address Resolution Protocol의 약자로 IP주소를 통해 알맞은 MAC 주소를 가지고 오는 프로토콜을 말한다.

ARP 프로토콜 동작 과정

ARP 프로토콜은 통신하고자 하는 컴퓨터가 같은 네트워크에 있을 때와 다른 네트워크에 있을 때로 나눌 수 있다.

같은 네트워크에 있을 때
A와 B가 통신을 하고 싶다고 가정하자.
1) A는 같은 네트워크에 있는 컴퓨터 전체에게 ARP Request를 브로드캐스트한다.
2) 브로드캐스트를 받은 컴퓨터 중 ARP Request가 적합한 컴퓨터가 A에게 ARP Reply를 전송한다.
3) 다른 컴퓨터는 받은 ARP Request를 폐기한다.

다른 네트워크에 있을 때
A와 D가 통신을 하고 싶다고 가정하자.
그런데 A는 D의 IP 주소가 자신의 네트워크 대역과 다르 다는 것을 알고 있다.

1) A는 ARP로 라우터의 MAC주소를 알아내어 Default GateWay로 지정한다.
2) A는 Default GateWay에게 D에게 전달할 모든 패킷(전송할 데이터)을 전송한다.
3) Default GateWay는 라우팅을 통해 D가 속한 네트워크에 패킷을 보낸다.
4) D가 속한 네트워크에 패킷이 독착하면 ARP를 통해 D의 MAC주소를 알아낸 후, D에게 패킷을 전달한다.

마치면서

이상으로 IP 주소와 MAC 주소에 대해 알아보았다.
또한, IP와 MAC을 통한 네트워크 통신과정에 대해서 살펴보았다.
네트워크 세상에서는 IP와 MAC을 통해서 컴퓨터간의 통신을 하는데 우편번호와 주민등록번호와 완전히 일치하지는 않지만 비유하여 생각한다면 네트워크 통신과정에 대한 이해에 도움이 될 것이라고 생각한다.

profile
천천히 배워가는 개발꿈나무

0개의 댓글