IP주소체계

jaegeunsong97·2023년 1월 18일
0

2023_1_18_TIL

MAC주소

  • IP(Internet Protocol address) -> 논리적 주소(가변적)
    • 따라서 IP기반 통신? -> 사실은 그 밑에 있는 MAC주소를 기반으로 통신~
  • MAC(Media Access Control Address) -> 네트워크 통신을 위해 존재
    • 네트워크 인터페이스에 할달된 고유 '식별자'
    • NIC(Network Interface Card)에 할당
    • MAC(48비트) = OUI(24비트) + UAA(24비트)

ARP와 RARP

  • 구분

ARP의 과정

  • 해당 IP주소에 맞는 MAC주소 찾을려고 '브로드캐스팅'을 통해 데이터 모두 보냄
  • 맞는 장치가 있으면 '보낸장치'에게 '유니캐스트'로 데이터 전달

IPv4

  • 2^32(32비트) -> 41억 9천만 주소(부족) -> NAT, 서브네팅 이용
  • 8비트 10진수로 표현 -> . 으로 구분

IPv6

  • 2^128(128비트) -> 많은 주소 -> NAT, 서브네팅 필요 없음
  • 16비트 16진수로 표현 -> : 으로 구분
  • IPSec 내장 -> 데이터 패킷을 '암호화'하는 보완 네트워크 프로토콜

단순해진 헤더 포멧

  • IPv4헤더 불필요한 필드 제거 -> 빠른 처리 가능

IPv4는 체크섬이 있지만 IPv6은 체크섬이 없다

  • IPv6은 CRC 제거 -> 상위 프로토콜(TCP, UDP)에 이미 '체크섬' 존재해서
    • IPv6 + UDP -> 이 경우 반드시 상위 프로토콜(UDP)에 체크섬필드 사용해야 함
  • 헤더길이
    • IPv4 -> 가변적 -> Field 필요
    • IPv6 -> 40Byte(고정)

CRC

  • 네트워크상에 데이터에 오류가 있는지 확인하기 위한 체크값을 결정
    • 문자열로 변환 후 전과 후를 비교

TTL = HOP limit

  • 패킷이 네트워크에서 무한순환 하지 않도록 하는 변수
  • Hop을 지날때마다 -1을 해줌

클래스풀

  • IP주소 = 네트워크주소 + 호스트주소
  • 네트워크주소 -> 호스트들을 모든 네트워크
  • 네트워크가 종일? -> Local네트워크
  • 호스트주소 -> 호스트들을 구분하기 위한 주소
  • 루프백 주소 -> xxxx.xxxx.xxxx.0001은 항상 해당 클래스 루프백 주소(본인IP)
    • Local host

-2 의 의미

  • 맨 앞자리는 네트워크 주소(문) -> host주소 할당 불가능!
  • 맨 마지막 자리는 '브로드캐스팅'용

문제점

  • 네트워크의 크기가 A B C D E 이렇게 정해져서 불 필요한 사이즈를 가지거나, 같은 과정을 반복해야하는 수고로움 있음 -> 그래서 '클래스리스' 사용

클래스리스

  • 클래스풀의 단점 해결
  • 서브넷마스크 중심으로 나눔(네트워크주소, 호스트 주소)
  • 단어
    • 서브네팅 -> 네트워크를 나누는 것
    • 서브넷 -> 서브네트워크, 쪼개진 네트워크
    • 서브넷마스크 -> 서브네트워크를 위한 비트마스크

서브넷마스크

  • 네트워크주소부분만 모두 1, 호스트주소는 0
  • & 연산자 사용

공인IP, 사설IP

profile
블로그 이전 : https://medium.com/@jaegeunsong97

0개의 댓글