Энциклопедия мобильной связи

Семейство протоколов tcp ip было разработано для. Схема передачи данных по протоколу TCP-IP

Лекция 3. Стек TCP/IP. Базовые протоколы TCP/IP

Протокол TCP/IP является базовым транспортным сетевым прото- колом. Термин "TCP/IP" обычно обозначает все, что связано с протоколами TCP и IP. Он охватывает целое семейство протоколов, прикладные программы и даже саму сеть. В состав семейства входят протоколы UDP, ARP, ICMP, TELNET, FTP и многие другие.

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

Стек протоколов TCP/IP имеет четыре уровня (рисунок 3.1).

Рисунок 3.1 – Стек TCP/IP

Уровень IV соответствует уровню доступа к сети, который работает на основе стандартных протоколах физического и канального уровня, таких, как Ethernet, Token Ring, SLIP, PPP и других. Протоколы этого уровня отвечают за пакетную передачу данных в сети на уровне аппаратных средств.

Уровень III обеспечивает межсетевое взаимодействие при передаче пакетов данных из одной подсети в другую. При этом работает протокол IP.

Уровень II является основным и работает на базе протокола управления передачей TCP. Этот протокол необходим для надежной передачи сообщений между размещенными на разных машинах прикладными программами за счет образования виртуальных соединений между ними.

Уровень I – прикладной. Стек TCP/IP существует давно и он включает в себя большое количество протоколов и сервисов прикладного уровня (протокол передачи файлов FTP, протокол Telnet, протокол Gopher для доступа к ресурсам всемирного пространства GopherSpace, самый известный протокол HTTP для доступа к удаленным гипертекстовым базам данных во всемирный паутине и др.).

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

Служебные протоколы обязательно используют какой-либо протокол передачи данных. Например, служебный протокол ICMP использует протокол IP. Интернет – совокупность всех связных компьютерных сетей, использующих протоколы стека TCP/IP.

Функции транспортного уровня. Протоколы TCP, UDP.

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

– установление транспортного соединения;

– передача данных;

– разрыв транспортного соединения.

Функции, выполняемые транспортным уровнем:

– преобразование транспортного адреса в сетевой;

– мультиплексирование транспортных соединений в сетевые;

– установление и разрыв транспортных соединений;

– упорядочивание блоков данных по отдельным соединениям;

– обнаружение ошибок и необходимый контроль за качеством услуг;

– восстановление после ошибок;

– сегментирование, объединение и сцепление;

– управление потоком данных по отдельным соединениям;

– супервизорные функции;

– передача срочных транспортных блоков данных.

Протокол управления передачей TCP предоставляет надежную службу доставки пакетов, ориентированную на установление соединения.

Протокол TCP:

– гарантирует доставку IP-датаграмм;

– выполняет разбиение на сегменты и сборку больших блоков данных, отправляемых программами;

– обеспечивает доставку сегментов данных в нужном порядке;

– выполняет проверку целостности переданных данных с помощью контрольной суммы;

– посылает положительные подтверждения, если данные получены успешно. Используя избирательные подтверждения, можно также посылать отрицательные подтверждения для данных, которые не были получены;

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

TCP основан на связи «точка – точка» между двумя узлами сети. TCP получает данные от программ и обрабатывает их как поток байтов. Байты группируются в сегменты, которым TCP присваивает последовательные номера, необходимые для правильной сборки сегментов на узле-приемнике.

Чтобы два узла TCP могли обмениваться данными, им нужно сначала установить сеанс связи друг с другом. Сеанс TCP инициализируется с помощью процесса, называемого трехэтапным установлением связи, котором синхронизируются номера последовательности и передается управляющая информация, необходимая для установления виртуального соединения между узлами. По завершении этого процесса установления связи начинается пересылка и подтверждение пакетов в последовательном порядке между этими узлами. Аналогичный процесс используется TCP перед прекращением соединения для того, чтобы убедиться, что оба узла закончили передачу и прием данных (рисунок 3.2).


Рисунок 3.2 – Формат заголовка сегмента TCP

Поля порт источника и порт получателя занимают по 2 байта и идентифицируют процесс-отправитель процесс-получатель. Поля порядковый номер и номер подтверждения (длины по 4 байта) нумеруют каждый отправленный или полученный байт данных. Реализуются как целые числа без знака, которые сбрасываются, когда достигают максимального значения. Каждая сторона ведет собственную порядковую нумерацию. Поле длина заголовка занимает 4 бита и представляет собой длину заголовка TCP-сегмента, измеренную в 32-битовых словах. Длина заголовка не фиксирована и может изменяться в зависимости от значений, устанавливаемых в поле параметры. Поле резерв занимает 6 бит. Поле флаги занимает 6 бит и содержит шесть 1-битовых флагов:

– флаг URG (Urgent Pointer – указатель точности) устанавливается в 1 в случае использования поля указатель на срочные данные;

– флаг ACK (Acknowledgment – подтверждение) устанавливается в 1 в случае, если поле номер подтверждения содержит данные. В противном случае это поле игнорируется;



– флаг PSH (Push – выталкивание) означает, что принимающий стек TCP должен немедленно информировать приложение о поступивших данных, а не ждать пока буфер заполнится;

– флаг RST (Reset – сброс) используется для отмены соединения: из-за ошибки приложения, отказа от неверного сегмента, попытки создать соединение при отсутствии затребованного сервиса;

– флаг SYN (Synchronize – синхронизация) устанавливается при инициировании соединения и синхронизации порядкового номера;

– флаг FIN (Finished – завершение) используется для разрыва соединения. Он указывает, что отправитель закончил передачу данных.

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

Протокол UDP, являясь дейтаграммным протоколом, реализует сервис по возможности, то есть не гарантирует доставку своих сообщений, а, следовательно, никоим образом не компенсирует ненадежность дейтаграммного протокола IP. Единица данных протокола UDP называется UDP-пакетом или пользовательской дейтаграммой. Каждая дейтаграмма переносит отдельное пользовательское сообщение. Это приводит к ограничению: длина дейтаграммы UDP не может превышать длины поля данных протокола IP, которое, в свою очередь, ограничено размером кадра технологии нижнего уровня. Поэтому если UDP-буфер переполняется, то данные приложения отбрасываются. Заголовок UDP-пакета, состоящий из четырех 2-байтовых полей, содержит поля порт источника, порт получателя, длина UDP и контрольная сумма (рисунок 3.3).

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

Рисунок 3.3 – Формат заголовка пакета UDP

Основная литература: 2

Дополнительная литература: 7

Контрольные вопросы:

1. Каким протоколом в OSI является TCP/IP?

2. Для чего предназначена архитектура протоколов TCP/IP?

3. Какие уровни имеет стек TCP/IP?

4. Какие функции выполняет протокол управления передачей TCP?

5. Какие отличия существуют между протоколами TCP и UDP?

Введение в TCP/IP

Работа сети Internet основана на использовании семейства коммуникационных протоколов TCP/IP, что расшифровывается как Transmission Control Protocol/Internet Protocol (Протокол управления передачей данных/Протокол Internet). TCP/IP используется для передачи данных как в глобальной сети Internet, так и во многих локальных сетях. В этой главе кратко рассматриваются протоколы TCP/IP и применяемые в них способы управления передачей данных.

Разумеется, для работы с Internet в качестве пользователя не требуется никаких специальных знаний о протоколах TCP/IP, но понимание основных принципов поможет вам в решении возможных проблем общего характера, возникающих, в частности, при настройке системы электронной почты. TCP/IP также тесно связан с двумя другими базовыми приложениями Internet FTP и Telnet. Наконец, знание ряда основополагающих концепций Internet поможет вам в полной мере оценить степень сложности этой системы, подобно тому как представление о работе двигателя внутреннего сгорания помогает проникнуться уважением к устройству автомобиля.

Что такое TCP/IP

TCP/IP - это название семейства протоколов передачи данных в сети. Протокол - это набор правил, которых должны придерживаться все компании, чтобы обеспечить совместимость производимого аппаратного и программного обеспечения. Эти правила гарантируют, что машина фирмы Digital Equipment, работающая с пакетом TCP/IP, сможет общаться с PC Compaq, также работающим с TCP/IP. При соблюдении определенных стандартов для функционирования всей системы не имеет значения, кто является производителем программного обеспечения или аппаратных средств. Идеология открытых систем предполагает использование стандартных аппаратных средств и программного обеспечения. TCP/IP - открытый протокол, и это значит, что вся специальная информация о протоколе издана и может быть свободно использована.

Протокол определяет, каким образом одно приложение связывается с другим. Эта связь программного обеспечения подобна диалогу: "Я посылаю вам эту порцию информации, затем вы посылаете мне обратно то-то, потом я отправлю вам это. Вы должны сложить все биты и послать обратно общий результат, а если возникнут проблемы, вы должны послать мне соответствующее сообщение." Протокол определяет, как различные части полного пакета управляют передачей информации. Протокол указывает, содержит ли пакет сообщение электронной почты, статью телеконференции или служебное сообщение. Стандарты протокола сформулированы таким образом, что принимают во внимание возможные непредвиденные обстоятельства. Протокол также включает правила обработки ошибок.

Термин TCP/IP включает названия двух протоколов - Transmission Control Protocol (TCP) и Internet Protocol (IP). TCP/IP не является одной программой, как ошибочно полагают многие пользователи. Напротив, TCP/IP относится к целому семейству связанных между собой протоколов, разработанных для передачи информации по сети и одновременного обеспечения информацией о состоянии самой сети. TCP/IP является программным компонентом сети. Каждая часть семейства TCP/IP решает определенную задачу: отправление электронной почты, обеспечение удаленного обслуживания входа в систему, пересылку файлов, маршрутизацию сообщений или обработку сбоев в сети. Применение TCP/IP не ограничено глобальной сетью Internet. Это наиболее широко используемые во всем мире сетевые протоколы, применяемые как в крупных корпоративных сетях, так и в локальных сетях с небольшим числом компьютеров.

Как только что говорилось, ТСР/IР - не один протокол, а их семейство. Почему иногда употребляют термин ТСР/IР, хотя имеется в виду сервис, отличный от TCP или IP? Обычно общее название используют при обсуждении всего семейства сетевых протоколов. Однако некоторые пользователи, говоря о TCP/IP, имеют в виду лишь некоторые из протоколов семейства: они предполагают, что другая сторона в диалоге понимает, о чем конкретно идет речь. В действительности лучше называть каждый из сервисов своим именем, чтобы внести большую ясность в предмет разговора.

Компоненты TCP/IP

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

Транспорт н ые протоколы управляют передачей данных между двумя машинами.

TCP (Transmission Control Protocol). Протокол, поддерживающий передачу данных, осно­ванную на логическом соединении между посылающим и принимающим компьютерами.

UDP (User Datagram Protocol). Протокол, поддерживающий передачу данных без установ­ления логического соединения. Это означает, что данные посылаются без предварительного установления соединения между компьютерами получателя и отправителя. Можно провести аналогию с отправлением почты по какому-то адресу, когда нет никакой гарантии, что это сообщение прибудет к адресату, если он вообще существует. (Две машины соединены в том смысле, что обе подключены к Internet, но они не поддерживают связь между собой через логическое соединение.)

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

IP (Internet Protocol). Обеспечивает фактическую передачу данных.

ICMP (Internet Control Message Protocol). Обрабатывает сообщения состояния для IP, например, ошибки и изменения в сетевых аппаратных средствах, которые влияют на маршрутизацию.

RIP (Routing Information Protocol). Один из нескольких протоколов, которые определяют наилучший маршрут доставки сообщения.

OSPF (Open Shortest Path First). Альтернативный протокол для определения маршрутов.

Поддержка сетевого адреса - это способ идентификации машины с уникальным номером и именем. (Более подробно об адресах см. ниже в этой главе.)

ARP (Address Resolution Protocol). Определяет уникальные числовые адреса машин в сети.

DNS (Domain Name System). Определяет числовые адреса по именам машин.

RARP (Reverse Address Resolution Protocol). Определяет адреса машин в сети, но способом, обратным ARP.

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

ВООТР (Boot Protocol) загружает сетевую машину, читая информацию для начальной загрузки с сервера.

FTP (File Transfer Protocol) передает файлы между компьютерами.

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

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

EGP (Exterior Gateway Protocol) служит для передачи маршрутизационной информации для внешних сетей.

GGP (Gateway-to-Gateway Protocol) служит для передачи маршрутизационной информации между шлюзами.

IGP (Interior Gateway Protocol) служит для передачи маршрутизационной информации для внутренних сетей.

NFS (Network File System) позволяет использовать каталоги и файлы удаленного компьютера так, как если бы они существовали на локальной машине.

NIS (Network Information Service) поддерживает в сети информацию о пользователях не­скольких компьютеров, упрощая вход в систему и проверку паролей.

RPC (Remote Procedure Call) позволяет удаленным прикладным программам связываться друг с другом простым и эффективным способом.

SMTP (Simple Mail Transfer Protocol) - это протокол, который передает сообщения электронной почты между машинами. SMTP обсуждается более подробно в гл. 13 "Как работает электронная почта в Internet."

SNMP (Simple Network Management Protocol) - протокол для администрирования, который посылает сообщения о состоянии сети и подключенных к ней устройств.

Все эти виды сервиса в совокупности составляют TCP/IP - мощное и эффективное семейство сетевых протоколов.

Числовой адрес компьютера

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

В Internet компьютеры сети идентифицируются путем назначения Internet-адреса или, более правильно, IP-адреса. IP-адреса всегда имеют длину 32 бита и состоят из четырех частей по 8 бит. Это значит, что каждая часть может принимать значение в пределах от 0 до 255. Четыре части объединяют в запись, в которой каждое восьмибитовое значение отделяется точкой. Например, 255.255.255.255 или 147.120.3.28 - это два IP-адреса. Когда речь идет о сетевом адресе, то обычно имеется в виду IP-адрес.

Если бы использовались все 32 бита в IP-адресе, то получилось бы свыше четырех миллиардов возможных адресов - более чем достаточно для будущего расширения Internet! Однако некоторые комбинации битов зарезервированы для специальных целей, что уменьшает число потенциальных адресов. Кроме того, 8-битные четверки сгруппированы специальными способами в зависимости от типа сети, так что фактическое число возможных адресов еще меньше.

IP-адреса назначаются не по принципу перечисления хостов в сети -1, 2, 3, ... На самом деле IP-адрес как бы состоит из двух частей: адреса сети и адреса хоста в этой сети. Благодаря такой структуре IP-адреса компьютеры в разных сетях могут иметь одинаковые номера. Поскольку адреса сетей различны, то компьютеры идентифицируются однозначно. Без такой схемы нумерация быстро становится очень неудобной.

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

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

Адреса класса А - числа между 0 и 127

Адреса класса В - числа между 128 и 191

Адреса класса С - числа между 192 и 223

Если IP-адрес вашей машины - 147.14.87.23, то вы знаете, что ваша машина находится в сети класса В, сетевой идентификатор - 147.14, а уникальный номер вашей машины в этой сети - 87.23. Если IP-адрес - 221.132.3.123, то машина находится в сети класса С с сетевым идентификатором 221.132.3 и идентификатором хоста 123.

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

Доменные имена

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

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

Чтобы получить один из этих уникальных идентификаторов, называемых доменным именем, ком­пания или организация посылает запрос в орган, который контролирует подключение к Internet - Network Information Center (InterNIC). Если InterNIC утверждает имя компании, то оно добавляется в базу данных Internet. Доменные имена должны быть уникальны, чтобы предотвратить коллизии.

Последняя часть доменного имени называется идентификатором домена верхнего уровня (например, .corn). Существуют шесть доменов верхнего уровня, установленных InterNIC:

Агра Идентификатор сети ARPANET

Corn Коммерческие компании

Edu Образовательные учреждения

Gov Правительственные учреждения или организации

Mil Военные учреждения

Org Организации, которые не относятся ни к одной из перечисленных категорий

Сервис WWW

World Wide Web (WWW, Всемирная паутина) - это новейший вид информационных услуг Internet, основанный на архитектуре клиент-сервер. В конце 80-х годов в CERN (Европейский центр физики элементарных частиц) начались работы по созданию информационного сервиса, который позволил бы любому пользователю легко найти и прочитать документы, размещенные на серверах в любой части Internet. Для этого был разработан стандартный формат документов, позволяющий наглядным образом представить информацию на дисплее компьютера любого типа, а также обеспечить возможность установки внутри одних документов ссылок на другие документы.

Хотя WWW был разработан с целью применения сотрудниками CERN, после того как этот вид сервиса был обнародован, его популярность стала расти необычайно быстро. Было разработано множество прикладных программ, используемых в качестве WWW-клиентов, т. е. обеспечивающих доступ к WWW-серверам и представление документов на экране. Имеется клиентское программное обеспечение, основанное как на графическом интерфейсе пользователя (одной из наиболее популярных является программа Mosaic), так и на эмуляции алфавитно-цифрового терминала (примером является программа Lynx). Большинство WWW-клиентов позволяют использовать их интерфейс и для доступа к другим видам сервиса Internet, таким как FTP и Gopher.

Документы, расположенные на WWW-серверах, представляют собой не просто текстовые документы в стандарте ASCII. Это ASCII-файлы, содержащие команды специального языка, названного HTML (HyperText Markup Language, Язык разметки гипертекста). Команды HTML позволяют структурировать документ, выделяя в нем логически различающиеся части текста (заголовки разных уровней, абзацы, перечисления и т. д.). В результате каждая из клиентских программ просмотра WWW может форматировать текст документа таким образом, чтобы наилучшим способом отобразить его на конкретном дисплее. Для придания документам большей выразительности текст обычно форматируется с использованием увеличенных размеров шрифта заголовков, применением полужирного и курсивного начертаний для важных терминов, выде­лением пунктов перечислений и т. д. Язык HTML позволяет также включать в документы иллюстративную графику, которая может быть отображена программами просмотра, основанными на использовании графического интерфейса пользователя.

Одним из самых важных свойств HTML является возможность включения в документ гипер­текстовых ссылок. Эти ссылки позволяют пользователю загрузить новый документ на свой компьютер, просто щелкнув указателем мыши в том месте экрана, где расположена ссылка. Любой документ может содержать ссылки на другие документы. Документ, на который указывает ссылка, может находиться как на том же WWW-сервере, что и исходный документ, так и на любом другом компьютере в Internet. Областью документа, используемой в качестве ссылки, может служить слово, группа слов, графическое изображение или даже заданный фрагмент изображения. Большинство программ просмотра WWW могут также обращаться к ресурсам других информационных сервисов, таких как FTP и Gopher. В дополнение к этому программы просмотра WWW позволяют работать с файлами мультимедиа, содержащими видео и звук, посредством использования программ поддержки мультимедиа, инсталлированных на локальном компьютере.

На транспортном уровне работают 2 протокола: TCP и UDP.

UDP (User Datagram Protocol) - протокол пользовательских дейтаграмм. Является ненадежным протоколом передачи данных, потому что он не устанавливает и не поддерживает соединения с удаленными узлами. То есть он просто передает данные на нижестоящий уровень и дальнейшая судьба этих данных его не интересует.
Кроме того, он не исправляет ошибки в принятых данных. Если будут обнаружены ошибки, то данные сегменты будут просто уничтожены и без запроса повторной передачи.

Для чего тогда такой протокол нужен?

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

Протокол добавляет следующий заголовок к передаваемым данным

Порт отправителя - идентифицирует приложение прикладного уровня, которое хочет общаться с таким же или другим приложением по сети. Например, Skype использует порт 80. Хотя может использовать и другие порты в зависимости от настроек. То есть, если Алиса пишет сообщение Кате по Skype, то компьютер Кати, приняв сообщение, сможет по номеру порта отправителя определить какое приложение отправило данное сообщение.


Порт получателя - идентифицирует приложение прикладного уровня, которое принимает сообщения от удаленных узлов. Иными словами, приложение “слушает” сеть на этом порту. Например, тот же Skype может принимать сообщение на порту 80. То есть, если Алиса отправит сообщение Кате на порт 80, то компьютер Кати его примет (при условии, что Skype будет в это время работать). Однако если, Алиса отправит на порт 100, а Катя слушает на порту 80, то компьютер Кати просто cбросит принятое сообщение.


А сколько всего может быть таких портов?

Всего насчитывается 65535 портов. Из них с 0 по 1023 зарезервированы под стандартные приложения, такие как FTP, SMTP, SNMP и другие. Остальные порты с 1024 и по 65535 могут быть использованы для любых других приложений. Эти порты еще называют динамическими, потому что у них нет жесткой привязки к определенному приложению и могут меняться от сеанса к сеансу.


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


Контрольная сумма - используется для проверки на наличие ошибок.


Как работает проверка?

Способ довольно примитивный. Передающий компьютер вычисляет контрольную сумму всего сегмента по специальному алгоритму и помещает это значение в поле Checksum. Затем принимающий компьютер вычисляет контрольную сумму данного сегмента и сравнивает с суммой в поле Checksum . Если значения совпадают, то сегмент принимается, в противном случае уничтожается.

Ничего, UDP не заботится о дальнейшей судьбе потерянных данных.

TCP (Transmission Control Protocol) - Протокол Управления Передачей. Надежный протокол передачи данных. С помощью него устанавливается и поддерживается связь с удаленными узлами, управляется скорость передачи данных, контролируются ошибки при передаче данных.


Вот как выглядит заголовок сегмента TCP


С некоторыми полями мы уже знакомы. Опишем новые поля.


Порядковый номер - каждый байт в отправленном сегменте нумеруется для того, чтобы на приеме правильно собрать все сегменты в единый поток. Кроме того, с помощью номера контролируется весь поток данных и исправляются поврежденные сегменты.


Номер подтверждения - чтобы убедиться, что все переданные сегменты достигли адресата используются номера подтверждения. Например, узел А отправил сегмент с порядковым номером 45 узлу В. Когда узел В примет сегмент с номером 45, то отправит узлу А пустой сегмент с подтверждающим номером 46. Узел А будет знать, что все в порядке и отправит следующий сегмент под номером 46.


Флаги - специальные знаки-сигналы, указывающие на состояние сессии. Например, запрос на установление соединения или запрос на разрыв соединения.


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


А кто устанавливает размер окна?

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


Установление соединения (Трехэтапное квитирование)

Процесс установления связи осуществляется в 3 этапа.


Этап 1

Когда сторона А хочет установить связь со стороной В, то сторона А отправляет запрос с установленным флагом SYN. После этого узел А переходит в состояние SYN SENT. Узел В остается в состоянии LISTEN:

Вот какие данные устанавливаются в заголовке TCP (для упрощения восприятия некоторые данные опущены):



Генерируется порядковый номер ISNa = 1 и формируется запрос на установление соединения. Если по истечении таймаута со стороны В не поступает никакого ответа, то узел А снова отправит запрос узлу В.


Этап 2

Когда сторона В принимает запрос SYN, то тоже генерируется порядковый номер ISNb = 200 (в реальности номер может принимать другие значения) для своего сегмента. Для формирования ответа стороне А, узел В устанавливает 2 флага: SYN и ACK. Причем в качестве номера подтверждения берется порядковый номер сегмента стороны А и увеличивается на 1, то есть 1 + 1. Это означает, что запрос успешно принят и ожидается следующий сегмент с номером 2. После того, как сегмент отправлен, узел В переходит в состояние SYN-RECEIVED, узел А остается в состоянии SYN SENT:


Вот как выглядит запрос в сетевом анализаторе:


Если по истечении таймаута от узла А не поступит подтверждения, то узел В снова отправит свой запрос.


Этап 3

После того, как узел А примет сразу 2 флага SYN и ACK, причем ACK будет на 1 больше ISN узла А, то сторона А сразу отправит второй сегмент узлу В. ISN будет увеличен на 1. Флаг будет установлен на ACK со значением ISNb + 1, то есть 200 + 1

Вот какие данные устанавливаются в заголовке TCP:

Вот как выглядит запрос в сетевом анализаторе:

После этого соединение считается успешно установленным, то есть помечается как ESTABLISHED.

Отказ в установлении соединения

Если сторона В по каким-то причинам не может установить соединение со стороной А, то генерируется ответ с флагом RST, которой информирует о прекращении попыток установления связи:

Вот какие данные устанавливаются в заголовке TCP:


Вот как выглядит запрос в сетевом анализаторе:


Завершение связи

Когда одна из сторон желает завершить сеанс связи, то формирует запрос FIN и переходит в состояние FIN_WAIT 1


Сторона В подтверждает запрос отправкой ACK и переходит в состояние CLOSE_WAIT. Сразу же вслед посылается запрос FIN. После этого узел В переходит в состояние LAST_ACK:

Сторона А подтверждает отправкой ACK и переходит в состояние CLOSED. Когда узел В примет ACK, то также перейдет в состояние CLOSED. На этом сеанс связи завершен:

Контроль над искаженными и потерянными данными

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


Для реализации данного механизма и используются порядковые и подтверждающие номера. Каждый сегмент нумеруется первым байтом полезной нагрузки. Затем приемник посылает подтверждающий сегмент, где указывает номер первого байта следующего сегмента. Например, первый сегмент имеет 100 байт полезной нагрузки (заголовок не учитывается), второй сегмент - 200 байт. Первому байту первого сегмента присваивается номер 1, у первого байта второго сегмента номер соответственно равен 101 (100 + 1) и так далее


Теперь посмотрим как будет проходить передача сегментов


Вот как это выглядит в сетевом анализаторе:


Если сложить ISN = 2155299270 первого сегмента с длиной данных Len = 711, то получится ISN = 2155299981 второго сегмента. Таким способом приемник формирует ACK SN для 3-го сегмента.


С этим разобрались. Но что произойдет, если данные потеряны или искажены в процессе передачи?

Представим, что сегмент дошел до получателя, однако содержит ошибки. Это проверяется с помощью контрольной суммы. Тогда приемник сбросит искаженный сегмент и отправит подтверждение только за предпоследний сегмент. Передатчик поймет, что первые 2 сегмента получены без ошибок и снова отправит 3-й сегмент


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


Вот так и достигается контроль над ошибками данных.


Контроль за передачей данными (Метод скользящего окна)

Протокол TCP является дуплексным, то есть может одновременно работать на прием и передачу. Для этого на приеме и передаче устанавливаются буферы.
Передающий буфер содержит переданные, но еще не подтвержденные байты, а также байты готовые для передачи.
Приемный буфер содержит принятые байты для последующей обработки.


Но для чего нужны буферы, разве не может приемник сразу же обработать поступивший сегмент?

Буферы необходимы для постановки в очередь принятые и передаваемые данные, так как производительность приёмной и передающей систем, а также самой сети разные, то велика вероятность, что система не сможет на “лету” обработать большой объем данных.


Мы знаем, что передатчик может сразу отправить несколько сегментов данных, не дожидаясь подтверждения на каждый сегмент.
Но что делать, если передатчик передает данные с большой скоростью, а буфер приемника не успевает их всех вместить?

Тогда приемник просто сбросит новые поступающие данные и отправит подтверждения только на полученные и обработанные сегменты.
Передатчику придется повторно отправлять данные, пока не получит подтверждения успешного получения.


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


И как работает данный механизм?

В TCP заголовке имеется поле “Размер окна (Window size )”, которое указывает на то, сколько байт приемник способен принять. Иными словами это говорит о доступности буфера и наличии в нем свободного пространства для поступающих данных.
После установления соединения приемник сообщает передатчику размер окна. Например, приемник сообщил, что окно равно 5 байтам. Передатчик передаст 5 байт информации и ждет подтверждения:

В буфере передатчика в очереди на отправку стоят следующие байты, но они не будут отправлены, пока не будут подтверждены уже отправленные байты. Приемник посылает подтверждение и уведомляет о размере окна равным 5, то есть говорит: “В моем буфере есть 5 свободных мест. Пришли мне еще 5 байт.”

Окно в передающем буфере сместится на 5 байт и новая порция данных будет передана приемнику:

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

Передатчик готов передать следующие 5 байт информации, так как получил подтверждение от приемника. Однако приемник также уведомил передатчик, что в приемном буфере свободно только для 2-х байт, то есть сообщает следующее: “Снижай скорость передачи. Готов принять пока 2 байта.”


И передатчик уменьшает окно и передает только 2 байта

В процессе передачи данных размер окна может постоянно меняться. Это зависит от загруженности сети и производительности передатчиков/приемников.


Что происходит, когда в буфере приемника совсем нет места?

Тогда приемник установит размер окна равным 0. Это означает прекратить передачу данных.


Как же передатчик узнает, что буфер приемника снова готов к работе?

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


Итак подведем краткие итоги.
В таблице представлены сравнение протоколов UDP и TCP, а также функции, возложенные на транспортный уровень

Функции TCP UDP
Управление потоком Да Нет
Контроль над ошибками Да Нет
Скорость Медленный Быстрый
Установление соединения Да Нет
Использование в приложениях чувствительных к задержкам данных Нет (иногда допустимо) Да
Использование в приложениях менее чувствительных к задержкам данных Да Да (но не всегда)
Регулирование скорости передачи данных Да Нет
Запрос на повторную передачу потерянного или искаженного сегмента Да Нет
Многоканальный Да Да Назад

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

Свое название протокол TCP/IP получил от двух коммуникационных протоколов (или протоколов связи). Это Transmission Control Protocol (TCP) и Internet Protocol (IP). Несмотря на то, что в сети Интернет используется большое число других протоколов, сеть Интернет часто называют ТСР/1Р-сетью , так как эти два протокола, безусловно, являются важнейшими.

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

Адрес в Интернете состоит из 4 байт. При записи байты отделяются друг от друга точками: 123.45.67.89 или 3.33.33.3. В действительности адрес состоит из нескольких частей. Так как Интернет есть сеть сетей, начало адреса говорит узлам Интернета, частью какой из сетей является адрес. Правый конец адреса говорит этой сети, какой компьютер или хост должен получить пакет. Каждый компьютер в Интернете имеет в этой схеме уникальный адрес.

Числовой адрес компьютера в Интернете аналогичен почтовому индексу отделения связи. Существует несколько типов адресов Интернета (типы: А, В, С, D, Е), которые по-разному делят адрес на поля номера сети и номера узла, от типа такого деления зависит количество возможных сетей и машин в таких сетях.

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

Одно из достоинств Интернета состоит в том, что протокола IP самого по себе уже вполне достаточно для работы. Однако этот протокол имеет и ряд недостатков:

  • - большая часть пересылаемой информации длиннее 1500 символов, поэтому ее приходится разбивать на несколько пакетов;
  • - некоторые пакеты могут теряться в пути следования;
  • - пакеты могут приходить в последовательности, отличной от начальной.

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

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

TCP делит информацию, которую надо переслать, на несколько частей и нумерует каждую часть, чтобы позже восстановить порядок. Чтобы пересылать эту нумерацию вместе с данными, он обкладывает каждый кусочек информации своей обложкой - TCP-конвертом, который содержит соответствующую информацию.

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

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

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

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

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

Сетевые протоколы TCP/IP, NWLink IPX/SPX, NetBEUI

Давайте начнем с того, что вообще такое сетевой протокол и с чем его едят.
Сетевой протокол - это набор программно реализованных правил общения между компьютерами. Этакий язык, на котором компьютеры разговаривают друг с другом и передают информацию. Ранее компьютеры были, так сказать, многоязычны и в старых версиях 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 попросту не уживутся.

Хотите знать и уметь, больше и сами?

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

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

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

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



Понравилась статья? Поделитесь с друзьями!
Была ли эта статья полезной?
Да
Нет
Спасибо, за Ваш отзыв!
Что-то пошло не так и Ваш голос не был учтен.
Спасибо. Ваше сообщение отправлено
Нашли в тексте ошибку?
Выделите её, нажмите Ctrl + Enter и мы всё исправим!