КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Протоколы транспортного уровня TCP и UDP
Основные виды ICMP сообщений.
Протоколы транспортного уровня в стеке TCP/IP представлены двумя протоколами: TCP и UDP. Протокол TCP позволяет устанавливать виртуальный канал передачи данных между компьютерами. Канал устанавливается следующим образом: 1. Компьютер А посылает компьютеру B пакет, с установленным флагом SYN (синхронизация) и случайным числом (а) => SYN (a). 2. Компьютер B отвечает пакетом, с установленными флагами ACK (подтверждение), с параметром (а+1), и установленным флагом SYN и своим случайным числом (b). <= ACK(a+1), SYN (b) 3. Компьютер A завершает "рукопожатие" пакетом, с флагами ACK(a+1), ACK (b+1). => ACK (a+1), ACK (b+1) После установления канала, программа может направлять в него данные непрерывным потоком, как на стандартное устройство ввода вывода. Протокол TCP сам разобьет данные на пакеты, при помощи алгорит-ма "скользящего окна" обеспечит подтверждение факта получения пакетов принимающей стороной и пов-торную передачу пакетов, если в этом будет необходимость. Кроме того, в протоколе TCP реализованы достаточно сложные механизмы регулирования загрузки сети и устранения заторов в сети. Протокол UDP более быстр, чем протокол TCP, однако менее надежен. Данные передаются без установления виртуального канала, в предположении, что принимающая сторона ждет данные. Программа должна сама позаботиться о разбитии передаваемых данных на пакеты, протокол не содержит средств подтверждения факта доставки сообщения и средств коррекции ошибок - все эти задачи должна решать программа. При рассмотрении протоколов транспортного уровня необходимо остановиться на понятии "порт" и "сокет". Порт в протоколах транспортного уровня – это не физически существующий порт ввода-вывода (как, например, последовательный порт COM1), а "виртуальный" порт, который программно изолирует данные передаваемые по одному порту, от данных передаваемых по другому порту. Порты нумеруются от 0 до 65535. Существуют общеизвестные порты (well known ports), каждый из которых традиционно связан с тем или иным видом сетевого приложения. Например, стандартным портом для Web-сервера является порт 80. Большинство общеизвестных портов имеют номера меньше 1024. Это связано с тем, что в ОС Unix порты с номерами меньше 1024 доступны только приложениям с привилегиями суперпользователя root (администратор), поэтому пользователь без этих привилегий не сможет запустить собственный Web-сервер, который подменит на 80 порту настоящий Web-сервер. Порты TCP и порты UDP не зависят друг от друга. Порт 80 TCP может быть занят одним сетевым приложением, а 80 порт UDP – другим приложением. Сокет (socket) – это описатель сетевого соединения между двумя сетевыми приложениями, которое включает в себя: - IP-адрес и номер порта локальной машины. - IP-адрес и номер порта удаленной машины. Сокет однозначно описывает сетевое соединение. У двух различных соединений хотя бы один из приведенных выше параметров должен отличаться. Например к 80 порту сервера могут одновременно подключиться два приложения, работающие с различных портов на клиентской машине.
Дата добавления: 2014-01-20; Просмотров: 409; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |