8. 링크 계층

TCP/IP 모델의 기반 계층인 **링크 계층 (Link Layer)**은 로컬 네트워크 세그먼트에서의 통신을 담당합니다. 이 계층은 네트워크 인터페이스 카드 (NIC) 및 물리적 주소 지정과 직접적으로 관련되어 있어 하드웨어에 특화되어 있습니다.

프레임과 링크 계층 헤더

링크 계층에서는 네트워크 계층의 패킷이 프레임 (frame) 이라는 구조로 캡슐화됩니다. 이 과정의 핵심 부분은 링크 계층 헤더를 추가하는 것입니다. 이 헤더에는 호스트의 송신 및 수신 MAC 주소, 오류 감지를 위한 체크섬, 그리고 수신 장치가 프레임의 시작과 끝을 식별할 수 있도록 하는 패킷 구분자가 포함됩니다.

링크 계층 헤더를 구성하려면 송신 및 수신 MAC 주소가 모두 필요합니다. 송신 MAC 주소는 알려져 있지만, 동일한 로컬 네트워크 내의 IP 에 대한 수신 MAC 주소는 발견되어야 합니다. 이때 주소 결정 프로토콜 (ARP) 이 사용됩니다.

ARP (주소 결정 프로토콜)

ARP 는 동일 네트워크 내에서 특정 IP 주소와 연결된 MAC 주소를 찾는 데 사용되는 링크 계층 프로토콜입니다. 목적지 호스트가 다른 네트워크에 있다면 패킷은 기본 게이트웨이 (라우터) 로 전송되며, ARP 는 라우터의 MAC 주소를 찾는 데 사용됩니다.

시스템은 먼저 알려진 IP-MAC 주소 매핑을 캐시하는 ARP 조회 테이블을 확인합니다. 필요한 주소가 캐시에 없으면, 시스템은 전체 네트워크에 ARP 요청을 브로드캐스트합니다. 이 특수 메시지는 특정 IP 주소 (예: 10.10.1.4) 를 가진 호스트가 누구인지 묻습니다. 해당 IP 주소를 가진 호스트는 자신의 IP 및 MAC 주소를 포함하는 ARP 응답을 보냅니다.

필요한 모든 IP 및 MAC 주소를 확보하면, 링크 계층은 네트워크 인터페이스 카드를 통해 프레임을 전달할 수 있습니다. 패킷의 여정은 송신 및 수신 측에서 TCP/IP 스택을 오르내리며 캡슐화와 역캡슐화가 반복되는 다단계 프로세스입니다.

패킷 전달 과정

다음은 발신자 (Pete) 에서 수신자 (Patty) 로 패킷이 이동하는 단계별 분석입니다.

  1. Pete 가 Patty 에게 이메일을 보냅니다. 이 데이터는 전송 계층으로 전달됩니다.
  2. 전송 계층은 데이터를 TCP 또는 UDP 헤더로 캡슐화하여 세그먼트를 형성합니다. 목적지 및 송신 포트를 첨부한 후 세그먼트를 네트워크 계층으로 보냅니다.
  3. 네트워크 계층은 세그먼트를 IP 패킷 내에 캡슐화하고 송신 및 수신 IP 주소를 첨부합니다. 그런 다음 패킷을 링크 계층으로 라우팅합니다.
  4. 패킷이 링크 계층에 도달하면 프레임으로 캡슐화됩니다. 송신 및 수신 MAC 주소를 포함하는 링크 계층 헤더가 추가됩니다.
  5. Patty 는 물리 계층을 통해 이 데이터 프레임을 수신하고, 데이터 무결성을 확인한 후, 역캡슐화하여 IP 패킷을 네트워크 계층으로 보냅니다.
  6. 네트워크 계층은 패킷을 읽어 송신 및 수신 IP 주소를 확인합니다. 수신 IP 주소가 자신의 주소와 일치하는지 확인하고, 패킷을 역캡슐화하여 세그먼트를 전송 계층으로 보냅니다.
  7. 전송 계층은 세그먼트를 역캡슐화하고 TCP 또는 UDP 포트 번호를 확인한 후, 해당 포트를 기반으로 애플리케이션 계층에 연결합니다.
  8. 애플리케이션 계층은 지정된 포트에서 전송 계층으로부터 데이터를 수신하고 이를 Patty 에게 최종 이메일 메시지로 표시합니다.

로그인하여 학습 진행 상황을 저장하세요

로그인

연습 문제

연습이 완벽을 만듭니다! 링크 계층, MAC 주소 및 ARP 에 대한 이해를 강화하기 위한 실습 랩이 있습니다.

  1. Linux 에서 MAC 및 IP 주소 식별하기 - ip a 명령을 사용하여 Linux 시스템에서 MAC 주소를 포함한 네트워크 주소 지정 정보를 식별하는 연습을 합니다.
  2. Linux 에서 ping 및 arp 를 사용한 네트워크 계층 상호 작용 탐색 - pingarp 명령이 IP 주소를 MAC 주소로 확인하고 네트워크 계층 상호 작용을 이해하기 위해 어떻게 함께 작동하는지 알아봅니다.
  3. Linux 에서 tcpdump 를 사용하여 이더넷 프레임 분석 - MAC 주소를 포함하여 이더넷 프레임을 캡처하고 검사하는 실습 경험을 통해 저수준 네트워크 통신을 이해합니다.

이 랩들은 실제 시나리오에서 개념을 적용하고 링크 계층의 네트워크 기본 사항에 대한 자신감을 키우는 데 도움이 될 것입니다.

퀴즈

동일한 로컬 네트워크에 있는 호스트의 MAC 주소를 찾는 데 사용되는 프로토콜은 무엇입니까? (영어 약어로 대문자만 사용하여 답변하십시오).