소켓 프로그래밍을 시작하고 있으면 계속 AF_INET이라는 것이 눈에 띌 것입니다.
그렇다면 AF_INET의 목적은 무엇이고, 그 이외의 사용할 수 있는 것들은 어떤 것이 있을까?
AF_INET은 소켓이 통신 할 수있는 주소 유형(이 경우 Internet Protocol v4 주소)을 지정하는 데 사용되는 주소 체계입니다.
소켓을 만들 때는 해당 주소의 패밀리를 지정해야하며 해당 유형의 주소만 소켓과 함께 사용할 수 있습니다.
예를 들어, Linux 커널은 UNIX(AF_UNIX) 소켓 및 IPX(AF_IPX)와 같은 29개의 다른 주소 계열과 IRDA 및 Bluetooth와의 통신(AF_IRDA 및 AF_BLUETOOTH)을 지원하지만 이러한 낮은 수준에서 사용할 수는 없습니다.
대부분의 AF_INET경우 네트워크를 통한 소켓 프로그래밍을 고수 하는 것이 가장 안전한 옵션입니다.
또한 Internet Protocol v6 addresses에 대한 AF_INET6이 있습니다.
AF_INET의 주요 목적은 다른 가능한 network protocol 또는 address family를 허용하는 것입니다.
(AF는 주소 패밀리용, PF_INET은 (IPv4) 인터넷 프로토콜 패밀리 용).
예를 들어, 몇몇의 Netware SPX / IPX 네트워크가 여전히 있을 것입니다.
DECNet, StarLAN 및 SNA와 같은 다른 네트워크 시스템이 있었지만, 잘못 알려진 ISO OSI(Open Systems Interconnection)는 말할 것도 없고, 현재 ubiquitous IP 주소를 사용하여 네트워크 연결에서 peer host 식별 할 필요는 없었습니다.
AF_INET의 ubiquitous 대안 (이후 AF_INET4라는 이름)은 IPv6 주소 제품군의 경우 AF_INET6입니다.
IPv4는 32-bit 주소를, IPv6은 128-bit 주소를 사용합니다.
다른 값이 표시 될 수 있지만 이례적인 값은 아닙니다. 대안과 향후 방향을 제시 할 수 있습니다.
소켓 인터페이스는 실제로 매우 일반적입니다. 이는 다른 네트워킹 인터페이스가 시들어 버린 이유 중 하나입니다.
IPC 소켓 통신을 구현하는 데 사용할 소켓 주소 지정 유형을 지정하려면 AF_UNIX 또는 AF_INET과 같은 인수가 필요합니다. AF는 주소 패밀리를 나타냅니다.
BSD 표준 소켓 (Python 소켓 모듈에 채택)에서와 같이 주소는 다음과 같이 표시됩니다.
AF_UNIX / AF_LOCAL 주소 패밀리에는 단일 문자열이 사용됩니다.
이 옵션은 IP 주소가 필요하지 않은 로컬 시스템의 IPC에 사용됩니다.
AF_INET 주소 패밀리에는 한 쌍(호스트, 포트)으로 사용됩니다.
여기서 호스트는 인터넷 도메인 표기법의 Host name 또는 '100.50.200.5'와 같은 IPv4 주소를 나타내는 문자열이며 포트는 정수 인터넷을 통한 프로세스 간 통신에 사용됩니다.
AF_UNIX, AF_INET6, AF_NETLINK, AF_TIPC, AF_CAN, AF_BLUETOOTH, AF_PACKET, AF_RDS 는 AF_INET 대신 사용할 수있는 다른 옵션입니다 .
해당 게시글은 Stackoverflow 사이트의 질문 게시글의 답변을 번역하연 게시글입니다.
https://stackoverflow.com/questions/1593946/what-is-af-inet-and-why-do-i-need-it
What is AF_INET, and why do I need it?
I'm getting started on socket programming, and I keep seeing this AF_INET. Yet, I've never seen anything else used in its place. My lecturers are not that helpful and just say "You just need it". ...
stackoverflow.com
여러 주소 체계 유형들이 존재하며, 각기 다른 사용법에 따라 분류됩니다.
소켓 프로그래밍을 시작하고 있으면 계속 AF_INET이라는 것이 눈에 띌 것입니다.
그렇다면 AF_INET의 목적은 무엇이고, 그 이외의 사용할 수 있는 것들은 어떤 것이 있을까?
AF_INET은 소켓이 통신 할 수있는 주소 유형(이 경우 Internet Protocol v4 주소)을 지정하는 데 사용되는 주소 체계입니다.
소켓을 만들 때는 해당 주소의 패밀리를 지정해야하며 해당 유형의 주소만 소켓과 함께 사용할 수 있습니다.
예를 들어, Linux 커널은 UNIX(AF_UNIX) 소켓 및 IPX(AF_IPX)와 같은 29개의 다른 주소 계열과 IRDA 및 Bluetooth와의 통신(AF_IRDA 및 AF_BLUETOOTH)을 지원하지만 이러한 낮은 수준에서 사용할 수는 없습니다.
대부분의 AF_INET경우 네트워크를 통한 소켓 프로그래밍을 고수 하는 것이 가장 안전한 옵션입니다.
또한 Internet Protocol v6 addresses에 대한 AF_INET6이 있습니다.
AF_INET의 주요 목적은 다른 가능한 network protocol 또는 address family를 허용하는 것입니다.
(AF는 주소 패밀리용, PF_INET은 (IPv4) 인터넷 프로토콜 패밀리 용).
예를 들어, 몇몇의 Netware SPX / IPX 네트워크가 여전히 있을 것입니다.
DECNet, StarLAN 및 SNA와 같은 다른 네트워크 시스템이 있었지만, 잘못 알려진 ISO OSI(Open Systems Interconnection)는 말할 것도 없고, 현재 ubiquitous IP 주소를 사용하여 네트워크 연결에서 peer host 식별 할 필요는 없었습니다.
AF_INET의 ubiquitous 대안 (이후 AF_INET4라는 이름)은 IPv6 주소 제품군의 경우 AF_INET6입니다.
IPv4는 32-bit 주소를, IPv6은 128-bit 주소를 사용합니다.
다른 값이 표시 될 수 있지만 이례적인 값은 아닙니다. 대안과 향후 방향을 제시 할 수 있습니다.
소켓 인터페이스는 실제로 매우 일반적입니다. 이는 다른 네트워킹 인터페이스가 시들어 버린 이유 중 하나입니다.
IPC 소켓 통신을 구현하는 데 사용할 소켓 주소 지정 유형을 지정하려면 AF_UNIX 또는 AF_INET과 같은 인수가 필요합니다. AF는 주소 패밀리를 나타냅니다.
BSD 표준 소켓 (Python 소켓 모듈에 채택)에서와 같이 주소는 다음과 같이 표시됩니다.
AF_UNIX / AF_LOCAL 주소 패밀리에는 단일 문자열이 사용됩니다.
이 옵션은 IP 주소가 필요하지 않은 로컬 시스템의 IPC에 사용됩니다.
AF_INET 주소 패밀리에는 한 쌍(호스트, 포트)으로 사용됩니다.
여기서 호스트는 인터넷 도메인 표기법의 Host name 또는 '100.50.200.5'와 같은 IPv4 주소를 나타내는 문자열이며 포트는 정수 인터넷을 통한 프로세스 간 통신에 사용됩니다.
AF_UNIX, AF_INET6, AF_NETLINK, AF_TIPC, AF_CAN, AF_BLUETOOTH, AF_PACKET, AF_RDS 는 AF_INET 대신 사용할 수있는 다른 옵션입니다 .
해당 게시글은 Stackoverflow 사이트의 질문 게시글의 답변을 번역하연 게시글입니다.
https://stackoverflow.com/questions/1593946/what-is-af-inet-and-why-do-i-need-it
What is AF_INET, and why do I need it?
I'm getting started on socket programming, and I keep seeing this AF_INET. Yet, I've never seen anything else used in its place. My lecturers are not that helpful and just say "You just need it". ...
stackoverflow.com
여러 주소 체계 유형들이 존재하며, 각기 다른 사용법에 따라 분류됩니다.