Network

IP 헤더

Pulseeee 2022. 12. 27. 18:20
반응형

끊어진 부분 넘기고 실시간 : UDP -> 일반우편
끊어져도 이어서 : TCP -> 등기우편

OSI 7 Layer                                                       TCP/IP 4 Layer

7 응용
6 표현                                                                     응용 4
5 세션
4 전송                                                                    전송 3
3 네트워크                                                             인터넷 2
2 데이터링크                                                         네트워크 엑세스  1
1 물리

 

Ethernet
UTP 케이블 100BaseTx

Network Access : Ethernet, TokenBus, TokenRing - LAN
 PPP, HDLC, Frame-Relay        - WAN
IP
신뢰성이 없다.(TCP가 신뢰성을 채워줌)
비연결성 데이터그램 방식
패킷의 완전한 전달(소실,중복,지연,순서바뀜) 을 보장하지 않음
조각나는 행위 자체 : 단편화

각 4계층 TCP Segmentation 분할(체계)

   3계층 IP  Flagmentation 조각(예상외)

IPv4   32bit  43억개 IP주소 고갈문제

IPv6   128bit 43억 X 43억 X 43억 X 43억


IP공유기(NAT) 
IPv4
Header Length(HLEN) (4 bits) 가변적
- 헤더의 길이
32비트(4 바이트) 워드 단위로 헤더 길이를 표시
- 길이 값 표현 
최소 5 (4 x 5 = 20 바이트)부터 15(4 x 15 = 60 바이트,옵션 포함된 경우)까지의 값 
2번째 4비트 부터 읽어서 TPC가 어디에 위치한지 알 수 있다.

0100 0101
0100 1111

DSCP는 우선순위,        드롭순위
                  3bit               2bit
                000  0             00 0
                111  7             11 3
                  0~7               0~3

IP packet 최대 MTU 65535Byte 입니다.
Ethernet 환경에서 MTU 1500Byte 제한

ping 168.126.63.1                   L3       ICMP
 <--- 20Byte --> <-----8Byte------> <-1472Byte->
(IP 168.126.63.1 (ICMP Echo-Request (Padding)))
                                                                       ABCDABCDABCD......
                                                                        A       B      C      D
                                                                       1010 1011 1100 1101
(IP, 20 (ICMP, 8        (Pad, 1472)))                   1Packet

(IP, 20 (ICMP, 8        (Pad, 1473)))
-> (IP,   20   (ICMP,   8 (Pad, 1472)))               2Packet
   (IP,    20                    (Pad, 1)))


identifier 조각이 났을경우 재 조립을 위해 같은 값으로 생김
               - flags : 잘라졌을경우 그뒤에 더 있는지 표시해줌
               - fragment offset : 잘라졌을때 어느위치에 잘라진걸 넣는지 표시해줌

TTL time to live (8비트) : 라우터를 하나 거칠때마다 1씩 까짐
-> 무한이 도는 패킷을 방지함(루핑방지)

윈도우는 128시작
리눅스  64시작

(IP, 6 (TCP, 80 (HTTP)))
(IP, 17 (UDP, 53 (DNS)))
(IP, 1 (ICMP, ... (....)))
   Protocol ID

IP 헤더뒤 있는 데이터가 어떤 종류의 데이터
하위계층 이어지는 상위계층 프로토콜 정보

4bit 0 ~ 15
8bit 0 ~ 255
16bit 0 ~ 65535
24bit 0 ~ 1600만
32bit 0 ~ 43억

Protocol Identifier (8bits)

/etc/protocols   -> (IP뒤에 어떤 프로토콜이 있는지)
/etc/services    -> (IP, 6 (TCP, ? (????)))


Header Checksum

IPv4 헤더
IPv6 헤더

 

반응형