
휴대전화, 가정용 노트북 또는 사무실 컴퓨터로 인터넷에 연결하면 주고받는 모든 데이터는 일련의 경로를 따라 이동합니다. 인터넷 프로토콜(IP)이라고 알려진 매우 엄격한 규칙비록 눈에 보이지 않을 수도 있지만, 여러분이 방문하는 모든 웹사이트, 보내는 모든 이메일, 그리고 하는 모든 화상 통화는 정보가 (대략적으로) 필요한 곳에 도달하도록 하기 위해 그것에 의존합니다.
IP는 마법 같은 것이 아니라, 여러 요소를 결합한 매우 잘 짜여진 시스템입니다. 주소 지정, 패킷 라우팅 및 데이터 조각화 서로 다른 운영 체제를 사용하고 매우 다양한 네트워크로 연결된 여러 장치가 마치 하나의 글로벌 네트워크에 속한 것처럼 서로 통신할 수 있도록 하는 것입니다. 단계별로 자세히 설명하여 그 작동 방식과 오늘날 네트워크에 왜 그렇게 중요한지 이해하실 수 있도록 하겠습니다.
인터넷 프로토콜(IP)이란 무엇이며 어떤 기능을 합니까?
인터넷 프로토콜, 또는 간단히 말해서 IP(인터넷 프로토콜)TCP/IP 프로토콜 제품군의 핵심 구성 요소입니다. 상호 연결된 장치 간에 패킷 형태로 데이터를 전송하는 것이 주요 임무이며, 사전 연결 설정이나 모든 데이터가 완벽하게 도착한다는 보장 없이도 가능합니다.
실제로 IP는 일종의 역할을 합니다. 데이터그램 "택배 회사"이 장치는 정보 블록(데이터그램)을 수신하고, 제어 데이터(주로 출발지 및 목적지 주소)가 포함된 헤더를 추가한 다음, 모든 것이 순조롭게 진행될 경우 라우터를 거쳐 목적지 기기에 도달할 때까지 네트워크로 전달합니다.
핵심 특징은 프로토콜이라는 점입니다. 비연결 지향적이고 최선의 노력을 기울임이는 송신자와 수신자 간에 통신을 "협상"하기 위한 사전 대화가 없다는 것을 의미하며, IP는 패킷을 전달하기 위해 최선을 다하지만 어떤 것도 보장하지 않습니다. 패킷이 손실되거나, 중복되거나, 순서가 뒤바뀌거나, 손상될 수 있습니다.
IP는 신뢰성, 흐름 제어 또는 오류 복구를 제공하지 않습니다. TCP와 같은 상위 수준 프로토콜IP는 물리적 수준에서 매우 이질적인 네트워크(광섬유, Wi-Fi, 이더넷, 각종 무선 링크 등)를 통해 기본적인 데이터그램 전송 서비스만 제공하는 것으로 제한됩니다.
IP는 물리적 네트워크의 복잡성을 숨겨주기도 합니다.이를 통해 상위 계층 프로토콜은 "가상 네트워크"에 대한 통합된 관점을 얻을 수 있습니다. 결과적으로 애플리케이션과 서비스는 출발지와 목적지 사이에 라우터가 10개 있는지 100개 있는지, 또는 각 세그먼트가 어떤 기술을 사용하는지 알 필요가 없습니다.
TCP/IP 내의 IP와 다른 프로토콜과의 관계
인터넷에서는 사람들이 거의 항상 그 그룹에 대해 이야기합니다. TCP / IP많은 서비스에서 IP와 TCP가 함께 사용되기 때문입니다. 네트워크 계층에서는 IP가, 전송 계층에서는 TCP가 사용됩니다. 하지만 인터넷 프로토콜 제품군은 훨씬 더 광범위합니다. 100개 이상의 프로토콜이 있습니다. 100가지의 서로 다른 프로토콜이 공존합니다. 그리고 그들은 지적 재산에 의존합니다.
IP는 다음과 같이 표준화됩니다. 표준 5이 사양에는 ICMP(인터넷 제어 메시지 프로토콜, 핑 메시지와 같은 오류 및 진단 메시지에 사용됨)와 IGMP(인터넷 그룹 관리 프로토콜, 멀티캐스트 그룹 관리에 사용됨)도 포함됩니다. 이 사양은 "필수"로 지정되어 있으므로, 모든 주요 TCP/IP 스택은 반드시 이 사양을 구현해야 합니다.
지적재산권을 정의하는 문서들 중에서 다음 사항들이 특히 눈에 띕니다. RFC 791, 950, 919 및 922이후 업데이트, 예를 들어 서비스 유형(TOS) 필드에 대한 RFC 1349와 같은 문서에서 이러한 내용이 다뤄졌습니다. 이러한 RFC 문서에서는 데이터그램 형식, 단편화 처리 방식, 헤더 필드의 의미 등을 설명합니다.
IP를 기반으로 하는 가장 중요한 전송 프로토콜은 다음과 같습니다. TCP(전송 제어 프로토콜) 및 UDP(사용자 데이터그램 프로토콜)TCP는 연결 지향형의 안정적인 채널을 제공하여 웹이나 이메일처럼 데이터 무결성이 중요한 애플리케이션에 적합합니다. 반면 UDP는 경량화되어 있고 전송 계층에서 오류 제어가 부족하여 주로 다른 용도로 사용됩니다. 실시간 애플리케이션 (오디오, 비디오, 온라인 게임) 또는 DNS와 같은 프로토콜, 그리고 측정 도구 등 멀티스레드 모드에서 iperf3 사용 이를 통해 네트워크 성능을 평가할 수 있습니다.
TCP 및 UDP 외에도 IP는 다음과 같은 다른 프로토콜을 캡슐화할 수 있습니다. SCTP(스트림 제어 전송 프로토콜)이는 일부 고급 환경(예: 신호 처리 또는 특정 통신 서비스)에서 사용되며, 안정적인 전송 특성을 제공할 뿐만 아니라 다중 경로 또는 다중 스트림 기능도 갖추고 있습니다.
IP 프로토콜 버전: IPv4 및 IPv6
가장 잘 알려져 있고 역사적으로 널리 퍼진 버전은 다음과 같습니다. IPv432비트 주소 체계를 사용하는 이 방식은 이론적으로 40억 개가 넘는 주소를 허용하지만, 연결된 기기의 폭발적인 증가로 인해 이미 수년 전에 그 숫자에 도달했습니다.
이러한 한계를 극복하기 위해 시스템이 설계되었습니다. IPv6IPv4의 후속 버전인 IPv6는 128비트 주소를 사용하며, 이는 엄청난 용량을 자랑합니다. 사실상 무한한 수의 노드IPv6는 또한 상태 비저장 자동 구성, 더 간단하고 확장 가능한 헤더 체계, 향상된 기본 보안 지원, 새로운 흐름 제어 및 서비스 품질 기능과 같은 개선 사항을 도입합니다.
IP 역사에서 버전 0부터 3까지는 예약되었거나 배포되지 않았습니다. 버전 5 실험 프로토콜에 사용되었습니다. 다른 버전 번호는 연구 프로젝트에 할당되었지만, IPv4와 IPv6만 널리 보급되었습니다. 인터넷의 기반으로서.
오늘날 두 방식은 공존하고 있습니다. 전 세계 네트워크의 상당 부분은 여전히 IPv4를 사용하며, 다음과 같은 기법에 의존하고 있습니다. NAT(네트워크 주소 변환)IPv6는 특히 통신 사업자, 대기업 및 클라우드 서비스 분야에서 점진적으로 배포되고 있습니다.
IP 주소, 유형 및 관련 개념
우나 IP 주소 IP 주소는 인터넷 프로토콜을 사용하는 네트워크 내 장치의 각 네트워크 인터페이스에 할당되는 숫자 식별자입니다. 장치 전체를 식별하는 것이 아니라 특정 인터페이스를 식별합니다. 예를 들어 장치에 이더넷과 Wi-Fi가 모두 활성화된 경우 각 인터페이스에 고유한 IP 주소가 할당됩니다.
IP 주소를 혼동하지 않는 것이 중요합니다. MAC 주소MAC 주소는 제조업체가 네트워크 카드에 새겨 넣는 물리적 식별자로, 일반적으로 수명 기간 동안 변경되지 않습니다. 반면 IP 주소는 논리적 주소이며, 네트워크를 변경하거나 라우터를 재시작하거나 인프라를 재구성할 때 변경될 수 있습니다.
IP 주소는 일반적으로 두 부분으로 나뉩니다. 네트워크 부분 및 호스트 부분네트워크 부분은 장치가 속한 네트워크(및 해당 물리적 매체에서 장치들이 공유하는 링크 프로토콜)를 식별하는 반면, 호스트 부분은 해당 네트워크 내의 각 장치를 구별합니다.
실질적인 측면에서 보면 다음과 같습니다. 공용 IP와 사설 IP공용 IP 주소는 인터넷에 공개되어 가정 네트워크나 서버를 전 세계 어디에서든 찾을 수 있도록 해주는 주소입니다. 반면 사설 IP 주소는 로컬 네트워크(예: 가정이나 회사 내부 네트워크)에서 사용되며 인터넷을 통해 직접 라우팅할 수 없습니다.
또한 주소는 다음과 같을 수 있습니다. 정적 또는 동적가정에서 인터넷에 연결할 때, 일반적으로 인터넷 서비스 제공업체는 특정 프로토콜을 사용하여 공용 IP 주소를 동적으로 할당합니다. DHCP(동적 호스트 구성 프로토콜)IP 주소는 재접속 시마다 변경될 수 있습니다. 반면, 항상 사용 가능해야 하는 서비스(웹 서버, 메일 서버, DNS 서버, 공용 FTP 서버 등)는 일반적으로 고정 IP 주소를 사용하므로 다른 시스템에서 예상치 못한 문제 없이 쉽게 찾을 수 있습니다.
긴 숫자를 기억하는 데 어려움을 겪는 사람들의 편의를 위해 IP 주소는 다음과 같은 것들과 연관될 수 있습니다. 도메인 이름도메인 이름 시스템(DNS)은 "example.com"과 같은 이름을 해당 IP 주소로 변환합니다. 컴퓨터는 숫자만 필요하지만, 우리는 기억하기 쉬운 단어를 선호합니다.
또 다른 관련 개념은 다음과 같습니다. 네트워크 마스크서브넷 마스크는 IP 주소에서 네트워크 부분과 호스트 부분을 구분하는 값입니다. 서브넷 마스크를 통해 장치는 패킷을 로컬 네트워크 내에서 전송할지, 아니면 외부 네트워크로 연결하기 위해 라우터로 전달할지 결정할 수 있습니다.
기계 자체에도 다음이 포함됩니다. 로컬 루프백 인터페이스 (루프백)은 IPv4에서 127.0.0.1 주소로 표현됩니다. 컴퓨터가 다른 컴퓨터와 통신할 때 사용하는 것과 동일한 프로토콜을 사용하여 자체적으로 통신할 수 있도록 해주며, 테스트, 개발 및 디버깅에 매우 유용합니다.
IP 작동 방식: 데이터그램, 단편화 및 라우팅
웹 브라우저와 같은 애플리케이션이 네트워크를 통해 데이터를 전송할 때 일반적으로 사용하는 전송 프로토콜은 다음과 같습니다. TCP그 정보를 다음과 같이 나눕니다. 더 작은 세그먼트 그리고 이를 네트워크 계층으로 전달하여 IP 데이터그램으로 패키징합니다.
IP는 다음을 정의합니다. 데이터그램 형식IP는 여러 개의 제어 필드와 상위 프로토콜(TCP, UDP, ICMP 등)의 내용을 담는 데이터 영역을 포함하는 헤더입니다. 다른 프로토콜과 달리 IP는 페이로드를 전송하기 전에 제어 메시지를 미리 교환할 필요가 없습니다.
데이터그램 크기가 보다 큰 경우 MTU(최대 전송 단위) IP는 해당 IP가 순환해야 하는 물리적 연결 고리에 의해 승인될 수 있습니다. 파편 해당 데이터그램은 여러 개의 작은 조각으로 나뉩니다. 각 조각은 고유한 IP 헤더와 함께 네트워크를 통해 전송되며, 최종 목적지에서 다시 조립되어 원래의 데이터그램을 복원합니다.
이러한 단편화는 출발점뿐만 아니라 경로상의 여러 지점에서 발생할 수 있습니다. MTU가 더 낮은 링크를 찾은 각 라우터는 식별 정보와 단편 오프셋을 유지하면서 다시 단편화할 수 있습니다. 하지만 재조립은 별도로 수행됩니다. 대상 호스트에서만 라우터에 중간 작업으로 인한 과부하가 발생하는 것을 방지하기 위해서입니다.
조각 중 하나라도 손실되면 전체 데이터그램이 손실된 것으로 간주됩니다. IP는 확인 응답이나 재전송을 구현하지 않습니다.전송 프로토콜(일반적으로 TCP)은 데이터 시퀀스의 누락된 부분을 감지하고 누락된 정보를 다시 요청합니다.
이 여정 동안 각 IP 데이터그램은 여러 중간 네트워크를 거치며 다양한 상황을 만나게 됩니다. 라우터이 장치들은 인터페이스를 통해 패킷을 수신하고, 목적지 IP 주소를 확인한 후, 라우팅 테이블을 기반으로 사용 가능한 최적의 출력 인터페이스를 통해 패킷을 전달하는 데 특화되어 있습니다.
IP 데이터그램 헤더 및 주요 필드
IP 데이터그램에는 다음이 포함됩니다. 최소 크기가 20바이트인 헤더 이 파일에는 라우터와 목적지 호스트가 이를 올바르게 처리하는 데 필요한 모든 정보가 인코딩되어 있습니다. 가장 중요한 필드는 다음과 같습니다.
- 버전: 데이터그램이 IPv4인지 IPv6인지 여부를 나타냅니다.
- 헤더 길이: 데이터를 제외하고 헤더가 차지하는 32비트 워드의 수를 지정합니다.
- 서비스 유형(TOS) / DSCP: 이는 트래픽의 서비스 품질 요구 사항(지연, 성능, 신뢰성, 비용 등)을 표현하는 데 사용됩니다.
- 총 길이: 데이터그램의 전체 길이(헤더 + 데이터)를 바이트 단위로 나타낸 것입니다.
- 신분증: 동일한 데이터그램에 속하는 조각들을 그룹화할 수 있도록 하는 숫자입니다.
- 플래그 및 프래그먼트 오프셋: 그들은 파편화가 허용되는지 여부와 각 파편이 배치되는 위치를 제어합니다.
- 생명까지 걸리는 시간(TTL): 패킷이 무한정 순환하는 것을 방지하기 위해 각 라우터 홉에서 1씩 감소하는 카운터입니다.
- 프로토콜 : 데이터를 어떤 상위 프로토콜(TCP, UDP, ICMP, OSPF 등)로 전달해야 하는지를 나타냅니다.
- 헤더 체크섬: 헤더 자체의 무결성을 검증하는 체크섬입니다.
- 출발지 및 목적지 IP 주소: 데이터그램의 발신자와 수신자를 식별합니다.
- 옵션 및 입력: 고급 기능을 위한 선택적 가변 길이 필드가 있으며, 그 뒤에 헤더를 32비트에 맞추기 위한 패딩 바이트가 이어집니다.
El 프로토콜 필드 이것이 바로 IP가 전송 계층이나 제어 계층의 적절한 모듈로 콘텐츠를 전달할 수 있게 해주는 원리입니다. 예를 들어, 공식 프로토콜 번호 목록에 따르면 6은 TCP, 17은 UDP, 1은 ICMP, 89는 OSPF(Open Shortest Path First) 등에 할당되어 있습니다.
El 헤더 체크섬 체크섬은 헤더에 있는 모든 16비트 워드의 합의 1의 보수로 계산되며, 계산 시 체크섬 필드 자체는 0이라고 가정합니다. 수신된 데이터그램의 결과가 일치하지 않으면 헤더의 하나 이상의 비트가 손상된 것으로 간주하여 패킷을 폐기합니다.
El TTL형식적으로는 최대 패킷 전송 시간을 초 단위로 나타내지만, 실제로는 홉 카운터로 관리됩니다. 각 라우터는 이 값을 1씩 감소시키고, 0에 도달하면 패킷을 폐기하고 일반적으로 출발지에 ICMP 오류 메시지를 보냅니다. 이는 잘못 구성된 라우팅 루프로 인해 네트워크에 무한 트래픽이 발생하는 것을 방지합니다.
라스 IP 옵션 옵션을 사용하면 프로토콜의 기본 구조를 변경하지 않고도 기능을 확장할 수 있습니다. 각 옵션은 유형, 길이 및 데이터로 구성된 형식을 가지며, 경로 로깅, 타임스탬프, 보안 또는 특정 패킷의 특별 처리와 같은 측면을 제어할 수 있습니다. 모든 시스템이 옵션을 생성하는 것은 아니지만, 옵션이 나타날 경우 모든 시스템이 이를 처리할 수 있어야 합니다.
라우팅, 라우팅 테이블 및 메트릭
IP 네트워크에 참여하는 각 호스트와 각 라우터는 다음을 유지합니다. 라우팅 테이블이 표는 목적지 네트워크와 해당 네트워크에 도달하기 위해 필요한 다음 홉 간의 대응 관계를 기록합니다. 다음 내용이 포함될 수 있습니다.
- 직행 노선: 장비가 물리적으로 연결된 네트워크.
- 간접 경로: 하나 이상의 중간 라우터를 통해 접근할 수 있는 네트워크.
- 기본 경로: 위의 경로와 일치하지 않는 모든 목적지에 대한 일반 종료입니다.
데이터그램을 어디로 보낼지 선택하는 과정을 무엇이라고 부릅니까? 라우팅팀은 소포를 전달해야 할 때마다 목적지 주소를 확인하고, 라우팅 테이블을 참조하여 가장 적합한 옵션을 결정합니다.
라우팅 프로토콜은 경로의 "성능"을 평가하기 위해 다음과 같은 개념을 사용합니다. 측정 항목프로토콜에 따르면 이 측정 기준은 거리(홉 수), 지연 시간, 비용, 사용 가능한 대역폭, 링크 신뢰성 또는 여러 요소의 가중 조합을 기반으로 할 수 있습니다.
이상적인 목표는 달성하는 것입니다. 최적 경로 설정즉, 선택된 메트릭(거리, 비용, 지연 시간 등)을 최소화하는 경로를 선택하는 것입니다. 실제로 네트워크는 끊임없이 변화하며, RIP, IGRP, EIGRP, OSPF 등의 라우팅 프로토콜은 라우터 간 정보 교환을 통해 라우팅 테이블을 실제 환경에 맞게 조정하는 역할을 합니다.
이 전체 과정은 상호작용적입니다. 각 라우터 목적지 IP 주소에 적용된 라우팅 알고리즘은 데이터그램이 통과하는 동안 다시 적용되고, 새로운 포워딩 결정이 내려집니다. 이러한 과정은 패킷이 최종적으로 목표 호스트에 도달하여 전송 계층 또는 해당 애플리케이션으로 전달될 때까지 계속됩니다.
상태 비저장 연결, 캡슐화 및 최선형 서비스
IP는 프로토콜로 간주됩니다. 무상태이는 네트워크가 두 엔드포인트 간의 "세션" 또는 "연결"에 대한 영구적인 정보를 유지하지 않는다는 것을 의미합니다. 각 패킷은 헤더에 포함된 정보만을 사용하여 독립적으로 처리됩니다.
IP는 상태를 저장하지 않는 설계 덕분에 확장성이 매우 뛰어납니다. 모든 의사소통에 대한 맥락을 저장할 필요는 없습니다.이는 라우터 및 중간 장비의 메모리 사용량과 복잡성을 줄여줍니다. 하지만 그 대가로 데이터의 순서 지정, 보안 및 유효성 검사 책임이 상위 계층으로 넘어갑니다.
IP는 서비스를 제공합니다. 최선의 노력 (최선의 노력): 패킷을 전송하려고 시도하지만 성공, 순서 또는 중복 방지를 보장하지는 않습니다. 손실, 오류, 가변적인 지연 등이 발생할 수 있습니다. 이것이 바로 TCP와 같은 전송 프로토콜이 확인 응답 추가, 흐름 제어, 손실된 세그먼트 재전송 등을 처리하는 이유입니다.
계층형 모델의 또 다른 핵심 특징은 다음과 같습니다. 캡슐화애플리케이션에서 생성된 데이터는 먼저 전송 계층 단위(TCP 세그먼트 또는 UDP 데이터그램)로 캡슐화되고, 이 단위는 다시 IP 데이터그램으로 캡슐화됩니다. 이러한 IP 데이터그램은 링크 계층 프레임(예: 이더넷)에 포함되고, 최종적으로 최하위 계층에서 물리적 신호로 변환됩니다.
이 캡슐화 메커니즘은 다음과 같은 것을 가능하게 합니다. 라우터는 IP 헤더만 신경 씁니다. 기본 애플리케이션이나 전송 프로토콜을 이해할 필요 없이 라우팅 결정을 내릴 수 있습니다. 각 계층은 고유한 책임에 집중하여 시스템을 모듈화하고 발전시키기 쉽게 만듭니다.
IP, 모빌리티 및 최신 서비스 지원
IP 프로토콜의 보편성은 매우 다양한 서비스의 기반이 되었습니다. 웹 브라우징, 이메일, VoIP, 스트리밍 또는 인스턴트 메시징HTTP와 HTTPS는 TCP/IP를 기반으로 웹 페이지를 제공하고, SMTP, IMAP 또는 POP3는 이메일을 처리하며, SIP와 RTP는 통화 및 화상 회의를 위해 IP를 통해 오디오와 비디오를 캡슐화합니다. XMPP, WebSocket 또는 MQTT 프로토콜 실시간 메시징이 가능합니다.
오늘날처럼 기기들이 모바일, 가정용 Wi-Fi, 사무실 Wi-Fi 등 다양한 네트워크를 끊임없이 전환하는 환경에서 IP는 이러한 전환을 용이하게 하는 보완적인 메커니즘과 프로토콜을 통합하고 있습니다. 유동성그중에는 모바일 IP(MIP) 및 주소 변환 기술 등이 있습니다. NAT...또는 NDP와 같은 IPv6 인접 주소 검색 및 주소 관리 프로토콜, 그리고 이를 통합하는 통신 사업자 5G와 사물인터넷 고급 서비스를 위해.
또한 일부 메커니즘 및 프로토콜(예: SCTP 또는 특정 IPv6 확장 기능)은 다음과 같은 기능을 제공합니다. 연결을 유지하면서 경로 또는 인터페이스를 변경하세요.이를 통해 모바일 기기 및 여러 링크가 있는 시나리오에서 사용자 경험이 향상됩니다.
보안 또한 점점 중요해지고 있습니다. 다음과 같은 확장 기능들이 있습니다. IPsec IPv6는 네트워크 수준에서 인증, 무결성 및 암호화를 제공하며, 흐름 제어 및 트래픽 마킹 기능을 통해 음성이나 영상과 같이 지연에 민감한 통신에 더 나은 서비스 품질을 제공합니다.
요약하자면, IP 프로토콜은 단순하고 신뢰성이 떨어지지만 매우 유연한 설계에서 발전해 왔습니다. 견고하고 확장 가능하며 필수적인 인프라 이는 기업 및 데이터 센터의 가장 중요한 통신부터 가정에서 일상적으로 사용하는 통신에 이르기까지 거의 모든 현대 디지털 통신을 지원합니다.
