Transmission control protocol
Содержание:
- Задачи протокола ТСР
- Протокол UDP
- Межсетевой уровень
- Статусы HTTP
- Сетевые протоколы UDP, TCP, ICMP
- TCP
- Point-to-Point протоколы
- Что такое IP-адрес
- TCP[править]
- Прикладные протоколы[править]
- 2021: Уязвимости в стеках TCP/IP затрагивают миллионы промышленных и IoT-устройств
- Internet Layer
- IP адреса
- Как сбросить стек TCP/IP в Windows 10
- История
- Протокол UDP: что это и как работает?
- The Network Interface Layer
- IP[править]
- Что такое протокол TCP/IP?
- Специальные типы IP-адресов
- Что такое сетевые порты
- Основы TCP/IP
- Что такое TCP/IP
Задачи протокола ТСР
В сеансе связи ТСР обеспечивает ряд важных функций, большая часть которых связана с обеспечением интерфейса между различными приложениями и сетью. К числу этих функций относятся:
o мультиплексирование данных между приложениями и сетью;
o проверка целостности полученных данных;
o восстановление нарушенного порядка данных;
o подтверждение успешного получения данных;
o регулирование скорости передачи данных;
o измерение временных характеристик;
o координация повторной передачи данных, поврежденных или потерянных в процессе пересылки.
Протокол UDP
Протокол UDP (User Datagram Protocol) является вторым протоколом межхостового уровня (соответствующего транспортному уровню в эталонной модели OSI). UDP обеспечивает простейшие, требующие минимальных затрат средства передачи данных в виде так называемых «дейтаграмм» (datagrams).
Как правило, UDP используется в приложениях, ориентированных на широковещательную рассылку или работу с сообщениями, а также там, где не требуется полная надежность, обеспечиваемая протоколом TCP.
Межсетевой уровень
Межсетевой уровень IPv4 состоит из всех протоколов и процедур, позволяющих потоку данных между хостами проходить по нескольким сетям. Следовательно, пакеты, в которых передаются данные, должны быть маршрутизируемыми. За маршрутизируемость пакетов отвечает протокол IP (Internet Protocol).
Межсетевой уровень должен поддерживать маршрутизацию и функции управления маршрутами. Эти функции предоставляются внешними протоколами, которые называются протоколами маршрутизации. К их числу относятся протоколы IGP (Interior Gateway Protocols) и EGP (Exterior Gateway Protocols).
Статусы HTTP
В ответе сервера первое поле это статус обработки запроса, статусы сгруппированы в пять групп и для каждой группы используется код статуса состоящий из трехзначного числа.
- Статусы, которые начинаются на единицу (1ХХ), используются для передачи информационных сообщений.
- Статусы, которые начинаются на двойку (2ХХ), говорят о том, что запрос выполнен успешно, например наиболее популярный статус (200 OK), означает что страница найдена и она передается клиенту.
- Статусы, которые начинаются на тройку (3ХХ), говорят о перенаправлении, например статус 301 — постоянное перенаправление, говорит о том что страница была перемещена на другой адрес и все последующие запросы должны передаваться на этот новый адрес. Статус 307 тоже говорит о перенаправлении, но временном, сейчас доступ к странице можно получить по другому адресу, но через некоторое время необходимо снова обращаться к исходному адресу.
- Статусы, которые начинаются с четверки (4ХХ), говоря о том, что произошла какая-то ошибка на стороне клиента. Чаще всего встречается ошибка 404 — страница, которую запросил клиент не найдена на сервере. Также возможна ошибка 403 доступ к ресурсу, который запросил клиент запрещен и другие ошибки.
- Статусы начинающиеся на пять (5ХХ) говорят об ошибке на стороне сервера, например 500 — внутренняя ошибка сервера.
Сетевые протоколы 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 и пр.
TCP
Протокол передачи данных TCP – протокол обеспечивающий надежную доставку пакетов данных, он обеспечивает установку соединения между двумя хостами методом «рукопожатия», после которого может осуществляться обмен данными.
Перед началом передачи пакетов через TCP соединение устанавливается сессия с получателем, в рамках которой затем производится передача данных. Это позволяет убедиться в том, что получатель существует и готов принимать данные. После завершения передачи сессия закрывается, получатель извещается о том, что данных больше не будет, а отправитель извещается о том, что получатель извещён.
Каждый пакет при обмене имеет свой порядковый номер. TCP автоматически упорядочивает пакеты, используя порядковый номер, и передает после склейки на уровень приложений. После отправки нескольких пакетов, ожидается подтверждение и порядковый номер следующего пакета. Если подтверждение не получено, отправка повторяется, если попытки не увенчались успехом, сессия разрывается. Количество пакетов данных, на которые будет запрашиваться подтверждение, зависит от надежности сети. Если данные теряются, то подтверждение автоматически запрашивается чаще. Это называется механизмом скользящего окна (sliding window), благодаря которому TCP может работать с сетями, независимо от уровня их надежности.
Применение TCP целесообразно там, где недопустима потеря данных, например, при авторизации, а также при передаче шифрованной информации.
Point-to-Point протоколы
Отдельно расскажем о Point-to-Point (от точки к точке, двухточечный) протоколе также известном как PPP. PPP уникален по своим функциям, он применяется для коммуникации между двумя маршрутизаторами без участия хоста или какой-либо сетевой структуры в промежутке. При необходимости, PPP обеспечивает аутентификацию, шифрование, а также сжатие данных. Он широко используется при построении физических сетей, например, кабельных телефонных, сотовых телефонных, сетей по кабелю последовательной передачи и транк-линий (когда один маршрутизатор подключают к другому для увеличения размера сети).
У PPP есть два подвида — PPPoE (PPP по Ethernet) и PPPoA (PPP через асинхронный способ передачи данных — ATM), интернет-провайдеры часто их используют для DSL соединений.
PPP и его старший аналог SLIP (протокол последовательной межсетевой связи) формально относятся к межсетевому уровню TCP/IP, но в силу особого принципа работы, иногда выделяются в отдельную категорию. Преимущество PPP в том, что для установки соединения не требуется сетевая инфраструктура, а необходимость маршрутизаторов отпадает. Эти факторы обуславливают специфику использования PPP протоколов.
Что такое 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 (статический или динамический) зависит от настроек провайдера.
TCP[править]
TCP протокол базируется на IP для доставки пакетов, но добавляет две важные вещи:
- установление соединения — это позволяет ему, в отличие от IP, гарантировать доставку пакетов
- порты — для обмена пакетами между приложениями, а не просто узлами
Протокол TCP предназначен для обмена данными — это «надежный» протокол, потому что:
- Обеспечивает надежную доставку данных, так как предусматривает установления логического соединения;
- Нумерует пакеты и подтверждает их прием квитанцией, а в случае потери организует повторную передачу;
- Делит передаваемый поток байтов на части — сегменты — и передает их нижнему уровню, на приемной стороне снова собирает их в непрерывный поток байтов.
Прикладные протоколы[править]
Большинство прикладных протоколов базируется на TCP.
У многих протоколов прикладного уровня для серверов определены стандартные порты, используемые по умолчанию. Самые известные прикладные протоколы и их стандартные порты:
- HTTP — основной протокол всемирной паутины (TCP-порт 80)
- SMTP — протокол пересылки почты (TCP-порт 25)
- FTP — протокол передачи файлов (TCP-порт 21)
- DNS — протокол сопоставления доменных имен IP-адресам (UDP-порт 53)
Благодаря использованию стандартных портов мы можем набирать в браузере адреса веб серверов и не указывать порт — наши браузеры сами добавляют стандартный номер порта. Например, адрес на самом деле полностью выглядит так:
Разумеется, стандартный — не значит обязательный. Практически во всех прикладных протоколах можно указать серверу слушать произвольный номер порта. Правда, тогда этот номер уже указывать обязательно, например
Порты в диапазоне от 1 до 1023 называются хорошо известными. Службы, которыми используются эти порты, должны быть описаны как RFC и одобрены IESG. Далее идут зарегистрированные порты (1024 — 49151). Вы можете зарегистрировать в IANA (эта организация как раз занимается всем этим) один или несколько из этих портов под свою программу. Оставшиеся порты с 49152 по 65535 можно использовать без какой-либо регистрации.
Номера портов (IANA)
2021: Уязвимости в стеках TCP/IP затрагивают миллионы промышленных и IoT-устройств
13 апреля 2021 года стало известно о том, что исследователи безопасности из компании ForeScout совместно с экспертами JSOF обнаружили ряд уязвимостей в стеках TCP/IP, затрагивающий миллионы серверов, промышленных и «умных» устройств.
Уязвимости, получившие название NAME:WRECK, связаны с тем, как стеки TCP/IP обрабатывают DNS-трафик. Эксплуатация уязвимостей позволяет вызвать состояние «отказа в обслуживании» (DoS) или удаленно выполнить код (RCE). Таким образом злоумышленники могут отключить целевые устройства или перехватить контроль.
В общей сложности эксперты выявили девять уязвимостей в семи из пятнадцати стеков TCP/IP. Результаты анализа других восьми стеков показали, что FNET, cycloneTCP, uC/TCP-IP, FreeRTOS+TCP, Zephyr и OpenThread безопасно реализуют сжатие сообщений, в то время как Nut/Net и lwIP вовсе не поддерживали сжатие сообщений, и по умолчанию не были уязвимы.
Эксперты сообщили о своих находках разработчикам стеков, однако только FreeBSD, Nucleus NET и NetX получили исправления. IPNet все еще содержит уязвимости NAME:WRECK.
По словам специалистов, хотя выпуск исправлений может показаться обнадеживающим, на самом деле ситуация нет проста. Установка исправлений для «умных» устройств и промышленного оборудования обычно влечет за собой длительный период ожидания, в течение которого производители устройств должны будут интегрировать исправления и выпускать собственные обновления прошивки.
Большая часть оборудования может находится в удаленных местах и не поддерживать механизм обновления прошивки по воздуху (firmware-over-the-air, FOTA). Многие устройства, использующие уязвимые стеки TCP/IP, скорее всего, останутся уязвимыми к атакам в течение многих лет, в то время как другое оборудование может оставаться уязвимым до тех пор, пока оно не будет выведено из эксплуатации, полагают эксперты.
Internet Layer
An internet layer is a second layer of TCP/IP layes of the TCP/IP model. It is also known as a network layer. The main work of this layer is to send the packets from any network, and any computer still they reach the destination irrespective of the route they take.
The Internet layer offers the functional and procedural method for transferring variable length data sequences from one node to another with the help of various networks.
Message delivery at the network layer does not give any guaranteed to be reliable network layer protocol.
Layer-management protocols that belong to the network layer are:
- Routing protocols
- Multicast group management
- Network-layer address assignment.
IP адреса
Вид глобальных адресов, которые мы рассматриваем в этой статье это IP адреса, которые используются в стеке протоколов TCP/IP. и Интернет. IP адреса нужны для уникальной идентификации компьютеров в крупной составной сети, которая может включать в себя весь мир, например сети Интернет, и различные части сети интернет построенные на разных технологиях канального уровня.
Сейчас есть 2-е версии протокола IP: версия IPv4 и IPv6. Основное отличие между версиями протоколов в длине IP адреса. В IPv4 длина адреса 4 байта, а в IPv6 длина адреса 16 байт.
Длина адреса IPv4 — 32 бита, 4 байта. И чтобы людям было удобно работать с такими IP адресами их делят на 4 части.
В каждой части по 8 бит, такая часть называется октет. Каждый октет записывают в десятичном формате, и форма записи IP адреса следующая: четыре октета разделенных точкой (213.180.193.3). С таким видом деления адресов людям гораздо удобнее работать, чем с записью в двоичной форме длиной в 32 бита.
IP-адреса и IP-сети
Одна из задач сетевого уровня обеспечить масштабирование, построить такую сеть, которая может работать в масштабах всего мира. Для этого сетевой уровень работает не с отдельными компьютерами, а с подсетями, которые объединяют множество компьютеров.
В IP объединение происходит следующим образом, подсеть это некое количество компьютеров, у которых одинаковая старшая часть IP-адреса. В примере ниже у данного диапазона адресов одинаковые первые 3 октета, и отличается только последний октет.
И маршрутизаторы, устройства передающие информацию на сетевом уровне, работают уже не с отдельными IP адресами, а с подсетями.
Структура IP адреса
Наш IP адрес состоит из 2 частей:
- номер подсети — старшие биты IP адреса.
- номер компьютера в сети (хост) — младшие биты IP адреса.
Рассмотрим пример:
- IP-адрес: первые три октета (213.180.193.3) это адрес сети. Последний октет это адрес хоста (3).
- Адрес подсети записываем: 213.180.193.0
- Номер хоста: 3 (0.0.0.3).
Маска подсети
Как по IP адресу узнать, где адрес сети, а где адрес хоста. Для этого используется Маска подсети. Маска также, как IP адрес состоит из 32 бит, и она устроена следующим образом: там где в IP адресе находится номер сети маска содержит 1, а там где указан номер хоста 0.
Подробный пример разобран в видео на 4:50 минуте.
Есть два способа указать маску подсети. Десятичное представление в виде префикса.В десятичном представление маска записывается в формате похожем на формат IP адреса. 32 разделенные на 4 октета по 8 бит и каждый из этих 8 бит переведены в десятичное представление, они записываются через точку.
Маска в десятичном представление выглядит так 255.255.255.0
Другой формат записи маски в виде префикса. В этом случае указывается, сколько первых бит IP адреса относится к адресу сети, а всё остальное, считается, что относится к адресу хоста.
Префикс записывается через слэш (/).
213.180.193.3/24 это означает что первые 24 бита, то есть 3 октета относится к адресу к сети, а последний октет к адресу хоста.
Оба эти представления эквивалентны. Если мы запишем маску подсети в десятичном виде, либо виде префикса, мы получаем одинаковый адрес подсети.
Важно понимать, что маска подсети не обязательно должна заканчиваться на границе октетов. Хотя, так делают часто, чтобы людям было удобно работать с такими адресами сетей и хостов, но это делать не всегда удобно
Например, если у вас сеть достаточно крупная, то вам можно ее разбить на несколько более маленьких частей. А для этого приходится использовать маски переменной длины, именно так называются маски подсети которые не заканчиваются на границе октета.
Подробный пример на видео выше на минуте 8:20.
Как сбросить стек TCP/IP в Windows 10
Как мы упоминали ранее, Microsoft не предоставила простой способ сбросить интернет-протокол. Однако мы все еще можем сделать это с помощью команды netsh в командной строке.
Команду можно использовать для просмотра или настройки сетевых параметров в среде Windows, указав правильные параметры.
Обратите внимание, что этот процесс удалит все текущие конфигурации всех сетевых портов на вашем устройстве, включая все неактивные, а также виртуальные сетевые адаптеры. Следовательно, их нужно будет перенастроить после завершения процесса
Более того, операция также требует перезагрузки системы, поэтому рекомендуется сохранить ваши данные, прежде чем продолжить.
- Откройте командную строку с правами администратора.
- Введите , чтобы удалить текущие настройки IP.
- Введите , чтобы удалить кеш DNS.
- Введите для сброса кеша Windows Sockets API.
- Введите , чтобы сбросить кеш стека TCP/IP. Пока не перезагружайте компьютер.
- Введите , чтобы запросить новые параметры IP с сервера.
- Перезагрузите компьютер.
Если вы хотите автоматизировать процесс, просто скопируйте и вставьте вышеупомянутую команду в текстовый документ и сохраните ее с любым именем по вашему выбору, заканчивающимся на . Это создаст командный файл, который выполнит все команды внутри, когда вы дважды щелкните его.
Например, скрипт может выглядеть так:
@echo off echo "Сброс настроек TCP/IP by ip-calculator.ru" TIMEOUT /T 5 echo "Завершаем все сетевые соединения" ipconfig /release pause echo "Очищаем кэш DNS" ipconfig /flushdns pause echo "Сбрасываем кэш Win Sockets API" netsh winsock reset pause echo "Сбрасываем кэш TCP/IP" netsh int ip reset pause echo "Устанавливаем сетевые соединения заново" ipconfig /renew
Если вы по-прежнему не можете получить доступ к Интернету, вы можете полностью сбросить настройки сети Windows.
TCP/IP — это душа компьютерных сетей; без него доступ в Интернет был бы невозможен. Рекомендуется поддерживать сетевой кэш вашей системы и оптимизировать его для повышения производительности.
Инструкция по сбросу протокола актуальна для всех версий Windows. На видео заснят процесс сброса на Windows 7.
История
Протокол управления передачей ранее был известен как «Программа управления передачей». Создание интернета, хотя многие утверждают, что он был изобретен, в основном можно отнести на счет Винт Серфа и Боба Хана. Одним из других примечательных имен в Интернет-технологиях является Джон Постел, который представил концепцию «стека протоколов», который также используется в протоколах TCP/IP. Это относится к их опубликованной в мае 1974 года работе под названием «Программа для взаимодействия по пакетным сетям». Он был опубликован Институтом инженеров электротехники и электроники при спонсорской поддержке Министерства обороны Соединенных Штатов Америки.
Протокол UDP: что это и как работает?
Самый большой Протокол UDP (протокол пользовательских дейтаграмм) является одним из основных протоколов в Интернете, он позволяет приложениям обмениваться данными с гарантиями независимо от нижних уровней модели TCP / IP. Это означает, что маршрутизаторы (сетевой уровень в модели TCP / IP) должны отправлять только дейтаграммы (единица измерения в UDP). UDP поддерживает несколько протоколов прикладного уровня, например, популярный DNS и даже протокол DHCP для автоматического получения (и предоставления) IP-адресации.
основные черты
Протокол UDP позволяет отправлять дейтаграммы без необходимости устанавливать соединение, необходимо лишь открыть сокет в месте назначения, чтобы принимать дейтаграммы источника. UDP — это протокол, не ориентированный на установление соединения, то есть это происходит не так, как в TCP, где есть фаза установления соединения, здесь они отправляются напрямую без «предупреждения» предварительного установления.
Этот протокол не обеспечивает какого-либо типа управления потоком Если одно устройство быстрее другого и отправляет информацию, вполне возможно, что информация будет потеряна, поскольку она будет разрушаться при самой низкой скорости, и нам придется перейти к пересылке информации
Важной деталью является то, что управление пересылкой дейтаграмм осуществляется транспортным уровнем, поскольку UDP очень прост и не имеет механизмов управления для пересылки дейтаграмм, поскольку он был потерян
UDP также не обеспечивает любой тип контроля скопление если в сети есть перегрузка, пакеты могут быть потеряны, и, конечно, он не будет отвечать за их повторную отправку, как это происходит с TCP. Следовательно, UDP не имеет контроля перегрузки, контроля потока или контроля ошибок, можно сказать, что UDP является ненадежным протоколом. Кроме того, он не предоставляет порядок в отправленных дейтаграммах и информацию о том, правильно ли поступила дейтаграмма, поскольку нет подтверждения доставки или получения. Любой тип гарантий передачи информации должен быть реализован на более высоких уровнях.
Этот протокол в основном используется в DHCP и DNS, где скорость важнее надежности. UDP широко используется в задачах управления передачей аудио и видео по сети. UDP только добавляет мультиплексирование приложения и добавление контрольной суммы в заголовок и полезную нагрузку.
Заголовок UDP
UDP добавляет 8-байтовый заголовок в каждой дейтаграмме. В этом заголовке UDP мы найдем порт источника и порт назначения соединения (сокета), длину дейтаграммы и контрольную сумму упомянутой дейтаграммы, чтобы убедиться, что в ней нет ошибок ни заголовка, ни данных дейтаграммы. порты (исходный порт и порт назначения) необходимы для правильного функционирования UDP. UDP использует эти номера портов для идентификации сокета, то есть приложения, которое передает данные или получает данные.
The Network Interface Layer
Network Interface Layer is this layer of the four-layer TCP/IP model. This layer is also called a network access layer. It helps you to defines details of how data should be sent using the network.
It also includes how bits should optically be signaled by hardware devices which directly interfaces with a network medium, like coaxial, optical, coaxial, fiber, or twisted-pair cables.
A network layer is a combination of the data line and defined in the article of OSI reference model. This layer defines how the data should be sent physically through the network. This layer is responsible for the transmission of the data between two devices on the same network.
IP[править]
IP — протокол, лежащий в основе Интернета, его название так и расшифровывается: Internet Protocol.
В настоящее время используются следующие две версии протокола IP:
- IPv6 — сравнительно новая (текущая версия спецификации опубликована в декабре 1998); IP-адрес имеет разрядность 128 бит и записывается в виде восьми 16-битных полей, с использованием шестнадцатеричной системы счисления и с возможностью сокращения двух и более последовательных нулевых полей до ; пример: ;
- IPv4 — «классическая» (1981 г.); IP-адрес имеет разрядность 32 бита и записывается в виде четырех десятичных чисел в диапазоне 0 … 255 через точку; пример: .
Каждый узел может напрямую связаться только с узлами своей сети (например: подключенными к тому же сегменту Ethernet), для определения которых используется адрес сети — часть IP-адреса, определяемая маской сети. Связь с узлами других сетей осуществляется через промежуточные узлы — маршрутизаторы.
Посмотреть, как выглядит маршрут пакета от вашего компьютера к другим узлам, можно с помощью команды traceroute (в Linux) или tracert (в Windows).
Что такое протокол TCP/IP?
Протокол управления передачей/Интернет-протокол отвечает за перенос пакетов от одного источника к месту назначения. Этот протокол включает трехстороннее рукопожатие, что означает, что перед обменом фактической информацией происходит обмен тремя пакетами между источником и целью. Это рукопожатие предназначено для установления доверия между двумя устройствами.
Многократное повторение этих рукопожатий значительно увеличит трафик в сети. Следовательно, данные кэшируются и хранятся локально, чтобы избежать ненужной транспортировки пакетов.
Более того, протокол TCP/IP работает аналогично эталонной модели OSI. Это означает, что у него есть собственный набор правил и положений, которые он устанавливает для связи между устройствами. Это называется стеком. Кэш TCP/IP относится к хранимым в устройстве данным, которые он использует для маршрутизации пакетов.
Специальные типы IP-адресов
Какие бывают специальные типы IP адресов:
В номере хоста нельзя использовать только битовые 0, и только битовые 1. Если мы укажем только битовые 0, то это получится не адрес хоста, а адрес подсети 213.180.193.0.
А если укажем только битовые 1, то это будет широковещательный адрес. 213.180.193.255.
Часто, маршрутизатору по умолчанию в сети, или шлюзу, через которые все компьютеры сети попадают в интернет, присваивают адрес с номером 1. Однако четких правил нет, так делать не обязательно 213.180.193.1.Адрес который состоит из всех 0.0.0.0 это адрес текущего хоста. Он используется, когда компьютер еще не получил свой IP адрес.
Адрес из всех битовых единиц, 255.255.255.255 это все хосты в текущей подсети (ограниченный широковещательный адрес).
127.0.0.0/8 это обратная петля, специальный диапазон адресов, который выделен для того чтобы отлаживать сетевые приложения, если у вас нет сетевого оборудование или оно настроено не так как вам нужно, в этом случае данные не отправляются в сеть, а приходят обратно на компьютер. Часто из этой сети используется адрес 127.0.0.1 это текущий компьютер (localhost). Однако не обязательно для этой цели использовать адрес с хостом 1, можно использовать 2, 3 или другой любой IP адрес из этого диапазона. IP адреса из подсети 169.254.0.0/16 называются Link-local адреса. Случае если вы не настроили IP адрес на своем ПК вручную или каким либо другим способом, например с помощью протокола DHCP, то операционная система сама может назначить компьютеру адрес из этого диапазона. Такие адреса могут использоваться только в пределах подсети и не проходят через маршрутизатор.
Что такое сетевые порты
При передаче данных кроме IP-адресов отправителя и получателя пакет информации содержит в себе номера портов. Пример: 192.168.1.1:80, — в данном случае 80 — это номер порта. Порт — это некое число, которое используется при приеме и передаче данных для идентификации процесса (программы), который должен обработать данные. Так, если пакет послан на 80-й порт, то это свидетельствует, что информация предназначена серверу HTTP.
Номера портов с 1-го до 1023-й закреплены за конкретными программами (так называемые well-known-порты). Порты с номерами 1024-65 535 могут быть использованы в программах собственной разработки. При этом возможные конфликты должны решаться самими программами путем выбора свободного порта. Иными словами, порты будут распределяться динамически: возможно, что при следующем старте программа выберет иное значение порта, если, конечно, Вы вручную через настройки не задавали ей порт.
Основы TCP/IP
Стек протоколов TCP/IP (Transmission Control Protocol/Internet Protocol, протокол управления передачей/протокол интернета) — сетевая модель, описывающая процесс передачи цифровых данных. Она названа по двум главным протоколам, по этой модели построена глобальная сеть — интернет. Сейчас это кажется невероятным, но в 1970-х информация не могла быть передана из одной сети в другую, с целью обеспечить такую возможность был разработан стек интернет-протоколов также известный как TCP/IP.
Разработкой этих протоколов занималось Министерство обороны США, поэтому иногда модель TCP/IP называют DoD (Department of Defence) модель. Если вы знакомы с моделью OSI, то вам будет проще понять построение модели TCP/IP, потому что обе модели имеют деление на уровни, внутри которых действуют определенные протоколы и выполняются собственные функции. Мы разделили статью на смысловые части, чтобы было проще понять, как устроена модель TCP/IP:
Что такое TCP/IP
TCP/IP — это набор протоколов, специальных правил, которые упорядочивают и обеспечивают надежный обмен информацией среди устройств, объединенных в сеть. Это может быть локальная сетка из двух компьютеров, так и глобальная паутина.
Полностью пишется, как, Transmission Control Protocol/Internet Protocol, что в переводе означает — Протокол управления передачи/Интернета.
Позволяет взаимодействовать между собой устройствам, находящимся в разных сетях и с различными операционными системами, например, между Windows, Mac OS, Linux и т.д.
Название данного стека — набора правил сложилось из основных двух:
- Протокол IP — берет на себя задачу по адресации, определяет, где в передаваемых данных: адрес, содержимое.
- Протокол TCP — обеспечивает и контролирует надежную передачу информации и ее целостность.
Также включает в себя и другие, но так, как эти являются базовыми, закрепилось именно такое называние. Как видите, все оказалось довольно просто.
Как работает TCP/IP — принцип работы
У каждого компьютера и ноутбука в сети есть свой уникальный ip адрес. Программы, которые используются на компьютере применяют свой уникальный порт для их идентификации. Порт необходим, чтобы программы различали друг друга, т.к. только по айпи будет не понятно, какой софт запрашивает информацию и куда ее следует отправлять.
Так обмениваются между собой программы по сети:
Программа 1 — отправитель:
IP адрес: 192.168.0.32
Порт: 2054
Программа 2 — получатель:
IP адрес: 192.168.0.34
Порт: 2071
Пересылаемые данные пакета:
— — —
IP — это уникальный адрес компьютера. Порт — это идентификатор приложение установленного на нем. Связка, IP + порт называется — сокет.
Стек протоколов TCP/IP
Стек разделяется на четыре уровня, в каждом из которых свои протоколы. Все они функционируют одновременно, поэтому у каждого есть свои правила, чтобы они работали без перебоев и конфликтов.
1. Прикладной / Для приложений. Это: HTTP, SMTP, DNS, FTP и т.д. Т.е. Веб, почта, передача файлов и прочее.2. Транспортный. Это: TCP, UPD и т.д. Отвечает за связь между компьютерами и за доставку данных.3. Сетевой (межсетевой). IP, IGMP и т.д. Отвечает за адресацию.4. Канальный / Сетевые интерфейсы. Это: Ethernet, Wi-Fi, DSL.
На этом стеке и реализовано все взаимодействие пользователей в IP сетях. Также, существуют и другие стеки: OSI, IPX/SPX, IPX/SPX.
В заключение
Вот вы и узнали, что это такое, постарался объяснить все просто, для «чайников». Следующие материалы также будут посвящены технологии передачи данных в интернете.