Что такое IP, TCP, UDP, ICMP, MAC и прочее — терминология сети

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

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

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

local

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


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

сеть

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

к содержанию ↑

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

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

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

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

к содержанию ↑

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

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

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

сеть локальная

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

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

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

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

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

к содержанию ↑

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

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

сеть локальная

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

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

к содержанию ↑

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

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

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

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

к содержанию ↑

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

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

сеть локальная

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

к содержанию ↑

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

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

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

к содержанию ↑

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

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

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

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

к содержанию ↑

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

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

Пуск - Выполнить - вводим cmd - жмем в кнопочку Enter - в появившейся консоли вводим ipconfig /all и снова жмем в кнопочку Enter.

настройки интернета

Вуаля, - смотрим свои настройки :-)

к содержанию ↑

Послесловие

Фуф, ну вот и всё. Такой вот получился экскурс в мир сетей :-)
Надеюсь, что это статья действительно Вам пригодилась и получилась достаточно доступной для понимания любого пользователя.

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

Sonikelf's Project's логотип Sonikelf's Project's логотип Космодамианская наб., 32-34 Россия, Москва (916) 174-8226
DolPhiNInfErnO

Спасибо за статью, Андрей! Узнал много нового!
Самое главное - все доступным образом рассказано)

P.S. а еще очень порадовала панель кнопок в оформлении).. давненько я тут не был..

Спасибо)

Gennadi

Большое спасибо за статью.Очень полезная!!

Fondornino

Андрей, спасибо большое за статью. Было интересно почитать то, до чего в общем-то долгое время доходил сам. Доходил сам, читая мануалы, и спрашивая товарищей, которые не очень-то хотели объяснять что-либо чайнику.
Но всё равно, так подробно я объяснить бы это не смог, да и сам узнал из статьи много нового.
Огромное человеческое спасибо!

Андрей, есть одно предложение. Можно ли посвятить цикл статей командной строке Windows? Думаю, что её возможности представляют большой интерес.
Заранее спасибо!

snake

Спасибо!

Евгений

Спасибо огромное, как раз хотел на досуге по гуглить)

Driver

А Mac адрес другого компьютера как то можно узнать?
Возможна ли бан по мак адресу?
Смена сети вой платы помогает избавиться от бана по мак адресу?

fAte

Отличная статья.
Реклама на сайте? Главное что бы не порнуха :)

Vladusik

Спасибо за науку.

Vladusik

[quote comment="9400"]

Можно ли посвятить цикл статей командной строке Windows? Думаю, что её возможности представляют большой интерес.

Сделаемс :-)[/quote]
Поддерживаю. Полезно и удобно.

Алексей

Смена сети вой платы помогает избавиться от бана по мак адресу?

Да. Кстати сейчас можно даже менять мак-адрес штатными программными средствами без смены устройства.[/quote]

и каким же образом такое возможно?
ПЫСЫ: за статью спасибо, большинство информации знал и так. но очень доходчиво все разъяснено!

NVade

да очень просто (XP): диспетчер устройств, сетевые платы, выбираешь свою карту, свойства, дополнительно, свойство:сетевой адрес, в значение пишешь требуемый mac-адрес (без дефисов)

Amarok

Спасибо большое! доступно написано, интересно было прочитать.

kasper

Потрясный сайт и потрясные статьи. В отличие от многих конкретно, грамотно и практично. Спасибо большое.

spaceofden

Отличная статься, спасибо за труд!
По поводу статьи "о командной строке" поддерживаю!!!

Aikon

Доброго времени суток;) не знаю, уместен ли мой вопрос тут или нет!? у меня возникла такая проблема я не могу настроить NAT на win7 (чтобы раздавать интернет) может программа есть которая легко настраивается,стабильно работает и не замудренная!
заранее спасибо !!!

lav46

Спасибо, Андрей. Немного разобралась. Применительно к домашней сети: это что-же получается - локальная сеть провайдера за роутером, перед которым организована своя локальная сеть (домашняя)? Или я что-то недопонимаю? И может ли провайдер "просматривать" твои компьютеры?

Познающий

Это адреса 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.... Здесь 2 раза прописано 10.х.х.х.
Так, например, сеть 192.168.0.0 с маской 255.255.255.0 может содержать в себе компьютеры с адресами от 192.168.0.1 до 192.168.?.254.... Где ? теряюсь что там должно быть))))...
таки? как ping, distination unreachable, TTL и пр.... Буковку "е" пожалуйста))))
Спасибо Вам за всё доброе,что здесь делаете)))

Zorg_pro

В тексте есть предложение.
Так, например, сеть 192.168.0.0 с маской 255.255.255.0 может содержать в себе компьютеры с адресами от 192.168.0.1 до 192.168.254.
Обратите внимание на последнюю цифру.

Димон

ноль пропустил? )) 192.168.0.254

MC Dos

Эээххх... Попалась бы такая статья мне лет 10 назад. Это бы сэкономило мне массу времени в изучении и понимании этих вопросов. Грамотно написано. Спасибо!

Sonikelf

Всегда пожалуйста

Владимир

Доброго время суток. У меня не комментарий а вопрос ? Если я приобрел роутер в одном городе а потом переехал в другой, будет он работать ведь провайдер будет другой

Sonikelf

Да, будет. Настройки разве что под нового провайдера придется выставить.

Arbios

Спасибо огромное! Уже давно пытался изучить сеть, перечитал много книжек, а так понятно никто и не объяснил.

Роман

Доброго времени суток. А что будет когда закончатся все mac-адреса ?

Василий

Доброго дня и спасибо за статью. Возник такой вопрос - как согласуют между собой mac-адреса производители сетевого оборудования? Для них же это критически важно - попадут 2 одинаковых адреса в одну сеть и все. Брак, обмен и т.д. Не просветите на этот счет?

Sonikelf

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

Даже если так - mac-адрес карточки можно изменить, причем процедура это не самая сложная.

Бродяга

Спасибо за ликбез!

Андрей Андреевич

Здравствуйте уважаемый админ и обитатели данного ресурса =)
Вопрос не по теме, т.к. более подходящей темы где оставить этот коментарий я не нашёл, по этому изложу суть вопроса здесь)
Вопрос: тип моего подключения к интернету ADSL, скорость 6Mb/сек, купил ноутбук с поддержкой wi-fi (до 300Mb\cек), если я куплю маршрутизатор с поддержкой wi-fi до 300Mb\сек,то какаяу меня будет скорость интернета? как по тарифу (6 Mb\cек) или же 300Mb\сек? Много читал про wi-fi, но так и не разобрался как он работает. Просто распространяет скорость тарифного плана или имеет свою собственную..

DesP

Андрей Андреевич
1. Роутер покупайте только ADSL!!!!!! (другие не будут работать с вашей сетью)
2.Ваша скорость в интернете не сможет быть больше чем скорость предоставляемая вам провайдером.
3. Устройства подключенные к вашему WiFi между собой смогут передавать данные на скорости до 300 мб/c (в теории, на практике смело можно резать скорость в 2ое или 3ое)

Андрей Андреевич

DesP, спасибо большое за ответ =)

Alex

Здравствуйте.
Админ подключил мой ноут к сети и записал мак-адрес.
Утверждает, что в любой момент (когда я в сети) может войти в мой ноут и сделать что угодно.
Я понимаю, что он вправе отключить меня от сети, но лазить по моей информации - это слишком.
Как защититься от этого (не отключая сеть)?
Заранее благодарю.

костя

здравствуйте!у меня пара вопросов,скажите пожалуйста как так может получиться,что локальный айпи и внешний одинаковы?проверял прогой 147 my ip а набираю в яндексе то внешний другой и самое что интересное айпи внешний я постоянный подключил!пример проблемы захожу в cs 1.6 на созданный сервер по локальному,а вот кто бы не пытался подключиться ко мне по внешнему заканчивалось не удачей!что мне нужно сделать что бы внешний айпи определялся?

KoIlIkaMypka

Вам нужно проверить , установлена ли на ваш компьютер программа из серии radmin , и в случае нахождения , удалить ее) ( список аналогов можете поискать в интернете)
А вообще злые админы всегда угрожают клиентам тем, что будут лазить в их компах без их ведома благодаря мак адресу))) но я должна сказать вам, 90% админов не имеют никакого понятия о том, как это делается. Так что ищите в компьютере программу radmin или аналог , смело удаляйте, а после просите админа показать его мнимый навык великого хакера) но!! Не подпускайте его к вашему компьютеру до этого момента и не устанавливайте ничего на компьютер)

KoIlIkaMypka

Коммент выше был для Alex

Александр

Здравствуйте, объясните на моём конкретном примере принцип работы маршрутизации:
Вот, например, взять игру CS1.6. Какойто чувак, сидя например на дом.ру с динамическим ip-адресом, создал сервак. IP у его сервака, например, стал 77.220.186.18:27237. Я так понял, это тот самый динамический ip-адрес, который "отдал" на время ему провайдер, где "77.х.х.х" это сеть. Это что же получается, что провайдеров во всём мире может быть только 254 штуки? Объясните тупоголовому, никак не могу вкурить)

Колян

День Добрый!!!
Помогите советом-по мере возможности......можно ли узнать IP адрес,маску и шлюз но не на компе,а на контроллере????

Psycholock

В качестве дополнения/вопроса:

Много сказано о смене MAC-адреса.
Если я не ошибаюсь, "вшитый" производителем MAC-адрес сменить очень трудоемко/нереально.
А смена через средства ОС просто меняет этот адрес для самой ОС, но не для железки?
И в итоге, после, допустим, переустановки ОС MAC-адрес будет заводским, не так ли?

Поправьте, если я ошибаюсь.

Артур

Все верно. Если я не ошибаюсь, смена МАС-адреса является незаконной. Так вот, потихоньку, мы и добираемся к киберпреступлениям)

Алексей

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

Михаил Сивожелезов

Напишите поподробнее про TCP и UDP. UDP кроме скайпа где еще используется?

Анонимно
Tim Ray

Слишком по детски)
но все равно классно вышло, для себя почерпнул как маска подсети влияет на кол-во доступных IP адресов.

armaagidon

Умник мля!

Олег

Например, клиенту, может быть назначен адрес с маской 255.255.255.252. Такая подсеть содержит в себе только два компьютера.

Почему два? Когда 255-252=3! Или я , что-то не так понял?!

Олег

имеется ввиду любое число это от 0 до 254.
Маска адреса имеет такую же структуру как и сам IP-адрес: это набор из четырех групп чисел, каждое из которых может быть в диапазоне от 0 до 255.

Если одна и та же структура у маски и ай пи почему ай пи от 0 до 254, а маска от 0 до 255?! Опечатки?!

Разъясните пожалуйста!)

Олег

допускает адреса от 192.168.0.1 до 192.168.0.127.

Иди опечатка здесь?! Вместо 127 должно быть 126?

Юрий

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

Например, клиенту, может быть назначен адрес с маской 255.255.255.252. Такая подсеть содержит в себе только два компьютера. (отсчет начинается с "253" и заканчивается "конец маски-1")
А сеть 192.168.0.0 с маской 255.255.255.128 допускает адреса от 192.168.0.1 до 192.168.0.127. (отсчет адресов начинает с единицы и заканчивается "конец маски-1")

Вопрос: почему во втором случае отсчет наичнается с единиы, а не со "129" по аналогии с другим случаем?
Скорее всего, я неправильно понял логику отсчета.
Можете поделиться Вашими знаниями и разъяснить, в чем я заблуждась и как правильно определить количество компьютеров, котрые могут быть в локальной сети, на основании значений маски подсети?
Заранее, благодарю за ответ.

Кирилл

Спасибо! Ваша статья очень помогла мне и разъяснила некоторые моменты, даже не смотря на опечатки! Еще раз спасибо!

Иван

Вот небольшой лайфхак по удаленному доступу. На даче стоит старый компьютер с камерой. Хочу получить к нему удаленный доступ. В деревне у провайдера нет "белого IP" и приобрести его невозможно.
DDNS работает, но и это бесполезно, потому что соединения извне тупо закрыты провайдером.
Поэтому использую вот такой VPN сервис - https://vpnki.ru Они не предоставляют выход в интернет, но объединяют мои туннели - один с дачи, другой с смартфона.
Вдруг кому-то это поможет.