Модель TCP / IP — Основная предпосылка модели

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

Уровни TCP / IP

Уровень приложения

Уровень процессов или уровень приложений — это самый высокий уровень, на котором они работают, полезные для человеческих приложений, таких как, например, веб-сервер или веб-браузер . Он включает в себя набор готовых протоколов, которые приложения используют для передачи различных типов информации по сети. Используемые протоколы включают: HTTP , Telnet , FTP , TFTP , SNMP , DNS , SMTP , X Window.

Транспортный уровень

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

Интернет-слой

Интернет-протокол уровня лежит в основе Интернета. На этом уровне обрабатываются дейтаграммы с IP-адресами . Определяется подходящий путь к целевому компьютеру в сети. Некоторые сетевые устройства имеют его как

Модель TCP / IP — Основная предпосылка модели

верхний уровень. Это маршрутизаторы, которые направляют трафик в Интернет, потому что им известна топология сети . Процесс поиска маршрутизаторами правильного пути называется маршрутизацией .

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

Уровень доступа к сети и физический уровень — это самый низкий уровень, который требуется для передачи данных по физическим соединениям между сетевыми устройствами. Наиболее распространены сетевые карты или модемы . Кроме того, этот уровень иногда оснащен протоколами для динамического определения IP-адресов.

Приложения и протоколы

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

  • надежная передача данных,
  • высокая пропускная способность,
  • короткое время отклика.

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

Надежная передача данных

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

Пропускная способность

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

Время отклика

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

Свойства

Эти протоколы обладают следующими характеристиками:

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

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

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

Связь с Интернетом

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

Протоколы DNS , NTP используют только протокол UDP транспортного уровня. FTP , SMTP , POP3 , SSH , IRC используют только TCP . Напротив, SMB использует оба протокола.

SSL играет особую роль. Его можно расположить между любым протоколом на основе соединения прикладного уровня и TCP. Благодаря его использованию данные, отправляемые приложениями, могут быть зашифрованы .

Некоторые протоколы прикладного уровня, такие как SMB, обычно не работают в Интернете. Они используются в локальных сетях для предоставления таких услуг, как удаленные принтеры или диски.

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

Реализация

В настоящее время практически в каждой операционной системе по умолчанию установлены протоколы TCP / IP.

Существует также Lightweight TCP / IP , более широко известный как бесплатный стек TCP / IP для встроенных систем , т.е. являющийся неотъемлемой частью поддерживаемого оборудования — это стек протоколов для систем, поддерживающих как любительские, так и продвинутые устройства, часто построенные с использованием программируемых FPGA. (например, аппаратные серверы WWW, FTP). Существуют также простые стеки TCP / IP, полностью реализованные аппаратно.