버전
IPv4
- 가장 널리 쓰이는 버전
- 총 32bit로 구성됨
- 8bit.8bit.8bit.8bit 으로 표기됨 (ex. 192.168.0.1)
IPv6
- IPv4의 주소가 32bit로 구성되다보니 점점 주소가 부족해지고 있음
- 이를 해결하기 위해 나옴
- 총 128bit로 구성됨
- 16bit 8자리로 구성됨.
- 한 자리는 4 bit씩 나눠서 16진수로 표기함
- ex. 2001:db8:0000:0000:250:af:34ff:fe26
IPv4 헤더

- 이미지 출처
- 버전 : IP 버전
- 헤더 길이

- 서비스 종류 (Type of Service, ToS):
- Precedence :
- 000 : Routine (Normal)
- 001 : Priority
- 010 : Immediate
- 011 : Flash
- 100 : Flash Override
- 101 : Critical
- 110 : Internetwork Control (OSPF에서 셋팅됨)
- 111 : Network Control
- D(elay) : 지연. 0 = 일반 / 1 = 높음
- T(hroughput) : 처리율. 0 = 일반 / 1 = 높음
- R(eliability) : 신뢰도. 0 = 일반 / 1 = 높음
- C(ost) : 최소비용을 나타냄
- 0 : 예비용
- Precedence :
- 총 패킷 길이 : IP 헤더를 포함한 총 데이터 길이 (바이트 기준)
- 프래그먼트 식별자 : 같은 데이터그램이면 같은 식별자를 가짐
- 프래그먼트 플래그 :
- 0 : 예약 비트
- DF : Do not Fragment - 단편화 시키지 마세요
- 0 : 단편화 가능
- 1 : 단편화 불가능
- MF : More Fragment - 추가 단편 유무
- 0 : 내가 마지막임
- 1 : 추가로 더 필요함
- 프래그먼트 오프셋 : 쪼개지기 전 원본일 때의 위치
- TTL : Time to Live. 한 홉씩 옮겨질 때 마다 TTL 이 1 씩 감소함. 0이 되면 패킷 폐기
- Protocol ID : 상위 계층 프로토콜 정의
- 체크섬 : 오류 검출용
- 출발지 IP / 도착지 IP
- 옵션/패딩
IP Class
- A Class : 1.0.0.0 ~ 126.0.0.0
- B Class : 128.0.0.0 ~ 191.255.0.0
- C Class : 192.0.0.0 ~ 233.255.255.0
- D Class : 224.0.0.0 ~ 239.255.255.255
- E Class : 240.0.0.0 ~ 255.255.255.255
서브네팅 (Subnetting)
- 하나의 네트워크 주소를 여러 개로 분할해서 사용하는 것
서브넷 마스크
-
예시
-
현재 네트워크 주소가 192.168.10.0 이고, 서브넷 마스크가 255.255.255.0 이라면…
-
마스킹 되지 않은 부분이 내부 네트워크임
-
192.168.10.0 ~ 192.168.10.255 까지가 내부 네트워크라는 의미
-
서브넷 마스크는 어디부터 어디까지를 내부 네트워크로 볼 것인지에 대한 마스킹
-
가변 길이 서브넷 마스크 (VLSM), 고정 길이 서브넷 마스크 (FLSM)가 있음