[c언어] 인터넷 프로토콜

인터넷 프로토콜(Internet Protocol)은 컴퓨터 네트워크 간의 통신에 사용되는 규약이다. IPv4IPv6는 가장 널리 사용되는 인터넷 프로토콜이다.

IPv4

IPv4는 32비트 주소 체계를 사용하며, 4개의 8비트 숫자로 구성된다. 이는 대략 43억 개의 주소를 제공한다. 그러나 인터넷 사용자 증가에 따라 주소 부족 문제가 발생했고, 이에 따라 IPv6 프로토콜이 개발되었다.

#include <stdio.h>
#include <arpa/inet.h>

int main() {
    char ip4str[INET_ADDRSTRLEN];
    struct in_addr addr;
    inet_pton(AF_INET, "192.0.2.33", &addr);
    inet_ntop(AF_INET, &addr, ip4str, INET_ADDRSTRLEN);
    printf("%s\n", ip4str);
    return 0;
}

IPv6

IPv6는 128비트 주소를 사용하며, 이론적으로는 약 340경 개의 주소를 제공한다. 또한, IPv6는 주소구조, 경로설정, 보안, 품질 및 서비스 등의 면에서 IPv4와 차별화되는 기능을 제공한다.

#include <stdio.h>
#include <arpa/inet.h>

int main() {
    char ip6str[INET6_ADDRSTRLEN];
    struct in6_addr addr;
    inet_pton(AF_INET6, "2001:0db8:85a3:0000:0000:8a2e:0370:7334", &addr);
    inet_ntop(AF_INET6, &addr, ip6str, INET6_ADDRSTRLEN);
    printf("%s\n", ip6str);
    return 0;
}

인터넷 프로토콜은 전 세계적으로 통신하는 데 필수적인 기술이며, C 언어는 네트워크 프로그래밍을 위한 표준 라이브러리를 제공한다.

참조 :