Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

개발자공부일기

OSI 네트워크 계층 본문

TIL(Today I Learned)

OSI 네트워크 계층

JavaCPP 2024. 12. 17. 19:57

OSI 네트워크 계층이란?

데이터를 목적지까지 최적의 경로(안전하고 빠르게)로 전달하기 위한 계층입니다.

이러한 경로 탐색 과정을 라우팅(Routing)이라고 부릅니다.

 

목적지에 도달하기 위한 경로를 선택하고, 경로에 따라 패킷을 전달하는 것이 네트워크 계층의 역할입니다.

네트워크 계층에서는 라우팅,흐름 제어, 세그먼테이션,오류 제어,인터네트워킹등의 기능을 수행합니다.

이러한 기능들은 전송 계층(Transport)에서 요구하는 서비스 품질(QoS)을 제공하기 위한 수단이 됩니다.

 

네트워크 계층의 대표적인 프로토콜로는 IP프로토콜이 있으며, 기본 데이터 단위는 패킷(Packet)입니다.

네트워크 계층의 장비는 라우터,공유기,스위치(L3 스위치)가 있습니다.

 

패킷이란?

인터넷을 통해 발송되는 모든 데이터는 패킷이라는 작은 조각으로 나뉘어집니다. 예를 들어 철수가 영희에게 메시지를 보낸다면 철수의 메시지는 여러 조각으로 나뉘어진 다음 영희의 컴퓨터에서 다시 조립됩니다. 패킷에는 두 부분이 있습니다. 헤더는 패킷 자체에 대한 정보를 담고 있으며 본문은 실제로 전송되는 데이터입니다.

인터넷을 통해 패킷을 보낼 때 네트워크 계층에서는 네트워킹 소프트웨어가 각 패킷에 헤더를 추가하며, 상대방에서는 네트워킹 소프트웨어가 헤더를 이용해 패킷 처리 방법을 이해할 수 있게 됩니다.

헤더에는 각 패킷의 내용, 출발지, 목적지에 대한 정보가 포함됩니다(편지 봉투에 목적지와 반송 주소를 적고 도장을 찍는 것과 유사합니다). 예를 들어 IP 헤더에는 각 패킷의 IP주소, 패킷의 전체 크기, 패킷이 전달 중 분편화(더 작은 조각으로 더 나뉘어짐)되었는지 여부, 패킷이 통과한 네트워크 수 등이 포함됩니다.참고:https://javacpp.tistory.com/72

 

IP란?

IP의 개념인터넷 프로토콜(Internet Protocol)의 약자로, 인터넷이 통하는 네트워크에서 어떤 정보를 수신하고 송신하는 통신에 대한 규약을 의미합니다. 인터넷 계층의 IP 프로토콜은 IP 주소를 

javacpp.tistory.com

 

1. 네트워크 계층의 주요 역할

  1. 주소 지정 (Logical Addressing)
    • 네트워크 계층은 송신자와 수신자의 논리적 주소(예: IP 주소)를 사용합니다.
    • IP 주소는 장치가 서로 다른 네트워크에 있더라도 데이터를 전달할 수 있도록 합니다.
    • 예: IPv4 (32비트), IPv6 (128비트).
  2. 라우팅 (Routing) 참고:https://javacpp.tistory.com/74
    • 데이터가 송신지에서 수신지로 이동할 때 가장 효율적인 경로를 결정합니다.
    • 라우터(Router)가 이 작업을 수행하며, 라우팅 프로토콜(OSPF, BGP, RIP 등)을 사용합니다.
  3. 데이터 전송 (Packet Forwarding)
    • 데이터를 패킷(Packet) 단위로 전송합니다.
    • 데이터 링크 계층에서 프레임으로 캡슐화된 데이터를 받아 네트워크 계층에서 패킷 단위로 처리합니다.
  4. 패킷 분할 및 재조립 (Fragmentation and Reassembly)
    • 네트워크 경로의 MTU(Maximum Transmission Unit)가 작은 경우 데이터를 더 작은 조각으로 나눕니다.
    • 수신 측에서는 분할된 패킷을 재조립합니다.
  5. 트래픽 제어 (Traffic Control)
    • 혼잡 제어나 흐름 제어를 통해 데이터 전송 효율성을 높이고 네트워크 병목 현상을 방지합니다.

 

2. 네트워크 계층에서 사용하는 프로토콜

  • IP (Internet Protocol)
    • IPv4: 현재 널리 사용되는 IP 프로토콜 (32비트 주소).
    • IPv6: 더 큰 주소 공간을 제공하는 차세대 프로토콜 (128비트 주소).
  • ICMP (Internet Control Message Protocol)
    네트워크에서 진단과 오류 메시지 전달을 담당하는 중요한 프로토콜입니다.
    ICMP는 IP 프로토콜의 일부로 동작하며, 네트워크 장비 간에 상태 정보를 교환하거나 문제를 알릴 때 사용됩니다.

    ICMP의 주요 역할
    1. 네트워크 문제 진단
      • 네트워크가 정상적으로 동작하지 않을 때 원인을 파악하기 위한 메시지 전송.
        예: 핑(ping) 명령어를 통해 연결 상태 확인.
    2. 오류 보고
      • 패킷이 목적지에 도달하지 못하거나 문제가 발생한 경우, 이를 원본에 알림.
        예: 라우터에서 경로를 찾을 수 없을 때 오류 메시지 전달.
    3. 네트워크 상태 정보 전달
      • 네트워크 상태에 관한 정보를 교환.
        예: TTL(Time-To-Live) 초과 메시지로 경로 정보 수집.
    ICMP의 동작 방식ICMP 메시지 구조
    • Type (유형): 메시지의 목적 (예: 오류, 상태 확인 등).
    • Code (코드): 메시지의 세부 정보.
    • Checksum (체크섬): 데이터 무결성을 확인하는 값.
    • Payload (데이터): 메시지와 관련된 추가 정보.
    • ICMP 메시지는 다음과 같은 형식으로 구성됩니다:
    • ICMP는 IP 프로토콜에 내장되어 있지만, 데이터 전달보다는 오류 보고 및 제어 메시지 전달에 중점을 둡니다.
  • ARP (Address Resolution Protocol)
    OSI 모델에서 네트워크 계층(3계층)데이터 링크 계층(2계층) 사이에서 동작하는 프로토콜입니다.
    주된 역할은 IP 주소를 MAC 주소로 변환하여 데이터 링크 계층에서 통신할 수 있도록 하는 것입니다.

    ARP의 역할
    컴퓨터 네트워크에서 장치는 데이터를 전송하기 위해 논리적 주소(예: IP 주소)를 사용합니다. 하지만 데이터가 실제 네트워크 하드웨어에서 전송될 때는 물리적 주소(MAC 주소)가 필요합니다.ARP는 이 논리적 주소(IP)와 물리적 주소(MAC)를 연결하는 역할을 합니다.

    예:PC가 특정 IP 주소(예: 192.168.1.5)로 데이터를 보내야 할 때, ARP를 사용해 해당 IP 주소에 연결된 장치의 MAC 주소를 확인합니다.

     ARP의 작동 원리
    (1) ARP Request
    송신 장치가 대상 장치의 MAC 주소를 모를 때, 네트워크에 브로드캐스트 요청을 보냅니다.
    브로드캐스트 요청의 형식:
    "IP 주소 192.168.1.5의 MAC 주소를 알려주세요!"
    이 요청은 네트워크의 모든 장치에게 전송됩니다.

    (2) ARP Reply
    요청을 받은 장치 중 자신이 해당 IP 주소(예: 192.168.1.5)를 가지고 있는 장치는 자신의 MAC 주소를 포함한 유니캐스트 응답을 송신 장치에 보냅니다.

    ARP 캐시
    송신 장치는 네트워크 트래픽을 줄이기 위해 이전에 확인한 IP-MAC 매핑 정보를 ARP 캐시에 저장합니다.
 
  • RARP (Reverse Address Resolution Protocol)
    • MAC 주소를 IP 주소로 변환.
    • 오늘날, RARP는 거의 사용되지 않고 DHCP가 사실상 표준이 되었습니다.
      DHCP는 RARP와 달리 IP 주소뿐만 아니라 서브넷 마스크, 기본 게이트웨이, DNS 서버 정보를 한꺼번에 제공할 수 있습니다.
  • NAT (Network Address Translation)
    • 사설 IP 주소와 공인 IP 주소 간의 변환.

 

3. 네트워크 계층에서 사용하는 장비

  1. 라우터 (Router)
    • 네트워크 간의 데이터 전송을 담당하며, 라우팅 테이블을 사용해 최적 경로를 결정합니다.
  2. 스위치 (3계층 스위치)
    • 데이터 링크 계층의 스위치 기능 외에도 네트워크 계층 기능을 제공하여 패킷을 라우팅합니다.

 

4. 네트워크 계층의 데이터 단위

  • 네트워크 계층에서 처리되는 데이터는 패킷(Packet)입니다.
  • 패킷 구조:
    • 헤더(Header): 송신/수신 IP 주소, 프로토콜 정보, 패킷 분할 정보.
    • 페이로드(Payload): 전송할 실제 데이터.

5. 네트워크 계층의 주요 프로세스

  1. 패킷 생성
    • 상위 계층(전송 계층)에서 전달받은 세그먼트에 IP 주소를 추가하여 패킷 생성.
  2. 패킷 전달
    • 라우터를 통해 데이터를 목적지로 전송.
  3. 주소 확인
    • 송신자와 수신자의 논리적 주소(IP)와 물리적 주소(MAC)를 매핑.
  4. 오류 보고
    • ICMP를 통해 라우팅 오류나 패킷 전송 실패 상황 보고.

'TIL(Today I Learned)' 카테고리의 다른 글

IOCP  (0) 2024.12.19
OSI전송 계층  (0) 2024.12.18
라우터와 라우팅  (0) 2024.12.13
DNS, 3-way Handshake, SSL/TLS  (0) 2024.12.12
IP란?  (0) 2024.12.11