Курсовая работа
Сети TCP/IP
Введение
сетевой инкапсуляция фрейм ethernet
В современном мире, трудно переоценить важность компьютерных сетей, хотя многие пытаются это сделать. Многие организации используют компьютеры, в первую очередь, для работы в веб и доступа к электронной почте. По оценкам сайта internetworldstat.com, к средине 2010 года в Интернете работало более 1,5 млрд. пользователей, это более 21% населения Земли. В Северной Америке внедрение Интернета уже достигло 75%./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
Сетевые стандарты и документация
Техническая деятельность пользователей Интернета отражается в серии документов, известных как 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. Дорожная карта сети
/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
.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. Стандартный сетевой пакет
.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 для использования в программном обеспечении.
Ø Имена компьютеров для использования пользователями.
.1
Аппаратная адресация (MAC)
Каждый сетевой интерфейс компьютера имеет один МАС-адрес канального уровня, который отличает его от других компьютеров в физической сети, а также один или несколько IP-адресов, идентифицирующих интерфейс в глобальной сети Интернета. Последнее утверждение стоит повторить: IP-адрес идентифицирует сетевые интерфейсы, а не машины. (Для пользователей это различие не имеет значения, но администраторы должны об этом знать.)
Самый нижний уровень адресации задается сетевыми аппаратными средствами. Например, Ethemet-устройствам в процессе изготовления назначаются уникальные шестибайтовые аппаратные адреса. Эти адреса традиционно записываются в виде ряда двухцифровых шестнадцатеричных байтов, разделенных двоеточиями, например 00:50:8D:9A:3B:DF.
Сетевые платы Token Ring также имеют шестибайтовые адреса. В некоторых сетях с двухточечным соединением (например, в РРР-сетях) аппаратные адреса вообще не нужны: адрес пункта назначения указывается непосредственно при установке соединения.
Шестибайтовый Ethemet-адрес разбивается на две части: первые три байта определяют изготовителя устройства, а последние три - выступают в качестве уникального серийного номера, назначаемого изготовителем. Системные администраторы могут выяснить марку устройства, вызывающего проблемы в сети, поискав трехбайтовый идентификатор соответствующих пакетов в таблице идентификаторов изготовителей. Текущая таблица доступна по адресу://www.iana.org/assignments/ethernet-numbers.
Трехбайтовые коды на самом деле представляют собой идентификаторы OUI (Organizationally Unique Identifier - уникальный идентификатор организации), присваиваемые организацией IEEE, поэтому их можно найти непосредственно в базе данных IEEE по адресу://standards.ieee.org/regauth/oui.