Network

[네트워크]MAC주소가 왜 필요할까?IP주소와 PORT 나눠서 사용하는 이유는?

a-몬드 2022. 6. 22. 14:50
반응형

https://a-mond.tistory.com/25

 

[네트워크]브라우저에 URL을 입력하면 어떤 과정으로 웹페이지가 나오는 걸까?

1. 브라우저에서 URL 파싱 주소창에 https://www.naver.com/ 을 검색하면 URL만 만 파싱 한다. https:// www.naver.com protocol://URL 2. HSTS 목록 조회(HSTS : HTTP Strict Transport Security) HSTS는 HTTP..

a-mond.tistory.com

위의 글을 작성하면서 MAC주소는 물리 주소 IP주소는 논리 주소 이 정도만 알고 넘어갔다. 하지만 IP주소만 알면 되지 물리 주소인 MAC 주소는 왜 필요한지 호기심이 생겼다. OSI 7 Layer을 공부하며 MAC과 IP주소의 Layer가 다르다는 것을 알고 정확히 알고 싶어 공부하고 정리하는 글이다.

계층별 식별자

MAC 주소

  • NIC(Network Interface Card, LAN 카드)식별자
  • 하드웨어 주소, 변경 가능

예) 노트북은 유선도 되고, 무선도 된다 그렇면 NIC은 2개 결국 MAC address도 2개가 된다.

IP 주소(IPv4, IPv6)

  • host에 대한 식별자 (host : 인터넷에 연결된 컴퓨터)
  • IP주소는 인터넷에 연결된 컴퓨터에 부여된다.
  • 한 개 NIC에 여러 개의 IP주소 Mapping(바인딩) 가능

 

네트워크 통신할 때 MAC 주소와 IP주소 둘 다 필요한 이유

같은 네트워크 공간에 있는 컴퓨터와 통신을 하려면 MAC 주소만 있으면 된다.

하지만 데이터를 전송할 때 라우터를 넘어가게 되면 IP주소가 필요하다.

 

MAC  & IP 주소로 어떻게 통신할까?

1. 같은 네트워크 공간에 있는 컴퓨터

   같은 네트워크에 있어도 데이터를 송수신하려면 스위치가 필요

   스위치 : 작은 메모리로 MAC 주소를 테이블에 기록

    A컴퓨터 → 스위치 → B컴퓨터

 

2. 서로 다른 네트워크 공간에 있는 컴퓨터

    스위치는 컴퓨터와 라우터 둘 다 연결한다.

    A컴퓨터 → A스위치(+MAC header) → A라우터(+IP header)

    (여러 라우터들을 거침)→B라우터(-IP header) →B 스위치(-MAC header) → B컴퓨터

위와 같은 순서로 송수신한다.

스위치에서는 MAC 주소만 필요하게 되므로 전송할 데이터 위에 송신자 MAC 주소와 수신자 MAC 주소가 적힌 Header라는 것이 벗겨졌다가 씌워진다.

라우터에서는 IP주소가 적힌 Header가 벗겨졌다가 씌워진다. Header를 벗겨 주소를 확인하여 목적지에 전송한다.

 

💚정리

목적지 컴퓨터가 위치한 네트워크를 찾기 위해 IP주소를 사용하며

해당 네트워크의 실제 목적지 컴퓨터(end-point)를 찾기 위해 MAC 주소를 사용한다. 요즘 컴퓨터는 공유기를 사용하는데 공유기는 라우터+ 스위치 역할을 모두 한다.

추가로, 한 컴퓨터에서는 여러 개의 프로그램들을 실행한다. A 프로그램이 다른 네트워크랑 통신하고, B 프로그램도 통신한다고 하면, 데이터가 수신될 때 두 프로그램 중 누구에게 전달해야 할까? 이 부분은 Port가 해결한다. 통신할 때 응용프로그램을 식별하기 위해 Port번호를 사용한다. 흔히 아는 80 포트(http), 443 포트(HTTPS)는 사용할 수 없다.

 

MAC, IP, PORT를 나누는 이유는 OSI 7 Layer로 통신하기 때문이다. 계층별 식별하는 것

 

 

출처 :

https://movefast.tistory.com/97

https://www.youtube.com/watch?v=JDh_lzHO_CA

반응형