О интернет протоколе
Сетево́й протоко́л — набор правил и действий (очерёдности действий), позволяющий осуществлять соединение и обмен данными между двумя и более включёнными в сеть устройствами. (Википедия)
IP (Internet Protocol) - набор правил для отправки информации через сеть, а также получения этой информации. Вся информация в интернете разделена на кусочки, которые называются пакеты. Атрибуты интернет протокола привязаны к каждому пакету, чтобы роутер (или другое устройство для отправления пакетов) знало куда именно отправлять данный пакет. Адрес от кого и куда пакет отправляется называется IP-адресом.
IP-адрес состоит из 4 цифр, каждая из них может принимать 256 значений (от 0 до 255), например: 192.168.0.1, 127.88.93.2, 255.255.255.255, 0.0.0.0. Данный адрес является IPv4 адресом. Компьютер видит его примерно так: 11000000.10101000.00000000.00000001
Также, для отправки пакета нужна маска подсети. Маска подсети отделяет адрес сети и адрес хоста (хост - устройство, которое подключено к сети), для того чтобы отделить одного от другого как раз таки и нужна маска подсети.
Для того чтобы отделить одного от другого нужно знать, что такое побитовое умножение. В побитовом умножении всё достаточно легко:
11000000.10101000.00000000.00000001 (192.168.0.1)
+ 11111111.11111111.11111111.00000000 (255.255.255.0)
-----------------------------------
11000000.10101000.00000000.00000000 (192.168.0.0)
При побитовом сложении получается 1, только если два слагаемых равны 1. Обычно маска подсети это 255.255.255.0. Поэтому первые 3 октеты (октета - 8 чисел) будут точно такие же, как и IP-адрес, а последних цифр не будет. Как уже можно понять первые 3 октеты - адрес сети, последняя октета - адрес хоста.
Что присутствует в IP пакете?
В IP пакете присутствуют следующие атрибуты:
- Адрес отправителя
- Адрес получателя
- Размер пакета
- Какой метод транспортировки используется (TCP, UDP)
- TTL (Time To Live) - количество попыток, перед которым пакет “потеряется”
Протокол передачи данных — набор соглашений интерфейса логического уровня, которые определяют обмен данными между различными программами. Эти соглашения задают единообразный способ передачи сообщений и обработки ошибок. Сигнальный протокол используется для управления соединением — например, установки, переадресации, разрыва связи. Примеры протоколов: RTSP, SIP. Для передачи данных используются такие протоколы как RTP. (Википедия)
Методы транспортировки пакетов (TCP)
Transmission Control Protocol - один из протоколов передачи данных, который является достаточно медленным, однако надёжным. При отправке пакета по протоколу TCP, хост отправляет пакет к другому хосту и ждёт ответа (пришёл ли пакет). Если пакет не пришёл, то хост отправляет пакет снова. Также стоит отметить что данный протокол устанавливает соединение до того, как собирается отправлять пакеты.
Методы транспортировки пакетов (UDP)
User Datagram Protocol - протокол, который отличается от TCP скоростью, но точно не надёжностью. Он не устанавливает соединение до отправки пакетов и не проверяет получил ли пакет адресат (тот, кто получил пакет).