LAN을 넘어 네트워크와의 통신을 위한 네트워크 계층
- IP 주소를 통한 송수신지 대상을 지정
- 라우팅을 통한 다른 네트워크와 통신
데이터 링크 계층의 한계
- 물리 계층과 데이터 링크 계층만으로는 LAN을 넘어서 통신하기 어려운 이유
- 다른 네트워크까지의 도달 경로를 파악하기 어려움
- 라우팅(routing) : 패킷이 이동할 최적의 경로를 결정하는 것
- 라우터(router) : 라우팅을 수행하는 대표적인 장비
- 모든 네트워크에 속한 모든 호스트의 위치를 특정하기 어려움
- MAC 주소와 IP 주소는 함께 사용되고, 기본적으로 IP 주소를 우선 활용
IP 주소 | MAC 주소 |
택배의 수신지 역할 | 택배의 수신인 역할 |
논리 주소 | 물리 주소 |
유동적으로 할당 자동으로 할당 or 사용자가 직접 할당 |
NIC마다 할당되는 고정된 주소 |
인터넷 프로토콜(IP)
물리 계층 & 데이터 링크 계층의 한계를 극복하는 프로토콜
IP 버전 4(이하 IPv4)와 IP 버전 6(이하 IPv6)
IP의 공식적인 두 기능
- 주소 지정(IP addressing)
- IPv4 주소를 바탕으로 송수신 대상을 지정하는 것을 의미
- 4바이트(32비트)로 하나의 주소를 표현
- 숫자당 8비트로 표현: 0 ~ 255 범위 안에 있는 네 개의 10진수로 표기
- 각 숫자는 점(.)으로 구분
- 점으로 구분된 8비트(0~255 범위의 10진수)를 옥텟(octet)이라 함
ex) 192.168.1.1
- 점으로 구분된 8비트(0~255 범위의 10진수)를 옥텟(octet)이라 함
- 단편화(IP fragmentation)
- 전송하고자 하는 패킷의 크기를 MTU 이하의 복수의 패킷으로 나누는 것
- MTU(Maximum Transmission Unit)
- 한 번에 전송 가능한 IP 패킷의 최대 크기
- IP 패킷의 헤더도 MTU 크기에 포함
- 일반적인 MTU 크기는 1500바이트,
MTU 크기 이하로 나누어진 패킷은 수신지에 도착하면 다시 재조합
- MTU(Maximum Transmission Unit)
- IPv4
IPv4 패킷은 프레임의 페이로드로 데이터 필드에 명시
- IPv4 패킷의 핵심 필드
- 식별자(identifier)
- 패킷에 할당된 번호
- 쪼개져서 도착한 IPv4 패킷들이 어떤 메시지에서 쪼개졌는지 알기 위해 사용 - 플래그(flag) : 세 개의 비트로 구성
- 첫 번째 비트는 항상 0: 현재 사용되지 않음
- DF비트(Don't Fragment) - IP 단편화를 수행하지 말라는 표시
1이라면: "IP 단편화 수행하지 말라"
0이라면: "IP 단편화 가능하다"
- MF 비트(More Fragment) - 단편화
1이라면: "쪼개진 패킷이 아직 더 있다"
0이라면: "이 패킷이 마지막 패킷이다"
- 단편화 오프셋(fragment offset)
- 초기 데이터에서 몇 번째로 떨어진 패킷인지 나타냄
단편화되어 전송되는 패킷들은 수신지에 순서대로 도착하지 않을 수 있음
수신지가 패킷들을 순서대로 재조합하려면
단편화된 패킷이 초기 데이터에서 몇 번째에 해당하는 패킷인지 알아야 함 - TTL(Time To Live)
- 패킷의 수명
- 무의미한 패킷이 네트워크상에 지속적으로 남아있는 것을 방지하기 위해 존재
- 패킷이 하나의 라우터를 거칠 때마다 TTL이 1씩 감소, TTL 값이 0으로 떨어진 패킷은 폐기
- 홉(hop): 패킷이 호스트 또는 라우터에 한 번 전달되는 것
즉, TTL 필드의 값은 홉마다 1씩 감소 - 프로토콜
- 상위 계층의 포로토콜이 무엇인지를 나타내는 필드
- ex) 전송 계층의 대표적인 프로토콜인 TCP는 6번, UDP는 17번 - 송신지 IP 주소
- 이름 그대로 송신지의 IPv4 주소 - 수신지 IP 주소
- 이름 그대로 수신지의 IPv4 주소
- IPv6
- IPv6 패킷의 핵심 필드
- 다음 헤더 (next header)
상위 계층의 프로토콜 or 확장 헤더를 가리키는 필
- IPv6는 기본 헤더와 더불어 확장 헤더(extension header) 를 가질 수 있음
- 확장 헤더는 기본 헤더와 페이로드 데이터 사이에 위치
- 마치 꼬리를 물듯 또 다른 확장 헤더를 가질 수도 있음
- 대표적인 확장 헤더
- 홉 간 옵션(Hop-by-Hop Options)
- 수신지 옵션(Destination Options)
- 라우팅(Routing)
- 단편(Fragment)
- 단편화 확장 헤더에도 다음 헤더 필드가 있음
- 단편화 오프셋(fragment offset)과 M 플래그(M flag), 식별자(Identification) 필드 - ESP(Encapsulating Security Payload), AH(Authentication Header)
- 홉 제한(hop limit)
IPv4 패킷의 TTL 필드와 비슷
패킷의 수명을 나타내는 필드
- 송신지 IP주소(source address), 수신지 IP 주소(destination address)
IPv6 주소를 통한 송수신지 지정
ARP (Address Resolution Protocol)
IP 주소를 통해 MAC 주소를 알아내는 프로토콜
- 동일 네트워크 내에 있는 송수신 대상의 IP 주소를 통해 MAC 주소를 알아낼 수 있음
ARP 동작
- ARP 요청 (ARP Request)
- 브로드캐스트 메시지 전송
- 이 브로드캐스트 메시지 = ARP 요청이라는 ARP 패킷
- ARP 응답 (ARP Reply)
- 수신자의 MAC 주소를 담은 유니캐스트 메시지를 송신자에게 전송
- 이 유니캐스트 메시지 = ARP 응답 이라는 ARP 패킷
- ARP 테이블(ARP Table) 갱신
- ARP 테이블: ARP 요청-응답을 통해 알게 된 IP 주소와 MAC 주소의 연관 관계
- ARP 테이블 항목은 일정 시간이 지나면 삭제, 임의 삭제도 가능
- ARP 테이블에 등록된 호스트에 대해선 ARP 요청을 보낼 필요 없음
# IP 단편화를 피하는 방법
단편화 : 전송하고자 하는 패킷의 크기를 MTU 이하의 복수의 패킷으로 나누는 것
- 단편화는 되도록 하지 않는 것이 좋다
- 불필요한 트래픽 증가와 대역폭 낭비
- 쪼개진 IP 패킷들을 하나로 합치는 과정에서 발생하는 부하도 성능 저하 요소
IP 단편화 피하는 법 :
- IP 패킷을 주고받는 모든 노드가 'IP 단편화 없이 주고 받을 수 있는 최대 크기' 만큼만 전송해야 함
- 'IP 단편화 없이 주고 받을 수 있는 최대 크기' = 경로 MTU(Path MTU)
즉, 단편화를 피하는 방법은 경로 MTU만큼의 데이터를 전송하는 것
경로 MTU 발견(Path MTU discovery): 경로 MTU를 구하고 해당 크기만큼만 송수신하여 IP 단편화 회피
사진 출처
혼자공부하는 네트워크
https://www.youtube.com/watch?v=c62qssA4hYI&list=PLYH7OjNUOWLVwdRF6_QmJVR4cQdMp0SU1
'컴퓨터 > 네트워크' 카테고리의 다른 글
02 물리 계층과 데이터 링크 계층 (스위치) (0) | 2024.09.14 |
---|---|
02 물리 계층과 데이터 링크 계층 (NIC와 케이블) (0) | 2024.09.13 |
02 물리 계층과 데이터 링크 계층 (이더넷) (0) | 2024.09.13 |
01 네트워크 개요 - 미시적으로 살펴보기 (2) | 2024.09.13 |
01 네트워크 개요 - 거시적으로 살펴보기 (0) | 2024.09.12 |