Бакалавр
Дипломные и курсовые на заказ

Сети TCP/IP

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

Исторически IP-адреса группировались в классы, которые определялись на основании первых битов самого левого байта. Классы отличались распределением байтов адреса между сетевой и машинной частями. Современные маршрутизаторы используют явные маски для задания сетевой части адреса, причем компоненты адреса могут разделяться не обязательно по границе байтов. Тем не менее традиционные классы все еще… Читать ещё >

Сети TCP/IP (реферат, курсовая, диплом, контрольная)

Курсовая работа

Сети TCP/IP

сетевой инкапсуляция фрейм ethernet

В современном мире, трудно переоценить важность компьютерных сетей, хотя многие пытаются это сделать. Многие организации используют компьютеры, в первую очередь, для работы в веб и доступа к электронной почте. По оценкам сайта internetworldstat.com, к средине 2010 года в Интернете работало более 1,5 млрд. пользователей, это более 21% населения Земли. В Северной Америке внедрение Интернета уже достигло 75%.

TCP/IP — это сетевая система (networking system), заложенная в основу Интернета. Система TCP/IP не зависит ни от аппаратного обеспечения, ни от операционной системы. Поэтому все устройства, использующие протоколы TCP/IP, могут обмениваться данными («взаимодействовать»), несмотря на различия. Система TCP/IP работает в сетях любого размера и любой топологии, независимо от того, соединены они с внешним миром или нет.

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

1. Система TCP/IP и Интернет

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

Прародительницей Интернета была сеть ARPANET, организованная в 1969 году Министерством обороны США. К концу 1980;х годов эта сеть перестала быть научно-исследовательской и наступила эра коммерческого Интернета. В настоящее время Интернет представляет собой совокупность частных сетей, принадлежащих провайдерам интернет-услуг (ISP — internet service provider) и соединяющихся в так называемых «точках обмена трафиком» (peering center).

В настоящее время управление Интернетом разделено на административные, технические и политические функции. Основными действующими лицами в управлении Интернетом являются следующие организации:

Ш ICANN (Internet Corporation for Assigned Names and Numbers — Корпорация по назначению имен и адресов в Интернете) — контролирует выделение адресов и доменных имен в Интернете, а также другие аспекты его деятельности, например номера протокольных портов. Основанная как некоммерческая корпорация и действует в рамках меморандума на взаимопонимании с Министерством торговли США (www.icann.org).

Ш ISOC (Internet Society — Сообщество пользователей Интернета) — открытая членская организация, представляющая интересы пользователей Интернета, которая преследует образовательные и политические цели, и широко известна как прикрытие для технического развития Интернет. ISOC является головной организацией по отношению к проблемной группе проектирования Интернета (ietf.org), контролирующей всю техническую работу, а также является международной некоммерческой организацией.

Ш IETF (Internet Engineering Task Force — Проблемная группа проектирования Интернета) — отвечает за разработку и публикацию технических стандартов Интернета, является открытым форумом.

Ш IGF (Internet Governance Forum) — созданная в 2005 году Организацией Объединенных Наций (ООН), чтобы предоставить возможность для проведения международных и политических дискуссий, посвященных Интернету.

Среди перечисленных организаций наибольшая ответственность лежит на ICANN т.к. она выступает в качестве руководящего органа Интернета, исправляя ошибки, допущенные в прошлом, и продумывая пути дальнейшего развития Интернета с учетом потребностей пользователей, правительств и бизнеса.

1.1 Сетевые стандарты и документация

Техническая деятельность пользователей Интернета отражается в серии документов, известных как RFC (Request For Comments — запрос комментариев). В формате документов RFC публикуются стандарты протоколов, предлагаемые нововведения, а также информационные бюллетени, но иногда документ RFC представляет собой не стандартизацию протоколов Интернета, а всего лишь констатацию, либо объяснение некоторых аспектов современной практики.

Документы RFC имеют порядковые номера, сегодня их более 5600. У каждого документа есть описательное название (например, Algorithms for Synchronizing Network Clocks — алгоритмы сетевой синхронизации часов), но, во избежание неоднозначности, на документы обычно ссылаются по номерам. Опубликованный документ RFC никогда не меняется, в таком случае изменения и дополнения публикуются в виде новых документов с собственными номерами, а обновление может либо дополнять и разъяснять документ, либо полностью его заменять. Сайт tfc-ditor.org является центральным диспетчерским пунктом распространяющий документы RFC, и всегда содержит самую свежую информацию. Подробное описан процесса публикации стандартов Интернета приведено в документе RFC2026, также есть еще один полезный метадокумент — RFC5540, 40 Years of RFCs (40 лет существования документов RFC), в котором описаны культурные и технические аспекты публикации документов RFC.

Также документам RFC кроме собственных порядковых номеров, могут назначаться номера серий FYI (For Your Information — к вашему сведению), ВСР (Best Current Practice — лучший существующий подход) и STD (Standard — стандарт). Указанные серии являются подмножествами серии RFC, группирующие документы по важности или назначению.

Документы:

· FYI — это вводные или информационные материалы, предназначенные для широкой аудитории;

· ВСР — описывают рекомендуемые процедуры для администраторов веб­сайтов в Интернете, которые содержат административные предписания и представляют большую ценность для системных администраторов;

· STD — содержат описания протоколов Интернета, прошедших процедуру проверки и тестирования в IETF и формально принятых в качестве стандартов.

Нумерация документов серий RFC, FYI, STD и ВСР ведется раздельно, поэтому один документ может иметь несколько номеров. Например, документ RFC1713, Tools for DNS Debugging (инструменты для отладки системы DNS) известен также под номером FYI127.

2. Дорожная карта сети

TCP/IP — это семейство сетевых протоколов, ориентированных на совместную работу. В состав семейства входят следующие компоненты:

Ш IP (Internet Protocol — межсетевой протокол) обеспечивает передачу пакетов данных с одного компьютера на другой (RFC791);

Ш ICMP (Internet Control Message Protocol — протокол управляющих сообщений в Интернете) отвечает за различные виды низкоуровневой поддержки протокола IP, включая сообщения об ошибках, вспомогательные маршрутизирующие запросы и отладочные сообщения (RFC792);

Ш ARP (Address Resolution Protocol — протокол преобразования адресов) обеспечивает трансляцию IP-адресов в аппаратные адреса (RFC826). Данный протокол является неотъемлемой частью стека TCP/IP в большинстве локальных сетей, а также может использоваться вместе с другими семействами протоколов;

Ш UDP (User Datagram Protocol — протокол передачи датаграмм пользователя) обеспечивает непроверяемую одностороннюю доставку данных (RFC768);

Ш TCP (Transmission Control Protocol — протокол управления передачей) обеспечивает надежный дуплексный канал связи между процессами на двух компьютерах с возможностью управления потоками и контроля ошибок (RFC793).

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

Рис. 1. Семейство TCP/IP

2.1 Версии IPv4 и IPv6

В течение последних трех десятилетий широкое распространение получила четвертая версия протокола TCP/IP, известная нам как IPv4, использующая 4-байтовые IP-адреса. Современная версия, IPv6, расширила адресное пространство до 16 байт с учетом опыта использования версии IPv4, что позволило ускорить работу протокола и облегчило его реализацию. Также версия IPv6 объединила системы безопасности и аутентификации в рамках одного базового протокола. В настоящее время все современные операционные системы и множество сетевых устройств уже поддерживают протокол IPv6, но в реальности степень использования протокола IPv6 остается практически нулевой. Разработка протокола IPv6 была в большой степени мотивирована беспокойством, что адресное пространство протокола IPv4 практически исчерпано (см. сайт ipv4.potaroo.net). В данной теме сосредоточение происходит на протоколе IPv4, потому что он является основной версией протокола TCP/IP. Основное различие между этими версиями заключается в том, что они используют разные схемы адресации, и версии IPv6 использовано несколько новых концепций адресации и несколько новых обозначений.

2.2 Пакеты и их инкапсуляция

Система TCP/IP располагает средствами поддержки целого ряда физических сетей и транспортных систем, включая технологии Ethernet, Token Ring, MPLS (Multiprotocol Label Switching), беспроводную технологию Ethernet, и системы с последовательными соединениями. Управление аппаратными устройствами осуществляется на канальном уровне архитектуры TCP/IP, а протоколам высоких уровней неизвестно, как используются аппаратные средства.

Данные передаются по сети в виде пакетов имеющий максимальный размер, который определяется ограничениями канального уровня. Пакет состоит из заголовка и полезного содержимого. Заголовок содержит сведения, откуда прибыл пакет и куда он направляется. Также в него могут включаться контрольные суммы, информация, характерная для конкретного протокола, и другие инструкции, касающиеся обработки пакета. Полезное содержимое — это данные, подлежащие пересылке.

Название базового блока передачи данных зависит от уровня протокола. На канальном уровне это кадр, или фрейм, в протоколе IP — пакет, а в протоколе TCP — егмент. Готовящийся к отправке пакет передается вниз по стеку протоколов, и каждый протокол добавляет в него собственный заголовок. Сформированный пакет одного протокола становится полезным содержимым пакета, генерируемого следующим протоколом, называется, инкапсуляцией. На принимающей стороне инкапсулированные пакеты восстанавливаются в обратном порядке при прохождении вверх по стеку.

Например, датаграмма (пакет UDP), передаваемая по сети Ethernet, упакована в трех различных «конвертах». В среде Ethernet она «вкладывается» в простой физический фрейм, заголовок содержит сведения об аппаратных адресах отправителя и ближайшего получателя, длине фрейма и его контрольной сумме (CRC). Полезным содержимым Ethemet-фрейма является IP-пакет. Полезное содержимое IP-пакета — это UDP-пакет, и, наконец, полезное содержимое UDP-пакета состоит из собственно данных, подлежащих передаче. (см. рис. 2).

Рис. 2. Стандартный сетевой пакет

2.3 Стандарты формирования фреймов Ethernet

На канальном уровне добавляются заголовки к пакетам и вставляются разделители между ними. Заголовки содержат информацию об адресах канального уровня и контрольные суммы, а разделители позволяют понять, где заканчивается один пакет и начинается другой. Процесс добавления вспомогательных битов называется формированием фреймов или кадровой разбивкой. Канальный уровень разделен на две части: MAC (подуровень Media Access Control) — работает с аудиовизуальной информацией и передает пакеты по проводам и LLC (подуровень Link Layer Control) — формирует фреймы.

В настоящее время существует единственный стандарт формирования фреймов по технологии Ethernet: DIX Ethernet II.

Максимальный размер передаваемого блока

Размер сетевых пакетов ограничивается как характеристиками аппаратных средств, так и требованиями протоколов. Например, объем полезного содержимого стандартного Ethemet-фрейма не может превышать 1500 байт. Предельный размер пакета устанавливается на канальном уровне и называется максимальной единицей передачи (Maximum Transfer Unit, MTU).

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

Фрагментация «на лету» нежелательна в условиях сильной загруженности маршрутизаторов. В протоколе IPv6 эта возможность устранена. Пакеты по-прежнему могут фрагментироваться, но эту задачу должен выполнять вызывающий хост.

Отправитель может обнаружить канал, способный пропустить пакет с наименьшим показателем MTU, установив на пакете флаг «не фрагментировать». Если пакет достигнет промежуточного маршрутизатора, который не способен его пропустить, этот маршрутизатор вернет отправителю сообщение об ошибке ICMP. Пакет ICMP содержит показатель MTU сети, требующей пакеты меньшего размера, и этот показатель затем становится ориентировочным размером для пакетов, отправляемых по данному адресу.

В протоколе TCP путь MTU определяется автоматически, даже в версии IPv4. Протокол UDP такой возможности не имеет и перекладывает дополнительную работу на уровень IP.

Иногда проблема фрагментации оказывается достаточно коварной. Несмотря на то, что выявление пути MTU должно автоматически разрешить конфликты, иногда администратор должен вмешаться. Например, в виртуальной частной сети с туннельной структурой необходимо проверять размер пакетов, проходящих через туннель. Обычна их начальный размер — 1500 байт, но когда к ним добавляется туннельный заголовок, размер пакетов становится равным примерно 1540 байт и уже требуется фрагментация. Уменьшение максимального размера передаваемого блока позволяет избежать фрагментации и повысить производительность туннельной сети. Просмотрите справочную страницу команды ifconfig, чтобы узнать, как настроить параметр MTU сетевой платы.

3. Адресация пакетов

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

Ш Адреса MAC (media access control) для использования в сетевом оборудовании.

Ш Сетевые адреса протоколов IPv4 и IPv6 для использования в программном обеспечении.

Ш Имена компьютеров для использования пользователями.

3.1 Аппаратная адресация (MAC)

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

Самый нижний уровень адресации задается сетевыми аппаратными средствами. Например, Ethemet-устройствам в процессе изготовления назначаются уникальные шестибайтовые аппаратные адреса. Эти адреса традиционно записываются в виде ряда двухцифровых шестнадцатеричных байтов, разделенных двоеточиями, например 00:50:8D:9A:3B:DF.

Сетевые платы Token Ring также имеют шестибайтовые адреса. В некоторых сетях с двухточечным соединением (например, в РРР-сетях) аппаратные адреса вообще не нужны: адрес пункта назначения указывается непосредственно при установке соединения.

Шестибайтовый Ethemet-адрес разбивается на две части: первые три байта определяют изготовителя устройства, а последние три — выступают в качестве уникального серийного номера, назначаемого изготовителем. Системные администраторы могут выяснить марку устройства, вызывающего проблемы в сети, поискав трехбайтовый идентификатор соответствующих пакетов в таблице идентификаторов изготовителей. Текущая таблица доступна по адресу

http://www.iana.org/assignments/ethernet-numbers.

Трехбайтовые коды на самом деле представляют собой идентификаторы OUI (Organizationally Unique Identifier — уникальный идентификатор организации), присваиваемые организацией IEEE, поэтому их можно найти непосредственно в базе данных IEEE по адресу

http://standards.ieee.org/regauth/oui.

Разумеется, отношения между производителями микросхем, компонентов и системы носят сложный характер, поэтому идентификатор изготовителя, закодированный в МАС-адресе, может ввести пользователя в заблуждение.

Теоретически, аппаратные адреса Ethernet должны назначаться на постоянной основе и оставаться неизменными. К сожалению, некоторые сетевые платы допускают программное задание аппаратных адресов. Это удобно при замене испорченных компьютеров или сетевых карт, МАС-адрес которых менять по тем или иным причинам нежелательно (например, если его фильтруют все ваши коммутаторы, если ваш DHCP-сервер выдает адреса на основе МАС-адресов или МАС-адрес был использован как лицензионный ключ для программного обеспечения). Фальсифицируемые МАС-адреса могут также оказаться полезными, если вам необходимо проникнуть в беспроводную сеть, использующую механизм управления доступом на основе МАС-адресов. Однако, чтобы не усложнять ситуацию, мы рекомендуем сохранять уникальность МАС-адресов.

3.2 IP-адресация

На следующем, более высоком, уровне используется Интернет-адресация (чаще называемая IР-адресацией). IP-адреса глобально уникальны и аппаратно независимы. Соответствие между IP-адресами и аппаратными адресами устанавливается на канальном уровне модели TCP/IP. В сетях, поддерживающих широковещательный режим (т.е. в сетях, позволяющих адресовать пакеты «всем компьютерам данного физического сегмента»), протокол ARP обеспечивает автоматическую привязку адресов без вмешательства системного администратора. В протоколе IPv6 МАС-адреса интерфейсов можно использовать как часть IP-адресов, благодаря чему преобразование IP-адресов в аппаратные адреса становится практически автоматическим.

3.3 «Адресация» имен машин

Поскольку IP-адреса представляют собой длинные, на первый взгляд, случайные числа, запоминать их трудно. Операционные системы позволяют закреплять за 1Р-адресом одно или несколько текстовых имен, чтобы вместо 128.9.160.27 пользователь мог ввести «rfc-editor.org». В системах UNIX и Linux это отображение можно осуществить с поко — щью статического файла (/etc/hosts), базы данных LDAP и, наконец, DNS (Domain Name System) — глобальной системы доменных имен. Следует помнить о том, что имя компьютера — это лишь сокращенный способ записи IP-адреса, и он относится к сетевому интерфейсу, а не компьютеру.

3.4 Порты

IP-адреса идентифицируют сетевые интерфейсы компьютера, но они недостаточно конкретны для идентификации отдельных процессов и служб, многие из которых могут активно использоваться в сети одновременно. Протоколы TCP и UDP расширяют концепцию IP-адресов, вводя понятие порта. Порт представляет собой 16-разрядное число, добавляемое к IP-адресу и указывающее конкретный канал взаимодействия. Всем стандартным службам, в частности электронной почте, FTP и HTTP, назначаются «хорошо известные» порты, которые определены в файле /etc/services. Для того чтобы предотвратить попытки посторонних процессов замаскироваться под стандартные службы, системы UNIX предоставляют доступ к портам с номерами до 1024 только процессам пользователя root. (Взаимодействовать с сервером через порты с небольшими номерами может кто угодно; ограничение распространяется лишь на программы, прослушивающие этот порт.)

3.5 Типы адресов

В протоколе IP поддерживается несколько типов адресов, некоторые из которых имеют эквиваленты на канальном уровне.

Ш Направленные (unicast) — адреса, которые обозначают отдельный сетевой интерфейс.

Ш Групповые (multicast) — адреса, идентифицирующие группу узлов.

Ш Широковещательные (broadcast) — адреса, обозначающие все узлы локальной сети.

Ш Альтернативные (anycast) — адреса, обозначающие любой из группы узлов.

Режим группового вещания используется, к примеру, в видеоконференциях, где одна и та же последовательность пакетов посылается всем участникам конференции. Протокол IGMP (Internet Group Management Protocol — протокол управления группами узлов нтернета) отвечает за управление совокупностями узлов, идентифицируемыми как один обобщенный адресат.

Групповые адреса в настоящее время в Интернете практически не используются. Тем не менее они были использованы в протоколе IPv6, в котором широковещательные адреса, по существу, представляют собой специализированную форму групповой адресации.

Альтернативные адреса обеспечивают балансирование нагрузки на канальный уровень сети, разрешая доставлять пакеты в ближайший из нескольких пунктов назначения в смысле сетевой маршрутизации. Можно было ожидать, что эти адреса будут напоминать групповые, но фактически они больше похожи на направленные адреса.

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

4. IP-адреса

За исключением групповых адресов, адреса Интернета состоят из двух частей: сетевой и машинной. Сетевая часть идентифицирует логическую сеть, к которой относится адрес, а машинная — узел этой сети. В протоколе IPv4 адреса состоят из четырех байтов, а граница между сетевой и машинной частями устанавливается административно.

В протоколе IPv6 адреса состоят из 16 байт, а сетевая и машинная части всегда состоят из 8 байт. В протоколе IPv4 адреса записываются в виде группы десятичных чисел (по одному на каждый байт), разделенных точками, например 209.85.171.147. Самый левый байт — старший; он всегда относится к сетевой части адреса.

Если первым байтом адреса является число 127, то оно обозначает интерфейс обратной связи («loopback network») — фиктивную сеть, не имеющую реального аппаратного интерфейса и состоящую из одного компьютера. Адрес 127.0.0.1 всегда ссылается на текущий компьютер. Ему соответствует символическое имя «localhost». (Это еще одно небольшое нарушение требования уникальности IP-адресов, поскольку каждый компьютер интерпретирует адрес 127.0.0.1 как адрес другого компьютера, хотя этим компьютером является он сам.)

Адреса в протоколе IPv6 и их текстовые эквиваленты являются немного более сложными. Они будут рассмотрены далее в подразделе «Адресация в протоколе IPv6».

IP-адрес и другие параметры сетевого интерфейса задаются командой ifconfig.

4.1 Классы адресов в протоколе IPv4

Исторически IP-адреса группировались в классы, которые определялись на основании первых битов самого левого байта. Классы отличались распределением байтов адреса между сетевой и машинной частями. Современные маршрутизаторы используют явные маски для задания сетевой части адреса, причем компоненты адреса могут разделяться не обязательно по границе байтов. Тем не менее традиционные классы все еще используются по умолчанию, если не предоставлена явная маска. Классы А, В и С обозначают обычные IP-адреса, а классы D и Е применяются при групповой адресации и в исследовательских целях. В табл. 1 представлены характеристики каждого класса адресов. Сетевая часть адреса помечена буквой С, а машинная — буквой М.

Таблица 1. Классы IP адресов В редких случаях в состав локальной сети входит более ста компьютеров. По этой причине полезность адресов класса, А или В (которые допускают наличие в одной сети, соответственно, 16 777 214 и 65 534 узлов) весьма сомнительна. К примеру, 127 адресов класса, А занимают половину доступного адресного пространства. Кто же знал, что адресное пространство протокола IPv4 станет таким ценным!

4.2 Подсети

Для того чтобы эффективнее использовать адреса, определенную долю машинной части адреса можно «одолжить» для расширения сетевой части, явно указав четырехбайтовую маску подсети («subnet mask»), или сетевую маску («netmask»), в которой единицы соответствуют сетевой части, а нули — машинной. Единицы должны занимать левую часть маски и следовать одна за другой без разрывов. Сетевая часть должна занимать не менее восьми битов, а машинная — не менее двух битов. Следовательно, маска подсети в соответствии с протоколом IPv6 допускает только 22 возможных значения.

Например, четыре байта адреса класса В обычно интерпретируются как С.С.М. М. Следовательно, неявная маска подсети класса В в десятичной системе выглядит как 255.255.0.0. Однако адрес с маской 255.255.0.0 можно интерпретировать как С.С.С. М. Использование такой маски превращает одну сеть класса В в 256 разных подсетей, подобных сетям класса С, т. е. в каждую из них может входить 254 компьютера.

Маски подсети, как и любой сетевой интерфейс, задаются с помощью команды ifconfig. По умолчанию команда ifconfig использует класс адреса для того, чтобы выяснить, какие биты относятся к сетевой части. Если задается явная маска, то эта функция просто отменяется.

Сетевые маски, не оканчивающиеся на границе байта, труднее декодировать. Они обычно записываются в виде суффикса /XX, где XX — число битов в сетевой части адреса (длина маски). Такую запись иногда называют нотацией CIDR (Classless Inter-Domain Routing — протокол бесклассовой междоменной маршрутизации). Например, адрес 128.138.243.0/26 обозначает первую из четырех сетей с общим компонентом адреса 128.138.243. В трех других сетях последний байт адреса равен 64, 128 и 192. Сетевая маска, связанная с этими сетями, имеет вид 255.255.255.192 или 0xFFFFFFC0. В двоичном представлении это 26 единиц с последующими шестью нулями В сети с маской /26 для нумерации узлов отводится шесть битов (32 — 26 = 6). Таким образом, появляется возможность задать 64 адреса (26 = 64). В действительности допускается использовать лишь 62 адреса, поскольку адреса, полностью состоящие из нулей или единиц, зарезервированы (для самой сети и широковещательного режима соответственно).

4.3 Трюки и инструменты для арифметических вычислений, связанных с подсетями

Манипулировать всеми этими битами в уме трудно, но есть ряд приемов, позволяющих упростить вычисления.

Кришан Джодис (Krischan Jodies) написал полезную программу под названием IP Calculator (она доступна по адресу jodies. de/ipcalc), позволяющую выполнять арифметические операции над двоичными, шестнадцатеричными числами и масками. Программа IP Calculator делает все, что требуется пользователю при работе с сетевыми адресами и масками подсети, а также широковещательными адресами и т. п. Кроме того, существует архив формата tar для версии калькулятора ipcalc, которая запускается из командной строки.

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

4.4 CIDR: протокол бесклассовой междоменной маршрутизации

Как и подсети, прямым расширением которых он является, протокол CIDR основан на использовании явной маски подсети, определяющей границу между сетевой и машинной частями адреса. Но, в отличие от подсетей, протокол CIDR допускает, чтобы сетевая часть была меньше, чем того требует класс адреса. Благодаря укороченной маске возникает эффект объединения нескольких сетей для облегчения маршрутизации. По этой причине протокол CIDR иногда называют протоколом формирования суперсетей.

Протокол CIDR упрощает информацию о маршрутизации и устанавливает иерархию в этом процессе. Несмотря на то что протокол CIDR задумывался как временная мера для облегчения маршрутизации в рамках протокола IPv6, он оказался достаточно мощным средством для решения проблемы роста Интернета, возникшей в последнее десятилетие.

4.5 Выделение адресов

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

4.6 Частные адреса и система NAT

Другое временное решение проблемы сокращающегося адресного пространства протокола IPv4 заключается в использовании частных областей IP-адресов, описанных в документе RFC1918. Частные адреса используются только внутри сайта и никогда не демонстрируются в Интернете (по крайней мере, непреднамеренно). Преобразование частных адресов в адреса, выделенные интернет-провайдером, осуществляется пограничным маршрутизатором.

Документ RFC1918 определяет, что одна сеть класса А, 16 сетей класса В и 256 сетей класса С резервируются для частного использования и никогда не выделяются глобально.

Для того чтобы узлы, использующие частные адреса, могли получать доступ в Интернет, на пограничном маршрутизаторе организации должна выполняться система NAT (Network Address Translation — трансляция сетевых адресов). Эта система перехватывает пакеты и заменяет в них адрес отправителя реальным внешним IP-адресом. Может также происходить замена номера исходного порта. Система хранит таблицу преобразований между внутренними и внешними адресами / портами, чтобы ответные пакеты доставлялись нужному адресату.

4.7 Адресация в стандарте IPv6

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

Были предложены разные схемы перехода с версии IPv4 на IPv6, включая использование системы NAT, чтобы прятать адреса IPv6 при передаче пакетов по туннелю через существующие сети IPv4. В настоящее время чаще всего используются туннельные системы 6to4 и Teredo.

5. Маршрутизация

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

5.1 Таблицы маршрутизации

Таблицу маршрутизации можно просмотреть с помощью команды netstat-г. Команда netstat-rn запрещает поиск доменных имен в системе DNS, вследствие чего все адреса будут представлены в числовом виде.

В относительно стабильной локальной сети как правило применяется статическая маршрутизация. Эта система проста в управлении и надежна в эксплуатации, но требует знания системным администратором топологии сети на момент начальной загрузки, а также того, чтобы эта топология в периоды между загрузками не изменялась.

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

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

5.2 Директивы переадресации протокола ICMP

Несмотря на то, что протокол IP не предусматривает средств управления маршрутной информацией, в нем имеется механизм контроля нарушений: директивы переадресации протокола ICMP. Если маршрутизатор направляет пакет компьютеру, находящемуся в той же сети, из которой этот пакет был получен, то что-то работает неправильно. Поскольку отправитель, маршрутизатор и маршрутизатор следующего перехода находятся в одной сети, то пакет можно послать не через два перехода, а через один. Маршрутизатор делает вывод о том, что таблицы маршрутизации отправителя являются неточными или неполными.

В этой ситуации маршрутизатор может уведомить отправителя о проблеме с помощью переадресующего ICMP-пакета. В таком пакете сообщается следующее: «Не нужно посылать мне пакеты для узла ххх; их следует адресовать узлу ууу».

6. ARP: протокол преобразования адресов

Несмотря на то что IP-адреса являются аппаратно-независимыми, для фактической передачи данных на канальном уровне должны применяться аппаратные адреса. ARP (Address Resolution Protocol — протокол преобразования адресов) определяет, какой аппаратный адрес связан с тем или иным IP-адресом. Этот протокол можно применять в сетях любых типов, которые поддерживают широковещательный режим, но чаще всего его рассматривают в контексте сетей Ethernet.

Когда компьютер, А хочет послать пакет компьютеру Б, находящемуся в том же Ethemet-сегменте, он использует протокол ARP для нахождения аппаратного адреса Б. Если же компьютер Б расположен в другой сети, то компьютер, А с помощью подсистемы маршрутизации определяет IP-адрес маршрутизатора следующего перехода, а затем с помощью протокола ARP выясняет аппаратный адрес этого маршрутизатора. Так как в ARP применяются широковещательные пакеты, которые не могут выйти за пределы локальной сети, этот протокол позволяет находить только адреса устройств, непосредственно подключенных к той же сети.

7. DHCP: протокол динамического конфигурирования узлов

Когда в сеть добавляется новое устройство или компьютер, то обычно оно получает свой IP-адрес в локальной сети, далее настраивается соответствующий маршрутизатор, заданный по умолчанию, и присоединяется к локальному серверу DNS. Все это может сделать протокол DHCP (Dynamic Host Configuration Protocol — протокол динамического конфигурирования узлов).

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

7.1 Программное обеспечение DHCP

Организация ISC (Internet Software Consortium — консорциум разработчиков программного обеспечения для Интернета) поддерживав «прекрасный открытый источник информации о протоколе DHCP. В настоящее время широко используются версии пакета IVS 2, 3 и 4, которые прекрасно выполняют основные функции. Версия 3 поддерживает резервное копирование серверов DHCP, а версия 4 — протокол IPv6. Сервер, клиент и агента ретрансляции (agent relay) можно загрузить с веб-сайта ics.оrg.

7.2 Схема работы DHCP

Протокол DHCP — это расширение протокола ВООТР, который был придуман для того, чтобы бездисковые UNIX-станции могли загружаться по сети. Протокол DHCP не ограничивается этими параметрами, вводя понятие «аренды».

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

По истечении половины срока аренды клиент должен ее продлить. Сервер обязан отслеживать адреса, предоставленные в аренду, и сохранять эту информацию при перезагрузке. Предполагается, что клиенты делают то же самое, хотя это не обязательно. Благодаря этому достигается максимальная стабилизация сетевой конфигурации. Теоретически, все программное обеспечение должно быть готово к мгновенному изменению сетевой конфигурации, но большая часть программного обеспечения по-прежнему необоснованно допускает, что сеть остается неизменной.

7.3 Программное обеспечение DHCP, созданное организацией ISC

Демон сервера ISC называется dhcpd, а его файл конфигурации — dhcpd.conf. Обычно этот файл находится в каталоге /etc или /etc/dhcp3.

Для настройки нового DHCP-сервера необходимо также создать пустой файл базы данных. Для заполнения файла dhcpd. conf потребуется следующая информация:

Ш адреса подсетей, для которых демон dhcpd должен управлять IP-адресами, и диапазоны выделяемых адресов;

Ш список статических адресов, которые вы хотите создать, а также аппаратные МАС-адреса получателей;

Ш начальный и максимальный сроки аренды в секундах;

Ш остальные параметры, которые сервер должен передавать DHCP-клиентам: сетевая маска, стандартный маршрут, домен DNS, адреса серверов имен и т. д.

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

Клиент протокола DHCP по версии организации ISC также не имеет конфигурации. Он хранит файл состояний для каждого соединения в каталогах /var/lib/dhcp или /var/lib/dhclient. Имена файлов совпадают с именами интерфейсов, которые они описывают.

Заключение

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

Показать весь текст
Заполнить форму текущей работой