IP
인터넷 프로토콜(Internet Protocol)
역할
- 지정한 IP 주소(IP Address)에 데이터 전달
- 패킷(Packet)이라는 통신 단위로 데이터 전달
한계
- 비연결성
- 패킷을 받을 대상이 없거나, 서비스 불능 상태여도 패킷 전송
- 비신뢰성
- 중간에 패킷이 사라질 수 있음
- 패킷이 순서대로 오지 않을 수 있음
- 프로그램 구분
- 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상일 경우 구분 불가
IPv4, IPv6
비교
구분 | IPv4 | IPv6 |
---|
형태 | 127.0.0.1 | 2001:230:abcd:ffff:0000:0000:ffff:1111 |
표현 | 0~255 숫자 | 16진수 |
주소 길이 | 32비트 | 128비트 |
주소 개수 | 약 43억개(2^32) | 거의 무한대(2^128) |
품질 제어 | 품질 보장 곤란(QoS 일부 지원) | 등급별, 서비스별로 패킷을 구분할 수 있어 품질 보장 용이 |
보안 기능 | IPsec 프로토콜 별도 설치 | 확장 기능에서 기본으로 제공 |
자동 네트워킹 | 곤란 | 있음(Auto configuration) |
이동성 지원 | 곤란(비효율) | 용이(효율적) |
IPv4 → IPv6 전환 이유
- IPv4 Address 고갈을 대비하여 만들어짐
IPv4 → IPv6 전환 기술
IPv4 클래스
Class | 첫번째 마디 숫자 범위 | 이론적 IP 주소 범위 | 사용 환경 | 네트워크 영역 | 호스트 영역 |
---|
A | 0~127 | 0.0.0.0 ~ 127.255.255.255 | 대규모 네트워크 환경 | 10.(8bit) | 3.4.1 (24 bit) |
B | 128~191 | 128.0.0.0 ~ 191.255.255.255 | 중규모 네트워크 환경 | 132.12.(16bit) | 11.4(16bit) |
C | 192~223 | 192.0.0.0 ~ 223.255.255.255 | 소규모 네트워크 환경 | 203.10.1.(24bit) | 1(8bit) |
D | 224~239 | 224.0.0.0 ~ 239.255.255.255 | 멀티태스킹용. 잘 쓰이지 않음 | | |
E | 240~255 | 240.0.0.0 ~ 255.255.255.255 | 연구/개발용, 미래를 위해 남겨놓음 | | |
Class, 네트워크 영역, 호스트 영역 구분 예시
IP Address | Class | 네트워크 영역 | 호스트 영역 |
---|
10.3.4.1 | A | 10.0.0.0 | 3.4.1 |
132.12.11.4 | B | 132.12.0.0 | 11.4 |
203.10.1.1 | C | 203.10.1.0 | 1 |
서브넷, 서브넷마스크
서브넷 등장 배경
- 클래스를 나누어 IP를 할당하여 발생하는 IPv4 주소 체계의 비효율성을 해결하기 위해 네트워크 장치 수에 따라 효율적으로 사용할 수 있는 서브넷 등장
서브넷
- IP주소에서 네트워크 영역을 부분적으로 나눈 부분 네트워크를 뜻한다.
- 이러한 서브넷을 만들 때, 사용되는 것이 서브넷 마스크
기본 서브넷 마스크
Class | 이진표현 | 십진표현 | 기본 서브넷 마스크 |
---|
A | 0xxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx | 0.0.0.0 ~ 127.255.255.255 | 255.0.0.0 |
B | 10xxxxxx xxxxxxxx xxxxxxxx xxxxxxxx | 128.0.0.0 ~ 191.255.255.255 | 255.255.0.0 |
C | 110xxxxx xxxxxxxx xxxxxxxx xxxxxxxx | 192.0.0.0 ~ 223.255.255.255 | 255.255.255.0 |
![](https://velog.velcdn.com/images/oyeon/post/de3d011a-c401-4ed5-b468-ae309effa0ac/image.png)
- 위와 같이 서브넷 마스크를 이용하면 IP주소의 Network ID, Host ID를 구분할 수 있다.
- 24는 서브넷 마스크의 비트 수를 의미한다.
- 서브넷 마스크가 위처럼 필요한 이유는 서브네팅을 하여 효율적인 네트워크 사용을 위해서이다.
서브네팅
- IP 주소 낭비를 방지하기 위해 원본 네트워크를 여러 개의 서브넷으로 분리하는 과정을 뜻한다.
- 서브넷 마스크의 bit 수를 증가시키는 것으로 생각하면 된다.
- 서브넷 마스크의 bit 수를 1씩 증가(ex. 24 → 25)시키면, 할당할 수 있는 네트워크가 2배수로 증가, 호스트 수는 2배수로 감소
reference
https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC#
https://jwprogramming.tistory.com/28
https://code-lab1.tistory.com/33
https://code-lab1.tistory.com/34