Тарифы Услуги Сим-карты

В каком году протокол tcp ip. Что такое протокол TCP-IP

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

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

Протокол TCP-IP, описание которого невозможно обозначить только определениями IP и TCP, включает в себя также протоколы UDP, SMTP, ICMP, FTP, telnet, и не только. Эти и другие протоколы TCP-IP обеспечивают наиболее полноценную работу сети Интернет.

Ниже приведем развернутую характеристику каждому протоколу, входящему в общее понятие TCP-IP.

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

Однако использования одного лишь IP-протокола может быть недостаточно для корректной передачи данных, так как объем большей части пересылаемой информации более 1500 символов, что уже не вписывается в один пакет, а некоторые пакеты могут быть потеряны в процессе передачи или присланы не в том порядке, что требуется.

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

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

1. FTP (File Transfer Protocol) организует перенос файлов и используется для передачи информации между двумя узлами Internet с использованием TCP-соединений в виде бинарного или же простого текстового файла, как поименованной области в памяти компьютера. При этом не имеет никакого значения, где данные узлы расположены и как соединяются между собой.

2. Протокол пользовательских дейтаграмм , или User Datagram Protocol, не зависит от подключений, он передает данные пакетами, которые называют UDP-дейтаграммами. Однако этот протокол не так надежен, как TCP, потому что отравитель не получает данных о том, был ли принят пакет в действительности.

3. ICMP (Internet Control Message Protocol) существует для того, чтобы передавать сообщения об ошибках, возникающих в процессе обмена данными в сети Internet. Однако при этом ICMP-протокол только лишь сообщает об ошибках, но не устраняет причины, которые привели к возникновению этих ошибок.

4. Telnet - который используется для реализации текстового интерфейса в сети с помощью транспорта TCP.

5. SMTP (Simple Mail Transfer Protocol) - это специальный электронными сообщениями, определяющий формат сообщений, которые пересылаются с одного компьютера, называемого SMTP-клиентом, на другой компьютер, на котором запущен SMTP-сервер. При этом данная пересылка может быть отложена на некоторое время до тех пор, пока не активируется работа как клиента, так и сервера.

Схема передачи данных по протоколу TCP-IP

1. Протокол TCP разбивает весь объем данных на пакеты и нумерует их, упаковывая в TCP-конверты, что позволяет восстановить порядок получения частей информации. При помещении данных в такой конверт происходит вычисление контрольной суммы, которая записывается потом в TCP-заголовок.

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

4. После подтверждения получения всех пакетов протокол TCP упорядочивает их соответствующим образом и собирает заново в единое целое.

Протоколом TCP используются повторные передачи данных, периоды ожидания (или таймауты), что обеспечивает надежность доставки информации. Пакеты могут передаваться в двух направлениях одновременно.

Тем самым протокол TCP-IP снимает необходимость использования повторных передач и ожиданий для прикладных процессов (таких, как Telnet и FTP).

Введение в TCP/IP

Работа сети Internet основана на использовании семейства коммуникационных протоколов TCP/IP, что расшифровывается как Transmission Control Protocol/Internet Protocol (Протокол управления передачей данных/Протокол Internet). TCP/IP используется для передачи данных как в глобальной сети Internet, так и во многих локальных сетях. В этой главе кратко рассматриваются протоколы TCP/IP и применяемые в них способы управления передачей данных.

Разумеется, для работы с Internet в качестве пользователя не требуется никаких специальных знаний о протоколах TCP/IP, но понимание основных принципов поможет вам в решении возможных проблем общего характера, возникающих, в частности, при настройке системы электронной почты. TCP/IP также тесно связан с двумя другими базовыми приложениями Internet FTP и Telnet. Наконец, знание ряда основополагающих концепций Internet поможет вам в полной мере оценить степень сложности этой системы, подобно тому как представление о работе двигателя внутреннего сгорания помогает проникнуться уважением к устройству автомобиля.

Что такое TCP/IP

TCP/IP - это название семейства протоколов передачи данных в сети. Протокол - это набор правил, которых должны придерживаться все компании, чтобы обеспечить совместимость производимого аппаратного и программного обеспечения. Эти правила гарантируют, что машина фирмы Digital Equipment, работающая с пакетом TCP/IP, сможет общаться с PC Compaq, также работающим с TCP/IP. При соблюдении определенных стандартов для функционирования всей системы не имеет значения, кто является производителем программного обеспечения или аппаратных средств. Идеология открытых систем предполагает использование стандартных аппаратных средств и программного обеспечения. TCP/IP - открытый протокол, и это значит, что вся специальная информация о протоколе издана и может быть свободно использована.

Протокол определяет, каким образом одно приложение связывается с другим. Эта связь программного обеспечения подобна диалогу: "Я посылаю вам эту порцию информации, затем вы посылаете мне обратно то-то, потом я отправлю вам это. Вы должны сложить все биты и послать обратно общий результат, а если возникнут проблемы, вы должны послать мне соответствующее сообщение." Протокол определяет, как различные части полного пакета управляют передачей информации. Протокол указывает, содержит ли пакет сообщение электронной почты, статью телеконференции или служебное сообщение. Стандарты протокола сформулированы таким образом, что принимают во внимание возможные непредвиденные обстоятельства. Протокол также включает правила обработки ошибок.

Термин TCP/IP включает названия двух протоколов - Transmission Control Protocol (TCP) и Internet Protocol (IP). TCP/IP не является одной программой, как ошибочно полагают многие пользователи. Напротив, TCP/IP относится к целому семейству связанных между собой протоколов, разработанных для передачи информации по сети и одновременного обеспечения информацией о состоянии самой сети. TCP/IP является программным компонентом сети. Каждая часть семейства TCP/IP решает определенную задачу: отправление электронной почты, обеспечение удаленного обслуживания входа в систему, пересылку файлов, маршрутизацию сообщений или обработку сбоев в сети. Применение TCP/IP не ограничено глобальной сетью Internet. Это наиболее широко используемые во всем мире сетевые протоколы, применяемые как в крупных корпоративных сетях, так и в локальных сетях с небольшим числом компьютеров.

Как только что говорилось, ТСР/IР - не один протокол, а их семейство. Почему иногда употребляют термин ТСР/IР, хотя имеется в виду сервис, отличный от TCP или IP? Обычно общее название используют при обсуждении всего семейства сетевых протоколов. Однако некоторые пользователи, говоря о TCP/IP, имеют в виду лишь некоторые из протоколов семейства: они предполагают, что другая сторона в диалоге понимает, о чем конкретно идет речь. В действительности лучше называть каждый из сервисов своим именем, чтобы внести большую ясность в предмет разговора.

Компоненты TCP/IP

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

Транспорт н ые протоколы управляют передачей данных между двумя машинами.

TCP (Transmission Control Protocol). Протокол, поддерживающий передачу данных, осно­ванную на логическом соединении между посылающим и принимающим компьютерами.

UDP (User Datagram Protocol). Протокол, поддерживающий передачу данных без установ­ления логического соединения. Это означает, что данные посылаются без предварительного установления соединения между компьютерами получателя и отправителя. Можно провести аналогию с отправлением почты по какому-то адресу, когда нет никакой гарантии, что это сообщение прибудет к адресату, если он вообще существует. (Две машины соединены в том смысле, что обе подключены к Internet, но они не поддерживают связь между собой через логическое соединение.)

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

IP (Internet Protocol). Обеспечивает фактическую передачу данных.

ICMP (Internet Control Message Protocol). Обрабатывает сообщения состояния для IP, например, ошибки и изменения в сетевых аппаратных средствах, которые влияют на маршрутизацию.

RIP (Routing Information Protocol). Один из нескольких протоколов, которые определяют наилучший маршрут доставки сообщения.

OSPF (Open Shortest Path First). Альтернативный протокол для определения маршрутов.

Поддержка сетевого адреса - это способ идентификации машины с уникальным номером и именем. (Более подробно об адресах см. ниже в этой главе.)

ARP (Address Resolution Protocol). Определяет уникальные числовые адреса машин в сети.

DNS (Domain Name System). Определяет числовые адреса по именам машин.

RARP (Reverse Address Resolution Protocol). Определяет адреса машин в сети, но способом, обратным ARP.

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

ВООТР (Boot Protocol) загружает сетевую машину, читая информацию для начальной загрузки с сервера.

FTP (File Transfer Protocol) передает файлы между компьютерами.

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

Шлюзовые протоколы помогают передавать по сети сообщения о маршрутизации и информацию о состоянии сети, а также обрабатывать данные для локальных сетей. (Более подробно о шлюзовых протоколах см. "Шлюзовые протоколы" позже в этой главе.)

EGP (Exterior Gateway Protocol) служит для передачи маршрутизационной информации для внешних сетей.

GGP (Gateway-to-Gateway Protocol) служит для передачи маршрутизационной информации между шлюзами.

IGP (Interior Gateway Protocol) служит для передачи маршрутизационной информации для внутренних сетей.

NFS (Network File System) позволяет использовать каталоги и файлы удаленного компьютера так, как если бы они существовали на локальной машине.

NIS (Network Information Service) поддерживает в сети информацию о пользователях не­скольких компьютеров, упрощая вход в систему и проверку паролей.

RPC (Remote Procedure Call) позволяет удаленным прикладным программам связываться друг с другом простым и эффективным способом.

SMTP (Simple Mail Transfer Protocol) - это протокол, который передает сообщения электронной почты между машинами. SMTP обсуждается более подробно в гл. 13 "Как работает электронная почта в Internet."

SNMP (Simple Network Management Protocol) - протокол для администрирования, который посылает сообщения о состоянии сети и подключенных к ней устройств.

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

Числовой адрес компьютера

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

В Internet компьютеры сети идентифицируются путем назначения Internet-адреса или, более правильно, IP-адреса. IP-адреса всегда имеют длину 32 бита и состоят из четырех частей по 8 бит. Это значит, что каждая часть может принимать значение в пределах от 0 до 255. Четыре части объединяют в запись, в которой каждое восьмибитовое значение отделяется точкой. Например, 255.255.255.255 или 147.120.3.28 - это два IP-адреса. Когда речь идет о сетевом адресе, то обычно имеется в виду IP-адрес.

Если бы использовались все 32 бита в IP-адресе, то получилось бы свыше четырех миллиардов возможных адресов - более чем достаточно для будущего расширения Internet! Однако некоторые комбинации битов зарезервированы для специальных целей, что уменьшает число потенциальных адресов. Кроме того, 8-битные четверки сгруппированы специальными способами в зависимости от типа сети, так что фактическое число возможных адресов еще меньше.

IP-адреса назначаются не по принципу перечисления хостов в сети -1, 2, 3, ... На самом деле IP-адрес как бы состоит из двух частей: адреса сети и адреса хоста в этой сети. Благодаря такой структуре IP-адреса компьютеры в разных сетях могут иметь одинаковые номера. Поскольку адреса сетей различны, то компьютеры идентифицируются однозначно. Без такой схемы нумерация быстро становится очень неудобной.

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

Три класса IP-адресов позволяют распределять их в зависимости от размера сети организации. Так как 32 бита - допустимый полный размер IP-адреса, то классы разбивают четыре 8-битные части адреса на адрес сети и адрес хоста в зависимости от класса. Один или несколько битов зарезервированы в начале IP-адреса для идентификации класса.

Адреса класса А - числа между 0 и 127

Адреса класса В - числа между 128 и 191

Адреса класса С - числа между 192 и 223

Если IP-адрес вашей машины - 147.14.87.23, то вы знаете, что ваша машина находится в сети класса В, сетевой идентификатор - 147.14, а уникальный номер вашей машины в этой сети - 87.23. Если IP-адрес - 221.132.3.123, то машина находится в сети класса С с сетевым идентификатором 221.132.3 и идентификатором хоста 123.

Всякий раз, когда посылается сообщение какому-либо хост-компьютеру в Internet, IP-адрес используется для указания адреса отправителя и получателя. Конечно, вам не придется самому запоминать все IP-адреса, так как для этого существует специальный сервис TCP/IP, называемый Domain Name System (Доменная система имен).

Доменные имена

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

Если компания решила непосредственно подключиться к Internet (а иногда и при подключении через сервис-провайдера), может возникнуть желание получить для себя уникальный идентификатор. Например, корпорация АВС может захотеть получить адрес электронной почты в Internet, содержащий строку abc.com. Такой идентификатор, включающий название фирмы, позволяет отправителю определить компанию адресата.

Чтобы получить один из этих уникальных идентификаторов, называемых доменным именем, ком­пания или организация посылает запрос в орган, который контролирует подключение к Internet - Network Information Center (InterNIC). Если InterNIC утверждает имя компании, то оно добавляется в базу данных Internet. Доменные имена должны быть уникальны, чтобы предотвратить коллизии.

Последняя часть доменного имени называется идентификатором домена верхнего уровня (например, .corn). Существуют шесть доменов верхнего уровня, установленных InterNIC:

Агра Идентификатор сети ARPANET

Corn Коммерческие компании

Edu Образовательные учреждения

Gov Правительственные учреждения или организации

Mil Военные учреждения

Org Организации, которые не относятся ни к одной из перечисленных категорий

Сервис WWW

World Wide Web (WWW, Всемирная паутина) - это новейший вид информационных услуг Internet, основанный на архитектуре клиент-сервер. В конце 80-х годов в CERN (Европейский центр физики элементарных частиц) начались работы по созданию информационного сервиса, который позволил бы любому пользователю легко найти и прочитать документы, размещенные на серверах в любой части Internet. Для этого был разработан стандартный формат документов, позволяющий наглядным образом представить информацию на дисплее компьютера любого типа, а также обеспечить возможность установки внутри одних документов ссылок на другие документы.

Хотя WWW был разработан с целью применения сотрудниками CERN, после того как этот вид сервиса был обнародован, его популярность стала расти необычайно быстро. Было разработано множество прикладных программ, используемых в качестве WWW-клиентов, т. е. обеспечивающих доступ к WWW-серверам и представление документов на экране. Имеется клиентское программное обеспечение, основанное как на графическом интерфейсе пользователя (одной из наиболее популярных является программа Mosaic), так и на эмуляции алфавитно-цифрового терминала (примером является программа Lynx). Большинство WWW-клиентов позволяют использовать их интерфейс и для доступа к другим видам сервиса Internet, таким как FTP и Gopher.

Документы, расположенные на WWW-серверах, представляют собой не просто текстовые документы в стандарте ASCII. Это ASCII-файлы, содержащие команды специального языка, названного HTML (HyperText Markup Language, Язык разметки гипертекста). Команды HTML позволяют структурировать документ, выделяя в нем логически различающиеся части текста (заголовки разных уровней, абзацы, перечисления и т. д.). В результате каждая из клиентских программ просмотра WWW может форматировать текст документа таким образом, чтобы наилучшим способом отобразить его на конкретном дисплее. Для придания документам большей выразительности текст обычно форматируется с использованием увеличенных размеров шрифта заголовков, применением полужирного и курсивного начертаний для важных терминов, выде­лением пунктов перечислений и т. д. Язык HTML позволяет также включать в документы иллюстративную графику, которая может быть отображена программами просмотра, основанными на использовании графического интерфейса пользователя.

Одним из самых важных свойств HTML является возможность включения в документ гипер­текстовых ссылок. Эти ссылки позволяют пользователю загрузить новый документ на свой компьютер, просто щелкнув указателем мыши в том месте экрана, где расположена ссылка. Любой документ может содержать ссылки на другие документы. Документ, на который указывает ссылка, может находиться как на том же WWW-сервере, что и исходный документ, так и на любом другом компьютере в Internet. Областью документа, используемой в качестве ссылки, может служить слово, группа слов, графическое изображение или даже заданный фрагмент изображения. Большинство программ просмотра WWW могут также обращаться к ресурсам других информационных сервисов, таких как FTP и Gopher. В дополнение к этому программы просмотра WWW позволяют работать с файлами мультимедиа, содержащими видео и звук, посредством использования программ поддержки мультимедиа, инсталлированных на локальном компьютере.

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

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

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

Понятие стека протоколов

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

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

Принципы использования адресов в стеке протоколов

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

  • Адреса различного типа, должны быть согласованы. Например преобразование домена сайта в IP адрес сервера и обратно, или преобразование имени узла в адрес и обратно. Таки образом становится возможен доступ к точке не только с помощью IP адреса, но и по интуитивному названию.
  • Адреса должны быть уникальны. Это вызвано тем, что в некоторых частных случаях пакет должен попасть только в одну конкретную точку.
  • Необходимость конфигурирования локальных вычислительных сетей.

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

Именно поэтому для сетей TCP/IP был изобретен специальный подход, который и стал отличительной чертой стека протоколов. Было введено понятие - масштабируемость.

Уровни стека протоколов TCP/IP

Здесь существует определенная иерархия. Стек протоколов TCP/IP предусматривает четыре уровня, каждый из которых обрабатывает свой набор протоколов:

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

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

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

Данный уровень, предоставляет вышестоящему (прикладному) два типа сервиса:

  • Осуществляет гарантированную доставку, с помощью протокола ТСР.
  • Осуществляет доставку по возможности по протоколу UDP.

Чтобы обеспечить гарантированную доставку, согласно протоколу TCP устанавливается соединение, которое позволяет выставлять на пакетах нумерацию на выходе и подтверждать их прием на входе. Нумерация пакетов и подтверждение приема - это так называемая служебная информация. Этот протокол поддерживает передачу в режиме "Дуплекс". Кроме того, благодаря продуманному регламенту протокола, он считается очень надежным.

Протокол UDP предназначен для моментов, когда невозможно настроить передачу по протоколу TCP, либо приходится экономить на сегменте сетевой передачи данных. Также протокол UDP может взаимодействовать с протоколами более высокого уровня, для повышения надежности передачи пакетов.

Сетевой уровень или "уровень интернета": базовый уровень для всей модели TCP/IP. Основной функционал этого уровня идентичен одноименному уровню модели OSI и описывает перемещение пакетов в составной сети, состоящей из нескольких, более мелких подсетей. Он связывает соседние уровни протокола TCP/IP.

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

На этом уровне используются следующие сетевые протоколы TCP/IP: ICMP, IP, RIP, OSPF. Основным, и наиболее популярным на сетевом уровне, конечно же является протокол IP (Internet Protocol). Основной его задачей является передача пакетов от одного роутера к другому до тех пор, пока единица данных не попадет на сетевой интерфейс узла назначения. Протокол IP разворачивается не только на хостах, но и на сетевом оборудовании: маршрутизаторах и управляемых коммутаторах. Протокол IP работает по принципу негарантированной доставки с максимальными усилиями. Т. е., для отправки пакета нет необходимости заранее устанавливать соединение. Такой вариант приводит к экономии трафика и времени на движении лишних служебных пакетов. Пакет направляется в сторону назначения, и вполне возможно, что узел останется недоступным. В таком случае возвращается сообщение об ошибке.

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

  • Кодирование пакета в единицу данных промежуточной сети.
  • Преобразование информации о месте назначения в стандарты необходимой подсети и отправка единицы данных.

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

Единицы передаваемых данных

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

Чтобы иметь представление о том, что и в какой момент времени происходит с данными, нужно было придумать следующую терминологию:

  • Поток данных - данные, которые поступают на транспортный уровень от протоколов вышестоящего прикладного уровня.
  • Сегмент - фрагмент данных, на которые дробится поток по стандартам протокола TCP.
  • Датаграмма (особо безграмотные произносят как "Дейтаграмма") - единицы данных, которые получаются путем дробления потока с помощью протоколов, работающих без установления соединения (UDP).
  • Пакет - единица данных, производимая посредством протокола IP.
  • Протоколы TCP/IP упаковывают IP-пакеты в передаваемые по составным сетям блоки данных, которые называются кадрами или фреймами .

Типы адресов стека протоколов TCP/IP

Любой протокол передачи данных TCP/IP для идентификации узлов использует один из следующих типов адресов:

  • Локальные (аппаратные) адреса.
  • Сетевые адреса (IP адреса).
  • Доменные имена.

Локальные адреса (MAC-адреса) - используются в большинстве технологий локальных вычислительных сетей, для идентификации сетевых интерфейсов. Под словом локальный, говоря о TCP/IP, следует понимать интерфейс, который действует не в составной сети, а в пределах отдельно взятой подсети. Например, подсеть интерфейса, подключенного к интернет - будет локальной, а сеть интернет - составной. Локальная сеть может быть построена на любой технологии, и независимо от этого, с точки зрения составной сети машина, находящаяся в отдельно выделенной подсети, будет называться локальной. Таким образом, когда пакет попадает в локальную сеть, дальше его IP адрес ассоциируется с локальным адресом, и пакет направляется уже на MAC-адрес сетевого интерфейса.

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

В итоге была разработана система, при которой узлам назначается IP адрес и маска подсети. Маска подсети показывает, какое количество бит отводится под номер сети, а какое количество под номер узла. IP адрес состоит из 32 бит, разделенных на блоки по 8 бит.

При передаче пакета ему назначается информация о номере сети и номере узла, в который пакет должен быть направлен. Сначала маршрутизатор направляет пакет в нужную подсеть, а потом выбирается узел, который его ждет. Этот процесс осуществляется протоколом разрешения адресов (ARP).

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

Кроме сети интернет, есть возможность выдавать компьютерам доменные имена. Таким образом, упрощается процесс работы в локальной сети. Пропадает необходимость запоминать все IP-адреса. Вместо них можно придумать каждому компьютеру любое имя и использовать его.

IP-адрес. Формат. Составляющие. Маска подсети

IP адрес - 32-битное число, которое в традиционном представлении записывается в виде чисел, от 1 до 255, разделенных между собой точками.

Вид IP адреса в различных форматах записи:

  • Десятичный вид IP адреса: 192.168.0.10.
  • Двоичный вид того же IP адреса: 11000000.10101000.00000000.00001010.
  • Запись адреса в шестнадцатеричной системе счисления: C0.A8.00.0A.

Между ID сети и номером точки в записи нет разделительного знака, но компьютер способен их разделять. Для этого существует три способа:

  1. Фиксированная граница. При этом способе весь адрес условно делится на две части фиксированной длины побайтно. Таким образом, если под номер сети отдать один байт, тогда мы получим 2 8 сетей по 2 24 узлов. Если границу сдвинуть еще на байт вправо, тогда сетей станет больше - 2 16 , а узлов станет меньше - 2 16 . На сегодняшний день подход считается устаревшим и не используется.
  2. Маска подсети. Маска идет в паре с IP адресом. Маска имеет последовательность значений "1" в тех разрядах, которые отведены под номер сети, и определенное количество нулей в тех местах IP адреса, которые отведены на номер узла. Граница между единицами и нулями в маске - это граница между идентификатором сети и ID узла в IP-адресе.
  3. Метод классов адресов. Компромиссный метод. При его использовании размеры сетей не могут быть выбраны пользователем, однако есть пять классов - А, В, С, D, Е. Три класса - А, В и С - предназначены для различных сетей, а D и Е - зарезервированы для сетей специального назначения. В классовой системе каждый класс имеет свою границу номера сети и ID узла.

Классы IP адресов

К классу А относятся сети, в которых сеть идентифицируется по первому байту, а три оставшихся являются номером узла. Все IP адреса, которые имеют в своем диапазоне значение первого байта от 1 до 126 - это сети класса А. Количественно сетей класса А получается совсем мало, зато в каждой из них может быть до 2 24 точек.

Класс В - сети, в которых два высших бита равны 10. В них под номер сети и идентификатор точки отводится по 16 бит. В результате получается, что количество сетей класса В в большую сторону отличается от количества сетей класса А количественно, но они имеют меньшее количество узлов - до 65 536 (2 16) шт.

В сетях класса С - совсем мало узлов - 2 8 в каждой, но количество сетей огромно, благодаря тому, что идентификатор сети в таких структурах занимает целых три байта.

Сети класса D - уже относятся к особым сетям. Он начинается с последовательности 1110 и называется групповым адресом (Multicast adress). Интерфейсы, имеющие адреса класса А, В и С, могут входить в группу и получать вдобавок к индивидуальному еще и групповой адрес.

Адреса класса Е - в резерве на будущее. Такие адреса начинаются с последовательности 11110. Скорее всего, эти адреса будут применяться в качестве групповых, когда наступит нехватка IP адресов в глобальной сети.

Настройка протокола TCP/IP

Настройка протокола TCP/IP доступна на всех операционных системах. Это - Linux, CentOS, Mac OS X, Free BSD, Windows 7. Протокол TCP/IP требует только наличия сетевого адаптера. Разумеется, серверные операционные системы способны на большее. Очень широко, с помощью серверных служб, настраивается протокол TCP/IP. IP адреса в в обычных настольных компьютерах задаются в настройках сетевых подключений. Там настраивается сетевой адрес, шлюз - IP адрес точки, имеющий выход в глобальную сеть, и адреса точек, на которых располагается DNS сервер.

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

TCP/IP Протокол разрешения адресов

Единственный способ установить связь между MAC-адресом и IP адресом - ведение таблицы. При наличии таблицы маршрутизации каждый сетевой интерфейс осведомлен о своих адресах (локальном и сетевом), однако встает вопрос, как правильно организовать обмен пакетами между узлами, применяя протокол TCP/IP 4.

Для чего был придуман протокол разрешения адресов (ARP)? Для того, чтобы связывать семейство TCP/IP протоколов и других систем адресации. На каждом узле создается таблица соответствия ARP, которая заполняется путем опроса всей сети. Происходит это после каждого выключения компьютера.

ARP таблица

Так выглядит пример составленной ARP таблицы.

UNIX , что способствовало росту популярности протокола, так как производители включали TCP/IP в набор программного обеспечения каждого UNIX -компьютера. TCP/IP находит свое отображение в эталонной модели OSI , как это показано на рисунке 3.1 .

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

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


Рис. 3.1.

  • Сетевой интерфейс. Позволяет TCP/IP активно взаимодействовать со всеми современными сетевыми технологиями, основанными на модели OSI.
  • Межсетевой. Определяет, как IP управляет пересылкой сообщений через маршрутизаторы сетевого пространства, такого как интернет.
  • Транспортный. Определяет механизм обмена информацией между компьютерами.
  • Прикладной. Указывает сетевые приложения для выполнения заданий, такие как пересылка, электронная почта и прочие.

Благодаря своему широкому распространению протокол TCP/IP фактически стал интернет -стандартом. Компьютер , на котором реализована сетевая технология , основанная на модели OSI ( Ethernet или Token Ring ), имеет возможность устанавливать связь с другими устройствами. В "Основы организации сети" мы рассматривали уровни 1 и 2 при обсуждении LAN -технологий. Теперь мы перейдем к стеку OSI и посмотрим, каким образом компьютер устанавливает связь в интернете или в частной сети. В этом разделе рассматривается протокол TCP/IP и его конфигурации.

Что такое TCP/IP

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

TCP/IP удовлетворяет этому условию за счет своего межсетевого уровня. Этот уровень напрямую совпадает с сетевым уровнем эталонной модели OSI и основан на фиксированном формате сообщений, называемом IP-дейтаграммой. Дейтаграмма - это нечто вроде корзины, в которую помещена вся информация сообщения. Например, при загрузке веб-страницы в браузер то, что вы видите на экране, доставлено по частям дейтаграммой.

Легко перепутать дейтаграммы с пакетами. Дейтаграмма - это информационная единица, в то время как пакет - это физический объект сообщения (созданный на третьем и более высоких уровнях), который действительно пересылается в сети. Хотя некоторые считают эти термины взаимозаменяемыми, их различие на самом деле имеет значение в определенном контексте - не здесь, конечно. Важно понять то, что сообщение разбивается на фрагменты, передается по сети и собирается заново на принимающем устройстве.


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

TCP и UDР

При пересылке IP-сообщения по сети используется один из протоколов транспортировки: TCP или UDР. TCP (Transmission Control Protocol) составляет первую половину аббревиатуры TCP/IP. Протокол пользовательских дейтаграмм (User Datagram Protocol, UDР) используется вместо ТСР для транспортировки менее важных сообщений. Оба протокола служат для корректного обмена сообщениями в сетях TCP/IP. Между этими протоколами есть одно существенное различие.

ТСР называют надежным протоколом, так как он связывается с получателем для проверки факта получения сообщения.

UDР называют ненадежным протоколом, так как он даже не пытается устанавливать связь с получателем, чтобы убедиться в доставке.


Важно помнить, что для доставки сообщения можно воспользоваться только одним протоколом. Например, при загрузке веб-страницы доставкой пакетов управляет ТСР без всякого вмешательства UDP. С другой стороны, простой протокол передачи файлов (Trivial File Transfer Protocol, TFTP) загружает или отправляет сообщения под контролем протокола UDP.

Используемый способ транспортировки зависит от приложения - это может быть электронная почта, НТТР, приложение, отвечающее за сетевую работу, и так далее. Разработчики сетевых программ используют UDP везде, где только можно, так как этот протокол снижает избыточный трафик. Протокол ТСР прилагает больше усилий для гарантированной доставки и передает гораздо больше пакетов, чем UDP. На рисунке 3.2 представлен список сетевых приложений, и показано, в каких приложениях применяется ТСР, а в каких - UDP. Например, FTP и TFTP делают практически одно и то же. Однако TFTP, в основном, применяется для загрузки и копирования программ сетевых устройств. TFTP может использовать UDP, потому что при неудачной доставке сообщения ничего страшного не происходит, поскольку сообщение предназначалось не конечному пользователю, а администратору сети, уровень приоритета которого гораздо ниже. Другим примером является сеанс голосовой видеосвязи, в котором могут быть задействованы порты как для ТСР-сессий, так и для UDP. Так, сеанс TCP инициируется для обмена данными при установке телефонной связи, в то время как сам телефонный разговор передается посредством UDP. Это связано со скоростью потоковой передачи голоса и видео. В случае потери пакета не имеет смысла повторно посылать его, так как он уже не будет соответствовать потоку данных.


Рис. 3.2.
Формат IP-дейтаграммы

IP-пакеты можно разбивать на дейтаграммы. Формат дейтаграммы создает поля для полезной нагрузки и для данных управления передачей сообщения. На рисунке 3.3 показана схема дейтаграммы.

Примечание. Пусть вас не вводит в заблуждение величина поля данных в дейтаграмме. Дейтаграмма не перегружена дополнительными данными. Поле данных является на самом деле самым большим полем дейтаграммы.


Рис. 3.3.

Важно помнить, что IP-пакеты могут иметь различную длину. В "Основы организации сети" говорилось о том, что информационные пакеты в сети Ethernet имеют размер от 64 до 1400 байт. В сети Token Ring их длина составляет 4000 байт, в сети ATM - 53 байта.

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

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

  • VER . Версия протокола IP, используемого станцией, где появилось исходное сообщение. Текущей версией IP является версия 4. Это поле обеспечивает одновременное существование различных версий в межсетевом пространстве.
  • HLEN. Поле информирует получающее устройство о длине заголовка, чтобы центральный процессор знал, где начинается поле данных.
  • Service type (Тип сервиса). Код, сообщающий маршрутизатору о типе управления пакетом с точки зрения уровня сервиса (надежность, первоочередность, отсрочка и т. д.).
  • Length (Длина). Общее количество байт в пакете, включая поля заголовка и поле данных.
  • ID, frags и frags offset. Эти поля указывают маршрутизатору, как следует проводить фрагментацию и сборку пакета и как компенсировать различия в размере кадров, которые могут возникать во время прохождения пакета по сегментам локальной сети с различными сетевыми технологиями (Ethernet, FDDI и т.д.).
  • TTL. Аббревиатура для Time to Live (Время жизни) - число, которое уменьшается на единицу при каждой последующей пересылке пакета. Если время жизни становится равным нулю, то пакет прекращает существование. TTL предотвращает возникновение циклов и бесконечное блуждание потерянных пакетов в межсетевом пространстве.
  • Protocol. Протокол транспортировки, который следует использовать для передачи пакета. Чаще всего в этом поле указывается протокол TCP, но могут быть использованы и другие протоколы.
  • Header checksum . Контрольная сумма - это число, которое используется для проверки целостности сообщения. Если контрольные суммы всех пакетов сообщения не совпадают с правильным значением, то это означает, что сообщение было искажено.
  • Source IP address (Адрес отправителя). 32-битный адрес хоста, отправившего сообщение (обычно персональный компьютер или сервер).
  • Destination IP address (Адрес получателя). 32-битный адрес хоста, которому отправлено сообщение (обычно персональный компьютер или сервер).
  • IP options. Используются для тестирования сети или других специальных целей.
  • Padding. Заполняет все неиспользованные (пустые) позиции битов, чтобы процессор мог правильно определить позицию первого бита в поле данных.
  • Data. Полезная нагрузка отправленного сообщения. Например, в поле данных пакета может содержаться текст электронного письма.

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

13.10.06 5.6K

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

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

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

Основы TCP/IP

TCP/IP — это аббревиатура термина Transmission Control Protocol/Internet Protocol (Протокол управления передачей/Протокол Internet). В терминологии вычислительных сетей протокол — это заранее согласованный стандарт, который позволяет двум компьютерам обмениваться данными. Фактически TCP/IP не один протокол, а несколько. Именно поэтому вы часто слышите, как его называют набором, или комплектом протоколов, среди которых TCP и IP — два основных.

Программное обеспечение для TCP/IP, на вашем компьютере, представляет собой специфичную для данной платформы реализацию TCP, IP и других членов семейства TCP/IP. Обычно в нем также имеются такие высокоуровневые прикладные программы, как FTP (File Transfer Protocol, Протокол передачи файлов), которые дают возможность через командную строку управлять обменом файлами по Сети.

TCP/IP — зародился в результате исследований, профинансированных Управлением перспективных научно-исследовательских разработок (Advanced Research Project Agency, ARPA) правительства США в 1970-х годах. Этот протокол был разработан с тем, чтобы вычислительные сети исследовательских центров во всем мире могли быть объединены в форме виртуальной "сети сетей" (internetwork). Первоначальная Internet была создана в результате преобразования существующего конгломерата вычислительных сетей, носивших название ARPAnet, с помощью TCP/IP.

Причина, по которой TCP/IP столь важен сегодня, заключается в том, что он позволяет самостоятельным сетям подключаться к Internet или объединяться для создания частных интрасетей. Вычислительные сети, составляющие интрасеть, физически подключаются через устройства, называемые маршрутизаторами или IP-маршрутизаторами. Маршрутизатор — это компьютер, который передает пакеты данных из одной сети в другую. В интрасети, работающей на основе TCP/IP, информация передается в виде дискретных блоков, называемых IP-пакетами (IP packets) или IP-дейтаграммами (IP datagrams). Благодаря программному обеспечению TCP/IP все компьютеры, подключенные к вычислительной сети, становятся "близкими родственниками". По существу оно скрывает маршрутизаторы и базовую архитектуру сетей и делает так, что все это выглядит как одна большая сеть. Точно так же, как подключения к сети Ethernet распознаются по 48-разрядным идентификаторам Ethernet, подключения к интрасети идентифицируются 32-разрядными IP-адресами, которые мы выражаем в форме десятичных чисел, разделенных точками (например, 128.10.2.3). Взяв IP-адрес удаленного компьютера, компьютер в интрасети или в Internet может отправить данные на него, как будто они составляют часть одной и той же физической сети.

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

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

Другой важный член комплекта TCP/IP — User Datagram Protocol (UDP, протокол пользовательских дейтаграмм), который похож на TCP, но более примитивен. TCP — "надежный" протокол, потому что он обеспечивает проверку на наличие ошибок и обмен подтверждающими сообщениями чтобы данные достигали своего места назначения заведомо без искажений. UDP — "ненадежный" протокол, ибо не гарантирует, что дейтаграммы будут приходить в том порядке, в котором были посланы, и даже того, что они придут вообще. Если надежность — желательное условие, для его реализации потребуется программное обеспечение. Но UDP по-прежнему занимает свое место в мире TCP/IP, и испльзуется во многих программах. Прикладная программа SNMP (Simple Network Management Protocol, простой протокол управления сетями), реализуемый во многих воплощениях TCP/IP, — это один из примеров программ UDP.

Другие TCP/IP протоколы играют менее заметные, но в равной степени важные роли в работе сетей TCP/IP. Например, протокол определения адресов (Address Resolution Protocol, ARP) ппреобразует IP-адреса в физические сетевые адреса, такие, как идентификаторы Ethernet. Родственный протокол — протокол обратного преобразования адресов (Reverse Address Resolution Protocol, RARP) — выполняет обеспечивает обратное действие, преобразуя физические сетевые адреса в IP-адреса. Протокол управления сообщениями Internet (Internet Control Message Protocol, ICMP) представляет собой протокол сопровождения, который использует IP для обмена управляющей информацией и контроля над ошибками, относящимися к передаче пакетов IP. Например, если маршрутизатор не может передать IP-дейтаграмму, он использует ICMP, с тем чтобы информировать отправителя, что возникла проблема. Краткое описание некоторых других протоколов, которые "прячутся под зонтиком" TCP/IP, приведено во врезке.

Краткое описание протоколов семейства TCP/IP с расшифровкой аббревиатур
ARP (Address Resolution Protocol, протокол определения адресов): конвертирует 32-разрядные IP-адреса в физические адреса вычислительной сети, например, в 48-разрядные адреса Ethernet.

FTP (File Transfer Protocol, протокол передачи файлов): позволяет передавать файлы с одного компьютера на другой с использованием TCP-соединений. В родственном ему, но менее распространенном протоколе передачи файлов — Trivial File Transfer Protocol (TFTP) — для пересылки файлов применяется UDP, а не TCP.

ICMP (Internet Control Message Protocol, протокол управляющих сообщений Internet): позволяет IP-маршрутизаторам посылать сообщения об ошибках и управляющую информацию другим IP-маршрутизаторам и главным компьютерам сети. ICMP-сообщения "путешествуют" в виде полей данных IP-дейтаграмм и обязательно должны реализовываться во всех вариантах IP.

IGMP (Internet Group Management Protocol, протокол управления группами Internet): позволяет IP-дейтаграммам распространяться в циркулярном режиме (multicast) среди компьютеров, которые принадлежат к соответствующим группам.

IP (Internet Protocol, протокол Internet): низкоуровневый протокол, который направляет пакеты данных по отдельным сетям, связанным вместе с помощью маршрутизаторов для формирования Internet или интрасети. Данные "путешествуют" в форме пакетов, называемых IP-дейтаграммами.

RARP (Reverse Address Resolution Protocol, протокол обратного преобразования адресов): преобразует физические сетевые адреса в IP-адреса.

SMTP (Simple Mail Transfer Protocol, простой протокол обмена электронной почтой): определяет формат сообщений, которые SMTP-клиент, работающий на одном компьютере, может использовать для пересылки электронной почты на SMTP-сервер, запущенный на другом компьютере.

TCP (Transmission Control Protocol, протокол управления передачей): протокол ориентирован на работу с подключениями и передает данные в виде потоков байтов. Данные пересылаются пакетами — TCP-сегментами, — которые состоят из заголовков TCP и данных. TCP — "надежный" протокол, потому что в нем используются контрольные суммы для проверки целостности данных и отправка подтверждений, чтобы гарантировать, что переданные данные приняты без искажений.

UDP (User Datagram Protocol, протокол пользовательских дейтаграмм): протокол, не зависящий от подключений, который передает данные пакетами, называемыми UDP-дейтаграммами. UDP — "ненадежный" протокол, поскольку отправитель не получает информацию, показывающую, была ли в действительности принята дейтаграмма.

Архитектура TCP/IP

Проектировщики вычислительных сетей часто используют семиуровневую модель ISO/OSI (International Standards Organization/Open Systems Interconnect, Международная организация по стандартизации/ Взаимодействие открытых систем), которая описывает архитектуру сетей. Каждый уровень в этой модели соответствует одному уровню функциональных возможностей сети. В самом основании располагается физический уровень, представляющий физическую среду, по которой "путешествуют" данные, — другими словами, кабельную систему вычислительной сети. Над ним имеется канальный уровень, или уровень звена данных, функционирование которого обеспечивается сетевыми интерфейсными платами. На самом верху размещается уровень прикладных программ, где работают программы, использующие служебные функции сетей.

На рисунке показано, как TCP/IP согласуется с моделью ISO/OSI. Этот рисунок также иллюстрирует уровневое строение TCP/IP и показывает взаимосвязи между основными протоколами. При переносе блока данных из сетевой прикладной программы в плату сетевого адаптера он последовательно проходит через ряд модулей TCP/IP. При этом на каждом шаге он доукомплектовывается информацией, необходимой для эквивалентного модуля TCP/IP на другом конце цепочки. К тому моменту, когда данные попадают в сетевую плату, они представляют собой стандартный кадр Ethernet, если предположить, что сеть основана именно на этом интерфейсе. Программное обеспечение TCP/IP на приемном конце воссоздает исходные данные для принимающей программы путем захвата кадра Ethernet и прохождения его в обратном порядке по набору модулей TCP/IP. (Один из наилучших способов разобраться во внутреннем устройстве TCP/IP стоит в использовании программы-"шпиона", чтобы найти внутри кадров, "пролетающих" по сети, информацию, добавленную различными модулями TCP/IP.)

Уровни сетей и протоколы TCP/IP

ISO/OSI TCP/IP _____________________________ __________________________ | Уровень прикладных программ | | | |_____________________________| | _________ _________ | _____________________________ | |Сетевая | |Сетевая | | Уровень | Уровень представления | | |программа| |программа| | прикладных |_____________________________| | |_________| |_________| | программ _____________________________ | | | Уровень сеанса | | | |_____________________________| |__________________________| | | _____________________________ _____|_____________|______ | Транспортный уровень | | TCP UDP | Транспортный |_____________________________| |_____|_____________|______| уровень | | _____________________________ _____|_____________|______ | Сетевой уровень | | | | | Сетевой |_____________________________| | ----> IP <--- | уровень |__________________________| _________ _____________________________ _______| Сетевая |________ | Уровень звена данных | | ARP<->| плата |<->RARP | Уровень |_____________________________| |_______|_________|________| звена | данных _____________________________ | | Физический уровень | _____________|______________ Физический |_____________________________| Кабельные соединения сети уровень

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

Для иллюстрации роли, которую TCP/IP играет в вычислительных сетях в реальном мире, рассмотрим, что происходит, когда Web-браузер использует HTTP (HyperText Transfer Protocol, протокол передачи гипертекста) для извлечения страницы HTML-данных из Web-сервера, подключенного к Internet. Для формирования виртуального подключения к серверу браузер использует абстракцию программного обеспечения высокого уровня, называемую гнездом (socket). А чтобы извлечь страницу Web, он посылает на сервер команду GET HTTP, записывая ее в гнездо. Программное обеспечение гнезда, в свою очередь, применяет TCP для пересылки битов и байтов, составляющих команду GET на Web-сервер. TCP сегментирует данные и передает отдельные сегменты модулю IP, который пересылает сегменты в дейтаграммах на Web-сервер.

Если браузер и сервер работают на компьютерах, подключенных к различным физическим сетям (как это обычно бывает), дейтаграммы передаются от сети к сети до тех пор, пока не достигнут той, к которой физически подключен сервер. В конце концов дейтаграммы достигают пункта своего назначения и вновь собираются таким образом, чтобы Web-сервер, который считывает цепочки данных из своего гнезда, получал непрерывный поток данных. Для браузера и сервера данные, записанные в гнездо на одном конце, как по волшебству, "всплывают" на другом конце. Но между этими событиями происходят все виды сложных взаимодействий для создания иллюзии непрерывной передачи данных между вычислительными сетями.

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

Краткое заключение

О TCP/IP можно было бы рассказать много больше, но есть три ключевых момента:

* TCP/IP — это набор протоколов, которые позволяют физическим сетям объединяться вместе для образования Internet. TCP/IP соединяет индивидуальные сети для образования виртуальной вычислительной сети, в которой отдельные главные компьютеры идентифицируются не физическими адресами сетей, а IP-адресами.
* В TCP/IP используется многоуровневая архитектура, которая четко описывает, за что отвечает каждый протокол. TCP и UDP обеспечивают высокоуровневые служебные функции передачи данных для сетевых программ, и оба опираются на IP при передаче пакетов данных. IP отвечает за маршрутизацию пакетов до их пункта назначения.
* Данные, перемещающиеся между двумя прикладными программами, работающими на главных компьютерах Internet, "путешествуют" вверх и вниз по стекам TCP/IP на этих компьютерах. Информация, добавленная модулями TCP/IP на стороне отправителя, "разрезается" соответствующими TCP/IP-модулями на принимающем конце и используется для воссоздания исходных данных.

Хорошо Плохо