일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- MAC
- OSI 7계층
- FIFO
- link layer
- 운영체제
- 컴퓨터 네트워크
- information hiding
- OWASP
- protection
- Trap
- 유스케이스
- STCF
- DP
- Waterfall
- unity
- frequency-domain spectrum analysis
- 게임 개발
- DSP
- polymorphism
- 유니티
- stride
- 메카님
- SDLC
- Security
- Unity #Indie Game
- SJF
- 배경 그림
- 게임개발
- AINCAA
- MLFQ
- Today
- Total
다양한 기록
IP 구조, Fregmentation 본문
네트워크 레이어 프로토콜
IP
ICMP - 에러 리포팅, 라우터 시그널링
Routing protocols(라우터끼리 데이터 교환할 때 사용): RIP, OSPF, BGF
** ICMP
IP는 에러 신경 안씀, 신경써야 하면 ICMP 사용
IP 구조
ver | head. len | type of service | length | |
16-bit identifier | flags | fragment offset | ||
time to live | upper layer | header checksum | ||
32 bit source IP address | ||||
32 bit destination IP address | ||||
options (if any) | ||||
data (variable length, typically a TCP or UDP segment) |
ver : IPv4, IPv6
head. len : 헤더 길이 (최소 20바이트)
type of srevice : 텍스트 등
length : 전체 데이터그램 크기
16-bit identifier
flags
fragment offset
time to live : 지나칠 홉의 개수를 예측한 값, 하나 지날 때마다 하나씩 값을 내림
** 값이 0이 됐는데 도착을 안했다? -> 예정과 달리 도착을 안한 거니 폐기. 어차피 송신자가 재전송할 것
upper layer : TCP, UDP
header checksum : TCP/UDP에서 체크해서 사실 필요가 없음 -> IPv6에는 없음 ( 링크 레이어에서도 체크함
IP Fragmentation
길이 좁으면 데이터그램 쪼개기 가능( MTU, Max Transfer Size. 대역폭 )
각각 헤더를 다시 달아주는데 이때 identifier, flags, fragment offset 사용
쪼개진 데이터그램은 최종 도착지에서 재조립
length = 4000 | ID = x | frag flag = 0 | offset = 0 |
MTU가 1500이라 하면 위 데이터그램은 지나갈 수 없음
length = 1500 | ID = x | frag flag = 1 | offset = 0 |
length = 1500 | ID = x | frag flag = 1 | offset = 185 |
length = 1040 | ID = x | frag flag = 0 | offset = 370 |
이렇게 세 조각으로 나누면 지나갈 수 있음
이때, IP 헤더 20바이트를 고려해서 length = 1480 + 20 이 되도록 해야 한다.
ID는 같으면 원래 같은 패킷이었다는 것을 의미한다.
flag는 1이면 뒤에 더 따라올 패킷이 있음을 의미한다.
offset : 데이터가 조각화되면, 처음에서 얼마나 떨어져 있는 데이터인지 오프셋을 줘야 함
1480 / 8 = 185, 1480 * 2 / 8 = 370
왜 8로 나누는가? 그냥 단위가 8
'네트워크' 카테고리의 다른 글
DHCP, NAT (0) | 2024.05.21 |
---|---|
IP addressing: Subnet Mask, CIDR (0) | 2024.05.21 |
네트워크 스케줄링 메커니즘 (0) | 2024.05.06 |
라우터 내부, switching fabric (0) | 2024.05.06 |
네트워크 레이어, 포워딩과 라우팅 (0) | 2024.05.06 |