Что такое TCP/IP и зачем они нужны

В одной из предыдущих статей мы выяснили, что такое как таковой протокол в ИТ и зачем он нужен. Кратко так: 

  • Компьютеры могут общаться между собой.
  • Для этого им нужно договориться о языке общения — это и есть протокол.
  • Протоколы бывают физическими — какие вольты, амперы, радиочастоты и модуляции использовать оборудованию.
  • Протоколы бывают логическими — как понимать сигналы, закодированные в этих вольтах и модуляциях.
  • Существует целый стек протоколов — как многослойный пирог. В фундаменте там вольты и амперы, потом основы языка, потом сложные конструкции языка и на самой верхушке — как должны общаться приложения. Этот стек (или модель) называют OSI — Open Systems Interconnection Model.

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

Коротко: что такое и зачем нужны TCP/IP

  1. TCP/IP — это названия протоколов, которые лежат в основе интернета. Благодаря им компьютеры обмениваются данными, не мешая друг другу.
  2. Оба протокола отвечают за передачу данных, но IP просто отправляет их в сеть, а TCP ещё следит за тем, чтобы эти данные попали по нужному адресу.
  3. В TCP встроено подтверждение получения, поэтому при хорошей связи данные точно дойдут до получателя.

Что такое TCP/IP

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

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

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

Как устроен интернет: адреса

Получается так: 

  • IP-протокол знает, ЧТО нужно сделать, чтобы доставить данные от одного компьютера к другому; 
  • а TCP-протокол знает, КАК это сделать и при этом убедиться, что получатель точно получил все свои пакеты.
Кто за что отвечает в связке TCP/IP

Пакетная передача данных

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

Пакет может быть размером от 1 до 64 килобайт, но в нём всегда есть несколько обязательных полей — по ним протокол понимает, кому какие данные нужно передать.

Протокол IP разбивает исходные данные на пронумерованные пакетыВ каждом пакете: адреса отправителя и получателя, служебная информация, номер пакета и сами данные. Так получатель сможет собрать исходные данные и ответить, что они дошли без потерь

Гарантированная доставка пакетов

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

Если сигнала подтверждения нет, то протокол отправляет этот же пакет данных ещё раз — мало ли что. Если подтверждения нет несколько раз подряд, то протокол выдаёт сообщение об ошибке и закрывает соединение.

Тут всё прошло удачно: получатель подтвердил доставку пакетовТут получатель не принимает пакеты. Хорошо, что отправитель это вовремя понял

Но если подтверждать получение каждого пакета, то на это будет уходить очень много времени: при скорости сети в 100 мегабит в секунду реальная скорость передачи данных будет около 50 килобит в секунду. А всё потому, что отправитель не будет передавать новые данные, пока не получит подтверждение по предыдущему пакету. В итоге почти всё время сеть будет занята не передачей данных, а подтверждениями и подтверждениями подтверждений. 

Чтобы не было таких задержек, в протоколе предусмотрели кумулятивное и выборочное подтверждение:

  • В кумулятивном получатель подтверждает приём последнего пакета и всех предыдущих.
  • В выборочном — подтверждает диапазон пакетов, которые он получил. Если какого-то пакета нет в подтверждении, отправитель посылает его заново. Это одна из оптимизаций работы протокола, и в TCP таких оптимизаций много — благодаря им у нас шустрый интернет с быстрыми подтверждениями.

По умолчанию используется кумулятивное подтверждение, например, каждых 100 пакетов:

Пример кумулятивного подтверждения отправки 100 пакетов

И что с того?

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

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

Если вы не инженер или не разработчик сетевых систем, вам не нужно в этом разбираться — вы просто пользуетесь этим каждый день. Но зато теперь вы знаете, как это работает. 

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Виталий Вебер

Протокол TCP/IP или как работает Интернет (для чайников)

Автор: Дубровин Борис, 13 сентября 2007 г. 18:32

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

Человек может учиться двумя путями:

  1. Через тупое формальное зазубривание шаблонных способов  решения  типовых задач (чему сейчас в основном и учат в школе). Такое обучение малоэффективно. Наверняка вам приходилось наблюдать панику и полную беспомощность бухгалтера при смене версии офисного софта — при малейшем изменении последовательности кликов мышки, требуемых для выполнения привычных действий. Или  приходилось видеть человека, впадающего в ступор при изменении интерфейса рабочего стола? 
  2. Через понимание сути проблем, явлений, закономерностей. Через понимание принципов построения той или иной системы. В этом случае обладание энциклопедическими знаниями не играет большой роли — недостающую информацию легко найти. Главное — знать, что искать. А для этого необходимо не формальное знание предмета, а понимание сути.

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

Итак, начнем.

Принципы работы интернет-протоколов 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 адрес можно связать с  буквенно-цифровым именем. В результате например вместо 82.

146.49.55 можно использовать имя www.ofnet.ru.  А преобразованием доменного имени в цифровой IP адрес занимается сервис доменных имен — DNS (Domain Name System).

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

Запрос от нашего компьютера: "Какой IP адрес соответствует имени www.ofnet.ru?"
Ответ сервера: "82.146.49.55."

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

Например:

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

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

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

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

- Какой IP адрес соответствует имени www.ofnet.ru?
- 82.146.49.55.

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

к. используется по умолчанию, но его можно и явно указать после двоеточия — http://www.ofnet.ru:80.

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

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

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

Например, вы заметили странное поведение своего компьютера — непонятная сетевая активность, тормоза и пр. Что делать? Открываем консоль (нажимаем кнопку «Пуск» — «Выполнить» — набираем cmd — «Ок»). В  консоли набираем команду netstat -anи жмем <Enter>. Эта утилита отобразит список установленных соединений между сокетами нашего компьютера и сокетами удаленных узлов. Если мы видим в колонке «Внешний адрес» какие-то чужие 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 — это протокол без установления соединения и с негарантированной доставкой пакетов. (Типа: крикнул что-нибудь, а услышат тебя или нет — неважно).

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

Как посмотреть текущие соединения?

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

netstat -an

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

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

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

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

Активные подключения
ИмяЛокальный адресВнешний адресСостояние
TCP0.0.0.0:1350.0.0.0:0LISTENING
TCP91.76.65.216:1390.0.0.0:0LISTENING
TCP91.76.65.216:1719212.58.226.20:80ESTABLISHED
TCP91.76.65.216:1720212.58.226.20:80ESTABLISHED
TCP91.76.65.216:1723212.58.227.138:80CLOSE_WAIT
TCP91.76.65.216:1724212.58.226.8:80ESTABLISHED
. ..

В этом примере 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 означает, что наша машина обратилась с запросом к веб-серверу (у меня, действительно, открыты страницы в браузере).

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

Основы сети: Набор протоколов TCP/IP

Протокол управления передачей/Интернет-протокол (TCP/IP), протокол, на котором построен Интернет, на самом деле представляет собой не один протокол, а целый набор связанных протоколов. TCP даже старше, чем Ethernet. Впервые он был задуман в 1969 году Министерством обороны. В настоящее время Internet Engineering Task Force, или IETF, управляет набором протоколов TCP/IP.

Пакет TCP/IP основан на четырехуровневой модели организации сети, аналогичной семиуровневой модели взаимодействия открытых систем (OSI). На следующем рисунке показано, как модель TCP/IP согласуется с моделью OSI и какое место в модели занимают некоторые ключевые протоколы TCP/IP.

Как видите, самый нижний уровень модели, уровень сетевого интерфейса, соответствует физическому уровню модели OSI и уровню канала передачи данных. TCP/IP может работать с широким спектром протоколов уровня сетевого интерфейса, включая Ethernet, а также с другими протоколами, такими как Token Ring и FDDI (старый стандарт для оптоволоконных сетей).

Прикладной уровень модели TCP/IP соответствует трем верхним уровням модели OSI, то есть уровням сеанса, представления и приложения. На этом уровне можно использовать множество протоколов. Одними из самых популярных являются HTTP, FTP, Telnet, SMTP, DNS и SNMP.

IP

IP — это протокол сетевого уровня, который отвечает за доставку пакетов на сетевые устройства. Протокол IP использует логические IP-адреса для обозначения отдельных устройств, а не физических (MAC) адресов. Протокол, называемый ARP (протокол разрешения адресов), выполняет задачу преобразования IP-адресов в MAC-адреса.

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

TCP

TCP — это протокол транспортного уровня, ориентированный на соединение. TCP позволяет устройству надежно отправлять пакет другому устройству в той же сети или в другой сети.

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

Одним из ключевых аспектов TCP является то, что он всегда используется для связи один-к-одному. Другими словами, TCP позволяет одному сетевому устройству обмениваться данными с другим сетевым устройством. TCP не используется для передачи сообщений нескольким сетевым получателям. Вместо этого для этой цели используется протокол пользовательских дейтаграмм (UDP).

Многие известные протоколы прикладного уровня основаны на TCP. Например, когда веб-браузер запрашивает страницу, браузер использует HTTP для отправки запроса через TCP на веб-сервер. Когда веб-сервер получает запрос, он использует HTTP для выполнения запроса, опять же через TCP. Другие протоколы прикладного уровня, использующие TCP, включают Telnet (для эмуляции терминала), FTP (для обмена файлами) и SMTP (для электронной почты).

УДП

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

Вероятно, самым известным протоколом прикладного уровня, использующим UDP, является система доменных имен (DNS). Когда приложению требуется доступ к доменному имени, такому как www.dummies.com, DNS отправляет пакет UDP на DNS-сервер для поиска домена. Когда сервер находит домен, он возвращает IP-адрес домена в другом UDP-пакете.

Об этой статье

Эта статья из книги:

  • TCP/IP для чайников,

Об авторах книги:

Кэндис Лейден консультирует по вопросам производительности систем и баз данных, а также по разработке учебных программ для международных курсов.

Маршалл Виленски был консультантом и сетевым менеджером многопротокольных сетей в Высшей школе делового администрирования Гарвардского университета. Оба всемирно известные спикеры.

Эту статью можно найти в категории:

  • Общая сеть ,

TCP/IP Шпаргалка для чайников

Автор: Кэндес Лейден и Маршалл Виленски и

Обновлено: 28 февраля 2022 г.

Из книги: TCP/IP для чайников

TCP/IP для чайников 90 Купить на Amazon

1 90 Изучите сетевому администратору, вы знаете, что TCP/IP — это связующее звено между Интернетом и Всемирной паутиной. Помимо знакомства с терминами безопасности и общими определениями, вам необходимо обратить внимание на RFC (запросы комментариев), опубликованные Инженерной группой Интернета. Вы можете комментировать, изучать и отправлять RFC самостоятельно.

Определения TCP/IP

Если вы хотите успешно управлять сетью, важно знать, как работать с TCP/IP. Определения в следующем списке объясняют основы, например, что такое IP-адрес, а также разъясняют различные сети, с которыми вы имеете дело — экстрасети, интранет и подсети — а также другие ключевые термины.

  • CIDR (бесклассовая междоменная маршрутизация): Способ экономии IP-адресов. Схема IP-адресации, которая заменяет традиционную структуру классов A, B, C, CIDR позволяет одному IP-адресу представлять множество IP-адресов. Адрес CIDR выглядит как обычный IP-адрес с «суффиксом» на конце, например 19.2.200.0.0/12. Суффикс представляет собой префикс IP .

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

  • интрасеть: Частная сеть организации. Если ваша интрасеть построена на протоколах, приложениях и службах TCP/IP, это тоже Интернет.

  • IP-адрес: 32-разрядный (IPv4) или 128-разрядный (IPv6) числовой адрес компьютера. Для подключения к Интернету у вас должен быть IP-адрес. IP-адрес состоит из двух частей: сетевой части и хостовой части. Пример IPv4: 127.0.0.1; пример IPv6: 0:0:0:0:0:0:0:1 (кратко::1).

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

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

  • подсети: Разделение одной большой сети Интернет на более мелкие сети (подсети), в которых все они используют одну и ту же сетевую часть IP-адреса.

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

  • Виртуальная частная сеть (VPN): Частная сеть, работающая через общедоступный Интернет. Вы можете построить VPN по низкой цене, используя Интернет (а не собственную систему частных — и дорогих — линий) со специальными проверками безопасности и туннельным протоколом. Компании начинают использовать частные виртуальные сети как для экстрасетей, так и для глобальных интрасетей.

  • Передача голоса по Интернет-протоколу (VoIP): Вы слишком много тратите на телефонные звонки? Избавьтесь от телефонной связи. Вы можете совершать телефонные звонки из любого места в любое место, где есть компьютер, бесплатное программное обеспечение VoIP и быстрое подключение к Интернету. Еще лучше, это бесплатно. Вы можете бесплатно звонить из Буэнос-Айреса в Найроби с помощью VoIP. Это не обязательно должен быть компьютер к компьютеру. Вы также можете использовать VoIP для звонка на обычный телефонный номер.

Вы оспариваете аббревиатуру? Если вы не знаете, что означает та или иная аббревиатура, посетите WhatIs? где вы можете найти тысячи определений акронимов для Интернета и безопасности.

Термины безопасности в Интернете и советы по использованию TCP/IP

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

  • Advanced Encryption Standard : Шифр ​​с секретным ключом, используемый для шифрования.

  • аутентификация: Доказательство того, что вы тот, за кого себя выдаете. Простейшая форма аутентификации, запрос незашифрованного имени пользователя и пароля («Кто вы?», «Джеймс Бонд», «Хорошо, я вам верю»), часто недостаточно надежна для Интернета. В Интернете, где хакеры и взломщики могут подделать или украсть не только ваше имя пользователя и пароль, никому не доверяйте. Требовать аутентификацию для пользователей, компьютеров и IP-адресов для обеспечения безопасности.

  • шифр : Средство, используемое для шифрования данных. Шифр преобразует обычный текст в зашифрованный зашифрованный текст. Вы не можете расшифровать закодированный зашифрованный текст обратно в обычный текст без использования какого-либо ключа. Например, AES и DES являются примерами шифров с секретным ключом. Полный алгоритм шифрования — это шифр плюс техника.

  • Ресурсный центр компьютерной безопасности : Веб-сайт, содержащий публикации по безопасности, предупреждения и новости, включая документы Министерства обороны США по архитектуре безопасности и доверенным системам. Находится в Информационном центре ресурсов компьютерной безопасности Национального института стандартов и технологий США.

  • цифровой сертификат: Специальный защищенный файл, гарантирующий вашу личность в Интернете. Цифровой сертификат содержит информацию о безопасности, включая ваше имя и адрес электронной почты, ваш ключ шифрования, имя центра сертификации и срок действия сертификата. («Кто вы?» «Джеймс Бонд». «Можете подтвердить свое удостоверение личности?»). Цифровой сертификат — популярный способ аутентификации в Интернете.

  • шифрование: Шифрование ваших данных путем применения секретного кода, чтобы никто не мог прочитать их без использования ключа.

  • IP-безопасность (IPSec): Набор протоколов TCP/IP, которые обеспечивают службы аутентификации и шифрования, но на более низком уровне, чем TLS.

  • открытый ключ/закрытый ключ: Схема шифрования при обмене ключами, которая использует два ключа для шифрования и расшифровки данных. Любой может использовать открытый ключ для шифрования данных до того, как они попадут в Интернет. Только получатель имеет закрытый ключ, необходимый для чтения данных. Pretty Good Privacy (PGP) использует методы шифрования с открытым и закрытым ключами.

  • Transport Layer Security (TLS), Secure Socket Layer (SSL): Протоколы TCP/IP, которые гарантируют конфиденциальность в сети, обеспечивая аутентификацию и шифрование. TLS и сопутствующий ему нестандартный SSL гарантируют безопасность данных вашей кредитной карты при совершении банковских операций или совершении покупок. TLS является более новым и стандартным. SSL по-прежнему используется больше.

Известные запросы на комментарии, представляющие интерес для пользователей TCP/IP

Как сетевой администратор, вы знакомы с некоторыми вещами — TCP/IP, угрозами безопасности и запросами на комментарии или RFC. Опубликованные Internet Engineering Task Force, RFC дают профессионалам возможность обмениваться информацией, представлять документы на рассмотрение и в целом общаться друг с другом. Некоторые RFC со временем становятся стандартами Интернета.

Следующий список содержит особенно интересные и/или полезные RFC:

  • RFC 3271, «Интернет для всех», В. Серф

  • RFC 2664, «Информация о вопросах и ответах — ответы на часто задаваемые вопросы новых пользователей Интернета», Р. Плзак, А. Уэллс, Э. Крол

  • RFC 2151, «Введение в Интернет и инструменты и утилиты TCP/IP», Г. Кесслер, С. Шепард

  • RFC 2504, «Руководство по безопасности пользователей», Э. Гуттман, Л. Леонг, Г. Малкин

  • RFC 1244, «Справочник по безопасности сайта» (по-прежнему полезен спустя много лет), авторы J.P. Holbrook, J.K. Рейнольдс

  • RFC 5485, «Цифровые подписи на черновых документах в Интернете»

Для смеха отсканируйте RFC ко Дню дурака:

  • RFC 3251, «Электричество по IP», Б.