Share This Post

Share on facebook
Share on whatsapp
Share on twitter
Share on email
Share on vk

HTTP Basics. DNS.

Let’s get it started!

Всем привет! Сегодня наш урок будет посвящен такой вещи, как IP и DNS.

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

А все почему? Потому что 21 век привнес за собой, революцию с сфере веб-технологий, второе, то что, в стандарте IPv4 хранится всего лишь 4 байта, либо 32 бита информации.Для решения этой проблемы привнесли новую версию IP, а именно IPv6, который может хранить в себе вместо 4 миллиардов чисел, 5·1028 чисел. Так что, когда данный стандарт будет использован повсеместно, у нас будет предостаточно времени придумать, что то другое.

Что же такое DNS?

DNS — Domain Name System(Server), система, которая позваляет нам, получать доступ к сайтам, с помощью их IP адрессов.

Откуда же мы берем, эти самые адресса? Все просто, от самого DNS.

То есть, когда мы хотим посетить, какой либо сайт, мы как обычно вводим, адресс данного сайта, то есть Domain Name. Когда наш DNS сервер, принимает Domain Name, с помощью этого адресса, он ищет в своей базе данных IP соответствующий данному адрессу.

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

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

Например, вместо того, чтобы перейти на какой либо сайт используя айпи айдресс (типа такого 109.120.169.66 ), мы можем всего лишь ввести, доменное имя сайта (типа yandex.kz).

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

Если представить примерную схему DNS, получится вот такая картина:

И так, если взглянуть на данную схему, то у нас получится примерно такая последовательность:

  1. Вводим домен в адрессную строку.
  2. После этого мы попадаем на сам DNS сервер
  3. Далее DNS сервер «говорит» нам IP сервера, на который мы хотим перейти
  4. Мы получаем IP адресс
  5. С помощью этого адресса, мы попадаем на сервер, получаем нужные файлы.
  6. И Вуаля, мы оказались на сайте.

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

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

Откуда же мы узнаем эти МАC адресса? От ARP!

ARP — Address Resolution Protocol — протокол определения адреса) — протокол в компьютерных сетях, предназначенный для определения MAC-адреса по IP-адресу другого компьютера.

И так! С этим мы разобрались, а теперь у нас возникает резонный вопрос. Как мы можем быть уверенны что наши пакеты благополучно достигли цели?

Для этого есть такой метод, как «TCP 3-Way Handshake»

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

Как это происходит? Взглянем на маленькую, но очень информативную гифку:

Как происходит подобное рукопожатие?

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

Дальнейший алгоритм:

  • Сервер получает сегмент, запоминает номер последовательности

  • В случае успеха сервер посылает клиенту сегмент с номером последовательности и флагами SYN и ACK

  • ​В случае неудачи сервер посылает клиенту сегмент с флагом RST.

2. Если клиент получает сегмент с флагом SYN, то он запоминает номер последовательности и посылает сегмент с флагом ACK.

Дальнейший алгоритм:

  • Если он одновременно получает и флаг ACK (что обычно и происходит), то он переходит в состояние ESTABLISHED;

  • Если клиент получает сегмент с флагом RST, то он прекращает попытки соединиться;

  • Если клиент не получает ответа в течение 10 секунд, то он повторяет процесс соединения заново.

3. Если сервер в состоянии SYN-RECEIVED получает сегмент с флагом ACK, то он переходит в состояние ESTABLISHED.

  • В противном случае после тайм-аута он закрывает сокет и переходит в состояние CLOSED.

Процесс называется «трёхэтапным рукопожатием» (англ. three way handshake), так как несмотря на то что возможен процесс установления соединения с использованием четырёх сегментов (SYN в сторону сервера, ACK в сторону клиента, SYN в сторону клиента, ACK в сторону сервера), на практике для экономии времени используется три сегмента.

 

Subscribe To Our Newsletter

Get updates and learn from the best

More To Explore

Uncategorized

Теория Зон Обучения (Сеннингер, 2000)

Теория Зон Обучения (Сеннингер, 2000) Изучение чего-то нового похоже на начало нового путешествия. Вы должны оставить позади то, что удобно и привычно, чтобы учиться и

AzatAI Team

Вирусы. Распространение.

Что такое вирус? Вирус — можно назвать тайным агентом, который проникает в живые клетки организма и размножается т.е. он не может размножаться сам по себе

Do You Want To Boost Your Business?

drop us a line and keep in touch

Follow Us

© 2019 AzatAI All Rights Reserved