1 Порядок настройки стека протоколов tcp ip
Небольшое отступление. IP-адрес.
Каждый компьютер (или другое сетевое устройство) должен иметь уникальный (несовпадающий с другими) адрес. В Интернете, да и в любой современной сети, для связи используется протокол TCP/IP, уникальный адрес (так называемый, IP-адрес) для этого протокола состоит из 4-х групп цифр, например, 10.0.23.167. В одной и той же сети не может быть совпадающих IP-адресов, в противном случае выйдет конфликт адресов, и связь будет невозможна.
Рассмотрим вариант, когда несколько компьютеров подсоединяются к маршрутизатору для выхода в Интернет через порты ethernet внутренней сети и/или беспроводным путем, если маршрутизатор поддерживает Wi-Fi.
Почти любой Интернет-маршрутизатор способен назначать IP-адреса автоматически, так как там работает встроенная служба выдачи адресов (так называемый DHCP-сервер). При этом нет необходимости настраивать эти адреса на компьютерах: обо всем позаботится эта служба, если только Windows настроена по умолчанию, то есть на автоматическую настройку параметров TCP/IP. Как понять, что компьютеры получили адреса автоматически? Для этого в Windows XP нужно выбрать Пуск –> Настройка –> Панель управления –> Сетевые подключения –> Подключение по локальной сети, открыть его свойства, найти в списке Протокол Интернета TCP/IP и открыть его свойства. Если там выбрана опция «Получить IP-адрес автоматически», и при этом Вы свободно можете выйти в Интернет, значит, используется DHCP-сервер маршрутизатора:
Этого достаточно для успешной работы в сети Интернет, но вот для обмена информацией между компьютерами внутри сети нужна дополнительная настройка. Итак, мы уже не заботимся о ручной настойке IP-адресов, они правильно назначены маршрутизатором, теперь нужно добиться, чтобы каждый компьютер «видел» в сети все остальные. Об этом немного ниже, а пока опишем ситуацию, когда нужно назначить IP-адреса вручную.
Настройка компьютера подключенного к маршрутизатору
При подключении компьютера к маршрутизатору (с помощью кабеля или по Wi-Fi), последний имеет специальную функцию, позволяющую автоматически присваивать локальный IP-адрес ПК. Функция называется DHCP-сервер (DHCP- протокол динамической конфигурации сетевого узла).
Чтобы IP-адреса автоматически назначались подключенным к маршрутизатору устройствам:
-
DHCP-сервер на маршрутизаторе должен быть включен.
Для присвоения айпи ПК вручную, нужно сделать все ровно наоборот – выключить DHCP-сервер и в свойствах TCP/IPv4 указать параметры вручную. Инструкция:
-
Войдите в веб-интерфейс своего маршрутизатора. Вот инструкция входа в роутер TP-Link в качестве примера. Обратите внимание, в каком диапазоне находится айпишник маршрутизатора (первые 3 диапазона у роутера и ПК должны совпадать).
Сетевые протоколы 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 и пр.
Типы сетевых протоколов
Рассмотрим несколько самых популярных сегодня протоколов, работающих на разных уровнях:
Уже известный вам Media Access Control (MAC) это низкоуровневый сетевой протокол. С ним, в той или иной мере приходится сталкиваться всем пользователям. Используется он для идентификации сетевых устройств.
На следующем уровне после MAC располагается IP – Internet Protocol, имеющий две основные разновидности IPv4 и IPv6. Он назначает компьютерам уникальные IP-адреса, благодаря которым устройства могут себя обнаруживать в сети.
ICMP, TCP и UDP
Выше IP находятся такие протоколы:
- ICMP (Internet control message protocol), отвечающий за обмен информацией. Не используется для передачи данных. Именно ICMP используется в известной вам команде ping.
- TCP (Transmission control protocol). Этот сетевой протокол управляет передачей данных. TCP дает гарантия в том, что все переданные пакеты данных будут приняты правильно и ошибки будут полностью исключены.
- UDP (user datagram protocol) похож на TCP, но работает быстрее, так как в нем данные при получении не проверяются. В некоторых случаях использование UDP бывает вполне достаточным.
По своей распространенности в Интернет Hyper Text Transfer protocol находится на первом месте, ведь именно на его основе работают все сайты. С его помощью с локального компьютера можно открыть веб-сервис на удалённом сервере.
Как понятно из перевода названия, File Transfer Protocol служит для передачи файлов. Советуем не использовать его для передачи важных данных, так как в FTP не поддерживается необходимая безопасность.
POP3 и SMTP
Два протокола для работы с электронной почтой. POP3 отвечает за получение почты, SMTP – за отправку. Оба протокола позволяют доставлять email, передавая его почтовому клиенту.
Протокол SSH (Secure Shell) относится к уровню приложений. Создает защищенный канал для удаленного управления другой операционной системой. Поддерживает различные алгоритмы шифрования.
Классы IP адресов
Все IP-адреса можно разделить на две логические части — номера сети и номера узла сети (номер хоста). Чтобы определить какая именно часть IP-адреса принадлежит к номеру сети, а какая — к номеру хоста, определяется значениями первых бит адреса. Также, первые биты IP-адреса используются для того, чтобы определить к какому классу относится тот или другой IP-адрес.
На рисунке показана структура IP-адреса разных классов.
Если адрес начинается с 0, то сеть относят к классу А и номер сети занимает один байт, остальные 3 байта интерпретируются как номер узла в сети. Сети класса А имеют номера в диапазоне от 1 до 126. (Номер 0 не используется, а номер 127 зарезервирован для специальных целей, о чем будет сказано ниже.) Сетей класса А немного, зато количество узлов в них может достигать 2 24 , то есть 16 777 216 узлов.
Если первые два бита адреса равны 10, то сеть относится к классу В. В сетях класса В под номер сети и под номер узла отводится по 16 бит, то есть по 2 байта. Таким образом, сеть класса В является сетью средних размеров с максимальным числом узлов 2 16 , что составляет 65 536 узлов.
Если адрес начинается с последовательности 110, то это сеть класса С. В этом случае под номер сети отводится 24 бита, а под номер узла — 8 бит. Сети этого класса наиболее распространены, число узлов в них ограничено 2 8 , то есть 256 узлами.
Если адрес начинается с последовательности 1110, то он является адресом класса Dи обозначает особый, групповой адрес — multicast. Если в пакете в качестве адреса назначения указан адрес класса D, то такой пакет должны получить все узлы, которым присвоен данный адрес.
Если адрес начинается с последовательности 11110, то это значит, что данный адрес относится к классу Е. Адреса этого класса зарезервированы для будущих применений.
В таблице приведены диапазоны номеров сетей и максимальное число узлов, соответствующих каждому классу сетей.
Большие сети получают адреса класса А, средние — класса В, а маленькие — класса С.
Присвоение IP-адресов
Динамическое назначение
При подключении к сети через протокол динамической настройки узла (DHCP / Dynamic Host Configuration Protocol) все параметры стека TCP/IP автоматически устанавливаются на устройстве. Узлу назначается динамический IP-адрес, который меняется на другой при переподключении устройства. Диапазон IP-адресов указывается на сервере DHCP.
Статическое назначение
Статический IP-адрес присваивается вручную и не изменяется при переподключении к сети. Этот тип присваивания используется на устройствах, доступ к которым должен производится по одному адресу (например, на серверах).
Разновидности сетевых протоколов
При рассмотрении работы интернета сеть рассматривается только в горизонтальной плоскости, обращая внимание только на верхние уровни и приложения. Но на самом деле установка соединения между двумя компьютерами требует взаимодействия множества вертикальных слоев и уровней.
Только из нескольких протоколов, которые работают друг поверх друга (в строгой иерархии), можно реализовать сетевое соединение. Каждый из слоев позволяет абстрагировать передаваемые данные, упрощая их для передачи на следующий уровень, чтобы в итоге приложение смогло выдать информацию в таком виде, котором ее может воспринимать человек.
Определено 7 уровней протоколов интернета модели ISO. Все они отличаются по используемому оборудованию, хотя передаются одни и те же данные, вид которых не изменяется.
Если с устройства отправителя файл проходит путь от 1 к 7 уровню, то со стороны получателя все слои будут представлены в обратном порядке.
Их совокупность является стеком сетевых протоколов. Как и в любой другой системе, они имеют свою иерархию, в которой уровни и представлены аналогично нижеприведенному списку. Каждый из них добавляет свою информацию к изначальному набору данных, чтобы новый уровень понимал, что именно необходимо делать с передаваемым пакетом.
Уровни в соответствии с моделью Open System Interconnect
7 уровней в соответствии с моделью OSI (Open System Interconnect), которые составляют весь путь информации из одного устройства на другое:
- Физический уровень — это физическая среда, где происходит обмен информацией. На этом уровне находятся хабы, ретрансляторы сигналов и медиаконвертеры. По проводам подается электрический импульс, который трансформируется в бинарный код, состоящий из единиц и нулей.
- Канальный уровень — передаваемая информация поступает на хост для ее обработки. Каждое устройство имеет свой MAC-адрес, который используется для однозначной идентификации. MAC-адрес состоит из 6 октетов, в которых собраны 12 шестнадцатеричных знаков. Здесь есть подуровень LLC, который необходим для обслуживания сетевого уровня.
- Сетевой уровень — для идентификации устройств используется IP-адрес, при помощи которого можно подключиться и получить статус уникальной единицы в глобальной сети. Главная задача уровня — доставить информацию до адресата. Вся получаемая информация передается в пакетах, которые далее отправляются на следующий уровень. Именно поэтому в различных онлайн-играх есть понятие Packet Loss — потеря пакетов, при которых игра начинает работать некорректно.
- Транспортный уровень — здесь уже происходит формирование полученной информации из пакетов в удобоваримый вид. Уровень следит, чтобы поступающие данные были в целостности. Для этого большие блоки данных фрагментируются или объединяются, в зависимости от настроек протокола. Сети, которые подключаются к интернету, используют для соединения протоколы транспортного уровня «точка-точка».
- Сессионный уровень — проводят проверку сеанса связи и наличие прав доступа на подключение к сессии, поддерживают его поток, синхронизируют начало и конец.
- Уровень представления — на этом этапе полученная информация декодируется и распаковывается, чтобы браузер или приложение могло обработать полученную информацию в понятный для себя вид. Здесь же информация кодируется и сжимается, когда данные отправляются в другую сторону. Тогда отправляемые данные превращаются в формат, удобный для помещения в пакеты.
- Прикладной уровень — регулируют взаимодействие сети и пользователя, позволяя приложениям обрабатывать, получать информацию и доступ к данным через файлы, БД и сетевые службы. Протоколы, которые задействуются здесь, называются высшими (HTML, FTP, POP3 и др.).
На каждом из уровней можно подключить свои протоколы, которые в связке друг с другом и позволяют информации перемещаться из одного устройства в другое, чтобы в итоге попасть к аппаратному обеспечению для ее отображения человеку.
Знакомство с миром стеков протоколов было начато с ICO неспроста. Ведь рассмотрев более подробную схему легче понять построение другой схемы, в которой одно различие — количество слоев.
При рассмотрении сетевой модели TCP/IP уровни работы сети представляются в более простом виде. Стек получил название по двум основным протоколам, ведь они являются основной для передачи информации в глобальной сети. Ее разработкой занималось Министерство обороны США, поэтому также можно услышать альтернативное название DoD (Department of Defence).
До появления интернет-протоколов пользователи не могли передать информацию из одной сети в другую. Поэтому все сети были изолированы друг от друга, не могли быть объединены во Всемирную.
Но в 1970-ых появился TCP/IP, где выделяют только 4 уровня:
- Приложения (прикладной уровень) — предоставляют большинству приложений услуги для обмена данными с протоколами, подключенными в нижних уровнях. Каждое из приложений может использовать свой уникальный протокол интернета (HTTP для гипертекста, SMTP для почты, FTP для файлов и т. д.).
- Транспорт (транспортный уровень) — выполняют саму доставку пакетов, выделяются протоколы TCP (протокол управления передачей) и UDP (протокол пользовательских датаграмм). TCP отличается надежностью, гарантирует, что информация будет передана в полном объеме. UDP ненадежен, во время транспортировки может быть потеряна часть данных, используется в играх, потоковой передаче видео.
- Интернет (межсетевой уровень) — позволяет объединить все локальные сети между собой в глобальный интернет через систему маршрутизации. Он регламентирует передачи данных внутри множества сетей, предоставляя возможность межсетевого взаимодействия при помощи магистральных и пограничных маршрутизаторов.
- Соединение (канальный уровень) — предназначен, чтобы давать описания происходящему обмену информацией на уровне сетевых устройств. Позволяет определить способ передачи данных от одного устройства к другому. Данные сортируются, кодируются и разбиваются на пакеты.
Интересным нюансом является то, что официальный стандарт RFC 1122 (именно на нем построен стек протоколов TCP/IP) включает в себя 4 уровня, хотя согласно учебникам (в особенности за авторством Э. Таненбаума) принято раскрывать 5 уровней, ведь также следует учитывать физический уровень, который и становится дополнительным. Но из-за того, что этот слой не считается официальным, рассматривать его стоит только при глубоком изучении тематики.
Основные различия протоколов
Адрес в IPv4 является 32-битным и записывается в виде четырех целых чисел, не превосходящих 255. В IPv6 его записывают в виде восьми четырехзначных шестнадцатеричных цифр. Вот пример: 3ffe:1904:4546:3:201:f8ff:fe22:68cf.
Различия не только в разрядности и форме записей. Изменился механизм функционирования. Он стал не только более качественным и надежным, но и более простым.
Процедура того, как дается адрес в интернете при этом не изменилась.
Бесклассовая адресация
Со второй половины 90-х годов XX века классовая маршрутизация повсеместно вытеснена бесклассовой маршрутизацией, при которой количество адресов в сети определяется только и исключительно маской подсети.
- eсли весь IP-адрес состоит только из двоичных нулей, то он обозначает адрес того узла, который сгенерировал этот пакет; этот режим используется только в некоторых сообщениях ICMP;
- eсли в поле номера сети стоят только нули, то по умолчанию считается, что узел назначения принадлежит той же самой сети, что и узел, который отправил пакет;
- eсли все двоичные разряды IP-адреса равны 1, то пакет с таким адресом назначения должен рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета. Такая рассылка называется ограниченным широковещательным сообщением (limited broadcast);
- eсли в поле номера узла назначения стоят только единицы, то пакет, имеющий такой адрес, рассылается всем узлам сети с заданным номером сети. Например, в сети 192.190.21.0 с маской 255.255.255.0 пакет с адресом 192.190.21.255 доставляется всем узлам сети этой сети. Такая рассылка называется широковещательным сообщением (broadcast).