Tech

Diary

Lecture

About Me

개발중

네트워크 계층(Layer 3)

JeongSeulho

2024년 11월 24일

준비중...
클립보드로 복사

네트워크 계층

  • LAN 사이의 통신을 위한 계층(라우터를 기준으로 각각의 LAN이 만들어짐) => - IP 주소를 사용
  • 스위치를 사용한 통신에서 첫 통신은 브로드 캐스팅해야함 => 트래픽 부하를 줄이기 위해 브로드캐스팅 도메인을 분리가 필요
  • 브로드캐스팅 도메인을 분리하면서 각 도메인 사이에 통신을 위해 라우터와 IP 주소 사용(네트워크 계층)

라우터를 사용한 통신 과정

  1. 송신에서 출발, 목적 IP와 MAC 주소 작성
  2. 라우터에서 출발, 목적 IP를 토대로(라우팅 테이블 활용) 목적지 MAC 주소로 수정, 출발지 MAC 주소는 현재 본인의 라우터 주소로 수정
  • 이렇듯 IP주소는 유지하고, MAC 주소를 다음 목적지로 계속해서 수정하면서 라우터를 거쳐 목적지에 도착

IP 주소

  • 모든 PC와 라우터에 할당
  • IP 주소는 네트워크 주소(LAN 사이 공통)와 호스트 주소(LAN 내의 장치를 구분)로 이루어짐

IP 클래스

  • IP 주소는 필요에 따라 네트워크, 호스트 주소를 몇 비트로 할당할지 결정
  • 네트워크 주소를 몇 비트로 할당할지에 따라 클래스가 나뉨

image

  • 호스트 주소가 0인 IP는 해당 네트워크 전체 또는 대표하는 IP
  • 호스트 주소가 모두 1인(최대 숫자) IP는 브로드캐스트 주소로 즉, 해당 네트워크의 모든 장치를 지칭

서브넷 마스크

  • 기존의 IP 클래스에서 낭비되는 IP 주소를 줄이기 위해 사용(300개의 호스트 주소가 필요하면 클래스B를 사용해야 하지만, 대부분 낭비됨)
  • 각 비트의 값으로 호스트와 네트워크 주소를 더 세세하게 구분
  • 1 비트인 부분은 네트워크 주소, 0 비트인 부분은 호스트 주소

IP 헤더

  • 트랜스포트 계층에서 받은 데이터에 IP 헤더를 붙여 데이터 링크 계층으로 전달

image

라우터(공유기)

  • 스위치를 사용한 통신 범위를 LAN이라고 하며 LAN 사이의 통신을 위한 장치
  • LAN 외부(어느 노드 입장에서 LAN을 넘어간 범위는 모두 WAN)와 통신 시 라우팅 테이블을 활용하여 최적의 경로를 찾아 통신

라우팅 테이블

  • 목적지 IP 주소와 포트 번호가 맵핑되어 있는 테이블
  • 테이블을 만드는 방법으로 스태틱 라우팅과 다이나믹 라우팅이 있음

디폴트 라우터

  • 테이블에 없는 IP 주소를 받으면 디폴트 라우터로 전달
  • IP 헤더의 TTL이 0이 될때까지 라우팅 테이블을 찾아 통신(1TTL = 1홉 = 라우터 간의 1번 통신) => 존재하지 않는 IP를 목적지로 가진 데이터를 폐기

루프백 주소(로컬 호스트)

  • 네트워크로 나가지 않고 자신이 다시 받도록 하는 주소
  • 외부로 나가지 않고 OS에서 처리되어 다시 돌아옴

스태틱 라우팅

  • 라우팅 테이블을 사람이 직접 설정
  • CPU, 메모리 사용량이 적음
  • 문제가 생겼을 때, 유연하지 못함

다이나믹 라우팅

  • 라우팅 테이블을 자동으로 설정
  • CPU, 메모리 사용량이 많음
  • 문제가 생겼을 때, 유연하게 대처
  • RIP, OSPF, BGP 등의 알고리즘으로 구현

ARP

  • IP 주소를 토대로 MAC 주소를 찾기 위한 프로토콜
  • 데이터링크 계층(PC 및 라우터 등)에서 IP 목적지를 유지하면서, 다음 MAC 주소를 수정하는데, 이때 ARP 프로토콜을 사용

NAT

  • private IP와 public IP를 맵핑하는 프로토콜
  • LAN 내부에서는 private를 사용하고 외부에서는 public을 사용하므로
    • 요청에서 데이터가 나갈때 출발지의 private IP를 public IP로 변경
    • 응답에서 데이터가 들어올때 목적지의 public IP를 private IP로 변경
  • NAT 테이블을 맵핑하는 방법에따라 static NAT, dynamic NAT, static PAT, dynamic PAT이 있음

static NAT

  • 출발지와 목적지의 private IP와 public IP를 1:1 맵핑

static PAT

  • 포트를 사용하여(포트 포워딩) 출발지와 목적지의 private IP와 public IP를 다수:1 맵핑
  • 수동으로 맵핑을 설정

dynamic PAT

  • 자동으로 맵핑되지만, 한쪽에서만 먼저 통신 가능
  • 클라이언트가 서버에 요청 시
    • 서버가 정한 공인 IP와 포트 번호로 요청
    • 서버는 그에 맞게 LAN 내부의 private IP와 포트 번호로 변경 가능(맵핑)
    • 요청 과정에서 NAT 테이블이 만들어졌으므로 응답 가능
  • 서버가 클라이언트에 요청 시
    • NAT 테이블이 없으므로 통신 불가