Основное, что отличает сеть Интернет от других сетей -это ее протоколы —
TCP/IP. Вообще, термин TCP/IP обычно означает все, что связано с
протоколами взаимодействия между компьютерами в Интернете.
![Протоколы сети Интернет Протоколы сети Интернет](images/stories/Popov5/elektronnaq_pohta_2.gif) Он
охватывает целое семейство протоколов, прикладные программы и даже саму
сеть. TCP/IP — это технология межсетевого взаимодействия. Сеть, которая
использует технологию TCP/IP, называется «internet».
Если речь идет о глобальной сети, объединяющей множество сетей с технологией TCP/IP, то ее называют Интернетом.
Несмотря на то, что в сети Интернет используется большое число других
протоколов, сеть Интернет часто называют TCP/IP-СЕТЬЮ, так как эти два
протокола, безусловно, являются важнейшими.
Как и во всякой другой сети, в Интернете существует 7 уровней
взаимодействия между компьютерами: физический, логический, сетевой,
транспортный, уровень сеансов связи, представительский и прикладной.
Каждому уровню взаимодействия соответствует набор протоколов (т. е. правил взаимодействия). Рассмотрим эти уровни сверху вниз.
1. Пользовательский (прикладной) уровень.
Представим себе, что мы сидим за компьютером и работаем в Интернете. На
самом деле мы работаем с программами, установленными на нашем
компьютере. Назовем их клиентскими программами. Совокупность этих
программ и представляет для нас наш пользовательский уровень. Наши
возможности в Интернете зависят от состава этих программ И от их
настройки. То есть на пользовательском уровне наши возможности работы в
Интернете определяются составом клиентских программ.
На таком уровне Интернет представляется огромной совокупностью файлов с
документами, программами и другими ресурсами, для работы с которыми и
служат наши клиентские программы. Чем шире возможности этих программ,
тем шире и наши возможности. Есть программа для прослушивания
радиотрансляций — можем слушать радио; есть программа для просмотра
видео — можем смотреть кино, а если есть почтовый клиент — можем
получать и отправлять сообщения электронной почты.
2. Представительский уровень. А что дает нам возможность
устанавливать на компьютере программы и работать с ними? Конечно же,
это его операционная система. Она выступает посредником между
человеком, компьютером и программами.
На втором уровне и происходит «разборка» с моделью компьютера и его
операционной системой. Выше этого уровня они важны и играют рель. Ниже
— уже безразличны. Все, что происходит на более низких уровнях,
одинаково относится ко всем типам компьютеров.
Если взглянуть на Интернет с этого уровня, то это уже не просто
набор файлов — это огромный набор «дисков». Протоколы
представительского уровня занимаются обслуживанием прикладных программ.
К программам представительского уровня принадлежат программы,
запускаемые, к примеру на сервере, для предоставления различных услуг
абонентам, К таким программам относятся следующие: Web-сервер,
FTP-сервер, NNTP (Net News Transfer Protocol), SMTP (Simple Mail
Transfer Protocol), POP3 (Post Office Protocol) и т. д.
3. Уровень сеансов связи. Давайте представим себе компьютер с тремя
жесткими дисками. У компьютера есть три владельца. Каждый настроил
операционную систему так, чтобы полностью использовать «свой диск», а
для других пользователей сделал его скрытым. Свою работу они начинают с
регистрации — вводят имя и пароль при включении компьютера.
Если спросить одного из них, сколько в его компьютере жестких дисков,
то он ответит, что только один, и будет прав: в своем персональном
сеансе работы с компьютером он никогда не видел никаких иных дисков.
Того же мнения будут придерживаться и двое других. Такой же взгляд на
Интернет открывается с высоты уровня сеансов. Для каждого сеанса связи
создается свой канал, внутри которого и происходит обмен информацией.
Протоколы уровня сеансов связи отвечают за установку, поддержание и
уничтожение соответствующих каналов.
4. Транспортный уровень. Этот уровень отвечает закодирование того
файла, который собирается получить пользователь. Это зависит от сети.
Внутри университетской сети действуют один правила, вне ее — другие.
Эти правила называют протоколами. Сеть Интернет потому и считается
всемирной сетью, что на всем ее пространстве действует единый
транспортный протокол — TCP. На тех компьютерах, через которые к
Интернету подключены малые локальные сети, работают шлюзы. Шлюзовые
программы преобразуют потоки данных из формата, принятого в локальных
сетях или на автономных компьютерах, в единый формат, принятый в
Интернете.
Протоколы транспортного уровня управляют передачей данных из одной
программы в другую. К протоколам транспортного уровня принадлежат TCP
(Transmission Control Protocol) и UDP (User Datagram Protocol). Таким
образом, если взглянуть на Интернет на этом уровне, то можно сказать,
что это глобальная компьютерная сеть, в которой происходит передача
данных с помощью протокола TCP.
5. Сетевой уровень. Если соединить между собой несколько
компьютеров и пересылать между ними данные, нарезанные на пакеты по
протоколу TCP, это будет не Интернет, а интранет — разновидность
локальной сети. Такие сети существуют — их называют корпоративными. Они
популярны тем, что все пользовательские программы, разработанные для
Интернета, можно использовать и в интранете.
Интернет отличается от локальных сетей не только единым
транспортным протоколом, но и единой системой адресации. Протоколы
сетевого уровня отвечают за передачу данных между устройствами в разных
сетях, то есть занимаются маршрутизацией пакетов в сети. К протоколам
сетевого уровня принадлежат IP (Internet Protocol) и ARP (Address
Resolution Protocol).
Если взглянуть на Интернет с пятого уровня, то можно сказать, что
Интернет — это всемирное объединение множества компьютеров, каждый из
которых имеет уникальный IP-адрес.
6. Уровень соединения (логический уровень). Дело идет к тому, чтобы
физически передать сигналы с одного компьютера на другой, например с
помощью модема. На этом уровне цифровые данные из пакетов, созданных
рапсе, накладываются на физические сигналы, генерируемые модемом, и
изменяют их (модулируют). Как и все операции в компьютере, эта операция
происходит под управлением программ. В данном случае работают
программы, установленные вместе с драйвером модема. При взгляде с
шестого уровня Интернет — это совокупность компьютерных сетей или
автономных компьютеров, объединенных всевозможными (любыми) средствами
связи.
Для каждого типа линий связи разработай соответствующий протокол
логического уровня, занимающийся управлением передачи информации по
каналу. К протоколам логического уровня для телефонных линий относятся
протоколы SLIP (Serial line Interface Protocol) и РРР (Point to Point
Protocol). Для связи по кабелю локальной сети — это пакетные драйверы
плат ЛВС.
7. Физический уровень. При взгляде с самого низкого уровня Интернет
представляется как всемирная паутина проводов на прочих каналов связи.
Сигнал от одного модема (или иного аналогичного устройства)
отправляется в путь по каналу связи к другому устройству. Физически
этот сигнал может быть пучком света, потоком радиоволн, пакетом
звуковых импульсов и т. п. На физическом уровне можно забыть о данных,
которыми этот сигнал промодулирован. Люди, которые занимаются
Интернетом на этом уровне, могут ничего не понимать в компьютерах.
Протоколы физического уровня определяют вид и характеристики линий
связи между компьютерами. В Интернете используются практически все
известные в настоящее время способы связи от простого провода (витая
пара) до волоконно-оптических линий связи (ВОЛС).
Различные части Интернета — составляющие сети — соединяются между собой
посредством компьютеров, узлов, так Сеть связывается воедино. Сети эти
могут быть Ethernet, Token Ring, сети на телефонных линиях, пакетные
радиосети и т. п. Выделенные линии и локальные сети — аналоги железных
дорог, самолетов почты и почтовых отделений, почтальонов. С их помощью
почта движется с места на место. Узлы — аналоги почтовых отделений, где
принимается решение, как перемещать данные («пакеты») по сети точно так
же, как почтовый узел намечает дальнейший путь почтового конверта.
Отделения или узлы не имеют прямых связей со всеми остальными.
Если вы отправляете конверт из Донецка в село на Закарпатье, конечно
же, почта не станет нанимать самолет, который полетит из Донецкого
аэропорта прямо в карпатские леса, просто местное почтовое отделение
отправляет послание на подстанцию в нужном направлении, та в свою
очередь — на следующую подстанцию в направлении пункта назначения;
таким образом письмо станет последовательно приближаться к пункту
назначения, пока не достигнет почтового отделения, в ведении которого
находится нужный объект и которое доставит сообщение получателю. Для
работы такой системы требуется, чтобы каждая подстанция знала о
наличествующих связях и о том, на какую из ближайших подстанций
оптимально следует передать адресованный туда-то пакет. Примерно так же
и в Интернете: узлы выясняют, куда следует ваш пакет данных, решают,
куда его дальше отправить, и отправляют.
На каждой почтовой подстанции определяется следующая, подстанция,
куда будет далее направлена корреспонденция, т. е. намечается
дальнейший путь (маршрут) — этот процесс называется маршрутизацией. Для
осуществления маршрутизации каждая подстанция имеет таблицу, где адресу
пункта назначения (или индексу) соответствует указание почтовой
подстанции, куда следует посылать далее этот конверт (бандероль). Их
сетевые аналоги называются таблицами маршрутизации. Эти таблицы
рассылаются почтовым подстанциям централизовано от соответствующего
почтового подразделения. Время от времени рассылаются предписания по
изменению и дополнению этих таблиц.
Как и любые другие действия, составление и модификация таблиц
маршрутизации (этот процесс тоже является частью маршрутизации и
называется так же) определяются соответствующими правилами —
протоколами ICMP (Internet Control Message Protocol), RIP (Routing
Internet Protocol) и OSPF (Open Shortest Path First). Узлы,
занимающиеся маршрутизацией, называются маршрутизаторами.
Если вы хотите, чтобы ваше письмо достигло места назначения, вы не
можете просто бросить листочек бумаги с ящик. Вам следует уложить его в
стандартный конверт и написать па нем адрес получателя в стандартной
форме. Только тогда почта сможет правильно обработать ваше письмо и
доставить его по назначению. Аналогично в Интернете имеется набор
правил по обращению с пакетами — протоколы. -Протокол IP берет на себя
заботы по адресации или по подтверждению того, что узлы понимают, что
следует делать с вашими данными по пути их дальнейшего следования
Согласно нашей аналогии, протокол Интернета работает так же. как
правила обработки почтового конверта. В начало каждого вашего послания
помещается заголовок, несущий информацию об адресате, сети. Чтобы
определить, куда и как доставить пакет данных, этой ш; формации
достаточно.
Адрес в Интернете состоит из 4 байт. При записи байты отделяются
друг от друга точками: 123.45.67.89 или 3.33.33.3. В действительности
адрес состоит из нескольких частей. Так как Интернет есть сеть сетей,
начало адрил говорит узлам Интернета, частью какой из сетей вы
являетесь. Правый конец адреса говорит этой сети, какой компьютер или
хост должен получить пакет. Каждый компьютер в Интернете имеет в этой
схеме уникальный адрес (аналогично обычному почтовому адресу, а еще
точнее — индексу).
Обработка пакета согласно адресу также аналогична. Почтовая служб
знает, где находится указанное в адресе почтовое отделение, а почтовое
отделение подробно знает подопечный район. Интернет знает, где искать
указанную сеть, а эта сеть знает, где Е ней находится конкретный
компьютер. Для определения, где в локальной сети находится компьютер с
данным числовым IP-адресом, локальные-сети используют свои собствен! we
протоколы сетевого уровня.
Числовой адрес компьютера в Интернете аналогичен почтовому индексу
отделения связи. Пгрьые цифры индекса говорят о регионе (например, 83 -
это Донецк, 00 — Киев И т. д.), последние две цифры — номер почтового
отделения в городе, области, или районе. Промежуточные цифры могут
относиться как к региону, так и к отделению, в зависимости от
территориального деления и вида населенного пункта. Аналогично
существует несколько типов адресов Интернет (типы: А, В, С, D, Е),
которые по-разному делят адрес на поля номера сети и номера узла; от
типа такого деления зависит количество возможных различных сетей и
машин в таких сетях.
Из-за ограничений оборудования информация, Пересылаемая по сетям
IP, делится на части (по границам байтов), раскладываемые в отдельные
пакеть;. Длина информации внутри пакета обычно составляет 1 —1500 байт.
Это защищает сеть от монополизирования каким-либо пользователем и
предоставляет всем примерно равные права. Поэтому же, если сеть
недостаточно быстра, чем больше пользователей ею одновременно
пользуются, тс\ медленнее она будет общаться с каждым.
Одно из достоинств Интернета состоит в том, что протокола IP самого по
себе уже вполне достаточно для работы. Как только данные помещаются в
оболочку IP, сеть имеет всю необходимую информацию для оредачи их с
исходного компьютера получателю, однако чрезвычайна неудобную для
пользователя.
Поэтому нужно построить на основе услуг, предоставляемых IP, более
совершенную и удобную систему. Для этого сначала следует разобраться с
некоторыми важными проблемами, которые имеют место при пересылке
информации: большая часть пересылаемой информации длиннее 1500
символов. Что было бы, если бы почта пересылала только почтовые
карточки и отказывалась бы от пересылки чего-либо большего, например
писем длиннее одной страницы. Практической пользы от такой почты было
бы очень немного возможны и неудачи. Нередко бывает, что почта теряет
письма; сеть тоже иногда теряет пакеты или искажает в пути информацию в
них.
В отличие от почты, Интернет может с честью выходить из таких
затруднительных положений пакеты могут приходить в последовательности,
отличной от начальной. Пара писем, отправленных друг за другом, не
всегда приходит к получателю в том же порядке, то же верно и для
Интернет.
Таким образом, следующий уровень Интернета должен обеспечить способ
пересылки больших массивов информации и позаботиться об устранении
искажений, которые могут возникать по вине сети.
Протокол управления передачей (TCP) Transmission Control Protocol
Это протокол, тесно связанный с IP, который
используется в аналогичных целях, но на более высоком уровне —
транспортном уровне. Часто эти протоколы, по причине их тесной связи,
именуются вместе — TCP/IP. Термин «TCP/IP» обычно означает все, что
связано с протоколами TCP и IP. Он охватывает целое семейство
протоколов, прикладные программы и даже саму сеть. В состав семейства
входят протоколы TCP, UDP, ICMP, telnet, FTP и многие другие. TCP/IP —
это технология межсетевого взаимодействия, технология internet. Сеть,
которая использует технологию internet, называется Internet.
Сам протокол TCP занимается проблемой пересылки больших объемов
информации, основываясь на возможностях протокола IP. Как можно
переслать книгу по почте, если та принимает только письма и ничего
более? Очень просто: разделить ее на страницы и отправить страницы
отдельными конвертами. Получатель, руководствуясь номерами страниц,
легко сможет книгу восстановить. Этим же простым и естественным методом
и пользуется TCP,TCP делит информацию, которую надо переслать, на
несколько частей. Нумерует каждую часть, чтобы позже восстановить
порядок.
Чтобы пересылать эту нумерацию вместе с данными, он обкладывает каждый
кусочек информации своей обложкой — конвертом, который содержит
соответствующую информацию. Это и есть TCP-конверт. Получившийся
ТСР-пакет помешается в отдельный IP-конверт и получается IP-пакет, с
которым сеть уже умеет обращаться.
Получатель распаковывает IP-конверты и видит ТСР-конверты,
распаковывает и их и помещает данные в последовательность частей в
соответствующее место. Если чего-то не достает, он требует переслать
этот кусочек снова. В конце концов, информация собирается в нужном
порядке и полностью восстанавливается. Вот теперь этот массив
пересылается выше к пользователю (на диск, на экран, на печать).
Это слегка упрощенный взгляд на TCP. В реальности пакеты не только
теряются, но и могут искажаться при передаче из-за наличия помех на
линиях связи. TCP решает и эту проблему. Для этого он пользуется
системой кодов, исправляющих ошибки, Существует целая наука о таких
кодировках. Простейшим примером такового служит код с добавлением к
каждому пакету контрольной суммы (и к каждому байту бита проверки на
четность). При помещении в ТСР-конверт вычисляется контрольная сумма,
которая записывается с TCP-заголовок. Если при приеме заново
вычисленная сумма не совпадает с той, что указана на конверте, значит,
что-то тут не то, где-то в пути имели место искажения, так что надо
переслать этот пакет заново, что и делается.
Большие возможности TCP требуют большой производительности процессора и
большой пропускной способности сети. Когда прикладной процесс начинает
использовать TCP, то начинают общаться модуль TCP на машине
пользователя и модуль на машине сервера. Эти два оконечных модуля TCP
поддерживают информацию о состоянии соединения — виртуального канала.
Этот виртуальный канал потребляет ресурсы обоих оконечных модулей TCP.
Один прикладной процесс пишет данные в TCP-порт, откуда они модулями
соответствующих уровней по цепочке передаются по сети и выдаются в
TCP-порт на другом конце канала, и другой прикладной процесс читает их
отсюда — из своего TCP-порта.
Все это создает видимость выделенной линии связи двух пользователей.
Гарантирует неизменность передаваемой информации. Что входит на одном
конце, выйдет с другого. Хотя в действительности никакая прямая линия
отправителю и получателю в безраздельное владение не выделяется (другие
клиенты могут пользоваться теми же узлами и каналами связи в сети в
промежутках между пакетами этих), но извне это именно так и выглядит.
Существует и упрощенная версия протокола TCP, предназначенная для
пересылки небольших порций данных — протокол UDP (User Datagram
Protocol — протокол пользовательских дейтаграмм). UDP проще TCP,
поскольку он не заботится о возможной пропаже данных, пакетов, о
сохранении правильного порядка данных и т. д. UDP используется для
клиентов, которые посылают только короткие сообщения и могут просто
заново послать сообщение, если отклик подтверждения не придет
достаточно быстро.
Предположим, что вы пишите программу, которая просматривает базу данных
с телефонными номерами где-нибудь в другом месте сети. Совершенно
незачем устанавливать TCP-связь, чтобы передать десяток байт в каждом
направлении. Вы можете просто уложить имя в UDP-пакет, запаковать это в
IP-пакет и послать. На другом конце прикладная программа получит пакет,
прочитает имя, посмотрит телефонный номер, положит его в другой
UDP-пакет и отправит обратно.
Что произойдет, если пакет по пути потеряется? Ваша программа тогда
должна действовать так: если она ждет ответа слишком долго и становится
ясно, что пакет затерялся, она просто повторяет запрос, т. е. посылает
еще раз то же послание. Так обеспечивается надежность передачи при
использовании протокола UDP.
|