ΠΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΊΠ½ΠΈΠ³ΠΈ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΡΠΈΠΏΠ° MX, Π½ΠΎ ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ ΠΎ Π½ΠΈΡ , ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ.
β CNAME. ΠΠ±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ° CNAME ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠΌΡΒ» (canonical name). ΠΠ±ΡΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌ ΡΠ»ΡΠΆΠ±Π°ΠΌ, ΡΠ°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ ftp ΠΈ www. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½ ΡΠ»ΡΠΆΠ± Π²ΠΌΠ΅ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ·Π»Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ»ΡΠΆΠ±Ρ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΠ·Π΅Π» ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠΌ (ΡΠΎ Π΅ΡΡΡ Π½Π΅Π·Π°ΠΌΠ΅ΡΠ½ΡΠΌ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ·Π»Π° linux ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ:
ftp IN CNAME linux.unpbook.com.
www IN CNAME linux.unpbook.com.
Π‘Π΅ΠΉΡΠ°Ρ ΠΏΡΠΎΡΠ»ΠΎ Π΅ΡΠ΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ°Π»ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° IPv6, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊΠΈΡ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΉ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ Π΄Π»Ρ ΡΠ·Π»ΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ ΠΈ IPv4, ΠΈ IPv6. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π·Π°Π΄Π°Π»ΠΈ ΡΠ·Π»Ρ freebsd ΠΈ Π·Π°ΠΏΠΈΡΡ ΡΠΈΠΏΠ° Π, ΠΈ Π·Π°ΠΏΠΈΡΡ ΡΠΈΠΏΠ° AAAA. ΠΠ²ΡΠΎΡ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΠΈ Π·Π°ΠΏΠΈΡΡ ΡΠΈΠΏΠ° Π, ΠΈ Π·Π°ΠΏΠΈΡΡ ΡΠΈΠΏΠ° AAAA ΠΏΠΎΠ΄ ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ·Π»Π° (ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅) ΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΡΠΈ Π·Π°ΠΏΠΈΡΠΈ RR. ΠΠ΅ΡΠ²Π°Ρ Π·Π°ΠΏΠΈΡΡ RR, ΠΈΠΌΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° -4, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π°ΠΏΠΈΡΡ ΡΠΈΠΏΠ° Π; Π²ΡΠΎΡΠ°Ρ, Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΎΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΠΈΠΌΡΡ Π½Π° -6, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π°ΠΏΠΈΡΡ ΡΠΈΠΏΠ° AAAA; Π° ΡΡΠ΅ΡΡΡ Π·Π°ΠΏΠΈΡΡ RR, ΠΈΠΌΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° -611, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π°ΠΏΠΈΡΡ ΡΠΈΠΏΠ° AAAA Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΠ΄ΡΠ΅ΡΠΈ (link-local, ΡΠΌ. Π³Π»Π°Π²Ρ 19) Π°Π΄ΡΠ΅ΡΠΎΠΌ ΡΠ·Π»Π° (ΡΡΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ΅Π»ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ). ΠΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π΄Π»Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ·Π»Π° Π±ΡΠ΄ΡΡ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
aix-4 IN Π 206.62.226.43
aix IN Π 206.62.226.43
IN MX 5 aix.unpbook.com.
IN MX 10 mailhost.unpbook.com.
Aix-4 IN A 192.168.42.2
aix-6 IN AAAA 3ffe:b80:1f8d:2:204:acff:fe17:bf38
aix-611 IN AAAA fe80::204:acff:fe17:bf38
ΠΡΠ° Π·Π°ΠΏΠΈΡΡ Π΄Π°Π΅Ρ Π½Π°ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠΌ, Π²ΡΠ±ΡΠ°Π½Π½ΡΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅.
Π Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅Π»ΠΈ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΈΠΌΠ΅Π½
ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ ΠΈΠΌΠ΅Π½ (name servers). Π§Π°ΡΡΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° BIND (Berkeley Internet Name Domain). ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π² ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ DNS ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΉ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅Π»Π΅ΠΌ (resolver). ΠΠ±ΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅Π»Ρ β gethostbyname ΠΈ gethostbyaddr, ΠΈ ΠΎΠ±Π΅ ΠΎΠ½ΠΈ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅. ΠΠ΅ΡΠ²Π°Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π°Π΄ΡΠ΅Ρ ΡΠ·Π»Π° ΠΏΠΎ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Π° Π²ΡΠΎΡΠ°Ρ β Π½Π°ΠΎΠ±ΠΎΡΠΎΡ.
ΠΠ° ΡΠΈΡ. 11.1 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΡΠΈΠΏΠΈΡΠ½ΠΎΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈΠΌΠ΅Π½. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΊΠΎΠ΄ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅Π»Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ ΠΈ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ. Π Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ Π΄Π΅ΠΌΠΎΠ½-ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅Π»Ρ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ Π²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π‘ΠΈΡΡΠ΅ΠΌΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅Π»Ρ. Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠ΄ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅Π»Ρ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΎΠ±ΡΡΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ gethostbyname ΠΈ gethostbyaddr.
Π ΠΈΡ. 11.1. Π’ΠΈΠΏΠΈΡΠ½ΠΎΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈΠΌΠ΅Π½
ΠΠΎΠ΄ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅Π»Ρ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, Π·Π°Π²ΠΈΡΡΡΠΈΡ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈΠΌΠ΅Π½ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ. (ΠΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Β«ΡΠ΅ΡΠ²Π΅ΡΡ ΠΈΠΌΠ΅Π½Β», ΡΠΏΠΎΡΡΠ΅Π±Π»ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ ΠΈΠΌΠ΅Π½, Ρ ΠΎΡΡ ΠΌΡ ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ.) Π€Π°ΠΉΠ» /etc/resolv.conf ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ IP-Π°Π΄ΡΠ΅ΡΠ° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈΠΌΠ΅Π½.
ΠΠ ΠΠΠΠ§ΠΠΠΠΠΡΠ»ΠΎ Π±Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² ΡΠ°ΠΉΠ»Π΅ /etc/resolv.conf ΠΈΠΌΠ΅Π½Π°, Π° Π½Π΅ IP-Π°Π΄ΡΠ΅ΡΠ° ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈΠΌΠ΅Π½, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΈΠΌΠ΅Π½Π° ΡΠ΄ΠΎΠ±Π½Π΅Π΅ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΠ»ΠΎ Π±Ρ Π½Π°Ρ ΠΊ Π²Π΅ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΊΡΡΠΈΡΡ ΠΈ ΡΠΉΡΠ°: ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡ ΠΈΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈΠΌΠ΅Π½?
Π Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅Π»Ρ ΠΏΠΎΡΡΠ»Π°Π΅Ρ Π·Π°ΠΏΡΠΎΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΈΠΌΠ΅Π½, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ UDP. ΠΡΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ ΠΈΠΌΠ΅Π½ Π½Π΅ Π·Π½Π°Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°, ΠΎΠ½ ΠΎΠ±ΡΡΠ½ΠΎ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΈΠΌΠ΅Π½ ΡΠ΅ΡΠ΅Π· ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ UDP. ΠΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π²Π΅Π»ΠΈΠΊ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡΡΡ Π² ΠΎΠ΄ΠΈΠ½ UDP-ΠΏΠ°ΠΊΠ΅Ρ, ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π° TCP.
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ DNS
ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΠΌΠ΅Π½ΠΈ ΠΈ Π°Π΄ΡΠ΅ΡΠ΅ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ DNS. Π’ΠΈΠΏΠΈΡΠ½ΠΎΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΎΠΉ ΡΠ»ΡΠΆΠ°Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠ·Π»ΠΎΠ² (ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°ΠΉΠ» /etc/hosts, ΠΊΠ°ΠΊ ΠΌΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π² ΡΠ°Π±Π». 11.2), ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅ΡΠΈ (Network Information System, NIS) ΠΈ ΡΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΡΠ»ΡΠΆΠ±Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² (Lightweight Directory Access Protocol β LDAP). Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΠΏΠΎΡΠΎΠ± ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ·Π»Π° Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² ΡΠ»ΡΠΆΠ± ΠΈΠΌΠ΅Π½ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. Solaris 2.x, HP-UX 10 ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ FreeBSD 5.x ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ°ΠΉΠ» /etc/nswitch.conf, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ AIX ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ°ΠΉΠ» /etc/netsvc.conf. BIND 9.9 ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ²ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ IRS (Information Retrieval Service β ΡΠ»ΡΠΆΠ±Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ°ΠΉΠ» /etc/irs.conf. ΠΡΠ»ΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΠΈΠΌΠ΅Π½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΈΠΌΠ΅Π½ ΡΠ·Π»ΠΎΠ², Π²ΡΠ΅ ΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ IP-Π°Π΄ΡΠ΅ΡΠΎΠ² ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈΠΌΠ΅Π½ ΡΠ°ΠΉΠ» /etc/resolv.conf. Π ΡΡΠ°ΡΡΡΡ, ΡΡΠΈ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΊΡΡΡΡ ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅Π»Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ gethostbyname ΠΈ gethostbyaddr.
11.3. Π€ΡΠ½ΠΊΡΠΈΡ gethostbyname
Π£Π·Π»Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ ΡΠ΅ΡΠ΅ΠΉ ΠΌΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌ ΠΏΠΎ ΠΈΡ ΠΈΠΌΠ΅Π½Π°ΠΌ, ΡΠ΄ΠΎΠ±Π½ΡΠΌ Π΄Π»Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΠΎΡΠΏΡΠΈΡΡΠΈΡ. ΠΠΎ Π²ΠΎ Π²ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΊΠ½ΠΈΠ³ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ IP-Π°Π΄ΡΠ΅ΡΠ° Π²ΠΌΠ΅ΡΡΠΎ ΠΈΠΌΠ΅Π½, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠΎΡΠ½ΠΎ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΡΡΡΡΠΊΡΡΡΡ Π°Π΄ΡΠ΅ΡΠΎΠ² ΡΠΎΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠ°ΠΊ connect ΠΈ sendto, ΠΈ ΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ accept ΠΈ recvfrom. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, Π° Π½Π΅ Ρ Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ. ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ Π½Π° IPv6, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π°Π΄ΡΠ΅ΡΠ° IPv6 (ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ) Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»ΠΈΠ½Π½Π΅Π΅ Π°Π΄ΡΠ΅ΡΠΎΠ² IPv4, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π² ΡΠΎΡΠ΅ΡΠ½ΠΎ-Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ. (ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΏΠΈΡΡ ΡΠΈΠΏΠ° AAAA ΠΈ Π·Π°ΠΏΠΈΡΡ ΡΠΈΠΏΠ° PTR Π΄Π»Ρ ip6.arpa Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΡΠΎ ΡΠΎ Π²ΡΠ΅ΠΉ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΡΡΡΡ.)
Π‘Π°ΠΌΠ°Ρ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ°Ρ ΠΏΠΎΠΈΡΠΊ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ·Π»Π°, β ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ gethostbyname. ΠΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΡΠΊΡΡΡΡ hostent, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π²ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ° IPv4 Π΄Π»Ρ ΡΠ·Π»Π°. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π°Π΄ΡΠ΅ΡΠ° IPv4. Π ΡΠ°Π·Π΄Π΅Π»Π΅ 11.6 ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ°Ρ Π°Π΄ΡΠ΅ΡΠ° IPv4 ΠΈ IPv6. Π‘ΡΠ°Π½Π΄Π°ΡΡ POSIX ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°Π΅Ρ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ gethostbyname ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½Π° ΠΈΠ· Π±ΡΠ΄ΡΡΠ΅ΠΉ Π΅Π³ΠΎ Π²Π΅ΡΡΠΈΠΈ.
ΠΠ ΠΠΠΠ§ΠΠΠΠΠΠ°Π»ΠΎΠ²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ gethostbyname ΠΈΡΡΠ΅Π·Π½ΡΡ ΡΠ°Π½ΡΡΠ΅, ΡΠ΅ΠΌ Π²Π΅ΡΡ ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅Ρ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ» IPv6, Π° ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΡΡΠΎ Π΅ΡΠ΅ ΠΎΡΠ΅Π½Ρ Π½Π΅ ΡΠΊΠΎΡΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ° POSIX Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΎΠ½Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ . ΠΠΌΠ΅ΡΡΠΎ Π½Π΅Π΅ ΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ getaddrinfo (ΡΠ°Π·Π΄Π΅Π» 11.6).
#include <netdb.h>
struct hostent *gethostbyname(const char *hostname);
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ: Π½Π΅ΠΏΡΡΡΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, -1 Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ
ΠΠ΅ΠΏΡΡΡΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΡΠΊΡΡΡΡ hostent:
struct hostent {
char *h_name; /* ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ (ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΎΠ΅) ΠΈΠΌΡ ΡΠ·Π»Π° */
char **h_alihases; /* ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΌΠ°ΡΡΠΈΠ² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ */
int h_addrtype; /* ΡΠΈΠΏ Π°Π΄ΡΠ΅ΡΠ° ΡΠ·Π»Π°: AF_INET */
int h_length; /* Π΄Π»ΠΈΠ½Π° Π°Π΄ΡΠ΅ΡΠ°: 4 */
char **h_addr_list; /* ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΌΠ°ΡΡΠΈΠ² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Ρ Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ IPv4 ΠΈΠ»ΠΈ IPv6 */
};
Π ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ DNS ΡΡΠ½ΠΊΡΠΈΡ gethostbyname Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ Π½Π° Π·Π°ΠΏΠΈΡΡ ΡΠΈΠΏΠ° Π. Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π°Π΄ΡΠ΅ΡΠ° IPv4.
ΠΠ° ΡΠΈΡ. 11.2 ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΡΡΡΠΊΡΡΡΡ hostent ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°ΡΡΡ Π² Π½Π΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π² ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΡΡΠΎ ΠΈΡΠΊΠΎΠΌΠΎΠ΅ ΠΈΠΌΡ ΡΠ·Π»Π° ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π° Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΡΡΠΈ Π°Π΄ΡΠ΅ΡΠ° IPv4. ΠΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΡΠ·Π»Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠ·ΡΠΊΠ° Π‘.
Π ΠΈΡ. 11.2. Π‘ΡΡΡΠΊΡΡΡΠ° hostent ΠΈ Π΅Π΅ ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ ΠΈΠΌΡ h_name Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ·Π»Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΠΌΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π·Π°ΠΏΠΈΡΡΠΌΠΈ CNAME ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠΌΡ ΡΠ·Π»Π° ftp://ftp.unpbook.com Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄ linux.unpbook.com. Π’Π°ΠΊΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ gethostbyname Ρ ΡΠ·Π»Π° aix Ρ Π½Π΅ΠΏΠΎΠ»Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ solaris, ΡΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΠ΅ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ (FQDN) solaris.unpbook.com..
ΠΠ ΠΠΠΠ§ΠΠΠΠΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ gethostbyname Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ, ΡΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ hostname ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΠΈΡΠ°Π½ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ Π΄Π΅ΡΡΡΠΈΡΠ½ΡΡ ΡΠΈΡΠ΅Π», ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ. Π’ΠΎ Π΅ΡΡΡ Π²ΡΠ·ΠΎΠ² Π² ΡΠΎΡΠΌΠ΅ hptr = gethostbyname("206.62.226.33"); Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΡΠΎΡ ΠΊΠΎΠ΄ Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ»ΠΈΠ΅Π½Ρ Rlogin ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠΌΡ ΡΠ·Π»Π°, Π²ΡΠ·ΡΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ gethostbyname, ΠΈ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΡΠ΅ΡΠ½ΠΎ-Π΄Π΅ΡΡΡΠΈΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ [127]. Π‘ΡΠ°Π½Π΄Π°ΡΡ POSIX Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΡΡΠΎ, Π½ΠΎ Π½Π΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ.
Π€ΡΠ½ΠΊΡΠΈΡ gethostbyname ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠΎΠΊΠ΅ΡΠΎΠ², ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π°ΠΌΠΈ, ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΠ½Π° Π½Π΅ Π·Π°Π΄Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ errno, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠ°. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΎΠ½Π° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ h_errno ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ <netdb.h>: