Что значит tcp. Что такое протокол TCP-IP

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 23:49, 28 января 2017.

NUMBEREDHEADINGS__

Стек протоколов ТСР/IP

IP-сеть

IP-сеть (какой является Интернет) отличается от глобальных сетей тем, что является составной сетью из подсетей, число которых измеряется тысячами. Для Интернета характерно использование стека протоколов не эталонной модели OSI, а эталонной модели TCP/IP . На рис. 1 представлен стек протоколов TCP/IP и его соответствие уровням модели OSI. Отличительной особенностью TCP/IP является также то, что IP-пакеты могут передаваться с использованием различных технологий составных сетей, в том числе посредством уже рассмотренных глобальных сетей Х.25, FR и ATM, которые являются самостоятельными со своими протоколами, адресацией и др. Другой особенностью является то, что эталонная модель TCP/IP в отличие от эталонной модели OSI была разработана под конкретную составную сеть (интерсеть или internet). Подсети, составляющую эту составную сеть, соединяются между собой маршрутизаторами. Такими подсетями могут быть как локальные, так и глобальные сети различных технологий.

Прикладной уровень стека TCP/IP (уровень 4) соответствует трём верхним уровням модели OSI. К протоколам прикладного уровня относятся протокол переноса файлов (FTP); протокол электронной почты (SMTP); протокол, используемый для создания страниц во всемирной паутине WWW (HTTP) - основа для доступа к связанным между собой документам; протокол преобразования (DNS) текстовых имен в сетевые IP-адреса, простой протокол сетевого управления (SNMP), протоколы соответственно сигнализации и передачи данных (SIP, RTP/RTCP) в IP-телефонии или речь поверх IP (VoIP-Voice over IP) и др. К протоколам прикладного уровня относятся также протоколы информационной безопасности Kerberos, PGP, SET и др.

Рис. 1. Стек протоколов TCP/IP

Транспортный уровень стека TCP/IP

Транспортный уровень стека TCP/IP (уровень 3) обеспечивает передачу данных между прикладными процессами. Транспортный уровень включает два протокола TCP и UDP. Протокол управления передачей TCP (Transmission Control Protocol) является надёжным протоколом с установлением соединения, позволяющим управлять потоком, т.е. без ошибок доставлять байтовый поток с одной машины на любую другую машину составной сети. Для того чтобы обеспечить надёжную доставку данных, протокол TCP предусматривает установление логического соединения. Это позволяет ему нумеровать пакеты, подтверждать их прием квитанциями, в случае потери организовывать повторные передачи, распознавать и уничтожать дубликаты, доставлять прикладному уровню в том порядке, в котором они были отправлены. Пакеты, поступающие на транспортный уровень, организуются в виде множества очередей к точкам входа прикладных процессов. В терминологии TCP/IP такие очереди, однозначно определяющие приложение в пределах хоста, называется портами. За портами каждого стандартного приложения определён номер например, порт TCP № 21 - за протоколом передачи файла FTP (File Transport Protocol). Номер порта в совокупности с номером сети и номером конечного узла имеет название сокет (socket). Каждое логическое соединение идентифицируется парой сокетов взаимодействующих процессов. Второй протокол транспортного уровня -протокол пользователей дейтаграмм UDP (User Data Protocol) является простейшим дейтаграммным протоколом (т.е. без установления соединения). К протоколу транспортного уровня относится протокол информационной безопасности SSL/TLS. Протоколы прикладного и транспортного уровней стека уровней TCP/IP устанавливаются на оконечных станциях (хостах) сети.

Межсетевой уровень стека TCP/IP

Межсетевой уровень стека TCP/IP (уровень 2) , называемый также сетевым уровнем (по модели OSI), является стержнем всей архитектуры TCP/IP. Именно этот уровень, функции которого соответствуют сетевому уровню модели OSI, обеспечивает перенос пакетов данных в пределах всей составной сети. Протоколы межсетевого уровня поддерживают интерфейсы с вышележащим транспортным уровнем, получая от него запросы на передачу данных по составной сети. Основным протоколом межсетевого уровня является межсетевой протокол IP (Internet Protocol). Он обеспечивает продвижение пакета между подсетями - от одного пограничного маршрутизатора до другого, до тех пор, пока пакет не попадёт в сеть назначения. Протокол IP так же, как и протоколы функций коммутации глобальных сетей связи (FR, ATM и др.), устанавливается не только на оконечных пунктах (хостах), но и на всех маршрутизаторах сети. Маршрутизатор представляет собой процессор, который связывает между собой две сети (подсети). Протокол межсетевого уровня работает в режиме без установления соединения (дейтаграммный режим), в соответствии с которым он не отвечает за доставку пакета до узла назначения. При потере пакета в сети протокол IP не пытается восстановить его.

В заголовке IP-пакета содержится IP-адрес отправителя и получателя - по 4 байта каждый. К межсетевому уровню относятся также протоколы, выполняющие функции составления и коррекции таблиц маршрутизации RIP (Routing Internet Protocol), OSPF (Open Shortest Path First), протокол межсетевых управляющих сообщений ICMP (Internet Control Message Protocol). К протоколу сетевого уровня относится протокол информационной безопасности IPSec. Уровень сетевого доступа стека TCP/IP (уровень 1) отвечает за организацию интерфейса с частными технологиями подсетей составной сети. Перемещение пакета можно рассматривать как последовательность «прыжков» от одного маршрутизатора к другому. На очередном маршрутизаторе на сетевом уровне определяется сетевой адрес следующего по маршруту маршрутизатора. Чтобы передать пакет IP этому маршрутизатору, надо перенести его через некоторую подсеть. Для этого необходимо использовать транспортные средства этой подсети. Задача уровня сетевого доступа сводится к инкапсуляции (вложению) пакета в блок данных этой промежуточной сети и в преобразовании сетевых адресов граничных маршрутизаторов этой подсети в новый тип адреса, принятой в технологии промежуточной сети.

Пример переноса данных в IP-сети

На примере IP-сети (рис. 2) покажем перенос данных оконечной станции А локальной вычислительной сети (подсети) Ethernet в оконечную станцию В сети (подсети) АТМ. Как видно из рисунка в эту составную сеть еще входит сеть (подсеть) Frame Relay. В основу приведенного упрощенного описания положен пример межсетевого взаимодействия сетей Ethernet и АТМ, приведенный в работе . Дополнительно в эту составную сеть введена сеть (подсеть) Frame Relay. Принцип маршрутизации и краткое описание протоколов маршрутизации в сети Интернет приведены в следующей главе. Для того, чтобы технология TCP/IP могла решать задачу объединения сетей, ей необходима собственная глобальная система адресации, не зависящая от способов адресации узлов в отдельных подсетях. Таким адресом является IP-адрес, состоящий из адреса подсети (префикса) и адреса оконечного устройства (хоста). Приведем пример адресации подсети и хоста. IP-адрес 200.15.45.126/25 означает, что 25 старших бит из выделенных 4-х байт под адресацию являются адресом подсети, а оставшиеся 7 бит означают адрес хоста в этой сети.

Как видно из предыдущих глав, глобальные сети Frame Relay и АТМ имеют различные системы нумерации, которые отличаются от системы нумерации локальной вычислительной сети (ЛВС) технологии Ethernet. Каждый компьютер Ethernet имеет уникальный физический адрес, состоящий из 48 бит. Этот адрес называется МАС-адресом и относится к канальному уровню - управлению доступом к среде MAC (Media Access Control). Для организации межсетевого взаимодействия подсетей различной технологии и адресации используются маршрутизаторы, включающие IP-пакеты. В состав этих пакетов входят глобальные IP-адреса. Каждый интерфейс маршрутизатора IP-сети и оконечного устройства включает два адреса – локальный адрес оконечного устройства подсети и IP-адрес.

Рис. 2. Пример взаимодействия двух устройств

Рассмотрим продвижение IP-пакета в сети (рис. 2).


Протоколы TCP/IP

Ниже приводится краткое описание протокола прикладного уровня SNMP и протокола транспортного уровня TCP архитектуры TCP/IP.

Протокол прикладного уровня SNMP

Большие сети не могут быть настроены и управляться вручную в плане изменения конфигурации сети, устранения неисправности в сети, сбора параметров о качестве обслуживания. Если в сети используется оборудование разных производителей, необходимость таких средств становится особенно необходимой. В связи с этим были разработаны стандарты сетевого управления. Одним из наиболее широко используемых является простой протокол управления сетью SNMP (Simple Network Management Protocol) . Приведем краткие сведения об архитектуре сетевого управления. Система сетевого управления включает инструментальные средства для решения задач управления. При этом необходимо использование уже имеющегося оборудования путем внедрения в него дополнительных аппаратных и программных средств для управления сетью. Это программное обеспечение размещается в хостах, коммуникационных процессорах и других устройствах сети. Модель сетевого управления, используемая для SNMP состоит из следующих элементов:

  • станция управления, выполняющая роль интерфейса между сетевым администратором и системой сетевого управления. Станция управления позволяет осуществить мониторинг сети и управление сетью. В этой станции имеется база данных с информацией, полученной из информационных баз всех управляемых объектов сети;
  • агент управления (хосты, коммутаторы и др.), которые отвечают на запросы от станции управления. Агент обеспечивает информацией станцию и без запроса;
  • агент поддерживает базу данных, именуемую MIB (база управляющей информации, Management Information Base), в которой записаны конфигурация, характеристики и состояние устройств.

Станция управления и агенты взаимодействуют по протоколу SNMP. Так как управление сетью задача многоцелевая, приведем некоторые возможности использования протокола SNMP в сети Frame Relay . Агент поддерживает базу данных, именуемую MIB (база управляющей информации, Management Information Base), в которой записаны конфигурация, характеристики и состояние устройств. Форум Frame Relay стандартизировал MIB для устройств Frame Relay. В большинстве служб Frame Relay провайдер собирает информации от агентов SNMP в каждом коммутаторе FR и записывает ее в центральную базу MIB для общего пользования. Тем самым пользователю предоставляется единый источник статистической информации обо всех соединениях виртуальных каналов сети. Это дает возможность отследить свои потоки данных в сети провайдера от коммутатора к коммутатору. Можно использовать SNMP для сбора статистики и аварийных сообщений от собственного оборудования, подключенного к сети FR. Для этого приходится работать с множеством MIB. Для сбора данных на основе SNMP можно использовать виртуальный канал FR.

SNMP может управлять конфигурацией сети. Для сети FR это касается как физической, так и логической конфигурации сети, включая установление адресации, определение DLCI, назначение полосы пропускания для PVC. SNMP может управлять устранением неисправностей в сети при получении системой управления аварийных сообщений от агента сетевого устройства.

Обеспечение информационной безопасности протокола SNMP

В документе RFC 2574 определяется модель USM (User Security Model – модель защиты пользователя) при использовании протокола SNMP. USM разрабатывалась с целью защиты от угроз следующих типов.

  1. Модификация информации. По пути следования сообщения, сгенерированного авторизованным объектом, некоторый другой объект может изменить это сообщение, чтобы выполнить несанкционированные операции управления (например, установив соответствующие значения объекта управления). Суть угрозы заключается в том, что несанкционированный объект может изменить любые параметры управления, включая параметры конфигурации, выполняемых действий и контроля.
  2. Имитация. Объект может пытаться выполнить не разрешенные для него операции управления, отождествляя данный объект с некоторым авторизованным объектом.
  3. Модификация потока сообщений. Протокол SNMP предназначен для работы над транспортным протоколом, не предполагающим установку соединений. Существует угроза переупорядочения, задержки или воспроизведения (дублирования) сообщений SNMP для несанкционированного управления. Например, можно скопировать и впоследствии воспроизвести сообщение, вызывающее перезапуск устройства.
  4. Разглашение информации. Наблюдая за потоком обмена данными между администратором и агентом, объект может выяснить значения управляемых объектов и распознать подлежащие регистрации события. Например, наблюдение за набором команд, изменяющих пароли, может позволить атакующему узнать новые пароли.

Протокол транспортного уровня TCP

Протокол транспортного уровня TCP выполняет функцию управления потоками между оконечными пунктами, так как уровень IP не гарантирует правильной доставки дейтаграмм. Дейтаграммы с уровня IP могут прибывать в неправильном порядке. Восстанавливает сообщения из таких дейтаграмм протокол TCP, обеспечивая этим надежный режим установленного соединения с низкой вероятностью потери пакета. Механизм управления потоками, используемый ТСP, отличается от механизма восстановления правильной последовательности кадров в Х.25 и называется схемой кредитов. В этой схеме считается, что каждый передаваемый байт данных имеет порядковый номер. Границы между сообщениями не сохраняются. Например, если отправляющий прикладной процесс записывает в ТСP-поток четыре 512-байтовые порции данных, эти данные могут быть доставлены получающему процессу в виде четырех 512-байтовых порций, либо двух 1024-байтовых порций, либо одной 2048-байтовой порции. Каждая протокольная единица PDU TCP называется сегментом TCP и включает в заголовок сегмента порт источника данных и порт получателя. Значения портов идентифицируют соответствующих пользователей (приложения) двух объектов TCP.

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

При работе на хост-отправителе протокол TCP рассматривает информацию, поступающую к нему от уровня приложений, как неструктурированный поток байтов. Эти данные буферируются средствами TCP. На уровень IP из буфера «вырезаются» сегменты, к которым добавляются заголовки. В состав заголовка входят сегменты SYN и ACK, служащие для установления TCP-соединения.

Для передачи сегмента данных имеются три поля, связанные с управлением потоком (восстановлением целостности принятого сообщения): порядковый номер (SN), номер подтверждения (AN) и окно (W) .Когда транспортный объект отправляет сегмент, он помещает в поле данных сегмента порядковый номер первого байта. Принимающий объект подтверждает получение сегмента с помощью обратного сегмента, в котором (АN=i, W=j), что означает:

  • все байты до SN=i-1 подтверждены. Следующий ожидаемый байт имеет номер АN=i.
  • разрешается отправить дополнительное окно из W=j байт данных, т.е. байты от I до i+j-1.

Таким образом, протокол TCP обеспечивает надежную доставку сообщений, поступающих из сети от ненадежного дейтаграммного протокола на межсетевом уровне. В сети Х.25 функцию надежной доставки выполняет канальный уровень модели OSI, который был подробно рассмотрен в предыдущих главах, а в сети Frame Relay эту функцию выполняет протокол ITU-T Q.921.

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. Полезная нагрузка отправленного сообщения. Например, в поле данных пакета может содержаться текст электронного письма.

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

Доброго времени суток, дорогие читатели.
По многочисленным просьбам сегодня я публикую для Вас статью, которая познакомит Вас с основами основ терминов компьютерной сети, а именно:

  • Сетевые протоколы - что это за страшные названия и с чем их едят
  • UDP, TCP, ICMP , - что, зачем и в чем разница
  • IP -адрес, - у всех есть, но не все знают нафига эта штука:-)
  • Маска адреса (подсеть)
  • Шлюз (gateway)
  • Несколько слов о таблицах маршрутизации
  • Порты, - что это на самом деле
  • MAC -адрес

Примерно так.

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

Сетевые протоколы TCP/IP, NWLink IPX/SPX, NetBEUI

Давайте начнем с того, что вообще такое сетевой протокол и с чем его едят.
Сетевой протокол - это набор программно реализованных правил общения между компьютерами. Этакий язык, на котором компьютеры разговаривают друг с другом и передают информацию. Ранее компьютеры были, так сказать, многоязычны и в старых версиях Windows использовался целый набор протоколов, - TCP/IP, NWLink IPX/SPX, NetBEUI . Ныне же пришли к общей договоренности, и стандартом стало использование исключительно протокола TCP/IP , а посему речь далее пойдет именно о нем.

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

Сетевые протоколы UDP, TCP, ICMP

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

Передача данных по протоколу TCP (Transmission Control Protocol - Протокол Управления Передачей) предусматривает наличие подтверждений получения информации. "-Ну, мол, - получил? -Получил!" Если же передающая сторона не получит в установленные сроки необходимого подтверждения, то данные будут переданы повторно. Поэтому протокол TCP относят к протоколам, предусматривающим соединение, а UDP (User Datagram Protocol - Протокол Пользовательских Датаграмм) - нет. UDP применяется в тех случаях, когда не требуется подтверждения приема (например, DNS-запросы или IP-телефония (яркий представитель которой, - Skype)). То есть разница заключается в наличии подтверждения приема. Казалось бы "Всего то!", но на практике это играет важную роль.

Есть еще так же протокол ICMP (Internet Control Message Protocol - межсетевой протокол управляющих сообщений), который используется для передачи данных о параметрах сети. Он включает в себя служебные типы пакетов, таки как ping, distination unreachable, TTL и пр.

Что такое IP-адрес

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

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

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

Для построения же локальных сетей выделены спец.диапазоны адресов. Это адреса 10.x.x.x , 192.168.x.x , 10.x.x.x , c 172.16.x.x по 172.31.x.x , 169.254.x.x , где под x - имеется ввиду любое число это от 0 до 254 . Пакеты, передаваемые с указанных адресов, не маршрутизируется, иными словами, попросту не пересылаются через Интернет, а поэтому в различных локальных сетях компьютеры могут иметь совпадающие адреса из указанных диапазонов. Т.е., в компании ООО "Рога и копыта " и ООО "Вася и компания " могут находится два компьютера с адресами 192.168.0.244 , но не могут, скажем, с адресами 85.144.213.122 , полученными от провайдера интернета, т.к. в интернете не может быть два одинаковых IP -адреса. Для пересылки информации с таких компьютеров в Интернет и обратно используются спец.программы и устройства, которые заменяют локальные адреса реальными при работе с интернетом. Иными словами, данные в Сеть пересылаются с реального IP -адреса, а не с локального. Этот процесс происходит не заметно для пользователя и называется трансляцией адресов. Хочется так же упомянуть, что в рамках одной сети, скажем, компании, ООО "Рога и копыта ", не может быть два компьютера с одним локальным IP-адресом, т.е., в указанном выше примере имелось ввиду, что один компьютер с адресом 192.168.0.244 в одной компании, второй с таким же адресом - в другой. В одной же компании два компьютера с адресом 192.168.0.244 попросту не уживутся.

Вы наверняка слышали такие термины как внешний IP и внутренний IP , постоянный (статический IP) и переменный (динамический) IP . В двух словах о них:

  • внешний IP - это как раз тот самый IP , который выдает Вам провайдер, т.е. Ваш уникальный адрес в интернете, например, - 85.144.24.122
  • внутренний IP , - это локальный IP , т.е. Ваш IP в локальной сети, например, - 192.168.1.3
  • статический IP - это IP , который не меняется с каждым подключением, т.е. закреплен за Вами твердо и навсегда
  • динамический IP , - это плавающий IP -адрес, который меняется с каждым подключением

Тип Вашего IP (статический или динамический) зависит от настроек провайдера.

Что такое маска адреса (подсеть)

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

Маска - это параметр, который сообщает программному обеспечению о том, сколько компьютеров объединено в данную группу (подсеть). Маска адреса имеет такую же структуру как и сам IP-адрес: это набор из четырех групп чисел, каждое из которых может быть в диапазоне от 0 до 255 . При этом, чем меньше значение маски, тем больше компьютеров объединено в данную подсеть. Для сетей небольших компаний маска обычно имеет вид 255.255.255.x (например, 255.255.255.224). Маска сети присваивается компьютеру одновременно с IP-адресом. Так, например, сеть 192.168.0.0 с маской 255.255.255.0 может содержать в себе компьютеры с адресами от 192.168.0.1 до 192.168.254 192.168.0.0 с маской 255.255.255.128 допускает адреса от 192.168.0.1 до 192.168.0.127 . Думаю, смысл понятен. Как правило сети с небольшим возможным числом компьютеров используются провайдерами с целью экономии IP-адресов. Например, клиенту, может быть назначен адрес с маской 255.255.255.252 . Такая подсеть содержит в себе только два компьютера.

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

Что такое Шлюз (Gateway)

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

Хотите знать и уметь, больше и сами?

Мы предлагаем Вам обучение по направлениям: компьютеры, программы, администрирование, сервера, сети, сайтостроение, SEO и другое. Узнайте подробности сейчас!

Для работы только в локальной сети шлюз может не указываться.

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

Что такое таблицы маршрутизации

И вот мы плавно добрались и до них. И так.. Что же за таблицы такие.

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

Что такое сетевые порты

При передаче данных кроме IP -адресов отправителя и получателя пакет информации содержит в себе номера портов. Пример: 192.168.1.1:80 , - в данном случае 80 - это номер порта. Порт - это некое число, которое используется при приеме и передаче данных для идентификации процесса (программы), который должен обработать данные. Так, если пакет послан на 80 -й порт, то это свидетельствует, что информация предназначена серверу HTTP .

Номера портов с 1 -го до 1023 -й закреплены за конкретными программами (так называемые well-known-порты). Порты с номерами 1024 -65 535 могут быть использованы в программах собственной разработки. При этом возможные конфликты должны решаться самими программами путем выбора свободного порта. Иными словами, порты будут распределяться динамически: возможно, что при следующем старте программа выберет иное значение порта, если, конечно, Вы вручную через настройки не задавали ей порт.

Что есть MAC-адрес

Дело в том, что пересылаемые пакеты в сети адресуются компьютерам не по их именам и не на IP -адрес. Пакет предназначается устройству с конкретным адресом, который и называется MAC -адресом.

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

Как правило MAC -адрес бывает требуется для идентификации, скажем, у провайдера (если провайдер использует привязку по мак-адресу вместо логина-пароля) или при настройке маршрутизатора.

Где посмотреть все сетевые настройки

Чуть не забыл сказать пару слов о том где можно поглядеть и поменять всё это.

Введение. 1

Эталонная модель OSI 2

Анатомия модели TCP/IP. 4

Прикладной уровень . 4

Межхостовой уровень . 4

Межсетевой уровень . 4

Уровень сетевого доступа . 5

Преимущества TCP/IP. 5

Уровни и протоколы TCP / IP . 6

Модель TCP/IP. 6

Семейство протоколов TCP/IP. 6

Протокол IP. 7

Задачи протокола IP . 8

Протокол ТСР. 8

Задачи протокола ТСР . 8

Протокол UDP. 8

Задачи протокола UDP . 9

World Wide Web. 14

Заключение. 17

Приложение. 19

Список используемой литературы.. 20

Введение

В общем случае термин TCP/IP обозначает целое семейство протоколов: TCP (Transmission Control Protocol/Internet Protocol) для надежной доставки данных, UDP (User Datagram Protocol) для негарантированной доставки, IP (Internet Protocol) и других прикладных служб.

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

Благодаря протоколу TCP/IP Интернет стал тем, чем он является сегодня. В результате Интернет произвел в нашем стиле жизни и работы почти такие же революционные изменения, как печатный станок, электричество и компьютер. Без популярных протоколов и служб – таких, как HTTP, SMTP и FTP – Интернет был бы просто большим количеством компьютеров, связанных в бесполезный клубок.

Протокол TCP/IP встречается повсеместно. Это семейство протоколов, благодаря которым любой пользователь с компьютером, модемом и договором, заключенным с поставщиком услуг Интернета, может получить доступ к информации по всему Интернету. Пользователи служб AOL Instant Messenger и ICQ (также принадлежащей AOL) получают и отправляют свыше 750 миллионов сообщений в день.

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

В своей курсовой работе я описываю общий обзор семейства протоколов TCP/IP, основные принципы их работы и задачи, краткая история World Wide Web и HTTP.

Эталонная модель OSI

Международная организация по стандартизации (ISO, International Organization for Standardization) разработала эталонную модель взаимодействия открытых систем (OSI, Open Systems Interconnection) в 1978/1979 годах для упрощения открытого взаимодействия компьютерных систем. Открытым называется взаимодействие, которое может поддерживаться в неоднородных средах, содержащих системы разных поставщиков. Модель OSI устанавливает глобальный стандарт, определяющий состав функциональных уровней при открытом взаимодействии между компьютерами.

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

Эталонная модель TCP / IP

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

Гибкость эталонной модель TCP/IP по сравнению с эталонной моделью OSI продемонстрирована на рисунке.

Анатомия модели TCP/IP

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

Прикладной уровень

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

Межхостовой уровень

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

В настоящее время межхостовой уровень состоит из двух протоколов: протокола управления передачей TCP и протокола пользовательских дейтаграмм UDP. С учетом того, что Интернет становится все более транзакционно-ориентированным, был определен третий протокол, условно названный протоколом управления транзакциями/передачей T/TCP (Transaction/Transmission Control Protocol). Тем не менее, в большинстве прикладных сервисов Интернета на межхостовом уровне используются протоколы TCP и UDP.

Межсетевой уровень

Межсетевой уровень IPv4 состоит из всех протоколов и процедур, позволяющих потоку данных между хостами проходить по нескольким сетям. Следовательно, пакеты, в которых передаются данные, должны быть маршрутизируемыми. За маршрутизируемость пакетов отвечает протокол IP (Internet Protocol).

Межсетевой уровень должен поддерживать маршрутизацию и функции управления маршрутами. Эти функции предоставляются внешними протоколами, которые называются протоколами маршрутизации. К их числу относятся протоколы IGP (Interior Gateway Protocols) и EGP (Exterior Gateway Protocols).

Уровень сетевого доступа

Уровень сетевого доступа состоит из всех функций, необходимых для физического подключения и передачи данных по сети. В эталонной модели OSI (Open Systems Interconnection) этот набор функций разбит на два уровня: физический и канальный. Эталонная модель TCP/IP создавалась после протоколов, присутствующих в ее названии, и в ней эти два уровня были слиты воедино, поскольку различные протоколы IP останавливаются на межсетевом уровне. Протокол IP предполагает, что все низкоуровневые функции предоставляются либо локальной сетью, либо подключением через последовательный интерфейс.

Преимущества TCP/IP

Протокол TCP/IP обеспечивает возможность межплатформенных сетевых взаимодействий (то есть связи в разнородных сетях). Например, сеть под управлением Windows NT/2000 может содержать рабочие станции Unix и Macintosh, и даже другие сети более низкого порядка. TCP/IP обладает следующими характеристиками:

o Хорошие средства восстановления после сбоев.

o Возможность добавления новых сетей без прерывания текущей работы.

o Устойчивость к ошибкам.

o Независимость от платформы реализации.

o Низкие непроизводительные затраты на пересылку служебных данных.

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

Протоколы TCP и IP совместно управляют потоками данных (как входящими, так и исходящими) в сети. Но если протокол IP просто передает пакеты, не обращая внимания на результат, TCP должен проследить за тем, чтобы пакеты прибыли в положенное место. В частности, TCP отвечает за выполнение следующих задач:

o Открытие и закрытие сеанса.

o Управление пакетами.

o Управление потоком данных.

o Обнаружение и обработка ошибок.

Модель TCP/IP

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

Семейство протоколов TCP/IP

Семейство протоколов IP состоит из нескольких протоколов, часто обозначаемых общим термином “TCP/IP”:

o IP – протокол межсетевого уровня;

o TCP – протокол межхостового уровня, обеспечивающий надежную доставку;

Принципы работы интернет-протоколов TCP/IP по своей сути очень просты и сильно напоминают работу нашей советской почты.

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

На конверте письма будет написано примерно следующее:

Адрес отправителя:
От кого: Иванов Иван Иванович
Откуда: Ивантеевка, ул. Большая, д. 8, кв. 25

Адрес получателя:
Кому: Петров Петр Петрович
Куда: Москва, Усачевский переулок, д. 105, кв. 110

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

Каждый компьютер (он же: узел, хост ) в рамках сети Интернет тоже имеет уникальный адрес, который называется IP-адрес (Internet Protocol Address ), например: 195.34.32.116. IP адрес состоит из четырех десятичных чисел (от 0 до 255 ), разделенных точкой. Но знать только IP адрес компьютера еще недостаточно, т.к. в конечном счете обмениваются информацией не компьютеры сами по себе, а приложения, работающие на них. А на компьютере может одновременно работать сразу несколько приложений (например почтовый сервер, веб-сервер и пр. ). Для доставки обычного бумажного письма недостаточно знать только адрес дома - необходимо еще знать номер квартиры. Также и каждое программное приложение имеет подобный номер, именуемый номером порта. Большинство серверных приложений имеют стандартные номера, например: почтовый сервис привязан к порту с номером 25 (еще говорят: «слушает» порт, принимает на него сообщения), веб-сервис привязан к порту 80, FTP — к порту 21 и так далее.

Таким образом имеем следующую практически полную аналогию с нашим обычным почтовым адресом:

«адрес дома» = «IP компьютера»
«номер квартиры» = «номер порта»

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

Адрес отправителя (Source address): IP: 82.146.49.55 Port: 2049 Адрес получателя (Destination address): IP: 195.34.32.116 Port: 53 Данные пакета: ...

Конечно же в пакетах также присутствует служебная информация, но для понимания сути это не важно.

Обратите внимание, комбинация: «IP адрес и номер порта» — называется «сокет «.

В нашем примере мы с сокета 82.146.49.55:2049 посылаем пакет на сокет 195.34.32.116:53, т.е. пакет пойдет на компьютер, имеющий IP адрес 195.34.32.116, на порт 53. А порту 53 соответствует сервер распознавания имен (DNS-сервер), который примет этот пакет. Зная адрес отправителя, этот сервер сможет после обработки нашего запроса сформировать ответный пакет, который пойдет в обратном направлении на сокет отправителя 82.146.49.55:2049, который для DNS сервера будет являться сокетом получателя.

Как правило взаимодействие осуществляется по схеме «клиент-сервер »: «клиент» запрашивает какую-либо информацию (например страницу сайта), сервер принимает запрос, обрабатывает его и посылает результат. Номера портов серверных приложений общеизвестны, например: почтовый SMTP сервер «слушает» 25-й порт, POP3 сервер, обеспечивающий чтение почты из ваших почтовых ящиков «слушает» 110-порт, веб-сервер — 80-й порт и пр.

Большинство программ на домашнем компьютере являются клиентами — например почтовый клиент Outlook, веб-обозреватели IE, FireFox и пр.

Номера портов на клиенте не фиксированные как у сервера, а назначаются операционной системой динамически. Фиксированные серверные порты как правило имеют номера до 1024 (но есть исключения), а клиентские начинаются после 1024.

Повторение — мать учения: IP - это адрес компьютера (узла, хоста) в сети, а порт - номер конкретного приложения, работающего на этом компьютере .

Однако человеку запоминать цифровые IP адреса трудно — куда удобнее работать с буквенными именами. Ведь намного легче запомнить слово, чем набор цифр. Так и сделано — любой цифровой IP адрес можно связать с буквенно-цифровым именем. В результате например вместо 23.45.67.89 можно использовать имя. А преобразованием доменного имени в цифровой IP адрес занимается сервис доменных имен - DNS (Domain Name System).

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

Запрос от нашего компьютера: «Какой IP адрес соответствует имени www.site.com?»
Ответ сервера: «23.45.67.89.»

Теперь рассмотрим, что происходит, когда в своем браузере вы набираете доменное имя (URL) этого сайта (www.site.com) и, нажав, в ответ от веб-сервера получаете страницу этого сайта.

Например:

IP адрес нашего компьютера: 91.76.65.216
Браузер: Internet Explorer (IE),
DNS сервер (стрима): 195.34.32.116 (у вас может быть другой), Страница, которую мы хотим открыть: www.site.com.

Набираем в адресной строке браузера доменное имя www.ofnet.ru и жмем. Далее операционная система производит примерно следующие действия:

Отправляется запрос (точнее пакет с запросом) DNS серверу на сокет 195.34.32.116:53. Как было рассмотренно выше, порт 53 соответствует DNS-серверу — приложению, занимающемуся распознаванием имен. А DNS-сервер, обработав наш запрос, возвращает IP-адрес, который соответствует введенному имени.

Диалог примерно следующий:

— Какой IP адрес соответствует имени www.site.com?
— 23.45.67.89.

Далее наш компьютер устанавливает соединение с портом 80 компьютера 82.146.49.55 и посылает запрос (пакет с запросом) на получение страницы www.ofnet.ru. 80-й порт соответствует веб-серверу. В адресной строке браузера 80-й порт как правило не пишется, т.к. используется по умолчанию, но его можно и явно указать после двоеточия — http://www.site.com:80.

Приняв от нас запрос, веб-сервер обрабатывает его и в нескольких пакетах посылает нам страницу в на языке HTML — языке разметки текста, который понимает браузер.

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

Зачем эти принципы надо понимать?

Например, вы заметили странное поведение своего компьютера — непонятная сетевая активность, тормоза и пр. Что делать? Открываем консоль (нажимаем кнопку «Пуск» — «Выполнить» — набираем cmd — «Ок»). В консоли набираем команду netstat -anи жмем. Эта утилита отобразит список установленных соединений между сокетами нашего компьютера и сокетами удаленных узлов. Если мы видим в колонке «Внешний адрес» какие-то чужие IP адреса, а через двоеточие 25-й порт, что это может означать? (Помните, что 25-й порт соответствует почтовому серверу?) Это означает то, что ваш компьютер установил соединение с каким-то почтовым сервером (серверами) и шлет через него какие-то письма. И если ваш почтовый клиент (Outlook например) в это время не запущен, да если еще таких соединений на 25-й порт много, то, вероятно, в вашем компьютере завелся вирус, который рассылает от вашего имени спам или пересылает номера ваших кредитных карточек вкупе с паролями злоумышленникам.

Также понимание принципов работы Интернета необходимо для правильной настройки (проще говоря брандмауэра:)). Эта программа (которая часто поставляется вместе с антивирусом), предназначенна для фильтрации пакетов — «своих» и «вражеских». Своих пропускать, чужих не пущать. Например, если ваш фаерволл сообщает вам, что некто хочет установить соединение с каким-либо портом вашего компьютера. Разрешить или запретить?

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

Напоследок приведу список портов , с которыми вам, вероятно, придется столкнуться:

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

21 - порт FTP сервера.

25 - порт почтового SMTP сервера. Через него ваш почтовый клиент отправляет письма. IP адрес SMTP сервера и его порт (25-й) следует указать в настройках вашего почтового клиента.

110 - порт POP3 сервера. Через него ваш почтовый клиент забирает письма из вашего почтового ящика. IP адрес POP3 сервера и его порт (110-й) также следует указать в настройках вашего почтового клиента.

80 - порт WEB-сервера.

3128, 8080 - прокси-серверы (настраиваются в параметрах браузера).

Несколько специальных IP адресов:

127.0.0.1 - это localhost, адрес локальной системы, т.е. локальный адрес вашего компьютера.
0.0.0.0 — так обозначаются все IP-адреса.
192.168.xxx.xxx - адреса, которые можно произвольно использовать в локальных сетях, в глобальной сети Интернет они не используются. Они уникальны только в рамках локальной сети. Адреса из этого диапазона вы можете использовать по своему усмотрению, например, для построения домашней или офисной сети.
Что такое маска подсети и шлюз по умолчанию (роутер, маршрутизатор)?

(Эти параметры задаются в настройках сетевых подключений).

Все просто. Компьютеры объединяются в локальные сети. В локальной сети компьютеры напрямую «видят» только друг друга. Локальные сети соединяются друг с другом через шлюзы (роутеры, маршрутизаторы). Маска подсети предназначена для определения - принадлежит ли компьютер-получатель к этой же локальной сети или нет. Если компьютер-получатель принадлежит этой же сети, что и компьютер-отправитель, то пакет передается ему напрямую, в противном случае пакет отправляется на шлюз по умолчанию, который далее, по известным ему маршрутам, передает пакет в другую сеть, т.е. в другое почтовое отделение (по аналогии с советской почтой).

Напоследок рассмотрим что же означают непонятные термины:

TCP/IP - это название набора сетевых протоколов. На самом деле передаваемый пакет проходит несколько уровней. (Как на почте: сначала вы пишете писмо, потом помещаете в конверт с адресом, затем на почте на нем ставится штамп и т.д.).

IP протокол - это протокол так называемого сетевого уровня. Задача этого уровня - доставка ip-пакетов от компьютера отправителя к компьютеру получателю. По-мимо собственно данных, пакеты этого уровня имеют ip-адрес отправителя и ip-адрес получателя. Номера портов на сетевом уровне не используются. Какому порту, т.е. приложению адресован этот пакет, был ли этот пакет доставлен или был потерян, на этом уровне неизвестно - это не его задача, это задача транспортного уровня.

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

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

UDP - это протокол без установления соединения и с негарантированной доставкой пакетов. (Типа: крикнул что-нибудь, а услышат тебя или нет - неважно).

Над транспортным уровнем находится прикладной уровень. На этом уровне работают такие протоколы, как http, ftp и пр. Например HTTP и FTP - используют надежный протокол TCP, а DNS-сервер работает через ненадежный протокол UDP.
Как посмотреть текущие соединения?

Текущие соединения можно посмотреть с помощью команды

Netstat -an

(параметр n указывает выводить IP адреса вместо доменных имен).

Запускается эта команда следующим образом:

«Пуск» — «Выполнить» — набираем cmd — «Ок». В появившейся консоли (черное окно) набираем команду netstat -an и жмем. Результатом будет список установленных соединений между сокетами нашего компьютера и удаленных узлов.

Например получаем:

Активные подключения Имя Локальный адрес Внешний адрес Состояние TCP 0.0.0.0:135 0.0.0.0:0 LISTENING TCP 91.76.65.216:139 0.0.0.0:0 LISTENING TCP 91.76.65.216:1719 212.58.226.20:80 ESTABLISHED TCP 91.76.65.216:1720 212.58.226.20:80 ESTABLISHED TCP 91.76.65.216:1723 212.58.227.138:80 CLOSE_WAIT TCP 91.76.65.216:1724 212.58.226.8:80 ESTABLISHED

В этом примере 0.0.0.0:135 - означает, что наш компьютер на всех своих IP адресах слушает (LISTENING) 135-й порт и готов принимать на него соединения от кого угодно (0.0.0.0:0) по протоколу TCP.

91.76.65.216:139 - наш компьютер слушает 139-й порт на своем IP-адресе 91.76.65.216.

Третья строка означает, что сейчас установлено (ESTABLISHED) соединение между нашей машиной (91.76.65.216:1719) и удаленной (212.58.226.20:80). Порт 80 означает, что наша машина обратилась с запросом к веб-серверу (у меня, действительно, открыты страницы в браузере).



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: