PromleeBlog
sitemap
aboutMe

posting thumbnail
IP: 인터넷 프로토콜
IP: Internet Protocol

📅

🚀

IP 데이터그램 구조 (IP Datagram Structure) 🔗

IP 프로토콜 버전 번호
: IPv4(4) 또는 IPv6(6)와 같이 사용 중인 IP 버전을 나타낸다.
헤더 길이
: IP 헤더의 길이를 32비트 단위로 나타낸다.
서비스 유형 (Type of Service)
: 패킷의 우선순위와 서비스 품질(QoS)을 지정한다.
전체 데이터그램 길이
: IP 헤더와 데이터의 총 길이를 바이트 단위로 나타낸다.
식별자, 플래그, 단편 오프셋
: IP 데이터그램이 단편화될 때 사용됨다. 식별자는 각 단편을 고유하게 식별하며, 플래그는 단편화 여부를 나타내고, 단편 오프셋은 각 단편의 위치를 나타낸다.
TTL (Time to Live)
: 패킷이 네트워크를 통해 이동할 수 있는 최대 홉 수를 나타낸다. 각 라우터를 통과할 때마다 1씩 감소하며, 0이 되면 패킷은 폐기된다.
프로토콜
: 상위 계층 프로토콜(TCP, UDP 등)을 나타내며, IP 패킷의 페이로드를 처리할 프로토콜을 지정한다.
헤더 체크섬
: IP 헤더의 무결성을 확인하기 위해 사용되는 값이다. 헤더의 오류를 검출할 수 있다.
출발지 및 목적지 IP 주소
: 패킷의 출발지와 목적지 IP 주소를 나타낸다.
옵션
: 필요한 경우 추가 정보를 제공할 수 있는 필드임다. 예를 들어, 타임스탬프, 경로 기록, 방문할 라우터 목록 등을 지정할 수 있다.
데이터
: IP 데이터그램의 실제 데이터를 포함하며, 가변 길이로 되어 있음다. 일반적으로 TCP 또는 UDP 세그먼트를 포함한다.
오버헤드
: IP 헤더(20바이트)와 TCP 헤더(20바이트)를 포함하여 총
40바이트
의 오버헤드가 발생함다. 응용 계층의 오버헤드는 이 외에도 추가된다.

🚀
TTL
: 여러 목적이 있지만, 가장 중요한 것은 데이터그램이 영원히 순환하지 않도록 보장하는 것이다.
프로토콜
: 네트워크 계층을 전송 계층에 연결하는 역할을 한다.
길이
: 16비트로, 헤더와 페이로드를 포함한다.
단편화
(아래 참조)
인터넷 체크섬
: IP 헤더에서 오류 검사를 위한 것이다.
옵션

🚀

IP 단편화 및 재조립 (IP Fragmentation and Reassembly) 🔗

네트워크 링크는 MTU(Maximum Transmission Unit)라는 최대 전송 단위를 가진다.
➡️

예시 🔗

MTU: 1500바이트
IP 데이터그램: 4000바이트
단편화된 패킷: 1500바이트, 1500바이트, 1040바이트

🚀

IPv4 주소 지정: 개요 (IPv4 Addressing: Overview) 🔗

IP 주소: 호스트, 라우터
인터페이스
를 위한 32비트 식별자
👍
인터페이스는 실제로 어떻게 연결되는가?
유선 이더넷 인터페이스는 이더넷 스위치를 통해 연결됨
무선 WIFI 인터페이스는 WIFI AP(Access Point)를 통해 연결됨

🚀

서브넷 (Subnets) 🔗

IP 주소:
서브넷이란?

🚀

CIDR (Classless Inter-Domain Routing) 🔗

임의 길이의 서브넷 주소를 지원하는 IP 주소 체계
주소 형식: a.b.c.d/x
예시:200.23.16.0/23

🚀

IP 주소: 어떻게 얻는가? (How to Get an IP Address) 🔗

수동 할당: 관리자가 IP 주소를 수동으로 할당(하드코딩)
동적 할당:
DHCP
(Dynamic Host Configuration Protocol)를 사용하여 IP 주소를 동적으로 할당

DHCP (Dynamic Host Configuration Protocol) 🔗

호스트가 네트워크에 연결될 때 IP 주소를
동적
으로 할당하는 프로토콜(plug and play)
개요
👍
네트워크가 서브넷 부분의 IP주소를 어떻게 얻는가?
ex) ISP의 블록:
11001000 00010111 0001
0000 00000000 - 200.23.16.0/20
👍
ISP가 주소 블록을 어떻게 얻는가?

🚀

계층적 주소 지정: 경로 집계 (Hierarchical Addressing: Route Aggregation) 🔗

ex) Fly-By-Night-ISP: "200.23.16.0/20 주소로 시작하는 모든 것을 나에게 보내라"
ex) ISPs-R-Us: "199.31.0.0/16 또는 200.23.18.0/23 주소로 시작하는 모든 것을 나에게 보내라"

🚀

NAT: 네트워크 주소 변환 (Network Address Translation) 🔗

동기
구현: NAT 라우터는 다음을 수행해야 함

🚀

IPv6: 동기 (IPv6: Motivation) 🔗

초기 동기
추가 동기
IPv6 데이터그램 형식

🚀

IPv6 데이터그램 구조 (IPv6 Datagram Structure) 🔗

priority
: 흐름 내에서 데이터그램의 우선순위를 나타낸
flow label
: 동일한
흐름
의 데이터그램을 식별함
next header
: 데이터의 상위 계층 프로토콜을 나타낸

🚀

IPv4 에서 IPv6로의 전환 (Transition from IPv4 to IPv6) 🔗

모든 라우터를 동시에 업그레이드 불가
터널링: IPv6 패킷을 IPv4 패킷에 넣어 전송

🚀

터널링 (Tunneling) 🔗

image
A (IPv6) -> B (IPv6) -> C (IPv4) -> D (IPv4) -> E (IPv6) -> F (IPv6)