Автор работы: Пользователь скрыл имя, 26 Мая 2015 в 18:10, лекция
Преимущества сетей TCP/IP:
Низкий трафик сети, из-за минимизации пересылки дополнительной служебной информации.
Любое оборудование позволяет фильтровать трафик TCP/IP, что сильно облегчает сегментацию сети и делает ее легко структурируемой.
Сеть TCP/IP позволяет работать в режиме удаленного терминала и организовывать распределенную файловую систему. Для сети TCP/IP нет разницы между машинами, которые стоят в соседней комнате, или установлены на разных континентах.
Стек протоколов TCP/IP является стандартом в сети Internet.
Стек протоколов TCP/IP позволяет организовывать корпоративную сеть по принципу intranet.
Сеть TCP/IP обеспечивает сетевую печать и т.п.
В SLIP нет информации, позволяющей корректировать ошибки линии связи. Коррекция ошибок возлагается на протоколы транспортного уровня - TCP, UDP.
Протокол PPP (Point to Point Protocol) имеет тоже назначение - управление передачей данных по выделенным или коммутируемым линиям связи. Как и в SLIP, данные "нарезаются" на фрагменты, которые называются пакетами. Пакеты передаются от узла к узлу упорядоченно. В отличие от SLIP, PPP позволяет одновременно передавать по линии связи пакеты различных протоколов. Кроме того, PPP предполагает процесс автоконфигурации обоих взаимодействующих сторон.
Протокол ARP.
Протокол ARP (Address Resolution Protocol) используется для определения соответствия IP-адреса адресу Ethernet. Протокол ARP используется только в локальных сетях. Отображение осуществляется только в момент отправления IP-пакетов, так как только в этот момент создаются заголовки IP и Ethernet. Отображение адресов осуществляется путем поиска в ARP-таблице. Упрощенно, ARP-таблица состоит из двух столбцов:
IP-адрес |
Ethernet-адрес |
223.1.2.1 |
08:00:39:00:2F:C3 |
223.1.2.3 |
08:00:5A:21:A7:22 |
223.1.2.4 |
08:00:10:99:AC:54 |
Таблица соответствия необходима, так как адреса выбираются произвольно и нет какого-либо алгоритма для их вычисления. ARP-таблица заполняется автоматически. Если нужного адреса в таблице нет, то в сеть посылается широковещательный запрос типа "чей это IP-адрес?". Все сетевые интерфейсы получают этот запрос, но отвечает только владелец адреса. Полученный таким образом адрес будет добавлен в ARP-таблицу.
Следует отметить, что если искомого IP-адреса нет в локальной сети и сеть не соединена с другой сетью шлюзом, то разрешить запрос не удается. IP-модуль будет уничтожать такие пакеты, обычно по time-out (превышен лимит времени на разрешение запроса). Модули прикладного уровня, при этом, не могут отличить физического повреждения сети от ошибки адресации.
Если машина соединена с несколькими сетями, т.е. она является шлюзом, то в таблицу ARP вносятся строки, которые описывают как одну, так и другую IP-сети.
Протокол IP.
Протокол IP является самым главным во всей иерархии протоколов семейства TCP/IP. Именно он используется для управления рассылкой TCP/IP пакетов по сети Internet. Среди различных функций, возложенных на IP обычно выделяют следующие:
Главными особенностями протокола IP является отсутствие ориентации на физическое или виртуальное соединение. Это значит, что прежде чем послать пакет в сеть, модуль операционной системы, реализующий IP, не проверяет возможность установки соединения, т.е. никакой управляющей информации кроме той, что содержится в самом IP-пакете, по сети не передается. Кроме этого, IP не заботится о проверке целостности информации в поле данных пакета, что заставляет отнести его к протоколам ненадежной доставки. Целостность данных проверяется протоколами транспортного уровня (TCP) или протоколами приложений.
Таким образом, вся информация о пути, по которому должен пройти пакет берется из самой сети в момент прохождения пакета. Именно эта процедура и называется маршрутизацией в отличие от коммутации.
Надо отметить, что маршрутизация является ресурсоемкой процедурой, так как требует анализа каждого пакета, который проходит через шлюз или маршрутизатор, в то время как при коммутации анализируется только управляющая информация, устанавливается канал, физический или виртуальный, и все пакеты пересылаются по этому каналу без анализа маршрутной информации. Однако эта слабость IP одновременно является и его силой. При неустойчивой работе сети пакеты могут пересылаться по различным маршрутам и затем собираться в единое сообщение.
Если пакет слишком долго "бродит" по сети, то очередной шлюз может послать ICMP-пакет отправителю сообщения для того, чтобы уведомить о том, что надо сменить шлюз. При этом сам IP-пакет будет уничтожен. На этом принципе работает программа ping, которая используется для деления маршрутов прохождения пакетов по сети.
Обсуждая протокол IP нельзя не упомянуть, что в настоящее время перед Internet возникло множество сложных проблем, которые требуют изменения базового протокола сети.
IPing - новое поколение протоколов IP
Перед системой Интернет стоит серьезная проблема – быстрый рост числа пользователей Сети. Эта проблема заключается в том, что Internet стал слишком большой, он перерос заложенные в него возможности. В настоящее время номера сетей класса B практически все уже выбраны, а остались только сети класса A и класса C. Класс A - это слишком большие сети, класс С походит только для небольших организаций. А большинство сетей, подключае6мых к Интернет представляют собой средние по масштабам системы.
В начале 1995 года IETF, выпустило предложения по новому стандарту протокола IP - IPv6, который еще называют IPing. Сейчас Internet-сообщество живет по стандарту IPv4. IPv6 призван не только решить адресную проблему, но и попутно помочь решению других задач, стоящих в настоящее время перед Internet.
В новом протоколе введена масштабируемая адресация IP-пакетов, добавлены новые типы адресов, идентификация типа информационных потоков для увеличения эффективности обмена данными, введены поля идентификации и конфиденциальности информации, упрощен заголовок пакета.
Кроме перечисленных возможностей, новый протокол позволяет улучшить защиту трафика сети. Для этой цели в протоколе предусмотрены специальные опции. Первая опция предназначена для защиты от подмены IP-адресов машин. При ее использовании нужно кроме адреса подменять и содержимое поля идентификации, что усложняет задачу злоумышленника. Вторая опция связана с шифрованием трафика.
Протокол ICMP
ICMP (Internet Control Message Protocol) на ряду с IP и ARP относиться к межсетевому уровню. Протокол используется для рассылки информационных и управляющих сообщений. При этом используются следующие виды сообщений:
Flow control - если принимающая машина (шлюз или реальный получатель информации) не успевает перерабатывать информацию, то данное сообщение приостанавливает отправку пакетов по сети.
Detecting unreachаble destination - если пакет не может достичь места назначения, то шлюз, который не может доставить пакет, сообщает об этом отправителю пакета.
Redirect routing - это сообщение посылается в том случае, если шлюз не может доставить пакет, но он считает, что надо переслать пакет на другой шлюз.
Checking remote host - в этом случае используется так называемое ICMP Echo Message. Если необходимо проверить наличие стека TCP/IP на удаленной машине, то на нее посылается сообщение этого типа. Как только система получит это сообщение, она немедленно подтвердит его получение.
Другое использование ICMP - это получение сообщения о "смерти" пакета на шлюзе. При этом используется время жизни пакета, которое определяет число шлюзов, через которые пакет может пройти.
При посылке пакета через Internet специальная программа traceroute устанавливает значение TTL (Time To Live) последовательно от 1 до 30 (значение по умолчанию). TTL определяет число шлюзов, через которые может пройти IP-пакет. Если это число превышено, то шлюз, на котором происходит обнуление TTL, высылает ICMP-пакет. Traceroute сначала устанавливает значение TTL равное единице - отвечает ближайший шлюз, затем значение TTL равно 2 - отвечает следующий шлюз и т. д. Если пакет достиг получателя, то в этом случае возвращается сообщение другого типа - Detecting unreachаble destination.
Протокол UDP
Протокол UDP (User Datagram Protocol) - это один из двух протоколов транспортного уровня. UDP позволяет прикладной программе передавать свои сообщения по сети с минимальными издержками, связанными с преобразованием протоколов уровня приложения в протокол IP. Однако при этом, прикладная программа сама должна заботиться о подтверждении того, что сообщение доставлено по месту назначения.
Наиболее известными сервисами, основанными на UDP, является служба доменных имен BIND и распределенная файловая система NFS. Если возвратиться к примеру traceroute, то в этой программе также используется транспорт UDP. Собственно, именно сообщение UDP и засылается в сеть, но при этом используется такой порт, который не имеет обслуживания, поэтому и порождается ICMP-пакет, который и детектирует отсутствие сервиса на принимающей машине, когда пакет наконец достигает машину-адресата.
Протокол TCP
TCP (Transfer Control Protocol) если для приложения контроль качества передачи данных по сети имеет значение, то в этом случае используется протокол TCP. Этот протокол еще называют надежным, ориентированным на соединение и потокоориентированным протоколом.
Надежность TCP заключается в том, что источник данных повторяет их посылку, если только не получит в определенный промежуток времени от адресата подтверждение об их успешном получении. Этот механизм называется Positive Asknowledgement with Retransmission (PAR). В заголовке TCP существует поле контрольной суммы. Если при пересылке данные повреждены, то по контрольной сумме можно определить это. Поврежденный пакет уничтожается, а источнику ничего не посылается. Если данные не были повреждены, то они пропускаются на сборку сообщения, а источнику отправляется подтверждение.
Помимо этого, прежде чем отправить сегмент с данными, модули TCP источника и получателя обмениваются управляющей информацией. Такой обмен называется handshake (буквально "рукопожатие"). В TCP используется трехфазный hand-shake:
Графически этот процесс представлен на рисунке:
После установки соединения источник посылает данные получателю и ждет от него подтверждений их получения, затем снова посылает данные и т.д., пока сообщение не закончится. Заканчивается сообщение, когда в поле флагов выставляется бит FIN, что означает "нет больше данных".
Понятно, что потоковый характер протокола и требование подтверждения получения данных порождают проблему скорости передачи данных. Для ее решения используется "окно" - поле. Идея применения окна достаточно проста: передавать данные не дожидаясь подтверждения об их получения. Это значит, что источник предает некоторое количество данных без ожидания подтверждения об их приеме, и после этого останавливает передачу и ждет подтверждения.
Известно, что доставка пакетов в сетях осуществляется по адресам получателей. Все получатели в сети имеют МАС-адрес, т.е. адрес сетевого адаптера или порта маршрутизатора, например, 11-А0-17-3D-BC-01. Эти адреса назначаются производителями оборудования и являются уникальными адресами, так как управляются централизовано. Для всех существующих технологий локальных сетей МАС-адрес имеет формат 6 байтов: старшие 3 байта - идентификатор фирмы производителя, а младшие 3 байта назначаются уникальным образом самим производителем.
С другой стороны в IP-сетях доставка сообщений осуществляется по IP-адресу компьютера.
IP-адрес - это 4-байтовая последовательность. Принято каждый байт этой последовательности записывать в виде десятичного числа. Например: 144.206.160.32.
IP-адрес состоит из двух
Существует 5 классов IP-адресов. Эти классы отличаются друг от друга количеством битов, отведенных на адрес сети и адрес хоста в сети. На рисунке показаны эти пять классов.
Опираясь на эту структуру, можно подсчитать характеристики каждого класса в терминах числа сетей и числа машин в каждой сети:
Класс |
Диапазон значений первого октета |
Возможное количество сетей |
Возможное количество узлов |
А |
1 – 126 |
126 |
16777214 |
B |
128 – 191 |
16382 |
65534 |
C |
192 – 223 |
2097150 |
254 |
D |
224 – 239 |
- |
228 |
E |
240 – 247 |
- |
227 |