Константа INADDR_ANY в IPv4 обозначает так называемый
Обычно IPv4-адреса делят на
Представьте, например, что идентификатор нашей сети равен 204.152.189.0/24 и мы решили разделить этот диапазон адресов, выделив из 8-разрядного идентификатора узла 4 бита на идентификатор подсети. В результате маска подсети будет состоять из 28 единиц, за которыми следуют четыре нуля, а подсеть с идентификатором 1 будет иметь вид 204.152.189.16/28.
Рис. 54.6.
Протоколы IPv6 и IPv4 имеют похожую структуру адресов. Ключевое различие заключается в том, что в IPv6 адреса состоят из 128 бит, и несколько первых битов отводится под
IPv6-адреса обычно записываются в виде последовательности шестнадцатеричных чисел, разделенных двоеточиями. Например:
F000:0:0:0:0:0:A:1
IPv6-адреса часто включают в себя несколько нулей, идущих подряд; для обозначения данной последовательности можно использовать два двоеточия (::). Таким образом, адрес, приведенный выше, можно записать в следующем виде:
F000::A:1
IPv6 допускает применение в адресе только одного двойного двоеточия; несоблюдение этого правила приведет к непредсказуемым результатам.
Протокол IPv6, как и IPv4, поддерживает замкнутый на себя адрес (127 нулей, за которыми следует одна единица, — то есть::1) и универсальный адрес (все нули — 0::0 или::).
Чтобы приложения, основанные на IPv6, могли взаимодействовать с узлами, поддерживающими только IPv4, были разработаны адреса, совместимые с IPv4. Их формат показан на рис. 54.7.
Рис. 54.7.
При записи такого адреса часть, совместимая с IPv4 (то есть последние 4 байта), записывается в виде десятичных чисел, разделенных точками. Таким образом, в IPv6 адрес 204.152.189.116 будет иметь вид::FFFF:204.152.189.116.
В стеке TCP/IP существует два широко используемых транспортных протокола:
•
•
Прежде чем перейти к их рассмотрению, следует сначала ознакомиться с таким понятием, как номера портов, которое применяется в обоих этих протоколах.
54.6.1. Номера портов
Задача транспортного протокола состоит в предоставлении сквозного канала, позволяющего взаимодействовать приложениям, расположенным на разных компьютерах (или иногда на одном компьютере). Чтобы ее выполнить, данному протоколу нужно как-то различать разные приложения на одном и том же узле. В TCP и UDP это делается с помощью
Общеизвестные, зарегистрированные и привилегированные порты