네트워크#3 네트워크 계층의 기능 (1)

성찬홍·2026년 3월 16일

Computer Science

목록 보기
21/22

데이터 링크 계층의 한계

데이터 링크 계층의 한계

  • 물리 계층과 데이터 링크 계층만으로 LAN을 넘어서 통신하기 어려운 두가지 이유

(1) 다른 네트워크까지의 도달 경로를 파악하기가 어렵다

→ 라우팅 ( routing ) - 패킷이 이동할 최적의 경로를 결정하는것
→ 라우터 ( router ) - 라우팅을 수행하는 대표적인 장비

(2) 모든 네트워크에 속한 모든 호스트의 위치를 특정하기 어렵다

→ MAC 주소와 IP 주소는 함께 사용되고 , 기본적으로 IP 주소를 우
선 활용한다

구분IP 주소 (Internet Protocol)MAC 주소 (Media Access Control)
주소 성격논리 주소 (Logical Address)물리 주소 (Physical Address)
택배 비유택배의 수신지(위치) 역할택배의 수신인(식별자) 역할
할당 방식유동적으로 할당 (자동 할당 또는 사용자 직접 할당)NIC(랜카드)마다 할당되는 고정된 주소

IP ( 네트워크 계층의 핵심 , 인터넷 프로토콜 )

물리 계층 & 데이터 링크 계층의 한계를 극복하는 프로토콜 & IP 버전 4와 IP버전 6

IP의 공식적인 두 기능

  • 주소 지정 ( IP addressing )
    • 데이터를 어디로 보내야 할지 결정합니다. (32비트 IPv4 주소 체계)
  • 단편화 ( IP fragmentation )
    • 전송 매체(예: 광섬유 vs 이더넷)마다 한 번에 보낼 수 있는 데이터 크기가 다를 때, 데이터를 쪼개서 보내고 나중에 다시 합치는 규칙입니다.

RFC 791

  • 네트워크/인터넷 관련 신기술 제안, 의경 등을 남긴 문서
  • 우리가 흔히 사용하는 IP(Internet Protocol) 버전 4(IPv4)의 표준 사양을 정의한 문서입니다.

주소 지정

  • IP 주소를 바탕으로 송수신 대상을 지정하는 것을 의미한다
  • 4바이트(32비트)로 하나의 주소를 표현한다
  • 숫자당 8비트로 표현 : 0~255 범위 안에 있는 네 개의 10진수로 표기
  • 각 숫자는 점 (.)으로 구분
    • 점으로 구분된 8비트를 옥텟이라 한다

단편화

  • 전송하고자 하는 패킷의 크기를 MTU 이하의 복수의 패킷으로 나누는 것이다
  • MTU
    • 한 번에 전송 가능한 IP 패킷의 최대 크기
    • IP 패킷의 헤더도 MTU 크기에 포함한다
    • 일반적인 MTU 크기는 1500바이트 , MTU 크기 이하로 나누어진 패킷은 수신지에 도착하면 재조합한다.

→재조합이 이루어진다

IPV4

  • IPv4 패킷은 프레임의 페이로드로 데이터 필드에 명시한다

IPv4 핵심 필드

  • 식별자
    • 패킷에 할당된 번호
    • 쪼개져서 도착한 IPv4패킷들이 어떤 메시지에서 쪼개졌는지를 알기 위해 사용한다
  • 플래그
    • 세 개의 비트로 구성된다
    • 첫 번째 비트는 항상 0 → 현재 사용되지 않는다
    • DF 비트 → IP 단편화를 수행하지 말라는 표시
      • 1 → IP 단편화 수행하지 말라
      • 0 → IP 단편화 가능하다
    • MF비트 ( More Fragment ) → 단편화된 패킷이 더 있는지를 나타낸다
      • 1이라면 : 쪼개진 패킷이 아직 더 있다
      • 0이라면 : 이 패킷이 마지막 패킷이다

  • 단편화 오프셋
    • 초기 데이터에서 몇 번째로 떨어진 패킷인지를 나타낸다
      • 단편화되어 전송되는 패킷들은 수신지에 순서대로 도착하지 않을 수 있다
      • 수신지가 패킷들을 순서대로 재조합하려면 단편화된 패킷이 초기 데이터에서 몇 번째에 해당하는 패킷인지 알아야 한다

  • TTL (Time To Live)
    • 패킷의 수명
    • 무의미한 패킷이 네트워크상에 지속적으로 남아있는 것을방지하기 위해 존재
    • 패킷이 하나의 라우터를 거칠 때마다 TTL이 1씩 감소 , 0으로 떨어지면 해당 패킷이 폐기된다
    • 홉 - 패킷이 호스트 또는 라우터에 한 번 전달되는 것
      • 즉 , TTL 필드의 값은 홉마다 1씩 감소한다
  • 프로토콜
    • 상위 계층의 프로토콜이 무언인지를 나타내는 필드
    • ex) 전송 계층의 대표적인 프로토콜인 TCP는 6번 , UDP는 17번
  • 송신지 IP 주소
  • 수신지 IP 주소

IPv6

  • 이론적으로 할당 가능한 Ipv4주소는 2 32(43억개)이다 . 그래서 부족하기에 나온것이 IPv6 이다
  • 2^128 개

핵실 필드

  • 다음 헤더
    • 상위 계층의 프로토콜 또는 확장 헤더를 가리키는 필드
    • 확장헤더?
      • IPv6은 기본 헤더와 더불어 확장 헤더라는 추가 헤더를 가질 수 있다
      • 확장 헤더는 다음 쪽의 그림처럼 기본 헤더와 페이로드 데이터 사이에 위치한다
      • 마치 꼬리에 꼬리를 물듯 또 다른 확장 헤더를 가질 수도 있다

  • 홉 제한
    • IPv4 패킷의 TTL 필드와 비슷하다
    • 패킷의 수명을 나타내는 필드
  • 송신지 IP 주소
  • 수신지 IP주소

IPv6의 단편화

  • IPv6는 단편화 확장 헤더를 통해 단편화가 이루어진다
  • 단편화 확장 헤더에도 다음 헤더 필드가 있다
    • 예약된과 예약 필드는 0으로 설정되어 사용되지 않는다
    • 단편화 오프셋과 M 플래그 , 식별자 필드
      • 단편화 오프셋 - 전체 메시지에서 현재 단편화된 패킷의 위치
      • M 플래그는 1일 경우 더 많은 단편화된 패킷이 있음을 , 0일 경우 마지막 패킷
      • 식별자는 동일한 메시지에서부터 단편화된 패킷임을 식별한다

ARP

ARP (Address Resolution Protocol )

  • IP 주소를 통해 MAC 주소를 알아내는 프로토콜
    • 동일 네트워크 내에 있는 송수신 대상의 IP 주소를 통해 MAC 주소를 알아낼 수가 있다
  • ARP 동작

(1) ARP 요청

(2) ARP 응답

(3) ARP 테이블 갱신

상황 가정

  • 동일 네트워크에 속한 호스트 A,B
  • 호스트 A는 호스트 B의 IP 주소는 알지만 MAC 주소는 모른다
  • 이 상황에서 호스트 B의 MAC 주소를 알아내는 과정

Step1 ARP 요청

  • 호스트 A : 브로드캐스크 메시지 전송
  • 이 브로드 캐스크 메시지 = ARP 요청 이라는 ARP 패킷

Step2 ARP 요청 → 호스트 B 외에 나머지 호스트는 자신의 IP 주소가 아니므로 무시

  • 호스트 B : 자신의 MAC 주소를 담은 유니캐스트 메시지를 에게 전송
  • 이 유니캐스트 메시지 = ARP 응답이라는 ARP 패킷
    • 이 메시지를 수신한 A는 B의 MAC 주소를 알게된다

Step3 ARP 테이블 갱신

  • ARP 테이블 : ARP 요청-응답을 통해 알게 된 IP 주소와 MAC 주소의 연관 관계
    • ARP 테이블 항목은 일정 시간이 지나면 삭제 , 임의 삭제도 가능하다
    • ARP 테이블에 등록된 호스트에 대해선 ARP 요청을 보낼 필요가 없다

arp -a 명령어로 확인 가능

단편화를 피하는 방법

  • 단편화는 많이 수행되는것이 좋을까?

→ 좋지 않다

→ 불필요한 트랙픽이 증가하기에 ,대역폭 낭비가 된다

→ 성능저하 요소가된다

  • 단편화를 피하려면?
    • IP 패킷을 주고받는 모든노드가 ‘IP 단편화 없이 주고 받을 수 있는 최대 크기’만큰만 전송해야한다
    • IP 단편환 없이 주고 받을 수 있는 최대 크기 = 경로 MTU
      • 즉 단편화를 피하는 방법은 경로 MTU만큼의 데이터를 전송하는 것이다
      • 경로 MTU 발견 : 경로 MTU를 구하고 해당 크기만큼만 송수신하여 IP 단편화를 회피한다

정리

  • 네트워크 계층은 IP 주소를 활용해 데이터 링크 계층의 한계인 타 네트워크 경로 파악과 호스트 특정 문제를 해결합니다. IPv4는 주소 지정과 더불어 패킷을 MTU 크기에 맞춰 쪼개는 단편화 기능을 수행하며, 주소 고갈 문제를 해결하기 위해 128비트 체계의 IPv6가 등장했습니다. 패킷의 무한 루프를 방지하는 TTL(IPv6의 경우 홉 제한)과 상위 프로토콜 명시 기능은 안정적인 데이터 전송을 뒷받침합니다.

  • 실제 통신 시에는 IP 주소를 바탕으로 상대방의 물리적 주소를 알아내는 ARP 프로토콜이 필수적으로 작동합니다. 송신자가 브로드캐스트로 ARP 요청을 보내면 해당 IP를 가진 호스트가 MAC 주소를 응답하며, 이 정보는 효율적인 재사용을 위해 ARP 테이블에 기록됩니다. 또한 네트워크 부하를 줄이기 위해 단편화를 최소화하는 경로 MTU 발견 기술을 사용하여 최적의 데이터 크기로 송수신합니다.

& 참고

https://www.inflearn.com/course/%EA%B0%9C%EB%B0%9C%EC%9E%90-%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B3%B5%ED%95%99-%ED%98%BC%EC%9E%90%EA%B3%B5%EB%B6%80%ED%95%98%EB%8A%94-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard?cid=335940

profile
꾸준한 개발자

0개의 댓글