IP(Internet Protocol)
- 기록을 하는이유
그것은 바로 블로그 작성 습관을 기르면서도 암기까지 되기 때문
IP(Internet Protocol)
IP 개념
인터넷 프로토콜은 송신 호스트와 수신 호스트가 패킷 교환 네트워크에서 정보를 주고받는 데 사용하는 정보 위주의 규약이다.
OSI 3계층인 네트워크 계층/패킷 분할 및 조립 기능 담당
IP의 정보는 패킷 혹은 데이터그램이라고 하는 덩어리로 나뉘어 전송된다.
IP 특징
특징 | 설명 |
비신뢰성/비연결형 | 흐름관여x/보낸 정보 보장x/ |
에러 제어와 흐름 제어가 없음 | 정보 전송이 가장 중요함/ 패킷 에러 검출,에러 검출되면 폐기 |
대표적 IP 주소체계 | 표준 프로토콜은 IPv4, 주소 공간이 부족해서 IPv6가 점차 확산 |
IP 제한 | IP 크기는 20~40 바이트/ IP 패킷은 네트워크가 수용 가능한 크기로 분할되어야함 (단편화)/ 데이터 전송시 패킷을 잘라서 보냄 MTU 때문에 필요함 |
IPv4
IPv4의 개념
- IPv4는 인터넷에서 사용되는 패킷 교환 네트워크상에서 데이터를 교환하기 위한 32비트 주소체계를 갖는 네트워크 계층의 프로토콜이다.
IPv4의 주소체계
10진수로 총 12자리, 네부분으로 표현된다.
각 부분은 10진수 0부터 255까지 3자리의 수로 표현된다.
ex) 192.168.222.123
32비트 IP 주소는 Network를 나타내는 부분과 Host를 나타내는 부분으로 구성됨
Network 부분과 Host 부분을 구분하는 것은 서브넷 마스크
IPv6
IPv6의 개념
IPv6는 인터넷 프로토콜 스택 중 네트워크 계층의 프로토콜 로서 버전 6 인터넷 프로토콜(차세대 인터넷 프로토콜)
IPv6의 단점(주소 고갈/보안성/이동성 지원)등의 문제점을 해결하기 위해서 개발된 128bit 차세대 인터넷 프로토콜
IPv6의 특징
IP 주소의 확장
이동성
인증 및 보안 기능
개선된 QoS지원
Plug&Play 지원
Ad-hoc 네트워크 지원
단순 헤더 적용
실시간 패킷 추적 가능
IPv4 > IPv6 변환 방법
듀얼스택
- IP 계층에 2가지(IPv4,IPv6)의 프로토콜이 모두 탑재되어 있고 통신 상태에 따라 IP 스택을 선택하는 방법
터널링
- IPv6 망에서 인접한 IPv6 망을 거쳐 다른 IPv6 망으로 통신할 때 IPv4 망에 터널을 만들고 IPv4에서 사용하는 프로토콜로 캡슐화하여 전송하는 방법
주소 변환
주소 변환 기술은 IPv6 망과 IPv6 망 사이에 주소변환기(IPv4 - IPv6 게이트웨이)를 사용하여 서로 다른 네트워크상의 패킷을 변환시키는 방법
헤더 변환 방식
전송 계층 릴레이 방식
응용 계층 게이트웨이 방식
(2024-06-28 수정)
라우팅 프로토콜
RIP(Routing Information Protocol)
개념
- AS(Autonomous System) 내에서 사용하는 거리 벡터 알고리즘에 기초하여 개발된 내부 라우팅 프로토콜
특징
벨만-포드 알고리즘을 사용함, 거리 벡터 라우팅 기반 메트릭 정보를 인저 라우터와 주기적으로 교환
최대 홉 수를 15개로 제한
UDP 포트 520 사용
30초마다 전체 라우팅 정보 브로드 캐스팅
OSPF
개념
- 규모가 크고 복잡한 TCP/IP 네트워크에서 RIP의 단점을 개선하기 위해 자신을 기준으로 링크 상태 알고리즘을 적용하여 최단 경로를 찾는 라우팅 프로토콜
특징
다익스트라 알고리즘 사용하는 내부 라우팅 프로토콜
최소지연, 최대 처리량 등 관리자가 라우팅 메트릭 지정
자치 시스템을 지역으로 나누어 라우팅을 효과적으로 관리
홉 카운트 무제한
멀티캐스트를 사용하여 정보 전달
BGP
개념
- Inter-AS 또는 Inter-Domain에 경로 정보를 교환하기 위한 라우팅 프로토콜
특징
변경 발생 시 대상까지의 가장 짧은 경로를 벡터 알고리즘으 통해 선정하고 TCP 연결(port 179)을 통해 자치 시스템으로 라우팅 정보를 신뢰성 있게 전달
ISP 사업자들 상호 간에 주로 사용됨
순환을 피할 수 있게 목적지까지 가는 경로 정보를 제공
라우팅 비용이 많이 들고, 라우팅 테이블의 크기가 커서 메모리 사용량이 많음
Subscribe to my newsletter
Read articles from Thunder directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Thunder
Thunder
안녕하세요! Web개발을 공부하고 있는 윤종일 입니다. 현재는 Java 백엔드 개발을 깊게 파고들고 있어요! 제 궁극적인 목표는 풀스택 개발자가 되는 것입니다. 프론트엔드와 백엔드 모두를 자유롭게 넘나들며, 사용자에게 가치를 전달할 수 있는 완성도 높은 애플리케이션을 만드는 것이 목표입니다.