ΠΠΈΡΡΠΈΠ½Π³ 10.7. Π‘Π΅ΡΠ²Π΅Ρ, Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΠΉ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΡ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΎΡΠ²Π΅ΡΠ°
//sctp/sctpserv03.c
25 for (;;) {
26 len = sizeof(struct sockaddr_in);
27 rd_sz = Sctp_recvmsg(sock_fd, readbuf, sizeof(readbuf),
28 (SA*)&cliaddr, &len, &sri, &msg_flags);
29 if (stream_increment) {
30 sri.sinfo_stream++;
31 if (sri.sinfo_stream >=
32 sctp_get_no_strms(sock_fd, (SA*)&cliaddr, len))
33 sri.sinfo_stream = 0;
34 }
35 Sctp_sendmsg(sock_fd, readbuf, rd_sz,
36 (SA*)&cliaddr, len,
37 sri.sinfo_ppid,
38 (sri.sinfo_flags | MSG_EOF), sri.sinfo_stream, 0, 0);
39 }
ΠΡΠΏΡΠ°Π²ΠΊΠ° ΠΎΡΠ²Π΅ΡΠ° Ρ Π·Π°ΠΊΡΡΡΠΈΠ΅ΠΌ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ38 ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ»Π°Π³ MSG_EOF ΠΊ ΠΏΡΠΎΡΠΈΠΌ ΡΠ»Π°Π³Π°ΠΌ Π² Π²ΡΠ·ΠΎΠ²Π΅ sctp_sendmsg ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΠΠ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΡΠ΅ΡΠ²Π΅Ρ Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΡ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΠΈΡΡΠΈΠ½Π³ 10.8. ΠΠ»ΠΈΠ΅Π½Ρ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠ΅ Π·Π°ΠΊΡΡΡΠΈΠ΅ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ
//sctp/sctpclient02.c
25 if (echo_to_all == 0)
26 sctpstr_cli(stdin, sock_fd, (SA*)&servaddr, sizeof(servaddr));
27 else
28 sctpstr_cli_echoall(stdin, sock_fd, (SA*)&servaddr,
29 sizeof(servaddr));
30 strcpy(byemsg, "goodbye");
31 Sctp_sendmsg(sock_fd, byemsg, strlen(byemsg),
32 (SA*)&servaddr, sizeof(servaddr), 0, MSG_ABORT, 0, 0, 0);
33 Close(sock_fd);
ΠΠ²Π°ΡΠΈΠΉΠ½ΠΎΠ΅ Π·Π°ΠΊΡΡΡΠΈΠ΅ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ30-32 ΠΠ»ΠΈΠ΅Π½Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠΌ Π·Π°ΠΊΡΡΡΠΈΠΈ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ, Π²ΡΠ·Π²Π°Π½Π½ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. ΠΠ°ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ sctp_sendmsg Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Ρ ΡΠ»Π°Π³ΠΎΠΌ MSG_ABORT. ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ ABORT, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΌΡ Π·Π°ΠΊΡΡΡΠΈΡ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ. Π ΠΏΠΎΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊΠΎΠ΄ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ (Β«goodbyeΒ») Π² ΠΏΠΎΠ»Π΅ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΡΡΠ΅Π»Π΅ΠΆΠ°ΡΠ΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ.
ΠΠ°ΠΊΡΡΡΠΈΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° ΡΠΎΠΊΠ΅ΡΠ°33 Π₯ΠΎΡΡ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΡ ΠΈ Π±ΡΠ»Π° Π·Π°Π²Π΅ΡΡΠ΅Π½Π°, Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΠΎΠΊΠ΅ΡΠ° Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π·Π°ΠΊΡΡΡΡ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ.
10.8. Π Π΅Π·ΡΠΌΠ΅
ΠΡ ΠΈΠ·ΡΡΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° SCTP ΠΎΠ±ΡΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ ΠΎΠΊΠΎΠ»ΠΎ 150 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°. ΠΠ±Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Ρ ΡΠΎΠΊΠ΅ΡΠ°ΠΌΠΈ SCTP ΡΠΈΠΏΠ° Β«ΠΎΠ΄ΠΈΠ½-ΠΊΠΎ-ΠΌΠ½ΠΎΠ³ΠΈΠΌΒ». Π‘Π΅ΡΠ²Π΅Ρ Π±ΡΠ» Π½Π°ΠΏΠΈΡΠ°Π½ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΡΠΈΠ»Π΅, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΠΎΠΊΠ΅ΡΠ°ΠΌΠΈ. ΠΠ½ ΡΡΠΈΡΡΠ²Π°Π» ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠ²Π΅ΡΠ°Π» Π½Π° Π½ΠΈΡ ΠΏΠΎ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΏΠΎΡΠΎΠΊΡ, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ½ΠΈ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΈ, ΠΈΠ»ΠΈ ΠΏΠΎ ΠΏΠΎΡΠΎΠΊΡ Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π½ΡΠΌ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠ² SCTP Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΎΠΊΠ΅ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ SCTP. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΡΠ½ΠΎΠ²Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΠΈ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠ΅ Π·Π°ΠΊΡΡΡΠΈΠ΅ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ.
Π£Π³Π»ΡΠ±Π»Π΅Π½Π½ΠΎΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ SCTP Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΎ Π² Π³Π»Π°Π²Π΅ 23.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ
1. Π§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 10.1, Π΅ΡΠ»ΠΈ SCTP Π²Π΅ΡΠ½Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅? ΠΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΡΠ°Π½ΠΈΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ?
2. Π§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ ΡΠ΅ΡΠ²Π΅Ρ Π·Π°Π²Π΅ΡΡΠΈΡ ΡΠ°Π±ΠΎΡΡ, Π½Π΅ ΠΎΡΠ²Π΅ΡΠΈΠ² Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ? ΠΠΎΠΆΠ΅Ρ Π»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎΠ± ΡΡΠΎΠΌ ΡΠΎΠ±ΡΡΠΈΠΈ?
3. Π Π»ΠΈΡΡΠΈΠ½Π³Π΅ 10.7 Π² ΡΡΡΠΎΠΊΠ΅ 22 Π°ΡΠ³ΡΠΌΠ΅Π½Ρ out_sz ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°Π²Π½ΡΠΌ 800 Π±Π°ΠΉΡ. ΠΠ°ΠΊ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅, ΠΏΠΎΡΠ΅ΠΌΡ ΠΌΡ Π²ΡΠ±ΡΠ°Π»ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅? Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΠΉΡΠΈ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°?
4. ΠΠ°ΠΊ ΠΏΠΎΠ²Π»ΠΈΡΠ΅Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠ°Π³Π»Π° (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 7.10) Π½Π° Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈΠ· Π»ΠΈΡΡΠΈΠ½Π³Π° 10.7? ΠΠ΅ Π»ΡΡΡΠ΅ Π»ΠΈ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠ°Π³Π»Π° Π΄Π»Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ? ΠΠΎΠΏΠ»ΠΎΡΠΈΡΠ΅ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°.
5. Π ΡΠ°Π·Π΄Π΅Π»Π΅ 10.6 ΠΌΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π»ΠΈ, ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π΄ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ. Π§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅?
6. ΠΠΎΠ³Π΄Π° ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΌΡ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΠ»ΠΈ, ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠΊΠ΅ΡΠΎΠ² ΡΠΈΠΏΠ° Β«ΠΎΠ΄ΠΈΠ½-ΠΊΠΎ-ΠΌΠ½ΠΎΠ³ΠΈΠΌΒ» ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠΎΡΠ΅ΠΌΡ ΡΡΠΎ ΡΠ°ΠΊ? (ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°: Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ.)
7. ΠΠΎΡΠ΅ΠΌΡ ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΎΡΠΊΡΡΡΡΠ΅ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ? ΠΠΏΠ°ΡΠ½ΠΎ Π»ΠΈ ΡΡΠΎ?
8. Π ΡΠ°Π·Π΄Π΅Π»Π΅ 10.7 ΠΌΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ°ΠΊ, ΡΡΠΎ ΠΎΠ½ ΡΡΠ°Π» Π·Π°ΠΊΡΡΠ²Π°ΡΡ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΡ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΡΠ·ΠΎΠ²Π΅Ρ Π»ΠΈ ΡΡΠΎ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ? Π₯ΠΎΡΠΎΡΠ΅Π΅ Π»ΠΈ ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ?
ΠΠ»Π°Π²Π° 11
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ ΠΈ Π°Π΄ΡΠ΅ΡΠΎΠ²
11.1. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠΎ Π²ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ° ΡΠ·Π»ΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 206.6.226.33) ΠΈ ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π½ΠΎΠΌΠ΅ΡΠ° ΠΏΠΎΡΡΠΎΠ² Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΡ 13 Π΄Π»Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ Π΄Π°ΡΡ ΠΈ ΠΏΠΎΡΡ 9877 Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΡΡ ΠΎ-ΡΠ΅ΡΠ²Π΅ΡΠ°). ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎ ΡΡΠ΄Ρ ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π° Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΡΠ΅Π»: Π²ΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΈΠΌΠ΅Π½Π° ΠΏΡΠΎΡΠ΅ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΡΡ, Π²ΠΎ-Π²ΡΠΎΡΡΡ , Π΅ΡΠ»ΠΈ ΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ Π°Π΄ΡΠ΅Ρ ΠΏΠΎΠΌΠ΅Π½ΡΠ΅ΡΡΡ, ΠΈΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ, ΠΈ Π²-ΡΡΠ΅ΡΡΠΈΡ , Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠΌ Π½Π° IPv6 ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ° ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»ΠΈΠ½Π½Π΅Π΅, ΡΡΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ Π²Π²ΠΎΠ΄Π΅ Π°Π΄ΡΠ΅ΡΠ° Π²ΡΡΡΠ½ΡΡ. Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ ΠΈ Π°Π΄ΡΠ΅ΡΠΎΠ²: gethostbyname ΠΈ gethostbyaddr Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ ΡΠ·Π»ΠΎΠ² ΠΈ IP-Π°Π΄ΡΠ΅ΡΠΎΠ², ΠΈ getservbyname ΠΈ getservbyport Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ ΡΠ»ΡΠΆΠ± ΠΈ Π½ΠΎΠΌΠ΅ΡΠΎΠ² ΠΏΠΎΡΡΠΎΠ². ΠΠ΄Π΅ΡΡ ΠΆΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π²Π΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΎΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ getaddrinfo ΠΈ getnameinfo, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΠΈΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ IP-Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ ΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΡΠ·Π»ΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΡΠ»ΡΠΆΠ± ΠΈ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΏΠΎΡΡΠΎΠ².
11.2. Π‘ΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΠΌΠ΅Π½Π½ΡΡ ΠΈΠΌΠ΅Π½
Π‘ΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΠΌΠ΅Π½Π½ΡΡ ΠΈΠΌΠ΅Π½ (Domain Name System, DNS) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ Π΄Π»Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ ΡΠ·Π»ΠΎΠ² ΠΈ IP-Π°Π΄ΡΠ΅ΡΠΎΠ². ΠΠΌΡ ΡΠ·Π»Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΡΡΡΠΌ (simple name), ΡΠ°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ solaris ΠΈΠ»ΠΈ bsdi, Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»Π½ΡΠΌ Π΄ΠΎΠΌΠ΅Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ (fully qualified domain name, FQDN), Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ solaris.unpbook.com..
ΠΠ ΠΠΠΠ§ΠΠΠΠΠ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ FQDN ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ ΡΠΎΡΠΊΠΎΠΉ, Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΠ°ΡΡΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡ ΡΠΎΡΠΊΡ Π² ΠΊΠΎΠ½ΡΠ΅. Π’ΠΎΡΠΊΠ° ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅Π»Ρ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΈΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΌ ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΠΎΠΈΡΠΊΠ° Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ Π΄ΠΎΠΌΠ΅Π½Π°ΠΌ Π²Π΅ΡΡ Π½ΠΈΡ ΡΡΠΎΠ²Π½Π΅ΠΉ.
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ½ΠΎΠ²Ρ DNS, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π½Π°ΠΌ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π§ΠΈΡΠ°ΡΠ΅Π»ΠΈ, ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠΈΠ΅ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΌ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π²ΠΎΠΏΡΠΎΡΠ°, ΠΌΠΎΠ³ΡΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ Π³Π»Π°Π²Π΅ 14 [111] ΠΈ ΠΊ [1]. ΠΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ IPv6, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Ρ Π² RFC 1886 [121].
ΠΠ°ΠΏΠΈΡΠΈ ΡΠ΅ΡΡΡΡΠΎΠ²
ΠΠ°ΠΏΠΈΡΠΈ Π² DNS Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π·Π°ΠΏΠΈΡΡΠΌΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² (resource records, RR). ΠΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏΠΎΠ² RR.
β Π. ΠΠ°ΠΏΠΈΡΡ ΡΠΈΠΏΠ° Π ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΈΠΌΡ ΡΠ·Π»Π° Π² 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΉ Π°Π΄ΡΠ΅Ρ IPv4. ΠΠΎΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΡΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ DNS Π΄Π»Ρ ΡΠ·Π»Π° freebsd Π² Π΄ΠΎΠΌΠ΅Π½Π΅ unpbook.com, ΠΏΠ΅ΡΠ²Π°Ρ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ β ΡΡΠΎ Π·Π°ΠΏΠΈΡΡ ΡΠΈΠΏΠ° Π:
freebsd IN Π 12.106.32.254
IN AAAA 3ffe:b80:1f8d:1:a00:20ff:fea7:686b
IN MX 5 freebsd.unpbook.com.
IN MX 10 mailhost.unpbook.com.
β AAAA. ΠΠ°ΠΏΠΈΡΡ ΡΠΈΠΏΠ° AAAA, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠ°Ρ Β«ΡΠ΅ΡΡΡΠ΅ ΠΒ» (quad Π), ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΈΠΌΡ ΡΠ·Π»Π° Π² 128-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΉ Π°Π΄ΡΠ΅Ρ IPv6. ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ Β«ΡΠ΅ΡΡΡΠ΅ ΠΒ» ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ 128-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΉ Π°Π΄ΡΠ΅Ρ Π² ΡΠ΅ΡΡΡΠ΅ ΡΠ°Π·Π° Π±ΠΎΠ»ΡΡΠ΅ 32-ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ°.
β PTR. ΠΠ°ΠΏΠΈΡΡ PTR (pointer records β Π·Π°ΠΏΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ) ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ IP-Π°Π΄ΡΠ΅Ρ Π² ΠΈΠΌΡ ΡΠ·Π»Π°. Π§Π΅ΡΡΡΠ΅ Π±Π°ΠΉΡΠ° Π°Π΄ΡΠ΅ΡΠ° IPv4 ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΠ°ΠΆΠ΄ΡΠΉ Π±Π°ΠΉΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ASCII (0-255), Π° Π·Π°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ in-addr.arpa. ΠΠΎΠ»ΡΡΠΈΠ²ΡΠ°ΡΡΡ ΡΡΡΠΎΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π·Π°ΠΏΡΠΎΡΠ΅ PTR.
32 ΠΏΠΎΠ»ΡΠ±Π°ΠΉΡΠ° 128-ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ° IPv6 ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎΠ»ΡΠ±Π°ΠΉΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ASCII (0-9, a-f) ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΊ ip6.arpa.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π²Π΅ Π·Π°ΠΏΠΈΡΠΈ PTR Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ·Π»Π° freebsd Π±ΡΠ΄ΡΡ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
254.32.106.12 in-addr.arpa
b.6.8.6.7.a.e.f.f.f.0.2.0.0.a.0.1.0.0.0.d.8.f.1.0.8.b.0.e.f.f.3.ip6.arpa
β MX. ΠΠ°ΠΏΠΈΡΡ ΡΠΈΠΏΠ° MX (Mail Exchange Record) ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΡΠΎ ΡΠ·Π΅Π» Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π² ΡΠΎΠ»ΠΈ Β«ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°Β» Π΄Π»Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ·Π»Π°. Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΄Π»Ρ ΡΠ·Π»Π° solaris ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΎ Π΄Π²Π΅ Π·Π°ΠΏΠΈΡΠΈ ΡΠΈΠΏΠ° MX. ΠΠ΅ΡΠ²Π°Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 5, Π²ΡΠΎΡΠ°Ρ β 10. ΠΠΎΠ³Π΄Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΡΠΈΠΏΠ° MX, ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΡ Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΠ ΠΠΠΠ§ΠΠΠΠΠΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΊΠ½ΠΈΠ³ΠΈ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΡΠΈΠΏΠ° MX, Π½ΠΎ ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ ΠΎ Π½ΠΈΡ , ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ.
β CNAME. ΠΠ±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ° CNAME ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠΌΡΒ» (canonical name). ΠΠ±ΡΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌ ΡΠ»ΡΠΆΠ±Π°ΠΌ, ΡΠ°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ ftp ΠΈ www. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½ ΡΠ»ΡΠΆΠ± Π²ΠΌΠ΅ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ·Π»Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ»ΡΠΆΠ±Ρ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΠ·Π΅Π» ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠΌ (ΡΠΎ Π΅ΡΡΡ Π½Π΅Π·Π°ΠΌΠ΅ΡΠ½ΡΠΌ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ·Π»Π° linux ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ: