Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- 싸피
- 코딩공부
- Dynamic Programming
- SSAFY
- DP
- 전송계층
- 개발공부
- 스프링 부트와 AWS로 혼자 구현하는 웹 서비스
- IP
- TCP
- Java
- 네트워크
- Lan
- 프로토콜
- BAEKJOON
- 백준
- Spring
- 알고리즘공부
- 서버
- 구현
- 클라이언트
- 다이내믹프로그래밍
- cs공부
- 네트워크모델
- 스프링
- 알고리즘
- 코딩테스트
- 개발자
- 정렬
- 자바
Archives
- Today
- Total
오늘 하루, develop
#9. [3계층] IP 프로토콜이란? 본문
♦ 소개
3계층 프로토콜 중 하나인 IP 프로토콜에 대한 내용을 정리했습니다 :)
♦ IP 프로토콜 (Internet Protocol)
네트워크 상에서 데이터를 교환하기 위한 프로토콜
- 데이터가 정확하게 전달될 것을 보장하지 않는다.
- 중복된 패킷을 전달하거나 패킷의 순서를 잘못 전달할 가능성도 있다.
- 데이터의 정확하고 순차적인 전달은 그보다 상위 프로토콜인 TCP에서 보장한다.
♦ 구조

20byte라고 생각하면 됨(마지막 줄은 그냥 옵션. 옵션은 4byte 단위로 붙음)
- Version (4bit) : 4 (고정)
- 프로토콜의 길이 (4bit) : 5 (일반적으로 20byte이므로)
- 최소 20byte, 최대 60byte
- 근데 4bit는 0~15까지만 표현 가능!
- 그래서 4로 나눔
- 20byte는 5로 표현 (0101)
- TOS (8bit) : 0 (지금은 안 쓰임)
- Total Length (16bit) : 헤더뿐 아니라 payload까지 다 합친 길이. 전체 길이
- Identification (16bit) : 쪼개진 패킷들이 하나의 데이터라는 것을 알려주기 위한 id 값
- IP Flags (3bit)
- x : 안 씀
- D : 패킷을 보내는 사람이 데이터를 안 쪼개서 보내겠다는 것을 명시. 거의 안 쓴다고 보면 됨
- M : 나 말고 다른 패킷이 더 있음을 알려줌. 최대 전송 단위보다 크면 1로 세팅됨. 아니면 0
- Fragment Offset (13bit) : 패킷 시작 위치가 어디인지 표시 (패킷의 순서를 알 수 있게 함)
- 첫 번째 패킷은 0
- 두 번째 패킷은 첫 번째 패킷의 길이
- TTL (8bit) : Time to Live. 3계층 장비를 넘어갈 때마다 1씩 줄어듦. 0이 되는 순간 네트워크 장비는 이 패킷을 다른 곳에 전달하지 않고 버림
- 전세계 어디와 통신해도 30홉이 넘지 않음
- 리눅스는 54, 윈도우는 128로 설정해둠
- Protocol (8bit) : 상위프로토콜의 타입 (ICMP, TCP, UDP 등)
- Header Cheksum (16bit) : 헤더가 오류가 있는지 확인하는 역할
✔️ 실습
와이어샤크로 192.168.0.100 -> 192.168.0.51 ping 요청한 후 패킷 캡쳐
IP

출처
'네트워크' 카테고리의 다른 글
| #11. [4계층] 포트번호의 개념, 분류, 확인 방법 (0) | 2024.05.07 |
|---|---|
| #10. [3계층] 패킷 전송과정 (라우팅테이블, IPv4조각화) (0) | 2024.05.07 |
| #8. [3계층] ICMP 프로토콜이란? (0) | 2024.05.07 |
| #7. [3계층] ARP 프로토콜의 개념과 통신과정 (0) | 2024.05.07 |
| #6. IP주소의 모든 것 (MAC 주소, Class, 사설IP) (1) | 2024.04.21 |