Сетевой протокол tcp ip. Что такое протокол TCP-IP

02.08.2019

Взаимодействие между компьютерами в интернете осуществляется посредством сетевых протоколов, представляющих собой согласованный набор определенных правил, в соответствии с которыми разные устройства передачи данных обмениваются информацией. Существуют протоколы для форматов для контроля ошибок и другие виды протоколов. В глобальном межсетевом взаимодействии чаще всего используется протокол 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 основана на использовании семейства коммуникационных протоколов ТСР/IР,что расшифровывается как Transmission Control Protocol/Intemet Protocol (Протокол правления передачей Данных/Протокол Internet). TCP/IP используется для передачи данных как в глобальной сети Internet, так и во многих локальных сетях.
Разумеется, для работы с Internet в качестве пользователя не требуется никаких специальных знаний о протоколах TCP/IP, но понимание основных принципов поможет вам в решении возможных проблем общего характера, возникающих, в частности, при настройке системы электронной почты.
TCP/IP также тесно связан с двумя другими базовыми приложениями Internet: FTP и Telnet. Наконец, знание ряда основополагающих концепций Internet поможет вам в полной мере оценить степень сложности этой системы, подобно тому как представление о работе двигателя внутреннего сгорания помогает проникнуться уважением к устройству автомобиля.
TCP/IP - достаточно сложная и обширная тема, которой посвящено множество справочников и объемных статей. В этом разделе рассматриваются лишь базовые концепции, а технические подробности не описываются.

Что такое 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. Это наиболее широко используемые во всем мире сетевые протоколы, применяемые как в крупных корпоративных сетях, так и в локальных сетях с небольшим числом компьютеров.
Как только что говорилось, TCP/IP - не один протокол, а их семейство. Почему иногда употребляют термин TCP/IP, хотя имеется в виду сервис, отличный от 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 (Revere Address Resolution Protocol). Определяет адреса машин в сети, но способом, обратным ARP.
Прикладные сервисы - это программы, которые пользователь (или компьютер) использует для получения доступа к различным услугам.
  • ВООТР (Boot Protocol) загружает сетевую машину, читая информацию для начальной загрузки с сервера.
  • FTP (File Transfer Protocol) передает файлы между компьютерами.
  • TELNET обеспечивает уличенный терминальный доступ к системе, т. с. пользователь одного компьютера может соединяться с другим компьютером и чувствоиать себя так, как будто он работает за клавиатурой удаленной машины.
Шлюзовые протоколы помогают передавать по сети сообщения о маршрутизации и информацию о состоянии сети, а также обрабатывать данные для локальных сетей.
  • EGP (Exterior Gateway Protocol) служит для передачи маршрутизационной информации для внешних сетей.
  • GGP (Gateway-to-Gateway Protocol) служит win передачи маршрутизационной информации между шлюзами.
  • IGP (Interior Gateway Protocol) служит для передам маршрутизационной информации для внутренних сетей.
Другие протоколы не относятся к категориям, упомянутым выше, но играют важную роль в сети.
  • NFS (Network File System) позволяет использовать каталоги и файлы удаленного компьютера так, как если бы они существовали на локальной машине.
  • NIS (Network Information Service) поддерживает в сети информацию о пользователях нескольких компьютеров, упрощая вход в систему и проверку паролей .
  • RPC (Remote Procedure Call) позволяет удаленным прикладным программам связываться друг с другом простым и эффективным способом.
  • SMTP (Simple Mail Transfer Protocol) - это протокол, который передает сообщения электронной почты между машинами.
  • SNMP (Simple Network Management Protocol) - протокол для администрирования, который посылает сообщения о состоянии сети и подключенных к ней устройств.
Все эти виды сервиса в совокупности составляют TCP/IP - мощное и эффективное семейство сетевых протоколов.
Мы не будем рассматривать все эти протоколы подробно, потому что технические подробности несущественны для конечного пользователя. Вместо этого мы кратко остановимся на некоторых важных аспектах протоколов TCP/IP. Если вы хотите больше узнать о TCP/IP, то обратитесь к специально посвященным этой теме книгам.

Краткая история TCP/IP и Internet

Internet, как уже говорилось ранее, не является единой сетью, а представляет собой совокупность многих сетей, поддерживающих связь путем использования общих протоколов. TCP/IP и Internet так тесно связаны, что архитектура TCP/IP-сетеИ часто называется Internet-apхитектурой. Internet появился на базе первой сети ARPANET (the Advanced Research Projects Agency"s network), которая была разработана, чтобы предоставить исследователям, работающим над военными проектами, возможность быстро общаться друг с другом. На начальном этапе сеть была разработана фирмой Bolt, Beranek и Newinan (BBN) - компанией, которая оказала сильное влияние на пути развития этой сети.
ARPANET начала функционировать в 1971 г. С самого начала сеть постоянно модернизировалась в соответствии с требованиями пользователей, предоставляя им все большее количество функциональных возможностей. Одним из важных требований была возможность передачи (файлов между компьютерами, что в конечном счете привело к разработке щютокола передачи файлов (FTP).
Другой важной потребностью была поддержка удаленного терминального доступа в систему, который позволил бы пользователю одной системы соединиться с другой машиной в сети и работать на ней, как на своей собственной. Для этого были созданы Telnet и login - две утилиты, реализующие удаленный терминальный доступ к системе.
С увеличением количества пользователей и ростом интенсивности использования сети уже подключенными пользователями существенно увеличился сетевой трафик. Вследствие этого стало очевидным, что не только сеть должна расширяться, но должен быть разработан улучшенный протокол связи. Протоколы TCP/IP были предложены в 1973 г. и приняты в стандартизованной версии в 1982 г. Одна из исследовательских лабораторий, работающих над программным обеспечением для сетей, находилась в Калифорнийском Университете в Беркли (University of California at Berkeley - UCB). Этот университет многие годы был центром разработки операционной системы UNIX и внес большой вклад в усовершенствование TCP/IP. В 1983 г. UCB выпустил версию системы UNIX, которая включала в себя TCP/IP как неотъемлемую часть операционной системы. TCP/IP стал очень популярным благодаря широкому использованию UNIX, особенно в сетях, соединенных с растущим ARPANET.
Когда TCP/IP стал достаточно развит, были поданы предложения в National Science Foundation, которые привели к открытию финансирования проекта создания Computer Science Network (Научной компьютерной сети) в качестве замены перегруженной ARPANET. В 1984 г. это привело к разделению сети на две. Одна сеть, названная MILNET, была выделена для военного ведомства. Другая часть ARPANET была отдана для проведения исследований и для иных невоенных применений.
Сеть ARPANET была преобразована, когда был утвержден проект создания сети для широкомасштабного доступа к суперкомпьютерам, реализация которого была поручена Office of Advanced Scientific Computing (OASC, Центр перспективных научных вычислений). OASC создал другую сеть - NSFNET, которая с использованием высокоскоростных телефонных каналов соединила шесть суперкомпьютеров, находящихся в разных частях страны. Другие сети присоединились к этой сети для совместного использования доступа к суперкомпьютерам и высокоскоростных каналов связи. NFSNET стал основной магистральной структурой (backbone) сети Internet. В 1990 г. Министерство обороны, которое создало сеть ARPANET, официально объявило об ее упразднении как выполнившей свои задачи и ныне устаревшей.

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

Каждая машина, которая подключена к 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-адреса для идентификации класса.
Адрес сети класса А имеет только 7 бит для сетевого адреса и 24 бита для адреса хоста. Это позволяет идентифицировать более 16 миллионов различных хостов в одной подсети - более чем достаточно для самой большой организации. Конечно, может существовать только 128 (2 в седьмой степени) сетей класса А.
Адрес сети класса В имеет 14 бит для сетевого адреса и 16 бит для адреса хоста, что позволяет выделить большее количество сетей класса В, но с меньшим количеством хостов. Тем не менее 16 бит позволяют идентифицировать более 65000 хостов. И, наконец, IP-сети класса С могут иметь максимум 254 хоста, но таких сетей может быть очень много. Большинство сетей относятся к классам В или С, хотя решающее слово относительно назначения класса сети оставлено за Internet Network Information Center (InterNIC).
Тип класса, к которому относится сеть компании, можно узнать по первому числу IP-адреса. Существуют следующие правила для первого 8-битного числа:

  • Адреса класса А - числа между 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 (Доменная система имен).

Шлюзовые протоколы

Для быстрого и эффективного перенаправления датаграмм шлюзы должны знать, что происходит в сети. Помимо информации о маршрутизации сообщений, им необходима информация о параметрах подсетей, подключенных к более крупной сети, для корректировки маршрутов в случае сбоев в некоторых частях сети.
Существуют шлюзы двух типов: внутренние и внешние. Шлюзы, которые расположены в небольшой подсети, могут обеспечивать связь с более крупной корпоративной сетью. Такие шлюзы называются автономными или самодостаточными, потому что соединения между этими шлюзами являются постоянными и редко изменяются. Эти шлюзы поддерживают связь между собой с помощью внутреннего шлюзового протокола - IGP (Internal Gateway Protocol).
Большие сети, подобные Internet, не являются статическими по своей структуре. Настройки шлюзов постоянно меняются, поскольку происходят изменения в многочисленных мелких подсетях. Связь между такими шлюзами осуществляется через внешний шлюзовый протокол - EGP (Extenor Gateway Protocol).
Существует еще один шлюзовый протокол, о котором вы, может быть, слышали, называемый Gateway-to-Gateway Protocol, или GGP. Он используется между специальными шлюзами в магистральных каналах Internet. Такие шлюзы относятся ко всему Internet в целом и обес- печивают передачу трафика в скоростной магистральной части сети.

TCP и UDP

Как уже говорилось в начале этой главы при рассмотрении уровней протоколов, транспортый уровень архитектуры TCP/IP обеспечивает сервис доставки сообщений. В семейство TCP/IP входят два различных протокола, реализующие этот сервис: Transmission Control Protocol (TCP) и User Datagram ProtocolUser Datagram Protocol (UDP). Оба нашли широкое применение.
Различие между ними заключается в способе установления соединения между двумя компь- ютерами. TCP устанавливает непосредственное логическое соединение, т. е. компьютеры как бы соединяются напрямую и каждый из них знает о состоянии другого. UDP не пытается устанавливать такое соединение. Этот протокол просто добавляет к сформированному сообщению IP-адрес и отправляет его в сеть.
Очевидно, что TCP - более надежный метод связи, поскольку происходит подтверждение каждого принятого сообщения. С использованием UDP нет никакой гарантии, что сообщение будет действительно получено. Для подтверждения приема сообщения UDP использует схему, при которой машина адресата должна послать подтверждение о принятом сообщении, и если в течение некоторого промежутка времени такое подтверждение не будет получено отправителем, то передача сообщения повторяется.
Можно подумать, что все захотят использовать TCP для передачи сообщения, но на самом деле большинство полагается на UDP. Представьте, сколько соединений неоходимо установить со всеми машинами в сети - это гигантская цифра, и каждую секунду появляются новые и исчезают старые соединения. Использование UDP чрезвычайно упрощает сетевой трафик.
Каждый вид сервиса TCP/IP разработан так, что допускает использование или UDP, или TCP. Например, Telnet и FTP используют TCP, так как соединение должно постоянно существовать между двумя компьютерами. Другой способ передачи файлов - протокол, называемый Trivial FTP (TFTP, тривиальный FTP) использует UDP (см. "Тривиальный FTP" далее в этой главе).
Оба протокола (TCP и UDP) добавляют заголовок в начало сообщения, которое транспортный уровень получает от более высоких уровней. Содержание и структура заголовка TCP отличны от UDP, но оба содержат одну и ту же базовую информацию о том, кто послал пакет и кому, специальную информацию о типе сообщения и статистические данные.
И в заключение несколько слов о связанном с TCP/IP термином "датаграмма". Датагралма - это скомпонованное сообщение, переданное через все уровни в сеть. Когда говорят о TCP/IP, то правильнее использовать именно термин "датаграмма" вместо термина "сообщение".

TCP-порты и сокеты

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

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

Протокол IP

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

  • Segmentation (сегментация) - процесс разбиения датаграммы на несколько меньших датаграмм.
  • Reassembly (компоновка) - процесс объединения маленьких датаграмм в первоначальную большую датаграмму.
  • Separation (разделение) - обратный конкатенации процесс разбиения целой датаграммы на несколько небольших сообщений для различных прикладных программ.
Все эти процессы IP выполняет незаметно для вас. Реализованы специальные алгоритмы проверки того, что сообщение восстановлено правильно и в первоначальном виде, и что все части большого сообщения получены правильно. Это обеспечивает информация в заголовке IP и ряд специальных счетчиков, которые IP использует, чтобы дождаться всех частей сообщения. Одна из проблем, связанных с такой разбивкой сообщений, состоит в том, что фрагментированное сообщение имеет меньшую вероятность доставки, чем нефрагментированное сообщение. Большинство прикладных программ стараются избегать фрагментации везде, где это возможно.

Протокол IСМР

В сети могут происходить сбои, связанные с неправильной маршрутизацией, потерей или повреждением датаграмм. При этом уведомление отправителя о возникших проблемах нe менее важно, чем обработка ошибочных ситуаций в самой сети. Для выполнения этой задачи был создан Internet Control Message Protocol (IСМР, Протокол управляющих сообщений Internet).
IСМР является системой уведомления об ошибках, встроенной в Internet Protocol. Сообщения IСМР могут рассматриваться как специальные IP-сообщения. Другими словами, IСМР является коммуникационной системой уровня IP. Заголовок ICMP-сообщений такой же, как и у обычных IP-пакетов, и их обработка в сети полностью совпадает с обработкой датаграмм. В большинстве случаев сообщения об ошибках, посылаемые IСМР, направляются обратно отправителю, IP-адрес которого находится в заголовке.
Сообщение IСМР содержит информацию о возникшей проблеме, а также фрагмент исходного сообщения. Этот фрагмент служит для идентификации ошибочного сообщения, а также содержит некоторую информацию для диагностики.

Приложения TCP/IP

Теперь, когда вы знаете, как TCP, UDP и IP обеспечивают упаковку и передачу сообщений, мы можем познакомиться с протоколами семейства TCP/IP, которые непосредственно используются в прикладных программах. Одними из наиболее часто используемых протоколов являются Telnet и FTP. К числу основных прикладных протоколов относится также протокол Simple Mail Transfer Protocol (SMTP), применяемый для передачи сообщений электронной почты. И, наконец, существует набор утилит, называемых г-утилитами Беркли (Berkeley r-utilities) по имени университета, в котором они были разработаны.

Telnet

Протокол Telnet (от слов telecommurncation network - телекоммуникационная сеть) обеспечивает возможность входа в удаленную систему. Он позволяет пользователю одного компьютера зарегистрироваться на удаленном компьютере, расположенном в другой части сети. При этом пользователю кажется, что он работает за терминалом удаленного компьютера. Telnet может оказаться полезным, если вы, работая на медленном компьютере, хотите воспользоваться вычислительными ресурсами более мощной машины, а также если на удаленном компьютере имеется необходимое вам программное обеспечение.
До того, как был разработан Telnet, единственным способом доступа к ресурсам другого компьютера являлось непосредственное подключение через модем или через выделенные порты сети, которое наряду с простотой имело и ряд существенных ограничений.
Работу Telnet обеспечивает специальная программа (сервер), запущенная на компьютере, к которому вы подключаетесь, и обрабатывающая поступающие запросы. На вашем компьютере выполняется программа Telnet (Telnet-KAiiCHT), которая обращается к серверу. В процессе установления соединения компьютеры догопариваются о режиме эмуляции терминала в данном сеансе работы. По-сушеству, одна машина запрашивает у другой, какие (функции она поддерживает.
Для начала сеанса работы Telnet необходимо ввести доменное имя или IP-адрес удаленного компьютера. Применение доменного имени возмож"но только в том случае, когда система может преобразовать это имя в числовой IP-адрес, используя сервис DMS. После установления соединения уд:итснная система обычно запрашивает имя пользователя и пароль , хотя это зависит от типа операционной системы и программного обеспечения Telnet, установленных на удушенном компьютере.
Команды Telnet различаются в зависимости от используемого Tclnet-клиента, особенно при работе с графическим интерфейсом типа Windows. В большинстве случаев Tclnet-клиент создаст окно, работа в котором происходит в режиме командной строки.
После установления соединения ваш компьютер играет роль терминала удаленной машины. Все вводимые вами команды выполняются на удаленном компьютере. Для завершения сеанса работы следует ввести соответствующую команду (для UNIX-систем - обычно logout или +.
Находясь в режиме ввода команд для удаленной системы, вы можете персити в командный режим Telnet, используя, как правило, комбинацию клавиш +. В этом режиме вы управляете работой Tclnet-клиента, а не удаленного компьютера.

FTP

В отличие от Telnet, протокол FTP (File Transfer Protocol) предназначен не для работы на удаленном компьютере, а для передачи файлов между подключенными к сети компьютерами. Так же как и Telnet, сервис FTP основан на совместном использовании двух программ - программы-ссрвер, которая выполняется постоянно в фоновом режиме, и программы-клиент, которую вы должны запустить на своем компьютере, чтобы начать сеанс работы по протоколу FTP. Протокол FTP позволяет передавать фаилы как в текстовом, так п и двоичном формате.
Для установления FTP-соединения требуется ввести доменное имя или числовой IP-адрес компьютера, на котором работает программа-сервер.
После установления соединения с удаленным компьютером, как правило, требуется зарегистрироваться на нем. (Некоторые FTP-серверы поддерживают так называемый анонимный доступ, позволяющий всем пользователям свободно копировать хранящиеся там файлы.) Зарегистрировавшись на удаленном компьютере, вы тем не менее продолжаете работать на своем компьютере, отправляя на удаленную машину только команды для просмотра каталогов и передачи файлов. В этом заключается существенное отличие FTP от Telnet, поскольку используя Telnet, вы по-существу работаете на удаленном компьютере.
Большинство FTP-клиентов предназначены для работы в режиме командной строки. Однако FTP-клиенты для Windows предоставляют пользователю графический интерфейс, позволяющий обойтись без ввода команд в режиме командной строки. Все действия выполняются с помощью мента, диалоговых окон и графических кнопок. Поэтому соединение с удаленным компьютером, просмотр каталогов и передача файлов требуют лишь выбора соответствующих пунктов меню и кнопок.
В общем случае работа с FTP-сервером требует ввода идентификатора пользователя и пароля , но многие системы предоставляют возможность свободного копирования находящихся на них файлов всеми пользователями Internet. Такой сервис называют анонимным FTP. Для работы с анонимным FTP не требуется быть зарегистрированным пользователем системы, а достаточно ввести в качестве имени пользователя (login name) "anonymous". При этом пароль либо вообще не вводится, либо в качестве пароля можно ввести слово "guest" (гость), или ваше настоящее имя, или ваш адрес электронной почты.

Тривиальный FTP

Trivial File Transfer Protocol (TFTP, Тривиальный протокол передачи файлов) - это один из простейших протоколов, используемых для передаём файлов. Он отличается от FTP тем, что для передачи файлов не требуется регистрации на удаленном компьютере. Пользователь просто вводит запрос на передачу файла, указывая имя удаленного компьютера. При этом TFTP формирует UDP-сообщения, которые отправляются на удаленную машину и с помощью которых происходит передача файла. По окончанию передачи некоторые версии TFTP отправ- ляют соответствующее уведомление пользователю. Заметим, что многие версии программного обеспечения TCP/IP для Windows не предусматривают поддержку TFTP.

SMTP

Simple Mail Transfer Protocol (SMTP, Простой протокол передачи почты) поддерживает работу электронной почты в Internet и в других сетях. Поскольку способы передачи сообщении электронной почты различаются в разных операционных системах, во многих локальных сетях протокол SMTP не применяется, но он используется для передачи почты в Internet.
Internet (а также большая часть крупных корпоративных сетей) построен на основе UNIX-систем, в которых SMTP принят в качестве стандартного протокола передачи почты. В UNIX-системах SMTP поддерживается с помощью программы, называемой sendmail. Пользователи не взаимодействуют непосредственно с sendmail, а используют различные прикладные программы работы с электронной почтой. Эти программы, в свою очередь, обмениваются сообщениями с sendmail.
Пакеты для работы с электронной почтой в среде Windows базируются на использовании различных протоколов, в том числе и SMTP. Многие развитые почтовые системы имеют встроенную поддержку SMTP, позволяющую обмениваться сообщениями с глобальными ТСР/IР-сетями.

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

Мало кто знает, что простой процесс посещения веб-страничек подразумевает незаметную для пользователя, сложную систему действий. Каждый переход по ссылке активирует сотни различных вычислительных операций в сердце компьютера. В их числе передачи запросов, прием ответов и многое другое. За каждое действие в сети отвечают так называемые протоколы 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 таблицы.

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


    Вторая часть этой статьи, где рассматривается практическое применение изложенных здесь основ:

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

    Задача - передать информацию от пункта А в пункт В. Её можно передавать непрерывно. Но задача усложняется, если надо передавать информацию между пунктами A<-->B и A<-->C по одному и тому же физическому каналу. Если информация будет передаваться непрерывно, то когда С захочет передать информацию в А - ему придётся дождаться, пока В закончит передачу и освободит канал связи. Такой механизм передачи информации очень неудобен и непрактичен. И для решения этой проблемы было решено разделять информацию на порции.

    На получателе эти порции требуется составить в единое целое, получить ту информацию, которая вышла от отправителя. Но на получателе А теперь мы видим порции информации как от В так и от С вперемешку. Значит, к каждой порции надо вписать идентификационный номер, что бы получатель А мог отличить порции информации с В от порций информации с С и собрать эти порции в изначальное сообщение. Очевидно, получатель должен знать, куда и в каком виде отправитель приписал идентификационные данные к исходной порции информации. И для этого они должны разработать определённые правила формирования и написания идентификационной информации. Далее слово «правило» будет заменяться словом «протокол».

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

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

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

    Далее извлекаются данные из пакета. Но и эти данные, как правило, ещё не являются изначально отправляемыми данными. Этот кусок информации тоже составлен в соответствии определённому протоколу. Наиболее широко используется TCP протокол. В нём содержится такая идентификационная информация, как порт отправителя (число размером в два байта) и порт источника, а так же данные и служебная информация. Извлечённые данные из TCP, как правило, и есть те данные, которые программа, работающая на компьютере В, отправляла «программе-приёмнику» на компьютере A.

    Вложность протоколов (в данном случае TCP поверх IP поверх Ethernet) называется стеком протоколов.

    ARP: протокол определения адреса

    Существуют сети классов A, B, C, D и E. Они различаются по количеству компьютеров и по количеству возможных сетей/подсетей в них. Для простоты, и как наиболее часто встречающийся случай, будем рассматривать лишь сеть класса C, ip-адрес которой начинается на 192.168. Следующее число будет номером подсети, а за ним - номер сетевого оборудования. К примеру, компьютер с ip адресом 192.168.30.110 хочет отправить информацию другому компьютеру с номером 3, находящемуся в той же логической подсети. Это значит, что ip адрес получателя будет такой: 192.168.30.3

    Важно понимать, что узел информационной сети - это компьютер, соединённый одним физическим каналом с коммутирующим оборудованием. Т.е. если мы отправим данные с сетевого адаптера «на волю», то у них одна дорога - они выйдут с другого конца витой пары. Мы можем послать совершенно любые данные, сформированные по любому, выдуманному нами правилу, ни указывая ни ip адреса, ни mac адреса ни других атрибутов. И, если этот другой конец присоединён к другому компьютеру, мы можем принять их там и интерпретировать как нам надо. Но если этот другой конец присоединён к коммутатору, то в таком случае пакет информации должен быть сформирован по строго определённым правилам, как бы давая коммутатору указания, что делать дальше с этим пакетом. Если пакет будет сформирован правильно, то коммутатор отправит его дальше, другому компьютеру, как было указано в пакете. После чего коммутатор удалит этот пакет из своей оперативной памяти. Но если пакет был сформирован не правильно, т.е. указания в нём были некорректны, то пакет «умрёт», т.е. коммутатор не будет отсылать его куда либо, а сразу удалит из своей оперативной памяти.

    Для передачи информации другому компьютеру, в отправляемом пакете информации надо указать три идентификационных значения - mac адрес, ip адрес и порт. Условно говоря, порт - это номер, который, выдаёт операционная система каждой программе, которая хочет отослать данные в сеть. Ip адрес получателя вводит пользователь, либо программа сама получает его, в зависимости от специфики программы. Остаётся неизвестным mac адрес, т.е. номер сетевого адаптера компьютера получателя. Для получения необходимой данной, отправляется «широковещательный» запрос, составленный по так называемому «протоколу разрешения адресов ARP». Ниже приведена структура ARP пакета.

    Сейчас нам не надо знать значения всех полей на приведённой картинке. Остановимся лишь на основных.

    В поля записываются ip адрес источника и ip адрес назначения, а так же mac адрес источника.

    Поле «адрес назначения Ethernet» заполняется единицами (ff:ff:ff:ff:ff:ff). Такой адрес называется широковещательным, и такой фрейм будер разослан всем «интерфейсам на кабеле», т.е. всем компьютерам, подключённым к коммутатору.

    Коммутатор, получив такой широковещательный фрейм, отправляет его всем компьютерам сети, как бы обращаясь ко всем с вопросом: «если Вы владелец этого ip адреса (ip адреса назначения), пожалуйста сообщите мне Ваш mac адрес». Когда другой компьютер получает такой ARP запрос, он сверяет ip адрес назначения со своим собственным. И если он совпадает, то компьютер, на место единиц вставляет свой mac адрес, меняет местами ip и mac адреса источника и назначения, изменяет некоторую служебную информацию и отсылает пакет обратно коммутатору, а тот обратно - изначальному компьютеру, инициатору ARP запроса.

    Таким образом ваш компьютер узнаёт mac адрес другого компьютера, которому вы хотите отправить данные. Если в сети находится сразу несколько компьютеров, отвечающих на этот ARP запрос, то мы получаем «конфликт ip адресов». В таком случае необходимо изменить ip адрес на компьютерах, что бы в сети не было одинаковых ip адресов.

    Построение сетей

    Задача построения сетей

    На практике, как правило, требуется построить сети, число компьютеров в которой будет не менее ста. И кроме функций файлообмена, наша сеть должна быть безопасной и простой в управлении. Таким образом, при построении сети, можно выделить три требования:
    1. Простота в управлении. Если бухгалтера Лиду переведут в другой кабинет, ей по-прежнему понадобится доступ к компьютерам бухгалтеров Анны и Юлии. И при неправильном построении своей информационной сети, у администратора могут возникнуть трудности в выдаче Лиде доступа к компьютерам других бухгалтеров на её новом месте.
    2. Обеспечение безопасности. Для обеспечения безопасности нашей сети, права доступа к информационным ресурсам должны быть разграничены. Так же сеть должна быть защищена от угроз раскрытия, целостности и отказа в обслуживании. Подробнее читайте в книге «Атака на Internet» автора Илья Давидович Медведовский, глава «Основные понятия компьютерной безопасности» .
    3. Быстродействие сети. При построении сетей есть техническая проблема - зависимость скорости передачи от количества компьютеров в сети. Чем больше компьютеров - тем ниже скорость. При большом количестве компьютеров, быстродействие сети может стать настолько низким, что она станет неприемлемой заказчику.
    Из-за чего при большом количестве компьютеров снижается скорость сети? - причина проста: из-за большого количества широковещательных сообщений (ШС). ШС - это сообщение, которое, приходя на коммутатор, отправляется всем хостам сети. Или, грубо говоря, всем компьютерам, находящимся в вашей подсети. Если компьютеров в сети 5, то каждый компьютер будет принимать по 4 ШС. Если их будет 200, то каждый компьютер в такой большой сети будет принимать по 199 ШС.

    Существует большое множество приложений, программных модулей и сервисов, которые, для своей работы отправляют в сеть широковещательные сообщения. Описанный в пункте ARP: протокол определения адреса лишь один из множества ШС, отправляемый вашим компьютером в сеть. Например, когда вы заходите в «Сетевое окружение» (ОС Windows), ваш компьютер посылает ещё несколько ШС со специальной информацией, сформированной по протоколу NetBios, что бы просканировать сеть на наличие компьютеров, находящихся в той же рабочей группе. После чего ОС рисует найденные компьютеры в окне «Сетевое окружение» и вы их видите.

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

    Виртуальные локальные сети

    Для решения первой и третьей проблем, а так же в помощь решения второй проблемы, повсеместно используют механизм разбиения локальной сети на более маленькие сети, как бы отдельные локальные сети (Virtual Local Area Network). Грубо говоря, VLAN - это список портов на коммутаторе, принадлежащих одной сети. «Одной» в том смысле, что другой VLAN будет содержать список портов, принадлежащих другой сети.

    Фактически, создание двух VLAN-ов на одном коммутаторе эквивалентно покупке двух коммутаторов, т.е. создание двух VLAN-ов - это всё равно, что один коммутатор разделить на два. Таким образом происходит разбиение сети из ста компьютеров на более маленькие сети, из 5-20 компьютеров - как правило именно такое количество соответствует физическому местонахождению компьютеров по надобности файлообмена.

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

    VLAN-ы, теория

    Возможно, фраза «администратору достаточно удалить порт из одного VLAN-а и добавить в другой» могла оказаться непонятной, поэтому поясню её подробнее. Порт в данном случае - это не номер, выдаваемый ОС приложению, как было рассказано в пункте Стек протоколов, а гнездо (место) куда можно присоединить (вставить) коннектор формата RJ-45. Такой коннектор (т.е. наконечник к проводу) прикрепляется к обоим концам 8-ми жильного провода, называемого «витая пара». На рисунке изображён коммутатор Cisco Catalyst 2950C-24 на 24 порта:
    Как было сказано в пункте ARP: протокол определения адреса каждый компьютер соединён с сетью одним физическим каналом. Т.е. к коммутатору на 24 порта можно присоединить 24 компьютера. Витая пара физически пронизывает все помещения предприятия - все 24 провода от этого коммутатора тянутся в разные кабинеты. Пусть, к примеру, 17 проводов идут и подсоединяются к 17-ти компьютерам в аудитории, 4 провода идут в кабинет спецотдела и оставшиеся 3 провода идут в только что отремонтированный, новый кабинет бухгалтерии. И бухгалтера Лиду, за особые заслуги, перевели в этот самый кабинет.

    Как сказано выше, VLAN можно представлять в виде списка принадлежащих сети портов. К примеру, на нашем коммутаторе было три VLAN-а, т.е. три списка, хранящиеся во flash-памяти коммутатора. В одном списке были записаны цифры 1, 2, 3… 17, в другом 18, 19, 20, 21 и в третьем 22, 23 и 24. Лидин компьютер раньше был присоединён к 20-ому порту. И вот она перешла в другой кабинет. Перетащили её старый компьютер в новый кабинет, или она села за новый компьютер - без разницы. Главное, что её компьютер присоединили витой парой, другой конец которой вставлен в порт 23 нашего коммутатора. И для того, что бы она со своего нового места могла по прежнему пересылать файлы своим коллегам, администратор должен удалить из второго списка число 20 и добавить число 23. Замечу, что один порт может принадлежать только одному VLAN-у, но мы нарушим это правило в конце этого пункта.

    Замечу так же, что при смене членства порта в VLAN, администратору нет никакой нужды «перетыкать» провода в коммутаторе. Более того, ему даже не надо вставать с места. Потому что компьютер администратора присоединён к 22-ому порту, с помощью чего он может управлять коммутатором удалённо. Конечно, благодаря специальным настройкам, о которых будет рассказано позже, лишь администратор может управлять коммутатором. О том, как настраивать VLAN-ы, читайте в пункте VLAN-ы, практика [в следующей статье].

    Как вы, наверное, заметили, изначально (в пункте Построение сетей) я говорил, что компьютеров в нашей сети будет не менее 100. Но к коммутатору можно присоединить лишь 24 компьютера. Конечно, есть коммутаторы с большим количеством портов. Но компьютеров в корпоративной сети/сети предприятия всё равно больше. И для соединения бесконечно большого числа компьютеров в сеть, соединяют между собой коммутаторы по так называемому транк-порту (trunk). При настройки коммутатора, любой из 24-портов можно определить как транк-порт. И транк-портов на коммутаторе может быть любое количество (но разумно делать не более двух). Если один из портов определён как trunk, то коммутатор формирует всю пришедшую на него информацию в особые пакеты, по протоколу ISL или 802.1Q, и отправляет эти пакеты на транк-порт.

    Всю пришедшую информацию - имеется в виду, всю информацию, что пришла на него с остальных портов. А протокол 802.1Q вставляется в стек протоколов между Ethernet и тем протоколом, по которому были сформированные данные, что несёт этот кадр.

    В данном примере, как вы, наверное, заметили, администратор сидит в одном кабинете вместе с Лидой, т.к. витая пора от портов 22, 23 и 24 ведёт в один и тот же кабинет. 24-ый порт настроен как транк-порт. А сам коммутатор стоит в подсобном помещении, рядом со старым кабинетом бухгалтеров и с аудиторией, в которой 17 компьютеров.

    Витая пара, которая идёт от 24-ого порта в кабинет к администратору, подключается к ещё одному коммутатору, который в свою очередь, подключён к роутеру, о котором будет рассказано в следующих главах. Другие коммутаторы, которые соединяют другие 75 компьютеров и стоят в других подсобных помещениях предприятия - все они имеют, как правило, один транк-порт, соединённый витой парой или по оптоволокну с главным коммутатором, что стоит в кабинете с администратором.

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

    Примерно так выглядело построение сетей больших предприятий во времена коммутатора Cisco Catalyst 1900. Вы, наверное, заметили два больших неудобства таких сетей. Во первых, использование транк-порта вызывает некоторые сложности и создаёт лишнюю работу при конфигурировании оборудования. А во вторых, и в самых главных - предположим, что наши «как бы сети» бухгалтеров, экономистов и диспетчеров хотят иметь одну на троих базу данных. Они хотят, что бы та же бухгалтерша смогла увидеть изменения в базе, которые сделала экономистка или диспетчер пару минут назад. Для этого нам надо сделать сервер, который будет доступен всем трём сетям.

    Как говорилось в середине этого пункта, порт может находиться лишь в одном VLAN-е. И это действительно так, однако, лишь для коммутаторов серии Cisco Catalyst 1900 и старше и у некоторых младших моделей, таких как Cisco Catalyst 2950. У остальных коммутаторов, в частности Cisco Catalyst 2900XL это правило можно нарушить. При настройке портов в таких коммутаторах, каждый пор может иметь пять режимов работы: Static Access, Multi-VLAN, Dynamic Access, ISL Trunk и 802.1Q Trunk. Второй режим работы именно то, что нам нужно для выше поставленной задачи - дать доступ к серверу сразу с трёх сетей, т.е. сделать сервер принадлежащим к трём сетям одновременно. Так же это называется пересечением или таггированием VLAN-ов. В таком случае схема подключения может быть такой.

    Стек TCP / IP .

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

    В операционной системе Microsoft Windows Server 2003 стек TCP/IP выбран в качестве основного, хотя поддерживаются и другие протоколы (например, стек IPX/SPX, протокол NetBIOS).

    Стек протоколов TCP/IP обладает двумя важными свойствами:

      платформонезависимостью, т. е. возможна его реализация на самых разных операционных системах и процессорах;

      открытостью, т. е. стандарты, по которым строится стек TCP/IP, доступны любому желающему.

    История создания TCP / IP .

    В 1967 году Агентство по перспективным исследовательским проектам министерства обороны США (ARPA – Advanced Research Projects Agency) инициировало разработку компьютерной сети, которая должна была связать ряд университетов и научно-исследовательских центров, выполнявших заказы Агентства. Проект получил название ARPANET. К 1972 году сеть соединяла 30 узлов.

    В рамках проекта ARPANET были разработаны и в 1980–1981 годах опубликованы основные протоколы стека TCP/IP – IP, TCP и UDP. Важным фактором распространения TCP/IP стала реализация этого стека в операционной системе UNIX 4.2 BSD (1983).

    К концу 80-х годов значительно расширившаяся сеть ARPANET стала называться Интернет (Interconnected networks – связанные сети) и объединяла университеты и научные центры США, Канады и Европы.

    В 1992 году появился новый сервис Интернет – WWW (World Wide Web – всемирная паутина), основанный на протоколе HTTP. Во многом благодаря WWW Интернет, а с ним и протоколы TCP/IP, получил в 90-е годы бурное развитие.

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

    Модель OSI .

    Модель взаимодействия открытых систем (OSI – Open Systems Interconnection) была разработана Международной организацией по стандартизации (ISO – International Organization for Standardization) для единообразного подхода к построению и объединению сетей. Разработка модели OSI началась в 1977 году и закончилась в 1984 году утверждением стандарта. С тех пор модель является эталонной для разработки, описания и сравнения различных стеков протоколов.

    Рассмотрим кратко функции каждого уровня.


    Модель OSI включает семь уровней: физический, канальный, сетевой, транспортный, сеансовый, представления и прикладной.

      Физический уровень (physical layer) описывает принципы передачи сигналов, скорость передачи, спецификации каналов связи. Уровень реализуется аппаратными средствами (сетевой адаптер, порт концентратора, сетевой кабель).

      Канальный уровень (data link layer) решает две основные задачи – проверяет доступность среды передачи (среда передачи чаще всего оказывается разделена между несколькими сетевыми узлами), а также обнаруживает и исправляет ошибки, возникающие в процессе передачи. Реализация уровня является программно-аппаратной (например, сетевой адаптер и его драйвер).

      Сетевой уровень (network layer) обеспечивает объединение сетей, работающих по разным протоколам канального и физического уровней, в составную сеть. При этом каждая из сетей, входящих в единую сеть, называется подсетью (subnet). На сетевом уровне приходится решать две основные задачи – маршрутизации (routing, выбор оптимального пути передачи сообщения) и адресации (addressing, каждый узел в составной сети должен иметь уникальное имя). Обычно функции сетевого уровня реализует специальное устройство – маршрутизатор (router) и его программное обеспечение.

      Транспортный уровень (transport layer) решает задачу надежной передачи сообщений в составной сети с помощью подтверждения доставки и повторной отправки пакетов. Этот уровень и все следующие реализуются программно.

      Сеансовый уровень (session layer) позволяет запоминать информацию о текущем состоянии сеанса связи и в случае разрыва соединения возобновлять сеанс с этого состояния.

      Уровень представления (presentation layer) обеспечивает преобразование передаваемой информации из одной кодировки в другую (например, из ASCII в EBCDIC).

      Прикладной уровень (application layer) реализует интерфейс между остальными уровнями модели и пользовательскими приложениями.

    Структура TCP / IP . В основе структуры TCP/IP лежит не модель OSI, а собственная модель, называемая DARPA (Defense ARPA – новое название Агентства по перспективным исследовательским проектам) или DoD (Department of Defense – Министерство обороны США). В этой модели всего четыре уровня. Соответствие модели OSI модели DARPA, а также основным протоколам стека TCP/IP показано на рис. 2.2.

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

    Все протоколы, входящие в стек TCP/IP, стандартизованы в документах RFC.

    Документы RFC .

    Утвержденные официальные стандарты Интернета и TCP/IP публикуются в виде документов RFC (Request for Comments – рабочее предложение). Стандарты разрабатываются всем сообществом ISOC (Internet Society – Сообщество Интернет, международная общественная организация). Любой член ISOC может представить на рассмотрение документ для его публикации в RFC. Далее документ рассматривается техническими экспертами, группами разработчиков и редактором RFC и проходит в соответствии с RFC 2026 следующие этапы, называемые уровнями готовности (maturity levels):

      черновик (Internet Draft) – на этом этапе с документом знакомятся эксперты, вносятся дополнения и изменения;

      предложенный стандарт (Proposed Standard) – документу присваивается номер RFC, эксперты подтвердили жизнеспособность предлагаемых решений, документ считается перспективным, желательно, чтобы он был опробован на практике;

      черновой стандарт (Draft Standard) – документ становится черновым стандартом, если не менее двух независимых разработчиков реализовали и успешно применили предлагаемые спецификации. На этом этапе ещё допускаются незначительные исправления и усовершенствования;

      стандарт Интернета (Internet Standard) – наивысший этап утверждения стандарта, спецификации документа получили широкое распространение и хорошо зарекомендовали себя на практике. Список стандартов Интернета приведен в RFC 3700. Из тысяч RFC только несколько десятков являются документами в статусе «стандарт Интернета».

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

      экспериментальный (Experimental) – документ, содержащий сведения о научных исследованиях и разработках, которые могут заинтересовать членов ISOC;

      информационный (Informational) – документ, опубликованный для предоставления информации и не требующий одобрения сообщества ISOC;

      лучший современный опыт (Best Current Practice) – документ, предназначенный для передачи опыта конкретных разработок, например реализаций протоколов.

    Статус указывается в заголовке документа RFC после слова Category (Категория). Для документов в статусе стандартов (Proposed Standard, Draft Standard, Internet Standard) указывается название Standards Track , так как уровень готовности может меняться.

    Номера RFC присваиваются последовательно и никогда не выдаются повторно. Первоначальный вариант RFC никогда не обновляется. Обновленная версия публикуется под новым номером. Устаревший и замененный документ RFC получает статус исторический (Historic).

    Все существующие на сегодня документы RFC можно посмотреть, например, на сайте www.rfc-editor.org . В августе 2007 года их насчитывалось более 5000. Документы RFC, упоминаемые в этом курсе, приведены в Приложении I.

    Обзор основных протоколов.

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

    Протоколы RIP (Routing Information Protocol протокол маршрутной информации) и OSPF (Open Shortest Path First – « первыми открываются кратчайшие маршруты») – протоколы маршрутизации в IP-сетях.

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

    Протокол ARP (Address Resolution Protocol – протокол преобразования адресов) преобразует IP-адреса в аппаратные адреса локальных сетей. Обратное преобразование осуществляется с помощью протокола RAPR (Reverse ARP).

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

    UDP (User Datagram Protocol – протокол дейтаграмм пользователя) обеспечивает передачу данных дейтаграммным способом.

    HTTP (HyperText Transfer Protocol – протокол передачи гипертекста) – протокол доставки web-документов, основной протокол службы WWW.

    FTP (File Transfer Protocol – протокол передачи файлов) – протокол для пересылки информации, хранящейся в файлах.

    POP 3 (Post Office Protocol version 3 – протокол почтового офиса) и SMTP (Simple Mail Transfer Protocol – простой протокол пересылки почты) – протоколы для доставки входящей электронной почты (POP3) и отправки исходящей (SMTP).

    Telnet – протокол эмуляции терминала 1 , позволяющий пользователю подключаться к другим удалённым станциям и работать с ними со своей машины, как если бы она была их удалённым терминалом.

    SNMP (Simple Network Management Protocol – простой протокол управления сетью) предназначен для диагностики работоспособности различных устройств сети.