1.7.3. Протокол TCP/IP

1.7.3. Протокол TCP/IP

В этом разделе давайте рассмотрим, как передается информация в TCP/IP-сети. Любая информация передается небольшими порциями, которые называются пакетами. Если нужный объем информации нельзя передать одним пакетом, он разбивается на части. В заголовке каждого пакета указывается IP-адрес отправителя и IP-адрес получателя, а также номер порта. 

Любому компьютеру в IP-сети (TCP/IP-сети) назначен уникальный адрес, который называется IP-адресом. IP-адрес — это 32-разрядное число, которое принято записывать в десятеричном или шестнадцатиричном формате в виде четырех чисел, разделенных точками, например:

1. 111.111.213.232

2. 127.0.0.1

3. 192.168.9.2

При условии, что ваша сеть подключена к Интернет, протокол TCP/IP обеспечивает работу вашей сетевой программы с любым компьютером в мире, как будто тот находится в локальной сети. Уникальность IP-адреса достигается достаточно просто — IP-адреса назначаются централизованно Сетевым Информационным Центром (nic, Network Information Center).

Для понимания остальной информации нужно отметить, что существуют локальные (LAN, Local Area Networks) и региональные (Wide Area Networks) сети. Сеть Интернет сначала была региональной (Arpanet), а потом стала глобальной, объединив все региональные сети мира. Если ваша локальная (или даже региональная) сеть не соединена с Интернет, то внутри сети вы можете использовать любые IP-адреса без согласования с NIC. Обычно в локальных сетях используются особые IP-адреса, о которых мы поговорим немного позже.

Любую сеть, независимо от типа — LAN или WAN, можно разделить на подсети. Причины разбиения сети на подсети кроются в ранних версиях протокола IP. Тогда существовало несколько сетей класса А, содержащих несколько миллионов узлов (о классах читайте далее). Помимо всего прочего, в таких сетях очень велика вероятность коллизий, то есть одновременного доступа двух или более узлов к среде передачи данных. Управлять такой сетью крайне неудобно, да и сеть будет перегружена собственным трафиком. Поэтому основной принцип разделения — «разделяй и властвуй».

К другим причинам разделения относят создание маленьких подсетей с использованием разных технологий — Ethernet, Token Ring, FDDI, ATM. Вы не можете смешивать эти технологии в одной сети, однако они могут быть взаимосвязаны с помощью разделения на подсети.

Разделение на подсети может быть также произведено из соображений безопасности. Более подробно об этой и других причинах разделения сети на подсети вы можете прочитать в руководстве IP Sub-networking-HOWTO, которое вы найдете на прилагаемом компакт-диске.

Как я уже писал, каждый компьютер в сети имеет свой уникальный адрес. Но оказывается, что и сеть (подсеть) также имеет свой уникальный адрес. Под сетью можно понимать «пачку» IP-адресов, идущих подряд, то есть 192.168.1.0…192.168.1.255. Самый младший и самый старший адреса резервируются. Младший (192.168.1.0) является адресом сети, а старший является широковещательным (broadcast) адресом сети. Адрес сети может потребоваться, когда нужно указать всю сеть (подсеть), например, при задании маршрутизации для этой сети.

Представьте, что у вас есть две отдельных сети и вам нужно объединить их в одну. Тогда эта одна «большая» сеть станет называться сетью, а две «маленькие» — подсетями. Устройство, которое будет обеспечивать связь этих сетей (маршрутизацию), называется, как уже было отмечено выше, маршрутизатором. Маршрутизатор может быть как аппаратным (отдельное устройство), так и программным.

В роли программного маршрутизатора может выступать любой компьютер с двумя (или более) сетевыми интерфейсами, например, двумя сетевыми платами. В качестве операционной системы может быть установлена любая сетевая операционная система, поддерживающая перенаправление пакетов IPv4-Forwarding. Такой операционной системой может быть Linux, FreeBSD, любая UNIX-система, Windows NT/2000. Маршрутизатор можно настроить и на базе Windows 98, но делать это я не рекомендую, поскольку вряд ли он будет работать надежно. Традиционно в роли маршрутизатора используются UNIX-системы, к которым относится и Linux.

Широковещательный адрес используется для передачи сообщений «всем — всем — всем» в рамках сети, то есть когда нужно передать сообщение (пакет) сразу всем компьютерам сети. Широковещательные запросы очень часто используются, например, для построения ARP-таблиц.

Для каждой подсети определена ее маска. Фактически, маска — это размер сети, то есть число адресов в сети. Маску принято записывать в десятично-побайтном виде:

255.255.255.0 маска на 256 адресов (0…255);
255.255.255.192 маска на 64 адреса (192…255);
255.255.0.0 маска на 65536 адресов (256*256).

В общем случае IP-сети делятся на пять классов: А, В, С, D и Е.

Сети класса А — это огромные сети. Маска сети класса А: 255.0.0.0. В каждой сети такого класса может находиться 16777216 адресов. Адреса таких сетей лежат в промежутке 1.0.0.0…126.0.0.0, а адреса хостов (компьютеров) имеют вид 125.*.*.*

Сети класса В — это средние сети. Маска такой сети — 255.255.0.0. Эта сеть содержит 65536 адресов. Диапазон адресов таких сетей 128.0.0.0…191.255.0.0. Адреса хостов имеют вид 136.12.*.*

Сеть класса С — маленькие сети. Содержат 256 адресов (на самом деле всего 254 хоста, так как номера 0 и 255 зарезервированы). Маска сети класса С — 255.255.255.0. Интервал адресов: 192.0.1.0…223.255.255.0. Адреса хостов имеют вид: 195.136.12.*

Класс сети определить очень легко. Для этого нужно перевести десятичное представление адреса сети в двоичное. Например, адрес сети 128.11.1.0 в двоичном представлении будет выглядеть так:

10000000 00001011 00000001 00000000

а сети 192.168.1.0:

11000000 10101000 00000001 00000000

Если адрес начинается с последовательности битов 10, то данная сеть относится к классу В, а если с последовательности 110, то — к классу С.

Если адрес начинается с последовательности 1110, то сеть является сетью класса D, а сам адрес является особым — групповым (multicast). Если в пакете указан адрес сети класса D, то этот пакет должны получить все хосты, которым присвоен данный адрес.

Адреса класса Е зарезервированы для будущего применения. В табл. 1.2 приведены сравнительные характеристики сетей классов А, В, С, D и Е.

Характеристики сетей различных классов Таблица 1.2

Класс Первые биты Диапазон адресов Количество узлов
А 0 1.0.0.0…126.0.0.0 16777216 (224)
В 10 128.0.0.0…191.255.0.0 65536 (216)
С 110 192.0.1.0…223.255.255.0 256 (28)
D 1110 224.0.0.0...239.255.255.255 Multicast
Е 11110 240.0.0.0…247.255.255.255 Зарезервирован

Теперь самое время немного сказать о специальных адресах, о которых я упомянул немного выше. Если весь IP-адрес состоит из нулей (0.0.0.0), то значит, что он обозначает адрес того узла, который сгенерировал этот пакет.

Адрес 255.255.255.255 — это широковещательный адрес. Пакет с таким адресом будет рассылаться всем узлам, которые находятся в той же сети, что и источник пакета. Это явление называется ограниченным широковещанием. Существует также другая рассылка, которая называется широковещательным сообщением. В этом случае вместо номера узла стоят все единицы в двоичном представлении (255). Например, 192.168.2.255. Это означает, что данный пакет будет рассылаться всем узлам сети 192.168.2.0.

Особое значение имеет IP-адрес 127.0.0.1 — это адрес локального компьютера. Он используется для тестирования сетевых программ и взаимодействия сетевых процессов. При попытке отправить пакет по этому адресу данные не передаются по сети, а возвращаются протоколам верхних уровней, как только что принятые. При этом образуется как бы «петля». Этот адрес называется loopback. В IP-сети запрещается использовать IP-адреса, которые начинаются со 127. Любой адрес подсети 127.0.0.0 относится к локальному компьютеру, например: 127.0.0.1, 127.0.0.5, 127.77.0.6.

Существует также специальные адреса, которые зарезервированы для несвязанных локальных сетей — это сети, которые используют протокол IP, но не подключены к Интернет. Вот эти адреса:

10.0.0.0 (сеть класса А, маска сети 255.0.0.0).

172.16.0.0…172.31.0.0 (16 сетей класса В, маска каждой сети 255.255.0.0).

192.168.0.0…192.168.255.0 (256 сетей класса С, маска каждой сети 255.255.255.0).

В этой книге я старался использовать именно такие адреса, чтобы не вызвать пересечение с реальными IP-адресами.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Протокол IPX/SPX

Из книги Домашние и офисные сети под Vista и XP автора Ватаманюк Александр Иванович

Протокол IPX/SPX Протоколы IPX и SPX – представители стека протоколов, разработанных компанией Novell, которая в свое время являлась прямым конкурентом компании Microsoft. Конкуренция велась в области сетевых операционных систем: с одной стороны стояла операционная система Novell Netware,


Протокол TCP/IP

Из книги Эффективное делопроизводство автора Пташинский Владимир Сергеевич

Протокол TCP/IP TCP/IP – самый распространенный протокол транспортного уровня и в локальных, и в глобальных сетях, разработанный Министерством обороны США более 20 лет назад.Протокол TCP/IP имеет открытый интерфейс. Это означает, что вся информация об этом протоколе открыта и


Протокол

Из книги Linux-сервер своими руками автора Колисниченко Денис Николаевич

Протокол Протокол служит для утверждения решений, принятых коллегиально: на совещаниях, собраниях, конференциях. Это документ, в котором фиксируются фактические обстоятельства. Он ведется либо непосредственно во время заседания коллегиального органа, либо после


1.7.3. Протокол TCP/IP

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

1.7.3. Протокол TCP/IP В этом разделе давайте рассмотрим, как передается информация в TCP/IP-сети. Любая информация передается небольшими порциями, которые называются пакетами. Если нужный объем информации нельзя передать одним пакетом, он разбивается на части. В заголовке


4.7 Протокол PPP

Из книги О чём не пишут в книгах по Delphi автора Григорьев А. Б.


5.24 Протокол ARP

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

5.24 Протокол ARP Перед тем как датаграмма будет передана с одной системы локальной сети на другую, она будет обрамлена заголовком и завершающей частью кадра. Кадр доставляется на сетевой адаптер, физический адрес которого совпадает с физическим адресом назначения из


8.9 Протокол RIP

Из книги Linux глазами хакера автора Флёнов Михаил Евгеньевич

8.9 Протокол RIP Наиболее широко используемым протоколом IGP является RIP, заимствованный из протокола маршрутизации сетевой системы компании Xerox (Xerox Network System — XNS). Популярность RIP основана на его простоте и доступности.RIP был первоначально реализован в TCP/IP операционной


8.17 Протокол BGP

Из книги Операционная система UNIX автора Робачевский Андрей М.

8.17 Протокол BGP В Интернете широко используется протокол граничного шлюза (Border Gateway Protocol — BGP). Текущей версией протокола является BGP-4.В современном Интернете существует множество провайдеров, объединенных между собой на манер сети межсоединений. При движении к точке


14.6 Протокол FTP

Из книги автора

14.6 Протокол FTP С протоколом FTP связаны следующие понятия:? Команды и их параметры, пересылаемые по управляющему соединению? Числовые коды, возвращенные в ответ на команду? Формат пересылаемых данныхНиже рассмотрен набор команд FTP. Они передаются по управляющему


16.14 Протокол POP

Из книги автора

16.14 Протокол POP Протокол почтового офиса (Post Office Protocol — POP) применяется для пересылки сообщений с почтового сервера на настольную или переносную компьютерную систему.Спецификация POP определяет множество различных функций, например возможность просмотра списка


2.1.5. Протокол UDP

Из книги автора

2.1.5. Протокол UDP Протокол UDP (User Datagram Protocol — протокол пользовательских дейтаграмм) встречается реже, чем его "одноклассник" TCP, но он проще для понимания, поэтому мы начнем изучение транспортных протоколов с него. Коротко UDP можно описать как ненадежный протокол без


2.1.6. Протокол TCP

Из книги автора

2.1.6. Протокол TCP Протокол TCP (Transmission Control Protocol — протокол управления передачей) является надежным потоковым протоколом с соединением, т. е. полной противоположностью UDP. Единственное, что у этих протоколов общее, — это способ адресации: в TCР каждому сокету также


27.1. Протокол TCP/IP

Из книги автора

27.1. Протокол TCP/IP 27.1.1. Многоуровневая архитектура стека TCP/IP Протокол TCP/IP был создан в конце 60-х — начале 70-х годов агентством DARPA Министерства Обороны США (U.S. Department of Defense Advanced Research Projects Agency). Основные этапы развития этого протокола отмечены в таблице 27.1.Этапы развития


5.3. Протокол SSH

Из книги автора

5.3. Протокол SSH Мы уже говорили о том, что протокол Telnet не очень хорошо подходит для удаленного управления сервером, потому что далеко не безопасен. А желание и потребность в этом есть. В больших сетях, как правило, используются несколько серверов, и бегать от одного


Протокол IP

Из книги автора

Протокол IP Межсетевой протокол (Internet Protocol, IP) обеспечивает доставку фрагмента данных (датаграммы) от источника к получателю через систему связанных между собой сетей. В протоколе IP отсутствуют функции подтверждения, контроля передачи, сохранения последовательности


Протокол LLC

Из книги автора

Протокол LLC Протокол LLC обеспечивает большую часть услуг уровня канала данных. Этот протокол был разработан на основе другого протокола уровня канала данных — HDLC, однако обладает меньшей функциональностью по сравнению со своим родителем.Формат кадра LLC представлен на