컴퓨터(Computer Science)/네트워크, Network

MAC address vs IP address, 맥 주소 IP 주소 비교하기

게임이 더 좋아 2021. 9. 4. 13:28
반응형
728x170

우리는 네트워크를 이룰 때 착각하는 것이 있다.

IP만 있으면 된다고 생각한다.

물론 개발자가 아니라면 IP가 유일한 주소고 IP를 알아야만 통신이 가능하다고 까지만 알아도 된다.

하지만 우리는 개발자로서 알아야 할 의무가 있다.

**MAC은 우선 Media Access Control의 약자다.

 


 

우리는 네트워크 레이어에서 IP로 통신을 한다. 

하지만 IP 주소를 다시 MAC으로 바꾸는 절차(ARP, Address Resolution Protocol)을 거친다.

 

cmd 창에서 물리적 주소 = MAC 을 확인할 수 있다.

우선 완전히 공개하진 않았지만

48bit로 이루어져있다.

하지만 표현은 16진법으로 되어있다. 그래서 12문자가 나온다.

 

 

그렇다면 왜 필요한 것인가가 중요하다.

IP 주소가 유일한데..? 굳이 MAC까지 알아야하나??

 


우리가 간과하고 있는 것이 있었다.

라우터를 거치지 않고 단독 네트워크, LAN이 있다고 해보자.

A가 B와 통신을 하고 싶다면

A는 B의 IP 주소를 알아내고

A가 속한 네트워크의 모든 PC에 메시지를 보낸다.(Broadcast)

B는 A의 메시지를 받고 B는 자신의 MAC address를 A에게 다시 보내준다.

그리고 나서야 A는 B와 통신이 가능해진다.

 

음...? 

여기서는 굳이 MAC 주소로 바꾸지 말고 해당 IP만 알아내면 될 것 같은데??

라고 생각할 수 있다.

 

다른 예를 봐보자

 

이번엔 다른 네트워크에 있는 장비와 통신하고 싶을 때를 생각해보자

A는 네트워크 x에 속하고

B는 네트워크 y에 속한다.

 

A가 아까와 같이 메시지를 보내도(Broadcast)

B는 대답할 수가 없다. 서로 다른 네트워크에 있기 떄문이다.

**라우터가 Broadcast를 막는다.

 

그렇다면 A와 B는 통신이 불가능할까??

전혀 아니다.

만약 A가 보낸 메시지에 해당하는 장비가 없으면

라우터는 A에게 라우터 자신의 MAC address를 보내준다.

즉, A가 B에게 보낼 정보를 라우터의 MAC address를 통해 보내는 것이다.

 

라우터는 해당 정보를 B가 속하는 네트워크의 라우터에 보내주고 

그 라우터는 자신의 네트워크에서 B를 찾는다.

 


 

위와 같이 이해해도 좋으나

개발자는 조금 더 자세하게 들어가보자.

 

반응형
그리드형