CS

[네트워크] 네트워크 계층

Ash_jisu 2024. 9. 22. 23:50

3-1 LAN을 넘어서는 네트워크 계층

네트워크 계층 이동방식

  • 라우팅: 패킷 이동 최적의 경로 결정
    • 네트워크 계층이 존재해야 네트워크 간 라우팅 가능
  • 라우터: 라우팅을 수행하는 대표적인 장비

IP주소와 MAC주소

  • IP주소: 수신지와 같은 존재
  • MAC주소: 수신인과 같은 존재

패킷

  • 이더넷 헤더(14바이트)
    • 목적지, 출발지 MAC주소: 각 6바이트

  • IP헤더(20바이트)
    • 식별자: 패킷 식별, 어떤 메시지에서 쪼개졌는지
    • 플래그(2바이트)
      • Don’t Framgent → IP단편화 진행 1이면 불가능, 0이면 가능
      • MF: 0이면 마지막 패킷, 1이면 패킷 더 존재
      • 단편화 오프셋: 몇번째 데이터에 해당하는 패킷인지
        • ex. 오프셋 1480이면 첫 데이터로 부터 1480떨어짐
    • TTL(Time To Live): 홉 지나갈때마다 -1, 0도달시 폐기
    • 프로토콜: 상위 계층 프로토콜
  • TCP 헤더(20바이트)
    • 포트 등등

 

MTU

  • MTU: 한번에 전송가능한 IP패킷의 크기, 일반적으로 1500바이트
    • VPN 터널(새로운 헤더를 붙여야해서 제한 MTU가 작다), MPLS 네트워크 같은 특수한 환경

 

IPv6

  • 한정된 IPv4를 대체하기 위8개의 그룹 16진수, 2^128 표현 가능
    • 가능한 IPv4의 개수: 256^4 = 약 43억
  • 헤더 길이 고정, 기본 40바이트
    • IPv4는 고정x

ARP

  • IP주소를 통해 MAC주소를 알아내는 프로토콜
  • 방식: 동일 네트워크 내에서만 동작, IP주소를 통해 MAC주소 알아내기
  • 과정
    • A는 B의 MAC주소를 몰라서 브로드캐스트로 ARP요청을 한다
    • B가 자신의 MAC주소를 담은 ARP 응답을 A에게 보낸다
    • 이후부터 평소와 같이 패킷 전송

IP단편화

  • 많이 수행 → 좋지않음
    • 여러 패킷 생성, 즉 보내야할 헤더들이 많아짐 → 불필요한 트래픽 증가와 대역폭 낭비 → 다시 합치는 과정에서 성능저하 야기
  • 최대 효율: 최대 크기만큼 전송, 경로 MTU의 크기를 알아야함 → 요즘은 균일

 


3-2 IP 주소

네트워크 주소와 호스트 주소

  • 네트워크 주소와 호스트 주소 구분범위 유동적(32비트를 어떻게 나눌지)
  • 클래스풀 주소 체계
    • IP 주소 관리 체계
    • 네트워크 주소 8배수 비트크기에 따라서 A클, B클, C클
      • 비트의 시작을 토대로 판단
      • A: 0으로 시작
      • B: 10로시작
      • C: 110로 시작
    • A클래스 이론상 2^24승 주소 할당 가능
  • 클래스리스 주소 체계
    • 클래스 개념없이 더 유동적이고 정교한 네트워크 구획
    • 네트워크 영역을 나눠서 호스트에게 IP주소 공간 할당
    • 서브넷 마스크
      • 네트워크 주소는 1, 호스트는 0으로 표기한 비트열
      • A클: (11111111, 00000000, 00000000, 00000000)
      • 주소 사이 구분 및 판단: IP주소와 서브넷 마스크 AND연산
      • 두숫자가 모드 1이면 1, 아니면 0

공인 IP주소와 사설 IP주소

  • 공인 IP주소
    • 고유한 IP주소
    • 네트워크 간의 통신, 인터넷 이용시에 사용하는 IP주소
    • ISP나 공인 IP주소 할당기관 통해서 할당
  • 사설 IP주소
    • 사설 네트워크(외부에 공개되지않은) 사용
    • IP주소의 할당 주체는 라우터
    • 사설 네트워크 상에서만 유효한 주소, 즉 다른 네트워크상의 IP주소와 중복 가능
  • NAT
    • IP주소를 변환하는 기술
    • 대부분의 라우터는 NAT기능을 내장
    • 패킷 이동간에 사설 IP주소를 공인 IP로 변환 및 전달, 포트와 포트사이를 변환해서 통신해주는 nginx와 비슷

정적 IP 주소와 동적 IP주소

  • 정적 IP
    • 호스트에 직접 수작업으로 IP주소 부여
  • 동적 IP
    • 정적으로 넣는 과정에서 발생하는 문제점 해결
    • 라우터가 할당하고 이후 회수하는 방식
    • ipconfig/all을통해 임대시작, 만료 확인 가능
    • DHCP서버간에 메시지 주고받기(라우터와 호스트)

3-3 라우팅

라우터

  • 패킷은 서로에게 도달하기까지 여러 라우터를 거쳐 이동, 하나의 과정을 홉(hop)이라고 부름

라우팅 테이블

  • 수신지와 도달지 정보가 명시된 표, 정확히는 네트워크상의 특정 수신지까지 도달하기 위한 정보가 담겨있다
  • 다음홉: 다음으로 거쳐야 할 호스트의 IP주소 또는 인터페이스 의미, 게이트웨이로 명시
  • 네트워크 인터페이스: 패킷을 내보낼 통로
  • 메트릭: 해당 경로로 이동하는데 드는 비용

동적 라우팅과 정적 라우팅

정적 라우팅

  • 수동으로 직접 채워넣은 라우팅 테이블의 항목을 토대로 라우팅, 다루는 명령어가 존재함

동적 라우팅

  • 자동으로 라우팅 테이블 항목을 만들고, 이를 이용하여 라우팅하는 방식
  • 규모가 커지고 관리해야할 라우터가 늘었을때 유용
  • 중간에 거쳐야할 라우터에 문제가 있을때 다른 라우터를 탐색, 이와 같은 방식이 동적 라우팅
  • (동적)라우팅 프로토콜: 라우터끼리 서로의 정보교환하는 프로토콜

범위에 따른 분류

  • AS 내외부에 따른 분류
    • IGP: AS내부
    • EGP: AS외부
  • 최적의 경로 선정 과정 방식에 따른 분류
    • RIP: 거리 벡터 활용, 거리 기반 최적의 경로(홉 수가 가정 적은 경로)
      • 정보 교환시 주기적 테이블 갱신
    • OSPF: 링크 상태 활용, 연결 비용&연결 관계등을 기반으로 경로 선택
      • 대역폭을 기반으로 메트릭 계산
      • 갱신안하다가 네트워크 구성 변경시에만 테이블 갱신
  • AS외부 내용
    • BGP: 대표적인 EGP로 AS간의 통신에 사용되는 프로토콜
      • AS내에서도 통신이 가능하지만 그 과정이 너무 복잡하고 일정하지 않은 경우가 존재
    • AS-PATH: 메시지가 수신지에 이르는 과정에 통과한 AS들의 목록을 의미

 

 

 


출처

- 혼자 공부하는 네트워크(저자: 강민철, 출판사: 한빛미디어)