Суббота
28.06.2025, 11:46
C++ Soft
Приветствую Вас Гость | RSS
Главная Каталог статей Регистрация Вход
Меню сайта

Категории каталога
Windows API [25]
Каталог Windows API функций
Функции конвер. [3]
Функции конвертирования типов данных
Работа с сетью [3]
Недокументированные способы работы с сетью
Другие статьи... [8]
Недокументированные способы программирования

Наш опрос
Оцените мой сайт
Всего ответов: 35

Главная » Статьи » Visual C++ Win32 » Работа с сетью

Теория сетей и сетевых протоколов
Сетевое взаимодействие делится на семь уровней:
  1. Физический уровень - передача битов по физическим каналам.
  2. Канальный уровень - передача кадра данных между любыми узлами в сетях типовой топологии или соседними узлами в сетях произвольной топологии. В качестве адресов на канальном уровне используются MAC-адреса
  3. Сетевой уровень - доставка пакета любому узлу в сетях произвольной топологий. На этом уровне нет никаких гарантий доставки пакета.
  4. Транспортный уровень -  доставка пакета любому узлу с любой топологией сети и заданным уровнем надёжности доставки. На этом уровне есть средства для установки соединения, буферизации, нумерации и упорядочивания пакетов.
  5. Уровень сеанса - управление диалогом между узлами. Обеспечена возможность фиксации активной на данный момент стороны.
  6. Уровень представления - предоставляет возможность преобразования данных (шифрование, сжатие)
  7. Прикладной уровень - набор сетевых сервисов (FTP, E-mail и др.) для пользователей и приложения.
Сетевые протоколы:
Протокол IP:
Протокол IP при передаче данных не устанавливает виртуального соединения и использет датаграммы (пакеты данных) для отправки информации от одного компютера к другому. По протоколу IP, пакеты просто отправляются в сеть без ожидания подтверждения о получения данных, а значит - без гарантии целостности данных.
 
Каждый IP пакет содержит адреса отправителя и получателя, идентификатор протокола, TTL (время жизни пакета) и контрольную сумму для проверки целостности пакета.
 
Протоколы ARP и RARP:
Протокол ARP предназначен для определения аппаратного (MAC) адреса компьютера в сети по его IP адресу. Прежде чем данные смогут быть отправлены на какой-нибудь компьютер, отправитель должен знать аппаратный адрес получателя.
Когда компьютер посылает ARP запрос на поиск аппаратного адреса, то протокол сначала ищет этот адрес в локальном кэше. Если уже были обращения по данному IP адресу, то информация о MAC адресе должна сохраниться в кэше. Если ничего не найдено, то в сеть посылается широковещательный запрос, который получат все компьютеры сети. Тот кому принадлежит искомый IP, ответит на запрос указав свой MAC-адрес.
Протокол RARP делает обратное - определяет IP адрес по известному MAC адресу.
 
Протоколы TCP и UDP:
Протоколы TCP и UDP находятся на транспортном уровне, поэтому когда пакет TCP или UDP опускается на уровень ниже для отправки в сеть, он преобразовывается в IP. Здесь пакету добавляется сетевой адрес, TTL и другие атрибуты протокола IP. После этого пакет идет дальше вниз для физической отправки в сеть.
 
Протокол UDP:
Благодаря тому, что протокол UDP не устанавливает соединения, он работает  быстрее TCP. Из-за высокой скорости его очень удобно использовать там, где данные нужно передавать быстро, и не нужно заботиться об их целостности.
 
Протокол TCP:
В отличие от UDP протокол TCP устанавливает связь между приемником и передатчиком и обеспечивает целостности данных и гарантии их доставки т.е. работает по принцыпу клиент-сервер.
 
Когда данные отправляются в сеть по TCP, то на отправляющей стороне включается таймер. Если в течение определенного времени приемник не подтвердит получение данных, то будет предпринята еще одна попытки отправки данных. Если приемник получит испорченные данные, то он сообщит об этом источнику и попросит снова отправить испорченные пакеты.
 
Соединение:
  1. Клиент, который хочет соединиться с сервером, отправляет ему SYN-запрос, указывая номер порта, к которому он хочет подсоединится, и специальное число (чаще всего случайное).
  2. Сервер отвечает своим сегментом SYN, содержащим специальное число сервера. Он также подтверждает приход SYN пакета от клиента с использованием ACK ответа, где специальное число, отправленное клиентом, увеличено на 1.
  3. Клиент должен подтвердить приход SYN от сервера с использованием ACK - специальное число сервера, увеличенное на 1.

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

Категория: Работа с сетью | Добавил: Admin (06.05.2008)
Просмотров: 4300 | Комментарии: 3 | Рейтинг: 5.0/1 |
Всего комментариев: 2
2 Вольдемар  
0
Подскажите пожалуйста. я пользуюсь модемом Siemense и при отправке сообщений он сам подменяет моё win в syn на свой вшитый так как всё время один и тот же выдаёт. А как бы узнать какие есть win в syn пакетах в других модемах не подсоедения и предварительно не покупая их?? Заранее спасибо.

1 lol  
0
cry

Имя *:
Email *:
Код *:
Форма входа

Поиск

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Copyright MyCorp © 2025
Сайт управляется системой uCoz