IP의 목적과 특징
- 목적
- 1. 주소지정 (addressing)
- 네트워크 간의 통신 과정에서 호스트를 특정하는 것
- 2. 단편화 (fragmentation)
- 데이터를 여러 IP 패킷으로 올바르게 쪼개어 보내는 것
- 1. 주소지정 (addressing)
- 특징
- 1. 신뢰할 수 없는 통신
- 2. 비연결형 통신
주소 지정과 단편화
- 주소 지정 : IP 주소(논리주소라고도 부르는 네트워크 계층의 주소 체계)를 통해 이루어지며, IP 패킷 헤더를 통해 알수 있음
- 송신지 IP 주소 , 수신지 IP 주소
- 송수신지를 식별할 수 있는 IP 주소 명시
- 하나의 IP 주소는 총 4바이트 크기로 구성, 숫자당 8비트 → 0~255 범위의 10진수 4개로 표기
- 10진수는 점으로 구분하며, 구분된 하나의 10진수를 옥텟(octet)이라고 함
- ex ) 192.168.0.1 → '192' , '168', '0', '1' 각각 8비트로 표현가능한 옥텟임
- 송신지 IP 주소 , 수신지 IP 주소
MAC 주소 | IP 주소 |
수신인 | 수신 주소 |
발신인 | 발신 주소 |
올바른 패킷 전송에서 모두 필요 | |
패킷 송수신 과정에서 IP주소가 우선적으로 활용됨 |
- 라우터(router)
- 서로 다른 네트워크에 속한 두 호스트가 네트워크 간 통신을 수행시, IP 주소를 바탕으로 목적지 까지 IP 패킷을 전달하는 네트워크 장비
- 패킷을 목적지까지 전달하는 역할 수행시, IP 패킷을 전달할 최적의 경로를 결정하고 해당 경로로 패킷을 내보낼수 있어야함 → 해당 과정을 라우팅(routing) 이라함
- 요컨데, IP 주소를 기반으로 패킷의 최적 경로를 결정하여 목적지까지 전달하는 네트워크 장비 (ex. 공유기!!)
- 단편화 기능
- MTU(Maximum Transmission Unit) : 최대 전송 단위
- 전송하고자 하는 IP 패킷의 크기가 MTU 단위보다 클경우 패킷을 여러 패킷으로 쪼개서 전송 → 수신지에서 재조합
- 일반적으로 1500 바이트
- 식별자 (Identifier)
- 특정 패킷이 어떤 데이터에서 쪼개진 패킷인지 식별하기 위해 사용되는 필드
- 같은 정보에서 쪼개진 패킷은 같은 식별자를 공유 → 식별자를 통해 단편화되어 전송되는 패킷 구분 가능
- 플래그 (flag)
- 3비트로 구성된 필드
- 첫번째 비트를 제외한 나머지 2개의 비트는 각각 DF, MF라는 이름이 있음
- 첫번째 비트는 항상 0으로 설정되어 사용X
- DF : IP 단편화를 하지마라 (Don't Fragment)
- MF : 단편화된 패킷이 더있다. (More Fragment)
- MTU(Maximum Transmission Unit) : 최대 전송 단위
- 단편화 오프셋(fragment offset)
- 특정 패킷이 초기 데이터에서 얼마나 떨어져 있는지 명시된 필드
- 목적지에서 재조합하기 위해 패킷의 올바른 순서를 나타내는 데 사용
- 단편화 오프셋(fragment offset)
신뢰할 수 없는 통신과 비연결형 통신 (IP 특징)
- IP의 특징 → 전송 계층의 TCP, UDP의 존재 목적과 직결됨
- 신뢰할수 없는 통신 (unreliable protocol) : 패킷이 수신지가지 제대로 전송되었다고 보장하지 않는 프로토콜을 의미
- 패킷이 유실되거나 목적지에 순서대로 전송되지 않더라도 이에 대한 조치를 취하지 않는 것을 의미함
- 최선형 전달(best effort delivery)라고도 함. 어떠한 보장도 하지 않는 전송 특징임.
- 비연결형 프로토콜(connectionless protocol)
- 패킷을 주고받기 전에 사전 연결 과정을 거치지 않는다는 것을 의미 → 상대 호스트의 수신 가능 여부를 고려하지 않고, 수신지를 향해 패킷을 전송만 한다는 뜻
IP 주소의 구조
- 네트워크 계층은 LAN간의 통신을 가능하게 함 → IP 주소를 기반으로 이루어짐
- 하나의 IP 주소는 0 ~ 255 범위의 10진수 4개(32비트)로 표기되며, 네트워크 주소, 호스트 주소로 이루어짐
- 네트워크 주소는 네트워크 ID, 네트워크 식별자 등으로 불리며, 호스트가 속한 네트워크를 특정하기 위해 사용
- 호스트 주소는 호스트ID, 호스트 식별자 등으로 불리며, 네트워크에 속한 호스트를 특정하기 위해 사용
- 하나의 IP 주소에서 네트워크 주소를 표현하는 크기와 호스트를 표현하는 크기가 유동적일 수 있음!!!!
A~C 클래스 및 클래스별 IP 주소 표현의 가능 범위
클래스풀 주소 체계
- 클래스 : 네트워크의 크기에 따라 유형별로 IP 주소를 분류하는 기준 → 네트워크 주소 & 호스트 주소의 크기에 대한 고민을 해결하기 위해 생겨남
- A ~ E 까지 총 5개의 종류가 있음
- D, E 클래스는 멀티캐스트를 위한 클래스로, 특수한 목적을 위해 예약된 클래스임
- A, B, C : 네트워크의 크기별로 IP 주소를 분류하는데 실질적으로 사용되는 클래스
- 클래스풀 주소 체계 : 클래스를 기반으로 IP 주소를 관리하는 주소 체계
- 첫 옥텟의 주소를 보고, A,B,C 클래스 중 어떤 클래스인지 파악이 가능함
클래스리스 주소 체계와 서브넷 마스크
- 클래스풀 주소 체계의 한계 : A, B, C 클래스는 각각 8, 16, 24비트로 크기가 고정 → IP 주소 낭비
- 클래스리스 주소 체계 (classless addressing)
- 클래스를 이용하지 않고, 네트워크와 호스트를 구분하는 방식
- 서브넷 마스크 (subnet mask)
- IP 주소상에서 네트워크 주소를 1로 표기하고, 호스트 주소를 0으로 표기한 비트열
- 즉, 서브넷을 구분하는 비트열 == 서브넷 마스크
- 서브네트워크 (subnetwork)
- IP주소에서 네트워크 주소로 구분할 수 있는 네트워크의 부분집합
- 서브넷이라고 줄여부르기도함
- 서브네팅
- 서브넷 마스크를 이용해, 원하는 크기로 클래스를더 잘게 쪼개어 사용하는 것
- A, B, C 클래스의 기본 서브넷 마스크 표현 방법
- 서브넷 마스크와 IP 주소간의 AND 비트 연산 수행 → IP 주소 내의 네트워크 주소를 알아낼 수 있음
공인 IP 주소와 사설 IP 주소
- 공인 IP 주소 (public IP address)
- 전 세계에서 고유한 IP 주소
- 인터넷을 비롯, 네트워크 간 통신에서 사용되는 IP 주소
- ISP나, 공인 IP 주소 할당 기관을 통해 할당 받을 수 있음
- 사설 IP 주소 (private IP address)
- 사설 네트워크에서 사용하기 위한 IP 주소
- 외부 네트워크에 공개되지 않은 네트워크
- 라우터(공유기)를 통해 할당 → 공유기를 중심으로 구성된 LAN 대부분이 여기에 해당
IP 주소의 할당
정적 할당
- 직접 수작업으로 IP 주소를 부여하는 방식
- 해당 IP 주소를 정적 IP 주소(static IP address)라고 함
- IP 주소, 서브넷 마스크, 게이트웨이(라우터) 주소, DNS 주소가 필요 → OS에 관계없이 유사
- 게이트웨이 : 서로 다른 네트워크를 연결하는 하드웨어적/소프트웨어적 수단
- 기본 게이트웨이 : 호스트가 속한 네트워크의 외부로 나가기 위한 첫 기본 경로 → 네트워크 외부와 연결된 라우터의 주소를 의미하는 경우가 많음
- DNS 주소 : 호스트가 도메인 네임을 토대로 IP 주소를 알아내기 위해 질의하는 서버의 주소 (google.com 같은걸 도메인 네임이라고 함)
동적 할당 : DHCP(Dynamic Host Configuration Protocol)
- 프로토콜을 통해 자동으로 IP 주소를 부여하는 방식
- IP 주소를 동적으로 할당받고자 하는 호스트는 DHCP 서버와 메시지를 주고받으며 동적 IP 주소를 할당 받을 수 있음
- DHCP 서버 : 호스트에 할당 가능한 IP 주소 목록 관리 → IP 주소 할당 요청 받을시 → IP 주소를 할당해주는 호스트
- 일반적으로 라우터가 DHCP 서버 역할을 수행함
- 동적 IP 주소는 사용가능한 기간이 정해져 있음
- 동적 IP 주소는 할당받을 때마다 다른 주소를 받을 수 있음
IP 전송 특징의 보완 : ICMP
- IP : 신뢰할수 없는 프로토콜이자, 비연결형 프로토콜의 특징을 가짐
- IP의 두가지 특징을 보완하는 방법
- 1. 신뢰할 수 있는 연결형 통신을 지원하는 상위 계층의 프로토콜을 이용 (ex. TCP)
- 2. ICMP 이용하기 (Internet Control Message Protocol)
- IP 패킷의 전송 과정에 대한 피드백 메시지 (ICMP 메시지)를 얻기 위해 사용하는 프로토콜
- ICMP 메시지를 통해, 패킷이 상대방에게 어떻게 전송되었는지 알려줄 수 있음 → IP 전송의 결과 미리보기가능
- 물론, 완전한 신뢰성을 보장하지는 않음.
- ICMP 오류 유형 및 메시지
- TTL(Time To Live) : IP 헤더에 있는 패킷의 수명 →무의미한 패킷이 네트워크상에 지속적으로 남아있는것 방지하기 위해 존재
- 홉 : 패킷이 호스트 or 라우터에 한번 전달되는 것
- ICMP 메시지는 네트워크상의 간단한 문제를 진단하고 테스트하기 위해 사용되기도 함.
IP 주소와 MAC 주소의 대응 : ARP
ARP(Address Resolution Protocol)
- 상대 호스트의 IP 주소는 알고, MAC 주소는 모르는 상황에서 사용되는 프로토콜
- IP 주소와 MAC 주소를 함께 활용하는 통신 과정에서, 동일 네트워크 내에 있는 송수신 대상의 IP 주소를 통해 MAC 주소를 알아내는 프로토콜
- 동작 과정
- ARP 요청 메시지, ARP 응답 메시지를 통해 이루어짐.
- ARP 요청은 브로드캐스트 메시지 : 알고 싶은 MAC 주소에 대응되는 IP 주소가 포함되어 있음
- ARP 응답 메시지에는 응답 메시지를 보내는 호스트의 MAC 주소가 포함되어 있음. (자신의 IP가 아닐경우 응답 무시)
- ARP 활용 호스트는 ARP 테이블 정보 유지 : ( <IP 주소, MAC 주소>) 로 구성된 표 형태의 정보
'CS > 기타' 카테고리의 다른 글
(CS) 네트워크 - 응용 계층, HTTP의 기초와 응용 (0) | 2025.03.28 |
---|---|
(CS) 네트워크 - 전송 계층, TCP & UDP (0) | 2025.03.25 |
(CS) 네트워크 - 물리 계층과 데이터 링크 계층 (0) | 2025.03.19 |
(CS) 네트워크 - 기본구조 (1) | 2025.03.18 |
(CS) 정렬 - 퀵 정렬 (0) | 2025.01.21 |