Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма UNIXΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 101

Автор АндрСй РобачСвский

User Datagram Protocol (UDP)

UDP являСтся ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ транспортного уровня ΠΈ, ΠΊΠ°ΠΊ слСдуСт ΠΈΠ· названия, обСспСчиваСт логичСский ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π» ΠΌΠ΅ΠΆΠ΄Ρƒ источником ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ установлСния связи. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, сообщСния, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ ΠΊ Π΄Ρ€ΡƒΠ³Ρƒ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния UDP. Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Ρ‚Π°Π³Ρ€Π°ΠΌΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» IP ΠΈ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ послСдний, Π½Π΅ обСспСчиваСт надСТности ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ прилоТСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ этот транспортный ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈ нСобходимости ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ доставки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡƒΡ‚Π΅ΠΌ ΠΎΠ±ΠΌΠ΅Π½Π° подтвСрТдСниями ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ нСдоставлСнных сообщСний.

Однако благодаря минимальной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° UDP, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… с Π΅Π³ΠΎ использованиСм вносит Π³ΠΎΡ€Π°Π·Π΄ΠΎ мСньшиС Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ, скаТСм, с ΠΏΠ°Ρ€Π½Ρ‹ΠΌ Π΅ΠΌΡƒ транспортным ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ TCP. Π Π°Π·ΠΌΠ΅Ρ€ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° UDP, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° рис. 6.9, составляСт всСго 8 ΠΎΠΊΡ‚Π΅Ρ‚ΠΎΠ².

Рис. 6.9. Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ UDP

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° поля, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠΎ 2 ΠΎΠΊΡ‚Π΅Ρ‚Π°, Π°Π΄Ρ€Π΅ΡΡƒΡŽΡ‚ соотвСтствСнно ΠΏΠΎΡ€Ρ‚Ρ‹ источника ΠΈ получатСля. Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΠΎΡ€Ρ‚Π° источника являСтся Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ это ΠΏΠΎΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ нулями. ПолС Length содСрТит Π΄Π»ΠΈΠ½Ρƒ Π΄Π°Ρ‚Π°Π³Ρ€Π°ΠΌΠΌΡ‹, которая Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ мСньшС 8 ΠΎΠΊΡ‚Π΅Ρ‚ΠΎΠ². ПолС Checksum ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммы ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ этого. Если ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ сумма Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, это ΠΏΠΎΠ»Π΅ заполняСтся нулями. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎΠ½Π° вычисляСтся ΠΏΠΎ псСвдозаголовку, содСрТащСму IP-адрСса источника ΠΈ получатСля Π΄Π°Ρ‚Π°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΏΠΎΠ»Π΅ Protocol ΠΈΠ· IP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°. Π’ΠΈΠ΄ псСвдозаголовка прСдставлСн Π½Π° рис. 6.10. Π’ΠΎ, Ρ‡Ρ‚ΠΎ вычислСниС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммы Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ IP-адрСса, Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ получСнная Π΄Π°Ρ‚Π°Π³Ρ€Π°ΠΌΠΌΠ° доставлСна Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΌΡƒ адрСсату. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ для ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° UDP Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля Protocol Ρ€Π°Π²Π½ΠΎ 17.

Рис. 6.10. ПсСвдозаголовок UDP

Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² уровня ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π² качСствС транспортного ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» UDP, ΠΌΠΎΠΆΠ½ΠΎ привСсти:

β–‘ ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» взаимодСйствия с сСрвСром Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ DNS, ΠΏΠΎΡ€Ρ‚ 53.

β–‘ ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» синхронизации Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Network Time Protocol, ΠΏΠΎΡ€Ρ‚ 123.

β–‘ ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ BOOTP, ΠΏΠΎΡ€Ρ‚Ρ‹ 67 ΠΈ 68 для ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ сСрвСра соотвСтствСнно.

β–‘ ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ копирования Trivial FTP (TFTP), ΠΏΠΎΡ€Ρ‚ 69.

β–‘ Π£Π΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ RPC, ΠΏΠΎΡ€Ρ‚ 111.

Для всСх пСрСчислСнных ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ прСдполагаСтся, Ρ‡Ρ‚ΠΎ Π² случаС нСдоставки сообщСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ дСйствия ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня (ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅). Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, прилоТСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» UDP Π² качСствС транспорта, ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΠΈ статистичСский ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠΉΡΡ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€, ΠΊΠΎΠ³Π΄Π° потСря ΠΎΠ΄Π½ΠΎΠ³ΠΎ сообщСния Π½Π΅ влияСт Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ прилоТСния Π² Ρ†Π΅Π»ΠΎΠΌ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ доставки Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ слоТный ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» транспортного уровня, Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стСпСни Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° IP, β€” ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» TCP.

Transmission Control Protocol (TCP)

TCP являСтся ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ транспортного уровня, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌ Π½Π°Π΄Π΅ΠΆΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ установлСниСм связи ΠΌΠ΅ΠΆΠ΄Ρƒ источником ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ Π΅Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»Π΅ΠΌ. На Π±Π°Π·Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° TCP Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ уровня ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ Telnet, FTP ΠΈΠ»ΠΈ HTTP.

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» TCP характСризуСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ возмоТностями, Π΄Π΅Π»Π°ΡŽΡ‰ΠΈΠΌΠΈ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ:

β–‘ ΠŸΠ΅Ρ€Π΅Π΄ фактичСской ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ установлСниС связи, Ρ‚.Π΅. запрос Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ сСанса ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… источником ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»Π΅ΠΌ. ПослС ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ сСанс ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ явно Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½.

β–‘ Π”оставка ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ являСтся Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ, Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π΅ΠΉ дублирования ΠΈΠ»ΠΈ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ очСрСдности получСния Π΄Π°Π½Π½Ρ‹Ρ….

β–‘ Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ управлСния ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… для избСТания пСрСполнСния ΠΈ Π·Π°Ρ‚ΠΎΡ€Π°.

β–‘ Π”оставка экстрСнных Π΄Π°Π½Π½Ρ‹Ρ….

Π­Ρ‚ΠΈ возмоТности ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня ΠΈ, соотвСтствСнно, прилоТСниям, ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΌ, Π½Π΅ Π·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ надСТности, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ доставки ΠΈ Ρ‚.Π΄. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ TCP, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Ρ‹. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, это Π²Π΅Π΄Π΅Ρ‚ ΠΊ слоТности самого транспортного ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΈ, ΠΊΠ°ΠΊ слСдствиС, ΠΊ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹ΠΌ расходам ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

TCP-ΠΊΠ°Π½Π°Π» прСдставляСт собой Π΄Π²ΡƒΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° β€” источником ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»Π΅ΠΌ. Π”Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… сСгмСнтами. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ TCP-сСгмСнт прСдваряСтся Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅, ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ уровня прилоТСния. Π’ΠΈΠ΄ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° TCP-сСгмСнта прСдставлСн Π½Π° рис. 6.11.

Рис. 6.11. Π€ΠΎΡ€ΠΌΠ°Ρ‚ TCP-сСгмСнта

ПолоТСниС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сСгмСнта Π² ΠΏΠΎΡ‚ΠΎΠΊΠ΅ фиксируСтся порядковым Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ (Sequence Number), прСдставлСнным ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΠΎΠ»Π΅ΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΠΌ Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΎΠΊΡ‚Π΅Ρ‚Π° сСгмСнта Π² ΠΏΠΎΡ‚ΠΎΠΊΠ΅ TCP. ΠŸΠΎΡ€ΡΠ΄ΠΊΠΎΠ²Ρ‹Π΅ Π½ΠΎΠΌΠ΅Ρ€Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для подтвСрТдСния получСния: ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ TCP-сСгмСнт содСрТит Π½ΠΎΠΌΠ΅Ρ€ подтвСрТдСния (Acknowledgement Number), ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‰ΠΈΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŽ количСство ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΎΡ‚ Π½Π΅Π³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. НомСр подтвСрТдСния опрСдСляСтся ΠΊΠ°ΠΊ Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π½Π΅ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠΊΡ‚Π΅Ρ‚Π° Π² ΠΏΠΎΡ‚ΠΎΠΊΠ΅.

И порядковый Π½ΠΎΠΌΠ΅Ρ€, ΠΈ Π½ΠΎΠΌΠ΅Ρ€ подтвСрТдСния Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎ 32 Π±ΠΈΡ‚Π° Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ TCP-сСгмСнта, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΡ… максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ составляСт (2Β³Β² - 1), Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт 0. ΠŸΡ€ΠΈ установлСнии связи стороны Π΄ΠΎΠ³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… значСниях порядковых Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² (Initial Sequence Number, ISN) Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΉ. ВпослСдствии ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΎΠΊΡ‚Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ (ISN+1).

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΡΠΊΠΎΠ»ΡŒΠ·ΡΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π° (sliding window). ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ TCP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ содСрТит Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅ Window, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° количСство Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ адрСсат Π³ΠΎΡ‚ΠΎΠ² ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ, начиная с ΠΎΠΊΡ‚Π΅Ρ‚Π°, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² ΠΏΠΎΠ»Π΅ Acknowledgement Number.

Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ TCP-сСгмСнта Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 20 ΠΎΠΊΡ‚Π΅Ρ‚ΠΎΠ². Помимо рассмотрСнных Π½Π°ΠΌΠΈ порядковых Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² ΠΈ анонсируСмого ΠΎΠΊΠ½Π°, ΠΎΠ½ содСрТит ряд Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ. Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ начинаСтся с Π΄Π²ΡƒΡ… Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² ΠΏΠΎΡ€Ρ‚ΠΎΠ², Π°Π΄Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΡ… логичСскиС процСссы Π½Π° ΠΎΠ±ΠΎΠΈΡ… ΠΊΠΎΠ½Ρ†Π°Ρ… Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π°. Π”Π°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ порядковый Π½ΠΎΠΌΠ΅Ρ€ ΠΈ Π½ΠΎΠΌΠ΅Ρ€ подтвСрТдСния.

ПолС смСщСния (Offset) ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… сСгмСнта. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π°Π·ΠΌΠ΅Ρ€ TCP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого поля измСряСтся Π² 32-Π±ΠΈΡ‚Π½Ρ‹Ρ… словах. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΈ минимальном Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΏΠΎΠ»Π΅ Offset Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ 5.

Π”Π°Π»Π΅Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ содСрТит ΡˆΠ΅ΡΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Ρ„Π»Π°Π³ΠΎΠ² Flags, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π΅ΠΌΡƒ Π±ΠΈΡ‚:

URG Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ сСгмСнт содСрТит экстрСнныС Π΄Π°Π½Π½Ρ‹Π΅, ΠΈ ΠΏΠΎΠ»Π΅ Urgent pointer Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° опрСдСляСт ΠΈΡ… ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² сСгмСнтС. ACK Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ содСрТит ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π’ ΠΏΠΎΠ»Π΅ Acknowledgement Number. PSH Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Π½Π΅ оТидая заполнСния сСгмСнта максимального Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. RST Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ уничтоТСния ΠΊΠ°Π½Π°Π»Π°. SYN Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ сСгмСнт прСдставляСт собой ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ сообщСниС, ΡΠ²Π»ΡΡŽΡ‰Π΅Π΅ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ "Ρ‚Ρ€ΠΎΠΉΠ½ΠΎΠ³ΠΎ рукопоТатия" для синхронизации порядковых Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² ΠΏΡ€ΠΈ создании ΠΊΠ°Π½Π°Π»Π°. FIN Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ сторона ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΆΠ΅Π»Π°Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π».

ПолС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммы Checksum ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ ошибок. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ сумма вычисляСтся Π½Π° основании 12-ΠΎΠΊΡ‚Π΅Ρ‚Π½ΠΎΠ³ΠΎ псСвдозаголовка, содСрТащСго, Π² частности IP-адрСса источника ΠΈ получатСля, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½ΠΎΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°. ЦСль Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΡƒΡŽ сумму части Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° IP Ρ‚Π° ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ для ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° UDP β€” Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ получСния Π½Π΅ Ρ‚Π΅ΠΌ адрСсатом.

ПолС Urgent Pointer позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ располоТСниС экстрСнных Π΄Π°Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ сСгмСнта. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ установлСнном Ρ„Π»Π°Π³Π΅ URG ΠΈ содСрТит порядковый Π½ΠΎΠΌΠ΅Ρ€ ΠΎΠΊΡ‚Π΅Ρ‚Π°, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π·Π° экстрСнными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Π’ ΠΊΠΎΠ½Ρ†Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° располагаСтся ΠΏΠΎΠ»Π΅ Options ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ сСгмСнта (MSS). Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅ дополняСтся нулями (Padding) для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ всСгда заканчивался Π½Π° Π³Ρ€Π°Π½ΠΈΡ†Π΅ 32 Π±ΠΈΡ‚.

Бостояния TCP-сСанса