-
네트워크] 네트워크 계층 -1 : 인터넷 프로토콜(IP:Internet Protocol)Network 2025. 1. 26. 22:40반응형
네트워크 계층
LAN을 넘어서 다른 네트워크와 통신하기 위해서 네트워크 계층의 역할이 필수적이다.
- 물리 계층과 데이터 링크 계층의 한계
- 다른 네트워크까지의 도달 경로를 파악하기 어려움
- 라우팅(routing) : 패킷이 이동할 최적의 경로를 결정하는 것
- 라우터(router) : 라우팅을 수행하는 대표적인 장비
- 모든 네트워크에 속한 모든 호스트의 위치를 특정하기 어려움
- IP주소와 MAC주소는 함께 사용되고, 기본적으로 IP 주소를 우선 활용
- 다른 네트워크까지의 도달 경로를 파악하기 어려움
IP 주소 MAC 주소 택배의 수신지 역할 택배의 수신인 역할 논리 주소 (소프트웨어적 할당) 물리 주소 (하드웨어적 할당, 변경 어려움) - 유동적으로 할당
- DHCP(Dynamic Host Configuration Protocol)를 통해 자동으로 할당 받거나 사용자가 직접 할당- NIC마다 할당되는 고정된 주소 인터넷 프로토콜(IP:Internet Protocol)
- IP 기능
- 주소 지정(IP addressing)
- 각 장치(컴퓨터, 스마트폰 등)에 고유한 IP 주소를 부여하고, 이 IP 주소를 이용해 누가(보내는 쪽) 누구에게(받는 쪽) 데이터를 전달할지를 결정하는 과정
- 단편화(IP fragmentation)
- 전송하고자 하는 패킷의 크기가 너무 클 때 여러 개의 패킷으로 쪼개서 보내는 것
- MTU(Maximun Transmission Unit) : 한 번에 전송 가능한 IP 패킷의 최대 크기
- 나누어진 패킷은 수신지에 도착하면 다시 재조합
- 일반적으로 1500byte
- 주소 지정(IP addressing)
IPv4 (IP version.4)
- 오늘 날에 주로 사용하는 프로토콜
- IPv4 주소 형태
- 4byte(32bit)로 주소를 표현할 수 있고, 숫자당 8bit로 표현되기에 0~255 범위 안에 있는 점(.)으로 구분된 네 개의 10진수로 표기
- 점으로 구분된 각 숫자를 옥텟(octet)이라고 함.
- IPv4 주소 형태
- IPv4 패킷의 핵심 필드
- 식별자(identifier)
- 패킷에 할당된 번호
- 어떤 메시지에서부터 쪼개졌는지 인식하기 위해 사용
- 플래그(flag)
- 3bit로 이루어짐
- 첫 번째 비트 : 0
- 항상 0으로, 현재 사용되지 않고 있음
- 두 번째 비트 : DF(Don’t Fragment) 비트
- 1 : IP 단편화 하지 마세요
- 0 : IP 단편화 해도 됨
- 부가 정보
- MTU를 초과하는 패킷이 들어온다면?
- 해당 패킷을 강제로 쪼개지 않고 라우터에 의해 폐기 후, 발신지에 ICMP(Internet Control Message Protocol) “Fragmentation Needed and DF Set” 메시지가 반환
- DF비트를 1로 설정하는 주된 이유
- “Path MTU Discovery”(PMTUD)를 위해서이다.
- Path MTU Discovery
- 송신 측에서 DF 비트를 1로 설정한 패킷을 전송한다.
- 중간에 라우터가 패킷 크기가 MTU를 초과했다며 단편화하지 않고 폐기하고, 송신지에 ICMP 메시지를 보낸다.
- 송신 측은 ICMP 메시지 정보를 바탕으로 패킷 크기를 줄여 다시 전송한다.
- 결과적으로 네트워크 경로 중 가장 작은 MTU를 파악해, 효율적인 전송 크기를 찾을 수 있다.
- Path MTU Discovery
- “Path MTU Discovery”(PMTUD)를 위해서이다.
- → 네트워크 경로상에 있는 각 구간에 따라 MTU 값이 제각각이다.
- MTU를 초과하는 패킷이 들어온다면?
- 세 번째 비트 : MF(More Fragment) 비트
- 1 : 단편화된 패킷이 아직 더 남아있다.
- 0 : 단편화된 패킷이 더이상 남아있지 않고 이게 마지막 패킷이다.
- 첫 번째 비트 : 0
- 3bit로 이루어짐
- 단편화 오프셋 (fragment offset)
- 초기 데이터에서 몇 번째로 떨어진 패킷인지를 나타냄
- 단편화된 패킷들이 순서대로 도착하지 않을 수 있기 때문에 순서대로 재조합하려면 초기 데이터에서 몇 번째에 해당하는 패킷인지 알아야 함
- TTL (Time To Live)
- 패킷의 수명. 무의미한 패킷이 네트워크상에 계속 남아있는 것을 방지
- 패킷이 하나의 라우터를 거칠 때마다 TTL이 1씩 감소. TTL 값이 0이 되면 폐기
- 홉(hop) : 패킷이 호스트 또는 라우터에 한 번 전달되는 것. TTL 필드 값은 홉마다 1씩 감소
- 프로토콜
- 상위 계층의 프로토콜이 무엇인지 나타내는 필드(어떤 계층을 캡슐화했는지)
- 송신지 IP 주소
- 수신지 IP 주소
- 식별자(identifier)
IPv6 (IP version.6)
- IPv4 주소는 이론적으로 2의32승 으로 약 43억 개까지 할당 가능하다. 하지만 이 또한 부족하여 IPv6가 등장했다.
- IPv6 주소 형태
- 16byte(128bit)로 표현할 수 있고, 콜론(:)으로 구분된 8개의 16진수.
- 이론적으로 할당 가능한 IPv6 주소 갯수는 2의128승 개
- IPv6 패킷
- 다음 헤더 (next header)
- 상위 계층의 프로토콜 또는 확장 헤더를 가리키는 필드
- 확장 헤더(extension header) : 추가적인 헤더. IPv6 기본 헤더 뒤에 필요한 확장 헤더들을 체인(Chaining) 형식으로 연결하여 사용함.
- 여러 개의 확장 헤더가 연달아 붙을 수 있음
- 확장 헤더 종류
- 홉 간 옵션(Hop-by-Hop Options) : 송신지에서 수신지에 이르는 모든 경로의 네트워크 장비가 이 패킷을 검사하도록 하는 옵션
- 수신지 옵션(Destination Options) : 수신지에서만 패킷을 검사하도록 하는 옵션
- 라우팅(Routing) : 패킷이 특정 경로(중간 노드들)를 거쳐가도록 지정하고 싶을 때 사용.
- 단편(Fragment) : IPv6는 라우터에 의한 단편화가 불가하고, 오직 송신지에서만 단편화를 수행할 수 있음.
- ESP(Encapsulating Security Payload), AH(Authentication Header) : 암호화 인증
- 여러 개의 확장 헤더가 연달아 붙을 수 있음
- 홉 제한 (hop limit)
- 패킷의 수명을 나타내는 필드 ( = Pv4 패킷의 TTL 필드)
- 송신지 IP 주소
- 수신지 IP 주소
- 다음 헤더 (next header)
- IPv6 단편화
- IPv4의 단편화와 다른 점
- IPv4는 패킷 크기가 MTU보다 큰 경우, 중간 라우터가 단편화를 수행할 수 있었지만, IPv6는 중간 라우터가 단편화하는 기능이 제거되어 큰 패킷이 전송되다가 MTU를 초과할 경우 라우터는 패킷을 폐기(drop)하고 송신 호스트에게 ICMPv6 “Packet Too Big” 메시지를 전송
- 단편화 확장 헤더를 통해 단편화가 이루어짐
- (단편화 확장 헤더의)다음 헤더 : 또 다른 확장 헤더 혹은 상위 프로토콜을 가리킴
- 예약됨(reserved), 예약(res) : 0으로 설정되어 사용하지 않음
- 단편화 오프셋(fragment offset) : 전체 메시지에서 현재 단편화된 패킷의 위치 ( = IPv4의 단편화 오프셋 필드)
- M 플래그 (M flag) : 남아 있는 단편화 패킷 여부 ( = IPv4의 MF 플래그 필드)
- 1 : 더 많은 단편화 패킷이 있음
- 0 : 마지막 패킷
- 식별자(Identification) : 동일한 메시지에서부터 단편화된 패킷임을 식별 ( = IPv4의 식별자 필드)
- IPv4의 단편화와 다른 점
반응형'Network' 카테고리의 다른 글
혼공네트] 2주차 - 과제 : Ch2. 물리 계층과 데이터 링크 계층 (0) 2025.01.19 네트워크] 물리 계층 장비 - 허브 (0) 2025.01.19 네트워크] NIC와 케이블 (1) 2025.01.19 네트워크] 이더넷(Ethernet)에 대한 설명 (0) 2025.01.18 혼공네트] 1주차 - 네트워크 메시지 전송 과정 (0) 2025.01.12 - 물리 계층과 데이터 링크 계층의 한계