Автор: Пользователь скрыл имя, 28 Декабря 2010 в 22:56, лекция
1.Низкий трафик сети, из-за минимизации пересылки дополнительной служебной информации.
2.Любое оборудование позволяет фильтровать трафик TCP/IP, что сильно облегчает сегментацию сети и делает ее легко структурируемой.
3.Сеть TCP/IP позволяет работать в режиме удаленного терминала и организовывать распределенную файловую систему. Для сети TCP/IP нет разницы между машинами, которые стоят в соседней комнате, или установлены на разных континентах.
4.Стек протоколов TCP/IP является стандартом в сети Internet.
5.Стек протоколов TCP/IP позволяет организовывать корпоративную сеть по принципу intranet.
6.Сеть TCP/IP обеспечивает сетевую печать и т.п.
Все указанные выше значения прописываются в заголовке сообщения модулями на отправляющем компьютере. Так как схема протоколов - это дерево, то к его корню ведет только один путь, при прохождении которого каждый модуль добавляет свои данные в заголовок блока. Машина, принявшая пакет, осуществляет демультиплексирование в соответствии с этими отметками.
Протокол SLIP (Serial Line Internet Protocol) обеспечивает подключение через последовательный порт персонального компьютера к IP-сети (например, через модем). Обычно, этот протокол применяют как на выделенных, так и на коммутируемых линиях связи.
В отличии от Ethernet, SLIP не "заворачивает" IP-пакет в свою обертку, а "нарезает" его на "кусочки". SLIP не позволяет выполнять какие-либо действия, связанные с адресами, т.к. в структуре пакета не предусмотрено поле адреса и его специальная обработка. Компьютеры, взаимодействующие по SLIP, обязаны знать свои IP-адреса заранее. SLIP не позволяет различать пакеты по типу протокола.
В
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-таблица состоит из двух столбцов:
|
Таблица соответствия необходима, так как адреса выбираются произвольно и нет какого-либо алгоритма для их вычисления. ARP-таблица заполняется автоматически. Если нужного адреса в таблице нет, то в сеть посылается широковещательный запрос типа "чей это IP-адрес?". Все сетевые интерфейсы получают этот запрос, но отвечает только владелец адреса. Полученный таким образом адрес будет добавлен в ARP-таблицу.
Следует отметить, что если искомого IP-адреса нет в локальной сети и сеть не соединена с другой сетью шлюзом, то разрешить запрос не удается. IP-модуль будет уничтожать такие пакеты, обычно по time-out (превышен лимит времени на разрешение запроса). Модули прикладного уровня, при этом, не могут отличить физического повреждения сети от ошибки адресации.
Если
машина соединена с несколькими сетями,
т.е. она является шлюзом, то в таблицу
ARP вносятся строки, которые описывают
как одну, так и другую IP-сети.
Протокол IP.
Протокол IP является самым главным во всей иерархии протоколов семейства TCP/IP. Именно он используется для управления рассылкой TCP/IP пакетов по сети Internet. Среди различных функций, возложенных на IP обычно выделяют следующие:
Главными особенностями протокола IP является отсутствие ориентации на физическое или виртуальное соединение. Это значит, что прежде чем послать пакет в сеть, модуль операционной системы, реализующий IP, не проверяет возможность установки соединения, т.е. никакой управляющей информации кроме той, что содержится в самом IP-пакете, по сети не передается. Кроме этого, IP не заботится о проверке целостности информации в поле данных пакета, что заставляет отнести его к протоколам ненадежной доставки. Целостность данных проверяется протоколами транспортного уровня (TCP) или протоколами приложений.
Таким образом, вся информация о пути, по которому должен пройти пакет берется из самой сети в момент прохождения пакета. Именно эта процедура и называется маршрутизацией в отличие от коммутации.
Надо
отметить, что маршрутизация является
ресурсоемкой процедурой, так как
требует анализа каждого
Если
пакет слишком долго "бродит"
по сети, то очередной шлюз может
послать ICMP-пакет отправителю
Обсуждая
протокол IP нельзя не упомянуть, что
в настоящее время перед Internet
возникло множество сложных проблем,
которые требуют изменения
IPing - новое поколение протоколов IP
Перед системой Интернет стоит серьезная проблема – быстрый рост числа пользователей Сети. Эта проблема заключается в том, что Internet стал слишком большой, он перерос заложенные в него возможности. В настоящее время номера сетей класса B практически все уже выбраны, а остались только сети класса A и класса C. Класс A - это слишком большие сети, класс С походит только для небольших организаций. А большинство сетей, подключае6мых к Интернет представляют собой средние по масштабам системы.
В начале 1995 года IETF, выпустило предложения по новому стандарту протокола IP - IPv6, который еще называют IPing. Сейчас Internet-сообщество живет по стандарту IPv4. IPv6 призван не только решить адресную проблему, но и попутно помочь решению других задач, стоящих в настоящее время перед Internet.
В
новом протоколе введена
Кроме
перечисленных возможностей, новый
протокол позволяет улучшить защиту
трафика сети. Для этой цели в протоколе
предусмотрены специальные опции. Первая
опция предназначена для защиты от подмены
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, что означает "нет больше данных".
Понятно, что потоковый характер протокола и требование подтверждения получения данных порождают проблему скорости передачи данных. Для ее решения используется "окно" - поле. Идея применения окна достаточно проста: передавать данные не дожидаясь подтверждения об их получения. Это значит, что источник предает некоторое количество данных без ожидания подтверждения об их приеме, и после этого останавливает передачу и ждет подтверждения.