9. IP 프로토콜(2)

윤주원·2023년 7월 20일
0

컴퓨터 네트워크

목록 보기
9/15
post-thumbnail

IP 프로토콜

  • 비연결형 서비스를 제공
  • 패킷을 분할/병합하는 기능을 수행
  • 데이터 체크섬은 제공하지 않고, 헤더 체크섬만을 제공
  • Best Effort원칙에 따른 전송기능을 제공
  • 구조

IP 프로토콜 구조

패킷 분할 관련 필드

  • Identification (식별자)
    : IP헤더의 두번째 워드에는 패킷 분할과 관련된 정보가 포함
    : Identification은 송신자가 지정하는 패킷 구분자 기능을 수행함
  • DF : 패킷이 분할되지 않도록함
  • MF
    : MF필드 값을 1로 지정하여, 분할 패킷이 뒤에 계속됨을 표시
    : 마지막 패킷은 MF 비트를 0으로 지정하여 분할 패킷이 더 없음을 표시
  • Fragment Offset
    : 분할된 패킷의 내용이 원래의 분할 전 데이터에서 위치하는 상대 주소 값
    : 8바이트의 배수로 표현됨

주소 관련 필드

  • Source Address : 송신 호스트의 IP주소
  • Destination Address : 수신 호스트의 IP

IP프로토콜 주소

  • Network
    : 네트워크 주소

  • Host
    : 네트워크 주소가 결정되면 하위 호스트를 개별 네트워크 관리자가 할당

  • 주소 체계

서브넷

  • IP 주소에서 호스트의 주소의 bit 중 일부를 사용해 하나의 네트워크를 작은 네트워크로 나눈 것

  • 사용 목적
    : 할당 받은 IP 주소를 효과적으로 사용
    : 네트워크 관리 및 제어 등

  • 서브넷을 나누지 않은 경우

  • 서브넷을 나눈 경우

서브넷 마스크

  • IP주소에서 어디까지가 네트워크 주소로 활용되는지 알려주는 역할

  1. 사용할 주소를 제외하고는 전부 0으로 초기화
  2. and 연산으로 둘 다 1이 아니면 0이 되기에 사진과 같이 됨

ex)

  • 네트워크 주소 : 192.168.10.0
  • 서브넷 마스크 : 255.255.255.0 (/24)

호스트 수 100개, 60개, 60개를 수용할 수 있는 3개의 서브넷으로 나눈다면?

  1. 먼저 100개를 수용할 수 있는 서브넷을 생성
    : 192.168.10.0(/25) 또는 192.168.10.128(/25)
  2. 둘 중 하나의 네트워크는 100개를 수용, 나머지 하나는 60개를 수용하기 위해 2개의 서브넷으로 분할

호스트 수 100개, 60개, 60개를 수용할 수 있는 3개의 서브넷으로 나눈다면?


IP 헤더의 구조

  • Version Number
    : IP 프로토콜의 버전 번호

  • Header Length
    : IP프로토콜 헤더 길이를 표시

  • Packet Length
    : IP헤더를 포함한 패킷의 길이

  • Time To Live
    : 패킷의 생존 시간, 라우터를 거쳐갈 때마다 1씩 감소되며 0이 되면 삭제

  • Transport
    : IP프로토콜에 데이터 전송을 요구한 전송 계층의 프로토콜을 기입

  • Header Checksum
    : 전송과정에서 발생할 수 있는 헤더 오류를 검출하는 기능

  • Options
    : 네트워크 관리 및 보안과 같은 특수 용도로 사용할 수 있음

  • Padding
    : IP헤더의 크기는 32비트(4byte)의 단위로 맞추도록 설계되어 있으며, 필드의 전체 크기가 이 조건에 맞지않으면 이 필드를 통해 조정

패킷 분할

조건

  • ip 헤더를 제외한 전송 데이터의 크기는 380바이트
  • 패킷은 최대 크기가 128 바이트라고 가정
설명
  1. 128에서 헤더를 제외한 값(한 패킷당 전송 가능한 크기) = 128-20 =108 바이트
  2. 8비트의 배수로 분할해야되기에 108를 8로 나눈 몫에 8을 곱함 = 104
  3. 최대 크기가 104이므로 다시 헤더를 더함 = 124
  4. 아까 380 크기에 104로 계속 분할, 더 이상 안 될 때까지 함
  5. packet length에는 헤더를 포함한 값을 적는다
  6. 더 이상 분할이 안되기에 MF에는 0으로 지정
  7. fragment offset은 2번에 108에서 8로 나눈 몫 만큼 증가
profile
안녕하세요

1개의 댓글

comment-user-thumbnail
2023년 7월 20일

아주 유익한 내용이네요!

답글 달기