개요
지난 시간에 배운 IP Address(IP 주소)에 대한 내용를 계속해서 진행을 한다.
목차
- IP Address
- IP (Internet Protocol)
1. IP Address
VLSM(Variable Length Subnet Mask)
- 가변 길이 Subnet Mask
- 하나의 네트워크 영역을 서로 다른 크기로 subnetting 하는 기법
- 일반 Subentting 모두 같은 크기로 Subnet이 생성 됨 → IP낭비 현상 발생
- 필요한 크기에 맞춰서 Sub network를 생성 함
→ Sub network마다 다양한 Subnet mask를 이용함
VLSM 순서
- 개수 확인
- 영역별 필요한 IP 개수 확인 - Subnetting 순서 정하기
- IP가 가장 많이 필요한 영역부터 적게 필요한 영역 순으로 Subnetting - Subnet mask 구하기
- 2번에서 정한 순서대로 영역별 Subnet Mask 구하기
- 일반 Subnetting(host기준) 방식과 동일 함 - Network 영역 구하기
- Network 주소, Broadcast 주소, 할당 가능한 IP 범위 구하기
서브넷 계산기
https://www.subnet-calculator.com/
Online IP Subnet Calculator 100% Secure
IP Subnet Calculator The IP Subnet Mask Calculator enables subnet network calculations using network class, IP address, subnet mask, subnet bits, mask bits, maximum required IP subnets and maximum required hosts per subnet. Results of the subnet calculatio
www.subnet-calculator.com
서브넷 계산기로 서브네트워크 분할을 좀 더 쉽게 구분할 수 있다.
Classless Network
- Class 개념을 없애버리고 전체 IP를 통합하여 필요한 개수만큼만 나눠서 할당 함
- Netmask를 가변적으로 이용하여 IP 주소에서 Net ID와 Host ID를 구분 함
Classful
- IP주소를 규격화된 크기(Class)별로 구분하는 방식
- IP 주소의 첫 번째 옥텟으로 Class 구분
- Class별 Net ID 영역 확인 후 해당 Network 영역으로 전달
- 하나의 네트워크에 할당할 수 있는 Host 개수가 정해져 있기 때문에 낭비되는 IP가 많아짐
Classless
- Class를 사용하지 않고 Bit 단위로 IP 주소 범위를 가변적으로 구분하는 방식
- IP 주소 낭비를 해결하기 위한 대안
- Subnet Mask 정보를 이용하여 Net ID영역을 확인 후 해당 Network 영역으로 전달
- CIDR 기법
CIDR(Classless Inter-Domain Routing)
- Classless 환경에서 IP정보와 Subnetmask 정보를 함께 라우팅하는 기법
- 라우터에서 라우팅 테이블을 좀 더 효율적으로 관리할 수 있도록 함
- 접두어를 이용한 주소지정 방식으로 라우팅 부담을 줄여줌
- Supernetting → 분리된 주소를 다시 그룹화 함
CIDR 표기법
- Subnet mask를 Prefix 형식으로 표기 함
- Prefix 형식 → /(subnetmask의 Net ID 개수)
2. IP (Internet Protocol)
- OSI 7 Layer에서 3계층에 해당하는 프로토콜
- Packet을 지정된 목적지 네트워크까지 전달하는 역할을 담당
- 비 연결 지향적
- 비 신뢰성
- 종단간 연결 보장
- IP주소에 따라 네트워크간 전송경로를 제어
- 필요에 따라 Fragment(단편화) 작업을 수행하기도 함
* Router가 연결하고 있는 MTU차이 때문에 지원 되는 기능
* PC에서는 4계층을 통과하지 못하고 MTU 크기를 초과 할 때만 수행 됨 → ICMP
IP Header
- Header 크기 → Option필드의 크기에 따라 가변적 → 최소 20bytes ~ 최대 60 bytes
헤더에서 제일 중요하게 봐야할 정보는 Source IP Address, Destination IP Address이다.
- Version (4bits)
- IP 버전 정보
- IPv4 Header의 version 필드는 항상 4로 고정
- IPv6는 개발되면서 별도의 프로토콜을 발표 (언젠가 바뀐다.) - IHL (4bits)
- IP Header Length 의 약어로 가변적이 IP Header의 크기를 명시
- 4개의 Bit로 표현되고 4bytes단위로 표시됨(최대 길이 값 60bytes) - Different Service(1byte)
- 데이터의 우선순위를 표시 → Router에서 우선순위를 확인하고 Routing을 수행
- D → 지연, T → 처리율, R → 신뢰성 - Total Length (2bytes)
- IP Packet의 전체 크기(IP Header + Payload)
- IP Packet의 최대 크기는 MTU 값을 가짐
※ MTU(Maximum Transmission Unit) : 최대 전송 단위
- Identification (2bytes)
- IP 계층에서 단편화(Fragmentation) 가 수행 되기 전 원본 데이터의 식별 값
- 통신의 시작 데이터는 Random Number로 할당되며 연속된 통신의 다음 데이터는 +1 증가한 값을 할당 받음 - IP Flags (3bits)
- 편화 유무를 체크하기 위한 필드
> X : 사용하지 않는 bit
> D(Don’t Fragment) : 단편화를 할 수 있는 경우 0, 할 수 없는 경우 1 값을 가짐
> M (More Fragment) : 단편화 된 마지막 조각이면 0 , 추가로 조각이 있으면 1 값을 가짐 - Fragment Offset (13bits)
- 단편화 된 데이터의 순서를 나타내기 위한 필드
- IP Header를 제외한 Payload의 시작 크기 값을 순서 번호로 사용 함
- 예) Payload의 크기가 2000인 경우 최대 MTU 크기 1500을 넘게 됨
> IP 필수 Header 20bytes를 제외하고 1480bytes , 520bytes로 나누어서 데이터 전송
- Time to Live (1byte)
- Network 환경에서 Packet이 생존할 수 있는 시간(통과할 수 있는 최대 Router 수)
- Router가 데이터를 내보낼 때 TTL 값이 1씩 감소됨
- TTL 값 0이 되는 장비에서 Packet 폐기 (유통기한 끝)
- 초기 Default TTL값은 운영체제 종류에 따라 달라짐(윈도우:128, Linux/Unix:64 , 기타:255 등..)
- Network Looping 현상을 방지하기 위해 사용 - Protocol (1byte)
- payload에 포함된 프로토콜
- 상위계층 프로토콜의 종류 → ICMP, UDP, TCP... - Header Checksum(2bytes)
- IP Header의 오류나 변조여부를 확인하기 위한 값
- Header를 word 단위 (2bytes)로 checksum
- Source IP Address (4bytes)
- 출발지 IP 주소 - Destination IP Address (4bytes)
- 목적지 IP 주소
- Options (0~40bytes)
- IP packet을 제어 및 관리하기 위한 추가 정보
> Source Routing → 출발지 경로 지정
> Traceroute → 패킷 전송 경로 확인
> Security → IP packet의 보안 등급 지정
- Network Testing 이나 Debugging에 사용
- Option 필드가 사용된 경우 IP Header의 전체 크기가 32bits 단위가 되지 않으면 폐기 됨
> Padding → 쓰레기 값으로 32bits 단위를 맞춰 줌
'정보 보안 공부 > 이론' 카테고리의 다른 글
5. OSI 3계층 : 네트워크(Network)(1) (0) | 2022.06.01 |
---|---|
4. OSI 2계층 : 데이터 링크(Data Link) (0) | 2022.05.31 |
3. OSI 1계층 : 물리 계층(Physical) (0) | 2022.05.27 |
2. 네트워크 모델(OSI, TCP/IP) (0) | 2022.05.26 |
1. 네트워크의 이해 (0) | 2022.05.05 |
댓글