한한한한한 한한한한한한 한한한 한한한한 한한한 1 한한 한한 한한 한한 한한 한한 Network Lab. 한 한 한
Jan 04, 2016
한남대학교 컴퓨터공학과 컴퓨터 네 트워크 실험실
1
주소 변환 함수주소 변환 함수
Network Lab.김 성 준
2HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
목 차목 차
인터넷 IP 주소 인터넷 주소 클래스 Netmask 의 이해 IP 주소 할당 사설 IP 주소 예약된 IP 주소 IP 주소 처리
3HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
인터넷 인터넷 IP IP 주소주소
보통 점으로 구분된 네 개의 10 진수로 구성 4 바이트로 구성 10 진 표기법
4HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
인터넷 주소 클래스인터넷 주소 클래스
인터넷 주소의 구성
네트워크 주소 (Netid) 호스트가 연결되어 있는 네트워크 확인
호스트 주소 (Hostid) 네트워크의 호스트 중에 하나의 특정 호스트 확인
Netid HostidClasstype
5HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
인터넷 주소 클래스인터넷 주소 클래스
인터넷 주소 클래스
6HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
인터넷 주소 클래스인터넷 주소 클래스 (( 계속계속 ))
인터넷 주소 클래스
클래스 최소 최대 네트워크 비트 호스트 비트
A 0.0.0.0127.255.255.2
557 24
B128.0.0.
0191.255.255.2
5514 16
C192.0.0.
0223.255.255.2
5521 8
D224.0.0.
0239.255.255.2
5528 N/A
E240.0.0.
0247.255.255.2
5527 N/A
7HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
10 진 표기법을 이용한 클래스
인터넷 주소 클래스인터넷 주소 클래스 (( 계속계속 ))
8HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
Netmask (Mask)
NetmaskNetmask 의 이해의 이해
Mask255.255.0.0
Mask255.255.0.0
141.14.2.21
IP 주소141.14.0.0
IP 주소
9HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
NetmaskNetmask 의 이해 의 이해 (( 계속계속 ))
netmask 를 적용하여 네트워크 주소 산출
10HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
A, B, C 클래스 주소를 위한 Netmask
클래스 최소 최대 Netmask
A 0.0.0.0127.255.255.255
255.0.0.0
B128.0.0.0
191.255.255.255
255.255.0.0
C192.0.0.0
223.255.255.255
255.255.255.0
NetmaskNetmask 의 이해 의 이해 (( 계속계속 ))
11HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
예제 3.1 (netmask.c)
예제 IP 초기화 address[]
adr_inet 초기화
최상위 바이트 검사
결과 출력
NetmaskNetmask 의 이해 의 이해 (( 계속계속 ))
12HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
참고 사항 sockaddr_in 구조체
struct sockaddr_in { short sin_family;
u_short sin_port;struct in_addr sin_addr; }
in_addr 구조체struct in_addr {
u_long s_addr;}
NetmaskNetmask 의 이해 의 이해 (( 계속계속 ))
Address Family#define AF_UNSPEC PF_UNSPEC
#define AF_LOCAL PF_LOCAL
#define AF_UNIX PF_UNIX
#define AF_INET PF_INET
Protocol Family#define PF_UNSPEC 0
/* Unspecified. */
#define PF_LOCAL 1
/* Local to host */
#define PF_UNIX PF_LOCAL
/* Old BSD name for PF_LOCAL. */
#define PF_INET 2
/* IP protocol family. */
13HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
초기화
각종 변수 및 초기값 설정 int x; /* Index variable */
struct sockaddr_in adr_inet; /* AF_INET */int len_inet; /* length */
unsigned msb; /* Most significant byte */ char class; char *netmask; static struct { unsigned char ip[4]; } addresses[] = { { { 44,135,86,12 } }, { { 127,0,0,1 } }, { { 172,16,23,95 } }, { { 192,168,9,1 } } };
NetmaskNetmask 의 이해 의 이해 (( 계속계속 ))
14HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
adr_inet 초기화
memset(&adr_inet,0,sizeof adr_inet); // 메모리 초기화
adr_inet.sin_family = AF_INET; // 도메인 설정
adr_inet.sin_port = htons(9000); // 포트 번호 설정
memcpy(&adr_inet.sin_addr.s_addr, addresses[x].ip,4);
// addresses[x] -> adr_inet.sin_addr.s_addr 로 복사
len_inet = sizeof adr_inet; // 길이 정보 저장
※ htonl 함수 : 호스트 순서 주소를 네트워크 순서 주소로 변환
NetmaskNetmask 의 이해 의 이해 (( 계속계속 ))
15HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
최상위 바이트 검사 msb = *(unsigned char *) adr_inet.sin_addr.s_addr; // 주소 추출 // 최상위 바이트 검사 if ( (msb & 0x80) == 0x00 ) { // 1 비트만 검사 class = 'A'; netmask = "255.0.0.0"; // 0000 A 클래스 } else if ( (msb & 0xC0) == 0x80 ) { // 2 비트만 검사 class = 'B'; netmask = "255.255.0.0"; // 1000 B 클래스 } else if ( (msb & 0xE0) == 0xC0 ) { // 3 비트만 검사 class = 'C';netmask = "255.255.255.0"; // 1100 C 클래스 } else if ( (msb & 0xF0) == 0xE0 ) { // 4 비트만 검사 class = 'D';netmask = "255.255.255.255"; // 1110 D 클래스 } else { class = 'E';netmask = "255.255.255.255"; // 1111 E 클래스 }
NetmaskNetmask 의 이해 의 이해 (( 계속계속 ))0x80 = 1000 0xC0 = 11000xE0 = 1110 0xF0 = 1111
16HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
NetmaskNetmask 의 이해 의 이해 (( 계속계속 ))
결과 출력 printf("Address %u.%u.%u.%u is class %c netmask %s\n", addresses[x].ip[0], addresses[x].ip[1], addresses[x].ip[2], addresses[x].ip[3], class, netmask);
실행 결과[sjkim@alzza Chap03]$ ./netmaskAddress 44.135.86.12 is class A netmask 255.0.0.0Address 127.0.0.1 is class A netmask 255.0.0.0Address 172.16.23.95 is class B netmask 255.255.0.0Address 192.168.9.1 is class C netmask 255.255.255.0
17HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
3 개의 클래스 (A, B, C) 클래스 신청 가능
Netid 를 부여 받아 Hostid 발급
interNIC
www.nic.org
한국 (www.krnic.or.kr)
IP IP 주소 할당주소 할당
18HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
보통 IP 주소는 InterNIC 에 등록인터넷에 연결되지 않으면 유일한 IP 를 가질 필요
없음 .
RFC 1597 -> 사설 IP 할당 방법 기술
사설 사설 IP IP 주소주소
클래스 최소 최대 네트워크 마스크
A 10.0.0.0 10.255.255.255
255.0.0.0
B 172.16.0.0 172.31.255.255
255.255.0.0
C192.168.0.0
192.168.255.255
255.255.255.0사설 IP 주소 범위
19HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
특정 목적을 위해 미리 예약된 IP 주소
RFC 1166 – INTERNET NUMBERS 예약된 IP 주소들을 나열
AMPRNET(The Amateur Radio Internet)
예약된 예약된 IP IP 주소 주소
클래스 최소 최대 네트워크 마스크
A 44.0.0.0 44.255.255.255
255.0.0.0
20HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
문자열 <-> 숫자 변환 함수 제공 프로그램 작성이 용이
제공되는 함수들 inet_addr 함수 inet_aton 함수 inet_ntoa 함수 inet_network 함수 inet_lnaof 함수 inet_netof 함수 inet_makeaddr 함수
IP IP 주소 처리주소 처리
21HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
문자열을 32 비트 IP 주소로 변환
unsigned long inet_addr(const char *string);
string-> 32 비트 IP 주소로 변환할 문자열
변환이 성공하면 올바른 IP 주소 반환
만약 실패 하면 INADDR_NONE 반환 errno 에 어떠한 에러 코드도 설정하지 않음
IP IP 주소 처리 주소 처리 - inet_addr(3) - inet_addr(3) 함수함수
22HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
예제 3.3 inetaddr.c
IP IP 주소 처리 주소 처리 - inet_addr(3) - inet_addr(3) 함수 함수 (( 계속계속 ))
초기화
소켓 생성 / 주소 설정
주소 바인드
소켓 주소 출력
23HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
초기화 int z; struct sockaddr_in adr_inet; /* AF_INET */ int len_inet; /* length */ int sck_inet; /* Socket */
소켓 생성sck_inet = socket(AF_INET,SOCK_STREAM,0);
IP IP 주소 처리 주소 처리 - inet_addr(3) - inet_addr(3) 함수함수 (( 계속계속 ))
24HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
주소 설정memset(&adr_inet,0,sizeof adr_inet); // 초기화
adr_inet.sin_family = AF_INET; // 도메인 설정 adr_inet.sin_port = htons(9000); // 포트 설정 adr_inet.sin_addr.s_addr = inet_addr("127.0.0.95");
// 주소 설정
주소 바인드 z = bind(sck_inet, (struct ockaddr*)&adr_inet, len_inet);
소켓 주소 출력 system("netstat -pa --tcp 2>/dev/null| grep inetaddr");
IP IP 주소 처리 주소 처리 - inet_addr(3) - inet_addr(3) 함수함수 (( 계속계속 ))
25HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
실행 결과
tcp 0 0 127.0.0.95:9000 *:* CLOSE 5381/inetaddr
에러 검출 함수static void bail(const char *on_what) { fputs(on_what,stderr); // 문자열을 표준 에러로 출력 fputc('\n',stderr); // 표준 에러에 개행문자 출력 exit(1); // 프로그램 종료}
IP IP 주소 처리 주소 처리 - inet_addr(3) - inet_addr(3) 함수함수 (( 계속계속 ))
26HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
IP 주소 문자열을 32 비트 IP 주소로 변환 int inet_aton(const char *string, struct in_addr *addr);
string-> IP 주소의 문자열
addr -> 변환된 IP 주소로 갱신된 구조체 실패하면 0 이 반환
errno 에 에러 코드 설정 하지 않음 . 성공하면 addr 에 올바른 IP 주소 설정
IP IP 주소 처리 주소 처리 - inet_aton(3) - inet_aton(3) 함수함수
27HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
예제 3.4 inetaton.c
초기화
소켓 생성 / 주소 설정
주소 바인드
소켓 주소 출력
IP IP 주소 처리 주소 처리 - inet_aton(3) - inet_aton(3) 함수 함수 (( 계속계속 ))
28HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
초기화 int z;
struct sockaddr_in adr_inet; /* AF_INET */ int len_inet; /* length */
int sck_inet; /* Socket */
소켓 생성sck_inet = socket(AF_INET,SOCK_STREAM,0);
IP IP 주소 처리 주소 처리 - inet_aton(3) - inet_aton(3) 함수 함수 (( 계속계속 ))
29HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
주소 설정
memset(&adr_inet,0,sizeof adr_inet); // 초기화
adr_inet.sin_family = AF_INET; // 도메인 설정
adr_inet.sin_port = htons(9000); // 포트 설정
// 주소 변환 실패하면 bail 함수 호출
if ( !inet_aton("127.0.0.23", &adr_inet.sin_addr) )
bail("bad address.");
len_inet = sizeof adr_inet; // 길이 설정
IP IP 주소 처리 주소 처리 - inet_aton(3) - inet_aton(3) 함수 함수 (( 계속계속 ))
30HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
주소 바인드z = bind(sck_inet, (struct sockaddr *)&adr_inet, len_inet);
소켓 주소 출력 system("netstat -pa --tcp 2>/dev/null| grep inetaton");
실행결과tcp 0 0 127.0.0.23:9000 *:* CLOSE 5949/inetaton
IP IP 주소 처리 주소 처리 - inet_aton(3) - inet_aton(3) 함수 함수 (( 계속계속 ))
31HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
32 비트 IP 주소를 문자열로 변환
char *inet_ntoa(struct in_addr addr); addr -> 변환할 IP 주소를 저장하고 있는 구조체 성공하면 문자열 IP 주소의 포인터가 반환
내부 변수에 결과를 저장하기 때문에 다음에 호출 되기 전까지만 유효한 결과를 가진다 .
IP IP 주소 처리 주소 처리 - inet_ntoa(3) - inet_ntoa(3) 함수함수
32HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
예제 3.5 inetntoa.c
IP IP 주소 처리 주소 처리 - inet_ntoa(3) - inet_ntoa(3) 함수함수 (( 계속계속 ))
초기화
주소 설정
함수 호출 후 결과 출력
33HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
초기화struct sockaddr_in adr_inet; /* AF_INET */
int len_inet; /* length */
주소 설정memset(&adr_inet,0,sizeof adr_inet); // 구조체 초기화
adr_inet.sin_family = AF_INET; // Domain 설정adr_inet.sin_port = htons(9000); // 포트번호 설정
// 주소 설정 “ 127.0.0.23” -> adr_inet.sin_addr if ( !inet_aton("127.0.0.23",&adr_inet.sin_addr))
puts("bad address.");
IP IP 주소 처리 주소 처리 - inet_ntoa(3) - inet_ntoa(3) 함수함수 (( 계속계속 ))
34HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
함수 호출 및 결과 출력printf("The IP Address is %s\n",inet_ntoa(adr_inet.sin_addr))
실행 결과The IP Address is 127.0.0.23
IP IP 주소 처리 주소 처리 - inet_ntoa(3) - inet_ntoa(3) 함수함수 (( 계속계속 ))
35HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
IP 주소를 32 비트 호스트 순서 값으로 변환
마스크 값을 호스트 비트 혹은 네트워크 비트에 적용 할 때 사용
unsigned long inet_network(const char *addr); addr -> 10 진 IP 주소를 포함하는 문자열 반환값은 호스트 순서 32 비트 IP 주소 실패시 0xFFFFFFFF( 모두 1)
IP IP 주소 처리 주소 처리 - inet_network(3) - inet_network(3) 함수함수
36HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
net_addr =
inet_network("192.168.9.1") & 0xFFFFFF00;
결과 => 0xC0A80900 (10 진수 192.168.9.0)
192.168.9.1 을 16 진수로 변환 -> C0 A8 09 01 C0 A8 09 01 & FF FF FF 00 = C0 A8 09 00
IP IP 주소 처리 주소 처리 - inet_network(3) - inet_network(3) 함수함수 (( 계속계속 ))
37HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
예제 3.6 network.c
IP IP 주소 처리 주소 처리 - inet_network(3) - inet_network(3) 함수함수 (( 계속계속 ))
초기화
함수 호출 후 결과 출력
38HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
초기화 int x; const char *addr[] = {"44.135.86.12", "127.0.0.1",
"172.16.23.95", “192.168.9.1"}; unsigned long net_addr;
함수 호출 후 결과 출력 net_addr = inet_network(addr[x]);
printf("%14s = 0x%08lX net 0x%08lX\n",
addr[x],net_addr, (unsigned long)htonl(net_addr))
※ htonl 함수 : 호스트 순서 주소를 네트워크 순서 주소로 변환
IP IP 주소 처리 주소 처리 - inet_network(3) - inet_network(3) 함수함수 (( 계속계속 ))
39HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
실행 결과44.135.86.12 = 0x2C87560C net 0x0C56872C
127.0.0.1 = 0x7F000001 net 0x0100007F172.16.23.95 = 0xAC10175F net 0x5F1710AC192.168.9.1 = 0xC0A80901 net 0x0109A8C0
IP IP 주소 처리 주소 처리 - inet_network(3) - inet_network(3) 함수함수 (( 계속계속 ))
192.168.9.1 = 0x C0 A8 09 01 net 0x 01 09 A8 C0
C0
A8
09
01
40HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
IP 주소에서 네트워크 ID 부분을 제외한 호스트 ID 부분만을 반환
unsigned long inet_lnaof(struct in_addr addr); addr -> 네트워크 바이트 순서의 IP 주소 반환값 -> addr 의 호스트 ID 부분
IP IP 주소 처리 주소 처리 - inet_lnaof(3) - inet_lnaof(3) 함수함수
41HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
inet_lnaof(3) 함수의 처리 예제
IP IP 주소 처리 주소 처리 - inet_lnaof(3) - inet_lnaof(3) 함수 함수 (( 계속계속 ))
IP 주소 클래스 16 진수값 10진표기법
44.135.86.12
A 0087560C
0.135.86.12
127.0.0.1 A 00000001
0.0.0.1
172.16.23.95
B 0000175F
0.0.23.95
192.168.9.1
C 00000001
0.0.0.144.135.86.12 (10 진수 )2C.87.56.0C (16 진수 )
42HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
Inet_lnaof(3) 함수와 유사
Host ID 대신 네트워크 ID 반환
unsigned long inet_netof(struct in_addr addr);
addr -> 네트워크 바이트 순서의 IP 주소
반환값 -> addr 의 네트워크 ID 부분
IP IP 주소 처리 주소 처리 - inet_netof(3) - inet_netof(3) 함수 함수
43HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
IP 주소 클래스 16 진수값 10진표기법
44.135.86.12
A 0000002C
0.0.0.44
127.0.0.1 A 0000007F
0.0.0.127
172.16.23.95
B 0000AC10
0.0.172.16
192.168.9.1
C 00C0A809
0.192.168.9
inet_netof(3) 함수의 처리 예제
IP IP 주소 처리 주소 처리 - inet_netof(3) - inet_netof(3) 함수 함수 (( 계속계속 ) )
44.135.86.12 (10 진수 )2C.87.56.0C (16 진수 )
44HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
inet_lnaof(3) 함수와 inet_netof(3) 함수가
에서 분리한 네트워크 iD 와 호스트 ID 를
다시 결합하여 원래의 IP 주소를 생성
struct in_addr inet_makeaddr(int net,int host); net -> inet_netof 함수에서 추출한 네트워크 ID host -> inet_lnaof 함수에서 추출한 호스트 ID 반환값 -> 원래의 IP 주소를 저장한 in_addr 구조체
IP IP 주소 처리 주소 처리 - inet_makeaddr(3) - inet_makeaddr(3) 함수 함수
45HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
예제 3.7 makeaddr.c
IP IP 주소 처리 주소 처리 - inet_makeaddr(3)- inet_makeaddr(3) 함수함수 (( 계계속속 ) )
초기화
소켓 생성 / 주소 설정
주소 분리 ( 호스트 ID 와 네트워크 ID) 및 출력
재결합 및 출력
구조체 재초기화
46HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
초기화int x; // for 문의 첨자
struct sockaddr_in adr_inet; /* AF_INET */
// 예제 IP 주소들 const char *addr[] = { "44.135.86.12", "127.0.0.1",
"172.16.23.95", "192.168.9.1" };// 네트워크 ID 와 호스트 ID 를 위한 변수
unsigned long net, hst;
IP IP 주소 처리 주소 처리 - inet_makeaddr(3)- inet_makeaddr(3) 함수함수 (( 계계속속 ) )
47HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
소켓 생성 및 주소 생성memset(&adr_inet,0,sizeof adr_inet); // 메모리 초기화
adr_inet.sin_family = AF_INET; // 도메인 설정
adr_inet.sin_port = htons(9000); // 포트번호 설정
if ( !inet_aton(addr[x],&adr_inet.sin_addr) ) // 주소 생성
puts("bad address.");
※ htonl 함수 : 호스트 순서 주소를 네트워크 순서 주소로 변환
IP IP 주소 처리 주소 처리 - inet_makeaddr(3)- inet_makeaddr(3) 함수함수 (( 계계속속 ) )
48HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
주소 분리 및 출력
// 호스트 ID 추출 hst = inet_lnaof(adr_inet.sin_addr);
// 네트워크 ID 추출net = inet_netof(adr_inet.sin_addr);
// 추출 내용 출력 ( 기존의 IP, 네트워크 ID, 호스트 ID)printf("%14s : net=0x%08lX host=0x%08lX\n", inet_ntoa(adr_inet.sin_addr), net, hst);
IP IP 주소 처리 주소 처리 - inet_makeaddr(3)- inet_makeaddr(3) 함수함수 (( 계계속속 ) )
49HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
구조체 재 초기화 재구성할 IP 주소를 보다 명확히 보여주기
위해서 memset(&adr_inet,0,sizeof adr_inet); // 메모리 초기화
adr_inet.sin_family = AF_INET; // 도메인 설정
adr_inet.sin_port = htons(9000); // 포트번호 설정
IP IP 주소 처리 주소 처리 - inet_makeaddr(3)- inet_makeaddr(3) 함수함수 (( 계계속속 ) )
50HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
주소의 재결합 및 출력 재결합
adr_inet.sin_addr = inet_makeaddr(net,hst);
출력printf("%14s : %s\n\n", "inet_makeaddr",
inet_ntoa(adr_inet.sin_addr));
IP IP 주소 처리 주소 처리 - inet_makeaddr(3)- inet_makeaddr(3) 함수함수 (( 계계속속 ) )
51HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
실행 결과44.135.86.12 : net=0x0000002C host=0x0087560Cinet_makeaddr : 44.135.86.12
127.0.0.1 : net=0x0000007F host=0x00000001inet_makeaddr : 127.0.0.1
172.16.23.95 : net=0x0000AC10 host=0x0000175Finet_makeaddr : 172.16.23.95
192.168.9.1 : net=0x00C0A809 host=0x00000001inet_makeaddr : 192.168.9.1
IP IP 주소 처리 주소 처리 - inet_makeaddr(3)- inet_makeaddr(3) 함수함수 (( 계계속속 ) )
C0 A8 09 01 : C 클래스 주소
52HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr
요약요약
함 수 명 개요inet_addr 함수 문자열 IP 주소를 32 비트 IP 주소로 변환
inet_aton 함수 문자열 IP 주소를 32 비트 IP 주소로 변환
inet_ntoa 함수 32 비트 IP 주소를 문자열 IP 주소로 변환
inet_network 함수 IP 주소를 호스트 순서 -> 네트워크 순서로 변환
inet_lnaof 함수 IP 주소에서 호스트 주소 부분 추출
inet_netof 함수 IP 주소에서 네트워크 주소 부분 추출
inet_makeaddr 함수 분리된 호스트 주소와 네트워크 주소를 결합