Основы TCP/IP
Стек протоколов TCP/IP (Transmission Control Protocol/Internet Protocol, протокол управления передачей/протокол интернета) — сетевая модель, описывающая процесс передачи цифровых данных. Она названа по двум главным протоколам, по этой модели построена глобальная сеть — интернет. Сейчас это кажется невероятным, но в 1970-х информация не могла быть передана из одной сети в другую, с целью обеспечить такую возможность был разработан стек интернет-протоколов также известный как TCP/IP.
Разработкой этих протоколов занималось Министерство обороны США, поэтому иногда модель TCP/IP называют DoD (Department of Defence) модель. Если вы знакомы с моделью OSI, то вам будет проще понять построение модели TCP/IP, потому что обе модели имеют деление на уровни, внутри которых действуют определенные протоколы и выполняются собственные функции. Мы разделили статью на смысловые части, чтобы было проще понять, как устроена модель TCP/IP:
Механизм работы WebSocket
В интернете существуют строгие правила для передачи данных между клиентом и сервером (стек протоколов TCP/IP), но нет жестких правил о том, как устанавливать соединение и структурировать передаваемое сообщение. А это влияет на скорость.
Для установления соединения веб-сокет применяет метод открывающего рукопожатия. Он заключается в том, что клиент предваряет отправку/получение сообщений предварительным запросом, в котором клиент и сервер «договариваются» использовать веб-сокеты. Это и есть «рукопожатие». Структура такого запроса похожа на HTTP, но немного отличается от него. Затем клиент и сервер обмениваются данными уже в рамках этого соединения.
Кроме того, у веб-сокетов есть дополнительные расширения, которые дополняют и расширяют протокол. Например, есть расширение для сжатия данных. Или возможность передавать данные в формате протоколов SOAP, WAMP или XMPP. Чтобы эти расширения работали, они должны поддерживаться и сервером, и клиентом.
Когда использовать и не использовать WebSocket
WebSocket подходит, когда нужны обновления данных в реальном времени и возможность доставлять сообщения клиенту. Несколько примеров для WebSocket:
- торговые приложения с изменчивостью котировок, цен в реальном времени: платформы продаж, биржи;
- игровые приложения;
- чаты, в том числе на сайтах поддержки;
- push-уведомления;
- социальные сети;
- управление устройствами в IoT (используется подпротокол WAMP).
Когда нужно получить неизменные данные, которые извлекаются только один раз, чтобы обработать их приложением, лучше использовать протокол HTTP, а не WebSocket. Это может быть, например, страница со статьей. После публикации статья практически не меняется, поэтому нет смысла использовать постоянное соединение для ее отображения.
Протоколы модели TCP/IP
TCP/IP — это главная модель интернет-технологий. Название состоит из имен двух протоколов: TCP и IP. Мы упоминали их выше, но тут расскажем подробнее — на их взаимодействии работает весь интернет.
TCP. Transmission Control Protocol, или протокол управления передачей, помогает надежно передавать и принимать данные. Согласно модели OSI он находится на транспортном уровне — это своеобразный регулировщик для движения информации. TCP работает так:
- формирует сообщения в определенном формате;
- работает по установленному каналу связи;
- предупреждает, что собирается передать адресату данные;
- отвечает за очередь их передачи;
- гарантирует получение данных — проверяет, дошло ли сообщение, и при необходимости заново отправляет запрос;
- сообщает отправителю, пришли ли данные;
- убирает дубли, если какие-то данные пришли дважды.
TCP стал самым популярным транспортным протоколом доступа в интернете благодаря своей «заботливости»: он проверяет целостность данных и запрашивает их снова, если надо. В итоге все передается как надо и не теряется по пути.
IP. Название расшифровывается как Internet Protocol — протокол интернета. Если TCP отвечает за процесс передачи данных, то IP — за маршрут. Он относится к третьему уровню OSI, сетевому. Вот что делает этот протокол сети интернет:
- присваивает компьютерам в сети уникальные IP-адреса;
- соотносит эти адреса с аппаратными — MAC-адресами;
- создает логические соединения между разными адресами;
- определяет маршрут, по которому пойдет пакет данных.
IP не заботится о целостности данных и о механизме передачи — за них отвечает уже TCP. Выходит, что протоколы дополняют друг друга: IP определяет, куда отправить информацию, а TCP — как это сделать.
Связка TCP/IP — ключевая в устройстве сети. Некоторые определения включают в модель и другие протоколы, важные для интернета, например HTTP или DNS, даже Ethernet с канального уровня. Но основу все равно составляют TCP и IP.
Пропускная способность сети Ethernet
Пропускная способность оценивается через количество кадров либо количество байт данных, передаваемых по сети за единицу времени. Если в сети не происходят коллизии, максимальная скорость передачи кадров минимального размера(64 байта) составляет 14881 кадров в секунду. При этом полезная пропускная способность для кадров Ethernet II – 5.48 Мбит/с.
Максимальная скорость передачи кадров максимального размера (1500 байт) составляет 813 кадров в секунду. Полезная пропускная способность при этом составит 9.76 Мбит/с.
-
Какой датой проводить больничный в 1с датой выдачи и датой когда сдали
-
Как прошить телефон андроид через компьютер если телефон не включается
-
Что делает браузер в первую очередь чтобы найти ip адрес сайта который вы открываете
-
Перерасчет больничного листа после оплаты в 1с 8 3 бухгалтерия
- Итеративные вычисления в excel что это
Что такое UDP/IP
Иногда вместо протокола TCP в той же модели используется другой транспортный протокол — UDP. Тогда говорят о модели UDP/IP, а иногда ее называют частным случаем TCP/IP. Название означает User Datagram Protocol — протокол пользовательских датаграмм. Датаграмма в этом случае — название пакета данных. UDP проще и быстрее, чем TCP, но не так заботится о целостности информации:
- не сообщает получателю, что сейчас перешлет ему датаграмму;
- не требует создавать отдельный канал связи;
- не следит за порядком передачи данных;
- не спрашивает, пришла ли информация, и ничего не делает, если данные потерялись.
Известный мем про разницу между TCP и UDP
Информация, переданная по UDP, может потеряться или дублироваться, прийти не по порядку — но сами датаграммы, если придут, будут полностью целыми. UDP применяют реже, чем TCP, в основном там, где важны скорость и производительность, — например, в системах реального времени или на высоконагруженных серверах онлайн-игр.
Другие протоколы верхнего уровня
- FTP (File Transfer Protocol): этот протокол используется для передачи файлов между компьютерами в сети. FTP может работать в «активном» или «пассивном» режимах, которые определяют, как устанавливается соединение.
- SMTP (Simple Mail Transfer Protocol): SMTP используется для отправки электронной почты. Когда вы отправляете письмо, ваш почтовый клиент использует SMTP, чтобы передать его почтовому серверу.
- POP3 (Post Office Protocol, version 3) и IMAP (Internet Message Access Protocol): это протоколы, которые используются почтовыми клиентами для получения сообщений с почтовых серверов. IMAP позволяет нескольким устройствам синхронизировать состояние почтового ящика, тогда как POP3 просто загружает письма на локальное устройство.
- DNS (Domain Name System): хотя DNS часто не рассматривается как протокол верхнего уровня в строгом смысле, его функции жизненно важны для работы Интернета. DNS преобразует человеко-читаемые доменные имена (например, «example.com») в IP-адреса, которые компьютеры используют для идентификации друг друга в сети.
- SSH (Secure Shell): протокол для безопасного удаленного управления системами и передачи данных. SSH шифрует своё соединение, чтобы предотвратить перехват или подмену передаваемых данных.
- Telnet: Это старый протокол для удаленного управления системами, предшественник SSH. Сегодня его использование считается небезопасным, так как данные передаются в открытом виде без шифрования.
Эти протоколы представляют лишь малую часть множества протоколов, использующихся в сети Интернет. Однако именно они играют ключевую роль в повседневной работе многих интернет-сервисов.
Ключевые понятия и термины
Перед тем как разобраться в том, что такое протоколы и для чего они предназначены в Сети, нужно запомнить несколько ключевых определений:
- Сеть – логически и физически соединенные друг с другом цифровые устройства и системы. Используются такие связи для обмена данными. В качестве сетевых компонентов может выступать самое разное оборудование – от обычных компьютеров и смартфонов до «умной» техники и лампочек. Размер Сети разнообразен. Минимально он составляет 2 устройства, которые соединяются друг с другом кабелем. Данные, передаваемые по сетям, формируются в пакеты – небольшие информационные блоки. Они создаются, руководствуясь правилами специальных протоколов.
- Сетевой узел – одна из основных составляющих компьютерной сети. Выражена отдельным оборудованием. Узлы бывают промежуточными и оконечными.
- Оконечный узел – узел, который занимается отправкой или принятием данных. Обычно представлен устройством, которое или получает, или отправляет информацию.
- Промежуточный узел – узел, соединяющий оконечные узлы друг с другом.
- Сетевая среда – среда, в которой производится передача данных. В качестве этого элемента могут выступать провода, кабели, оптоволокно, воздушная среда. Если воспользоваться медной проволокой в качестве среды, данные будут передаваться за счет электрических импульсов. Когда речь идет об оптоволокне, информация будет передаваться за счет световых импульсов. Если кабелей и проводов нет, сведения передаются по беспроводным технологиям – радиоволнами.
Все это лучше и быстрее поможет понять протоколы сетевого взаимодействия
Перед более детальным их изучением необходимо обратить внимание на еще одну особенность – виды сетей. Они зависят от расположения узлов и их итогового количества
Стек протоколов, снова канальный уровень
О канальном уровне модели TCP/IP мы рассказали меньше всего, давайте вернемся еще раз к началу, чтобы рассмотреть инкапсуляцию протоколов и, что значит «стек».
Большинству пользователей знаком протокол Ethernet. В сети, по стандарту Ethernet, устройства отправителя и адресата имеют определенный MAC-адрес — идентификатор «железа». MAC-адрес инкапсулируется в Ethernet вместе с типом передаваемых данных и самими данными. Фрагмент данных, составленных в соответствии с Ethernet называется фреймом или кадром (frame).
MAC-адрес каждого устройства уникален и двух «железок» с одинаковым адресом не должно существовать, хотя порой такое случается, что приводит к сетевым проблемам. Таким образом, при получении сетевой адаптер занимается извлечением полученной информации из кадра и ее дальнейшей обработкой.
После ознакомления с уровневой структурой модели становится понятно, что информация не может передаваться между двумя компьютерами напрямую. Сначала кадры передаются на межсетевой уровень, где компьютеру отправителя и компьютеру получателя назначается уникальный IP. После чего, на транспортном уровне, информация передается в виде TCP-фреймов либо UDP-датаграмм.
На каждом этапе, подобно снежному кому, к уже имеющейся информации добавляется служебная информация, например, порт на прикладном уровне, необходимый для идентификации сетевого приложения. Добавление служебной информации к основной обеспечивают разные протоколы — сначала Ethernet, поверх него IP, еще выше TCP, над ним порт, означающий приложение с делегированным ему протоколом. Такая вложенность называется стеком, названным TCP/IP по двум главным протоколам модели.
Общая схема построения сети Интернет
Составляющие сети Интернет перекрывают друг друга, поэтому любая пара его узлов соединена между собой по многим каналам связи. Благодаря этому Интернет обеспечивает устойчивую связь даже при разрушении части сети.
В подавляющем большинстве компьютеры узлов и хостов принадлежат некоторым организациям, которые обеспечивают доступ к Интернет отдельным пользователям. Такие организации называются провайдерами (поставщиками) услуг Интернет. Таким образом, пользователь, подключившись к компьютеру провайдера, может получать информацию с других компьютеров, которые являются серверами сети.
Для обмена данными компьютеры сети Интернет используют протокол, который называется TCP/IP. Этот протокол состоит из двух частей:
- TCP — протокол управления обменом данными,
- IP — протокол определения маршрута передачи данных.
Общие сведения
Сетевой протокол – это набор правил, который позволяет обмениваться данными нескольким устройствам связанным сетью. Ни одно удалённое подключение не может обойтись без работы протоколов, без них система просто не знала бы как взаимодействовать и общаться. Если обобщать, то можно сказать что это семейство стандартов, предписывающее методы общения, а также спецификации оборудования.
Для описания и деления протоколов используется семиуровневая модель OSI (Open System Interconnection — взаимодействие открытых систем, ВОС). В этой классификации описываются все формы взаимодействия необходимые для полноценной работы оборудования:
• Приложение;
• Представление;
• Сеанс;
• Транспорт;
• Сеть;
• Передача данных;
• Физическое воплощение.
Понятие сетевого протокола
Все устройства, подключенные к сети, взаимодействуют друг с другом на одном уровне, обмениваясь сообщениями в заданной последовательности и в определенном формате. Сетевой протокол — это именно порядок такого взаимодействия, некая система форм и правил, представленная как набор процедур для каждого уровня сетевой иерархии.
Понятие сетевого протокола
Специалисты этим понятием чаще всего описывают регламент общения двух узлов, расположенных в разных местах сети, но находящихся на одном уровне. Несколько протоколов разных уровней могут работать согласованно и организовывать, таким образом, межсетевое взаимодействие.
Такая система называется стеком протоколов, где протоколы являются средством реализации данного взаимодействия. Здесь можно провести аналогию с неким алгоритмом решения задачи и программой, выполняющей данный алгоритм.
Каждый протокол может быть программно реализован несколькими способами. Так, компания Microsoft для своей системы Windows NT внедрила регламент IPX, представленный в виде ПО NWLink. Этот же протокол реализовала Novell, но он отличается своими характеристиками.
Поэтому сравнивать аналогичные протоколы от разных компаний следует не только по их функциональности, но и по качеству программной реализации
Немаловажно учитывать также и качество стека протоколов. От распределения функций между элементами этой многоуровневой структуры и от определения интерфейсов между ними зависит в итоге эффективность взаимодействия сетевых устройств
Узнай, какие ИТ — профессии входят в ТОП-30 с доходом от 210 000 ₽/мес
Павел Симонов
Исполнительный директор Geekbrains
Команда GeekBrains совместно с международными специалистами по развитию карьеры
подготовили материалы, которые помогут вам начать путь к профессии мечты.
Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в
IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее
будущее!
Скачивайте и используйте уже сегодня:
Павел Симонов
Исполнительный директор Geekbrains
Топ-30 самых востребованных и высокооплачиваемых профессий 2023
Поможет разобраться в актуальной ситуации на рынке труда
Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка
Только проверенные нейросети с доступом из России и свободным использованием
ТОП-100 площадок для поиска работы от GeekBrains
Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽
Получить подборку бесплатно
pdf 3,7mb
doc 1,7mb
Уже скачали 28446
Реализация протоколов обеспечивается не только аппаратными и программными возможностями компьютеров. В этом участвуют и отдельное коммуникационное оборудование. Тип конкретного устройства определяет, какие именно средства встроены в это устройство, чтобы реализовать некий набор протоколов.
Протоколы сетевого уровня
Интернет-протокола (IP)
Интернет-протоколы представляют собой набор правил, которые определяют, как данные передаются по сети. Протокол IP — это стандарт со спецификациями относительно того, как должны работать подключенные устройства в Интернете. По нескольким причинам: адресация и маршрутизация .
адресация о том, что любое устройство, подключенное к определенной сети, имеет уникальный IP-адрес , Таким образом, происхождение и назначение данных в пути будут известны. С другой стороны, маршрутизация определяет путь, по которому должен проходить трафик, основываясь на IP-адресе. Задача маршрутизации выполняется через маршрутизаторы, не только тот, который у нас дома, но и через маршрутизаторы операторов. В свою очередь, различные протоколы взаимодействуют с IP для обеспечения связи в любой сети.
Протокол управляющих сообщений Интернета (ICMP)
Этот протокол поддерживает процесс контроля ошибок. Это так, поскольку протокол IP по умолчанию не имеет механизма управления ошибками в целом. ICMP используется для отчетов об ошибках и запросов управления. Это протокол, используемый такими устройствами, как маршрутизаторы, для отправки сообщений об ошибках и информации, связанной с операциями. Например, вы можете сообщить, что запрошенная услуга недоступна или что кашель или маршрутизатор не может быть достигнут / расположен. Этот протокол находится чуть выше протокола IP на уровне протокола TCP / IP.
Доменная система
Людям неудобно запоминать последовательность цифр, поэтому была введена система доменных имен Domain
Name
System
(DNS
). Она обеспечивает соответствие числовому
IP
-адресу каждого компьютера уникального доменного имени, которое обычно состоит из двух-четырех слов, разделенных точками (доменов).
Доменное имя читается слева направо. Самое правое слово в доменном имени является доменом верхнего, или первого, уровня. Существует два типа доменов верхнего уровня: географические (двухбуквенные – указывают на страну, в которой находится узел) и административные (трехбуквенные) – указывают на тип или профиль организации. Каждой стране мира выделен свой географический домен. Например, России принадлежит географический домен ru, в котором российские организации и граждане имеют право зарегистрировать домен второго уровня.
Для США наименование страны по традиции опускается, там самыми крупными объединениями являются сети образовательных (edu), коммерческих (com), государственных (gov), военных (mil) учреждений, а также сети других организаций (org) и сетевых ресурсов (net).
После домена верхнего уровня следует домен второго уровня, затем третьего и т. д. Например, в доменном имени gosuslugi
.
samara
.
ru
RU
является доменом верхнего уровня,
SAMARA
– второго, а
GOSUSLUGI
– третьего.
Таблицы соответствия DNS-адресов IP-адресам размещают на специальных DNS-серверах, подключаемых к Интернету. Если устройство не знает IP-адреса компьютера, с которым собирается установить связь, а имеет только символьный DNS-адрес, то оно запрашивает DNS-сервер, предоставляя ему текстовый вариант, и получает в ответ IP-адрес нужного адресата.
Каковы основные характеристики Интернет-протокола?
Протокол — это стандарт или набор правил для передачи и приема данных по сети. То есть он определяет, как информация будет передаваться в сети. Это невозможно с одним протоколом, но для совместной работы требуются сотни из них. .
В Интернете этот набор известен как протоколы TCP / IP и все они характеризуются следующими аспектами:
- Прямой непрямой: Если протокол работает в одной и той же сети и соединяет одну точку с другой, он считается прямым, а если он соединяет две точки в двух разных сетях, он будет косвенным, поскольку в этот процесс будут вмешиваться другие протоколы.
Монолитный / структурированный: Когда мы говорим о монолитном, мы имеем в виду однослойный протокол, в котором выполняются все его функции, в то время как в структурированном он будет влиять на несколько уровней модели связи.
Симметричный / асимметричный: Симметричный протокол — это протокол, который используется для связи двух пользователей или компьютеров с одинаковыми разрешениями и функциями в сети. Асимметричным будет тот, который будет передавать оборудование с разными функциями и весом по всей сети. Последний наиболее часто используется в Интернете.
Стандартизированные / нестандартные: Стандартизованный протокол — это протокол, разработанный только для выполнения определенной функции, которая не меняется и не требует подключения к внешнему агенту
Это очень важно в современных цифровых коммуникациях.
Заключение
Протокол FTP, несомненно, до сих пор играет важную роль в вопросе хранения и распространения информации в сети несмотря на свой почтенный возраст. Это удобный, многофункциональный и стандартизированный протокол. На его базе построено множество файловых архивов, без которых техническая работа была бы не столь эффективна. Кроме того, он лёгок в настройке, а программы-серверы и клиенты существуют практически для всех актуальных и не очень платформ.
В свою очередь его защищённые версии решают проблему конфиденциальности хранимых и передаваемых данных в современном мире. Оба новых протокола имеют свои плюсы и минусы и выполняют немного разные роли. В тех областях, где необходим именно файловый архив предпочтительнее использовать FTPS, особенно если раньше там уже использовался классический FTP. SFTP менее распространён в силу своей несовместимости со старым протоколом, но более защищён и имеет больший функционал, так как является частью системы удалённого управления.
Заключение
p, blockquote 52,0,0,0,0 —>
TCP использует соединение между отправителем и получателем, которое необходимо установить до того, как начнется передача данных, а после завершения передачи соединение необходимо разорвать.
p, blockquote 53,0,0,0,0 —>
p, blockquote 54,0,0,0,0 —>
p, blockquote 55,0,0,0,0 —> p, blockquote 56,0,0,0,1 —>
Поток байт
От приложения, протокол TCP получает поток байт, который может быть очень большим. Например, вы можете скачивать из интернета файл, который составляет несколько мегабайт или несколько гигабайт. Данные файлы приходят на транспортный уровень в виде одного большого потока байт.
p, blockquote 6,0,0,0,0 —>
p, blockquote 7,0,0,0,0 —>
В протоколе TCP поток байт делится на отдельные части, которые называются сегменты. Каждый сегмент отправляется отдельно получателю. Получатель со своей стороны, принимает сегменты, собирает их в один большой поток байт и отправляет этот поток байт приложению.
p, blockquote 8,0,0,0,0 —>
Архитектура электронной почты
Протокол SMTP используется при передаче электронной почты, возможны два варианта использования:
p, blockquote 3,0,0,0,0 —>
p, blockquote 4,0,0,0,0 —>
При передачи почты от агента пользователя почтовому серверу и при передачи писем между почтовыми серверами используется протокол SMTP. Для чтения почты используется протоколы POP3 и IMAP.
p, blockquote 5,0,0,0,0 —>
IP — Internet Protocol
Протокол передачи, который первым объединил отдельные компьютеры в единую сеть. Самый примитивный в этом списке. Он является ненадёжным, т. е. не подтверждает доставку пакетов получателю и не контролирует целостность данных. По протоколу IP передача данных осуществляется без установки соединения.
Основная задача этого протокола — маршрутизация датаграмм, т. е. определение пути следования данных по узлам сети.
23 августа – 31 октября, Онлайн, Беcплатно
Популярная версия на текущий момент — IPv4 с 32-битными адресами. Это значит, что в интернете могут хранится 4.29 млрд адресов IPv4. Число большое, но не бесконечное. Поэтому существует версия IPv6, которая поможет решить проблему переполнения адресов, ведь уникальных IPv6 будет 2 ^ 128 адресов (число с 38 знаками).