Однако в связи с тем, что теперь к Internet подключаются даже тостеры, телевизоры и сотовые телефоны возникает новая угроза истощения адресного пространства. Нехватка сетевых адресов послужила основным стимулом к введению новой версии TCP/IP, известной под названием IPv6, которая предусматривает увеличение длины IP-адреса от 4 до 16 байт. В настоящее время IPv6 развёртывается в базовых сетях Internet, но эти изменения не оказывают непосредственного воздействия на локальные сети, в которых продолжают использоваться адреса, имеющие обратную совместимость с IPv4. Язык Perl еще не был до конца обновлен для поддержки IPv6, но ко времени широкого развертывания IPv6 такая поддержка, несомненно, будет в нем предусмотрена.
Сетевые порты. После того как сообщение достигает IP-адреса назначения, возникает проблема поиска соответствующей программы, например приложения ВидеоСлотсОнлайн , для которой предназначено это сообщение. На хосте обычно работает несколько сетевых серверов и поэтому было бы непрактично (или даже бессмысленно) доставлять одно и то же сообщение им всем. Именно по этой причине применяется номер порта. Часть адреса сокета, соответствующая номеру порта, представляет собой 16-разрядное целое число без знака, которое может находиться в диапазоне 1 ... 65535.
Кроме IP-адреса, каждый активный сокет на хосте отличается уникальным номером порта, что позволяет безошибочно доставлять сообщение соответствующей программе. При создании сокета в программе она может запросить операционную систему связать с сокетом порт. Если этот порт не используется, операционная система удовлетворит запрос и откажет другим программам в доступе к этому порту, пока порт снова не освободится. Если в запросе программы не указан конкретный порт, ей будет назначен один из номеров, входящих в пул неиспользуемых номеров портов.