Адресация TCP/IP

Главным элементом, отличающим TCP/IP от остальных стеков протоколов, обеспечивающих сервисы Сетевого и Транспортного уровней, является собственная уникальная система адресации. Каждому устройству сети TCP/IP присваивается IP-адрес (иногда больше, чем один), однозначно идентифицирующий это устройство для других систем. Большинство персональных компьютеров, задействованных в сети, используют в настоящее время сетевые адаптеры типа Ethernet и TokenRing с заранее присвоенными встроенными уникальными идентификаторами (МАС-адресами), которые делают IP-адреса избыточными. Многие другие типы компьютеров имеют всевозможные адреса, назначаемые сетевыми администраторами, причем нет никакой уверенности в том, что у другого компьютера в сети масштаба Интернета не будет точно такого же адреса.

Так как IP-адреса регистрируются централизованно, можно быть уверенным, что никакие два (правильно сконфигурированные) компьютера в Интернете не будут иметь одинаковых IP-адресов. Благодаря своей системе адресации, протоколы TCP/IP способны поддерживать практически любое аппаратное обеспечение или программную платформу из ныне существующих.

Набор протоколов TCP/IP предшествовал эталонной модели OSI, но, тем не менее, протоколы можно разделить на четыре уровня, которые будут в общих чертах аналогичны семиуровневому стеку OSI:

Уровень сетевых интерфейсов (канальный OSI);

Уровень межсетевого взаимодействия (сетевой OSI);

Транспортный уровень (транспортный и сеансовый OSI);

Прикладной уровень (представительский и прикладной OSI).

В ЛВС функциональность Канального уровня определяется не протоколом из стека TCP/IP, а стандартными протоколами Канального уровня типа Ethernet или TokenRing. Хотя, вместе с тем, существует AddressResolutionProtocol (ARP, протокол разрешения адресов), применяемый системами для согласования МАС-адреса адаптера сетевого интерфейса и IP-адреса, который работает на сетевом уровне.

Именно стандарты TCP/IP определяют два протокола, наиболее часто использующиеся для создания коммуникаций Канального уровня с применением модемов и других вариантов прямого соединения. Это — Point-to-PointProtocol (РРР, протокол двухточечного соединения) и SerialLineInternetProtocol (SLIP, межсетевой протокол для последовательного канала).

Уровень Межсетевого взаимодействия представлен протоколом IP (InternetProtocol Интернет-протокол), выступающим в качестве первичного носителя для всех остальных протоколов, оперирующих на более высоких уровнях, и InternetControlMessageProtocol (ICMP, протокол контроля сообщений в сети Интернет), осуществляющего диагностику и контроль сообщений об ошибках на уровне IP. Протокол IP, как основной протокол-носитель, является протоколом без установления соединения и, в связи с этим, ненадежным, поскольку недостающие сервисы обеспечиваются Транспортным уровнем по мере необходимости.

На Транспортном уровне функционируют два протокола: TransmissionControlProtocol (TCP, протокол управления передачей) и UserDatagramProtocol (UDP, протокол передачи дейтаграмм пользователя). Протокол TCP ориентирован на установление соединения и надежен, в то время как UDP представляет собой протокол без установления соединения и, в силу этого, — не настолько устойчив. Приложение может затребовать первый или второй протокол в зависимости от собственных запросов и сервисов, которые ему уже предоставлены.

В некоторых случаях можно сказать, что Транспортный уровень стека протоколов TCP/IP включает в себя Сеансовый уровень модели OSI вместе с ее Транспортным уровнем, но это справедливо не всегда.

Прикладной уровень наиболее трудно поддается описанию, так как протоколы, работающие здесь, могут быть как полностью завершенными, самодостаточными приложениями (FTP), так и всего лишь механизмами, с помощью которых другие приложения обеспечивают какие-либо услуги, как в случае DomainNameSystem (DNS, система имен доменов) и SimpleMailTransferProtocol (SMTP, простой протокол электронной почты).

IP-адресация

IP-адрес имеет длину 32 бита и изображается в виде четырех 8-битных десятичных чисел, разделенных точками, например, 192.168.2.45. Такая форма записи называется точечной десятичной записью (dotteddecimalnotation). Каждое из 8-битных чисел иногда носит название октета (octet) или квадранта (quad). (Эти термины изначально употреблялись в связи с тем, что для некоторых компьютеров распространенный термин "байт” не означал именно 8 бит.) Так как каждый квадрант представляет собой десятичный эквивалент 8-битного двоичного числа, его возможные значения находятся в пределах от 0 до 255. Таким образом, полный диапазон IP-адресов находится в пределах от 0.0.0.0 до 255.255.255.255.

IP-адреса определяют не столько компьютеры, сколько сетевые интерфейсы. Система с двумя платами сетевых адаптеров или с одним сетевым адаптером и модемным соединением с сервером TCP/IP, имеет два 1Р-адреса. Компьютер с двумя или более сетевыми интерфейсами называют групповым (multihomed). Если интерфейсы относятся к различным сетям, то, при соответствующей конфигурации, компьютер данного типа может проводить трафик между ними, то есть функционировать в качестве маршрутизатора.

Каждый IP-адрес содержит биты, указывающие адрес сети, и биты, конкретизирующие интерфейс установленного в сети компьютера, управляющего доступом к ресурсам этой сети, называемого хостом (host). Обращаясь ко всей сети, системы задействуют только биты идентификации сети, заменяя биты адреса хоста нулями. Биты, определяющие сеть, служат для передачи пакетов от одного маршрутизатора к другому, связанному с сетью назначения, который затем передает информацию конкретному узлу.

Маска подсети

IP-адрес всегда выделяет часть своих битов для идентификации сети и часть битов для идентификации узла, однако их количество, используемое для каждой из этих целей, не всегда одно и то же. Во многих адресах общего назначения используются 24 бита для адреса сети и 8 бит для адреса узла, но граница между соответствующими битами может быть проведена в любом месте адреса. Для указания назначения каждого бита каждая TCP/IP- система имеет, кроме IP-адреса, еще и маску подсети. Маска подсети (subnetmask) представляет собой 32-битное двоичное число, биты которого позиционно соответствуют битам IP-адреса. Установленный бит маски подсети означает, что связанный с ним бит IP-адреса есть часть идентификатора сети, в то время как бит со значением "0" предполагает, что соответствующий бит IP-адреса участвует в обозначении идентификатора узла. Как и собственно IP-адрес, маска подсети записывается с применением точечной квадронотации, поэтому может быть очень похожей на IP-адрес, хотя выполняет совершенно иную функцию.

Линия раздела между адресами сети и хоста может пролегать в любом месте среди 32 бит маски подсети, но никогда не происходит смешивания битов для обозначения разных частей адреса. Четкая граница всегда делит IР-адрес на биты адреса сети слева и биты адреса узла справа.

Регистрация IP-адресов

Для того чтобы IP-адрес однозначно идентифицировал компьютер сети, критически важно, чтобы никакие два интерфейса не могли иметь одинаковые IP-адреса.

Организация, занимающаяся регистрацией адресов сетей для Интернета, называется InternetAssignedNumbersAuthority (IANA, Агентство no выделению имен и уникальных параметров протоколов Интернета). Регистрация имен доменов происходит аналогичным образом. NSI (NetworkSolutionsInc.) назначает имя домена.

Классы IP-адресов

IANA регистрирует несколько классов адресов сетей, отличающихся только своими масками подсети, т. е. количеством битов, отображающих адрес сети и адрес узла.

Идея выделения различных классов адресов заключалась в создании сетей переменного размера для удовлетворения нужд различных организаций и прикладных программ. Компания, имеющая относительно небольшую сеть, может зарегистрировать IP-адрес класса С, который позволяет поддерживать до 254 компьютеров в составе сети. Более крупная организация может использовать IP-адрес класса В или А и образовывать множество подсетей в пределах собственной сети. Подсети создаются путем "одалживания" части битов адреса узла для создания адресов подсетей, которые, по сути, являются сетями внутри сети.

IP-адреса класса D не предназначены для распределения в виде блоков, как другие классы адресов. Эта часть адресного пространства выделена под групповые адреса. Групповой (мулътивещательный) адрес (multicastaddress) идентифицирует группу компьютеров, имеющих общий признак, но не обязательно расположенных в одном месте или даже не принадлежащих одной организации. Диапазон IP-адресов, обозначенный как класс Е, зарезервирован для будущих применений.

Нерегистрируемые IР-адреса

Регистрируемые IP-адреса выделяются сетям, соединенным с Интернетом, имеющим компьютеры, к которым предполагается доступ из других сетей. В частной сети, не имеющей выхода в Интернет, нет необходимости в этой процедуре. Кроме того, большинство коммерческих сетей, подключенных к Интернету, имеют различного рода брандмауэры (firewall) для предотвращения несанкционированного проникновения в их компьютеры. Практически во всех случаях совершенно нет смысла в том, чтобы каждый компьютер сети был доступен через Интернет, это даже заключает в себе огромную потенциальную опасность. Поэтому многие брандмауэры изолируют системы сети, что делает регистрацию IP-адреса бесполезной.

CтандартыTCP/IP определяют диапазоны IP-адресов, предназначенные для применения в незарегистрированных сетях. Такие адреса не присваиваются ни одной из зарегистрированных сетей и, исходя из этого, могут совершенно свободно использоваться любой организацией, частной или общественной.

В настоящее время развитие Интернета достигло той точки, когда сетевые адреса практически всегда присваиваются третьими организациями, а не напрямую NSI. Кроме того, неуклонное увеличение количества других коммуникационных устройств, использующих собственные IP-адреса, например, карманных компьютеров и сотовых телефонов, может уже в самом ближайшем будущем привести к нехватке IP-адресов. Последняя версия протокола IP, а именно IPv6, призвана снять это ограничение с помощью расширения адресного пространства с 32 разрядов до 128.

Выделенные IР-адреса

Кроме IP-адресов, выделенных для использования в незарегистрированных сетях, существует ряд адресов, которые не закрепляются за конкретными сетями, поскольку предназначены для специальных нужд.

Адресвнутреннейобратнойсвязиузла

InternalHostLoopbackAddress (адрес внутренней обратной связи узла) представляет собой средство диагностики, которое позволяет направить трафик из TCP/IP-системы в нее же обратно, то есть фактически он не покидает компьютер. Система, передающая любые пакеты по адресу класса А со значением первого квадранта 127 (обычно это адрес 127.0.0.1), автоматически перенаправляет исходящий трафик в собственную входную IP-очередь. Так как пакеты не покидают компьютер, механизмы Канального и Физического уровня удаляются из петли, что дает возможность исключить протоколы этих уровней при выяснении причины возможных проблем.

Порты и сокеты

IP-адрес дает возможность маршрутизировать сетевой трафик к конкретной системе, но, после того, как пакеты прибыли в компьютер и совершают продвижение вверх по стеку протоколов, их по-прежнему требуется направлять к соответствующему приложению. Этой деятельностью занимаются протоколы Транспортного уровня, а именно — TCP или UDP. Для идентификации конкретного процесса, запущенного на компьютере, протоколы TCP и UDP используют номера портов, которые включены в заголовок каждого TCP- или UDP-пакета. Обычно номер порта определяет протокол прикладного уровня, сформировавший информацию, которая содержится в пакете.

Номера портов, назначаемые конкретным сервисам, также стандартизируются IANA и публикуются в AssignedNumbersRFC (последний к настоящему времени RFC 1700). Каждая TCP/IP-система имеет файл Services, в котором перечисляются нужные ей номера портов и соответствующие им сервисы.

Комбинация номера порта и IP-адреса известна под названием сокет (socket). Формат URL требует записи сокета как IP-адреса и номера порта, разделенных двоеточием, например, 192.168.2.45:80.

Присваиваниеимен TCP/IP

IP-адрес является эффективным средством идентификации сетей и узлов, но когда речь заходит о пользовательских интерфейсах, оказывается, что такие адреса крайне сложны для использования и запоминания. В связи с этим была разработана система имен доменов (DNS, DomainNameSystem) для обеспечения доменов дружественными именами.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: