인터넷 프로토콜 : IP
🗃️ 참고 자료
K-MOOC 네트워크 기초
정보통신기술용어해설 IP 헤더
정보통신기술용어해설 TCP/IP
네트워크 프로토콜
🔶 연결지향 프로토폴과 비연결형 프로토콜로 구분
- 연결지향 프로토콜(Connection-oriented) : 데이터를 전송하기 전에 반드시 연결 설정을 해야함
- 비연결형 프로토콜(Connectionless) : 연결설정과정 없이 데이터 전송만이 존재
🔶 대표 프로토콜인 IP는 비연결형 프로토콜
IP 패킷의 형태
🔶 인터넷 프로토콜인 IP는 비신뢰성(unreliable), 비연결형(connectionless) 데이터그램 프로토콜
- best-effort 전달 서비스를 제공
- 에러제어나 흐름제어가 없음
- 에러 검출만하고 만일 발견되면 폐기
🔶 신회성이 중요한 전송에서는 TCP를 함께 사용
🔶 IP에서 패킷을 데이터그램이라고 부름
버전(Version : VER)
- IP 프로토콜의 버전을 나타내는 것으로 IPv4와 IPv6로 나뉨
- 헤더의 크기를 나타내는 것으로 4바이트 단위로 나타낸 크기
- 헤더의 크기는 20~60 바이트로 가변적임
서비스
- IP 패킷의 서비스의 형태
- 응용 서비스마다 주요하게 다루어야 할 특서으로 지연시간, 신뢰성, 처리량 등 어떤 특성을 고려해야할지 명시
전체 길이
- IP 데이터그램을 바이트단위로 나타낸 전체 길이
생존 시간(Time to live : TTL)
- IP 데이터그램이 지나가는 최대 홉(hop)의 수
- 각 라우터를 지나갈 땜다 1씩 감소
- 값이 0이되면 라우터는 해당 데이터그램을 폐기
프로토콜
- IP 계층 위에 존재하는 상위 프로토콜이 무엇인지 명시
체크섬(Checksum)
📖 참고 자료
철무니의 정보 보안세상_체크섬 계산법
SlowKnight_TCP 체크섬(checksum) 계산법 예제
- IP패킷의 헤더에 대한 오류 검사를 위해 사용
- 송신자 주소와 목적지 주소 ▶ 송신자와 수신자의 IP주소를 의미
- 계산 방법
1. 처음에 체크섬의 값을 0
으로 설정
2. 전체 헤더를 16비트 단위로 구분하여 1의 보수 연산
을 수행
3. 결과 값을 보수로 만들어서 체크섬 필드에 저장
단편화와 옵션
🔶 프레임의 크기와 형태는 네트워크에 따라서 다름
- P 패킷은 여러 네트워크를 경유하기 때문에 다양한 데이터링크 프로토콜을 거쳐감
- IP 패킷은 네트워크가 수용할 수 있는 크기로 분할, 이를 단편화(fragmentation)라 함
🔶 IP 패킷이 프렘임으로 만들어질 때, 데이터링크 프로토콜에서 수용하는 퇴대 크기를 Maximum Transfer Unit(MTU)라 함
플래그(flag)
- 3비트로 구성되며 첫 번째 비트는 사용하지 않음
- 두 번째 비트는
단편화 금지
를 의미 ▶ 값이 1이면 단편화하지 말라는 의미
- 세 번째 비티는
단편이 더 있음
을 의미
1. 값이 1이면 단편이 더 있음을 의미
2. 값이 0이면 마지막 단편을 의미
단편화 위치 값(Fragmentation offset)
- 13비트로 구성되어 있으며 단편이 합쳐질 때, 해당 단편의 위치 값
- 위치 값은 첫 번째부터 시작하며 8바이트 단위로 표시
옵션