Network Layer - IP

CODE-K·2025년 2월 11일
0

컴퓨터 네트워크

목록 보기
7/16

IP Datagram

IP 형식은 위 그림과 같다.
TCP와 마찬가지로 최소 20bytes의 header 크기를 가지고 있다.

Type of service : Data의 Type
Length : Header + Data 총 길이
16-bit identifier/flgs/fragment offset
: 크기가 큰 Datagram을 여러 조각으로 나누어 전송하는 과정에서 조각난 fragment 정보들을 표현
Time to live : TTL (남은 이동 가능한 hop 수)
Upper Layer : TCP or UDP
MTU (Max Transfer Size)

  • IP Datagram의 최대 전송 크기
  • IP Datagram의 크기가 너무 거대하면 이를 잘게 쪼개어 전송한다.

Datagram fragmentation

원본 4000byte의 Datagram을 fragment로 나누었다.
1500 / 1500 / 1040 길이로 나누었으며 포함된 내용은 다음과 같다.

length = header + data 길이
fragflag = fragment 여부 / 뒤에 잘린 Datagram이 더 있는지
offset = 이전 Payload / 8

각 IP Datagram은 header 길이 20을 포함하기 때문에
Payload는 1480 + 1480 + 1020 = 4000 이다.


IPv4 Addressing

IP Address

  • 32-bit identifier
    Interface
  • connection between host/router and physical link

IP 주소 등급
ICANN (Internet Corp. for Assigned Names and Numbers)에서 IP 주소 관리
Network ID의 범위에 따라 단계를 나눈다.


Subnet

IP 주소는 앞의 Subnet part과 뒤 Host part로 나뉜다.

Subnet Mask는 Network ID로 사용할 구간까지 연속된 1로 표현한다.
Subnet Mask를 통하여 IP 주소의 어디까지가 Network ID인지 구분할 수 있다.


CIDR (supernetting)

  • Classless InterDomain Routing
  • Subnet Part의 길이를 숫자로 표현

IP주소/끝나는 부분 으로 표현

CIDR 필요성

  • 구분지어놓은 Class는 Network 개수와 Host 개수가 적절하게 균형을 이루지 않기 때문에,
    Network 주소를 유동적으로 바꾸어 이를 해결한다.

DHCP (Dynamic Host Configuration Protocol)

  • Network에 접속하면 동적으로 IP주소를 host에게 부여
    • 주소 재사용 가능
    • mobile 사용자에게 유용 (필요시 네트워크 접속)

Client가 Network에 연결하기 위해 주소가 필요.
1) Client가 DHCP Server에 주소 요청
2) DHCP Server가 주소 제공
3) Client가 주소 확인
4) DHCP Server가 확인


IPv4 의 문제점

현재 IPv4 주소는 고갈 -> IPv6를 사용하려고 하지만 제약이 많음
이를 해결하기 위해 NAT (Network Address Translation)이 등장

NAT

  • 인터넷 공유기 1대에만 IP주소를 할당, 같은 공유기를 사용하는 전자기기에는
    가상 IP를 부여한다.
  • 사설 IP -> 내부 사용
  • 공식 IP -> 외부 사용

하나의 공유기를 사용하는 내부망과 외부망의 연결 시, 공유기가 연결을 관리.

공유기를 통해 내부 IP 주소와 Port 번호를 변형하여 연결한다.

IPv6

IPv6는 128bit 길이의 주소 체계이다.
기존 10진수 형식의 표현에서 16진수 표현법으로 변경되었다.

기존 IPv4에서 보다 주소 길이가 늘어났기 때문에 오버헤드를 줄이기 위해 Header 정보들을
개편하였다.

최소 크기는 40bytes이며, 확장 헤드를 이용하여 헤드를 확장할 수 있다.
-> IPv4에서 fragmentation 과정과 대응

IPv4 에서 IPv6로 주소 체계를 변경하는 것은 상당한 시간이 필요하다.
-> Router가 IPv4를 지원하기 때문에, 모든 Router를 당장 교체하는 것이 불가능.

IPv4에서 IPv6 주소를 사용하는 방법은 tunneling을 이용하는 것이다.

Tunneling

IPv4의 Datagram에서 Payload 부분에 IPv6의 Datagram을 넣어서,
IPv4에서도 IPv6의 내용을 사용할 수 있도록 한다.

profile
개발자 지망생입니다.

0개의 댓글