ГОРЯЧЕКЛЮЧЕВСКИЙ ФИЛИАЛ
НОУ ВПО МОСКОВСКОЙ АКАДЕМИИ ПРЕДПРИНИМАТЕЛЬСТВА
ПРИ ПРАВИТЕЛЬСТВЕ МОСКВЫ
Курсовая работа по дисциплине: «Микропроцессорные системы»
Тема: «Передатчик пакетов Ethernet по протоколу UDP»
Выполнил: студент 3 курса
очной формы обучения
специальности 230113
«Компьютерные системы и комплексы»
Проверил: преподаватель
Горячий Ключ 2014 г.
Содержание.
Введение…………………………………………………………………....3
1. История развития…………………………………………………….…5
1.1 Принцип работы Ethernet……………………………..……………8
1.2 Принцип работы UDP протокола………………….………………12
1.3 Область использование UDP………………..……………………..15
2. Сравнение UDP и TCP…………………………….……...……………17
Заключение………………………………………………....……………..23
Список используемых источников…………………...……………….....24
Введение
Виртуальная сеть виртуальных сетей - Интернет является самой большой и самой популярной сетью. Можно смело утверждать, что эта сеть сохранит это лидерство в ближайшие годы. Привлекательность сети не только в том, что это единая среда общения людей, находящихся в разных странах и на разных континентах. Интернет предоставляет все более широкий спектр услуг. Это и информационно-поисковые системы, телефония, аудио и видео письма, доставляемые за считанные секунды в любую точку мира (где имеется Интернет), видеоконференции, электронные журналы, службы новостей, дистанционное обучение, банковские операции и многое, многое другое. Интернету предстоит мучительная процедура перехода на 128-битовые адреса (IPv6), но по ее завершении можно ожидать дальнейшего расширения списка услуг. Уже сегодня Интернет стал средой, предоставляющей возможность целевой рекламы и дистанционной торговли. Уже в начале следующего века сети станут самым мощным средством массовой информации. Но для решения всех этих проблем в этой сфере еще очень много надо сделать. Современные поисковые системы, несмотря на впечатляющие успехи, требуют существенного улучшения эффективности, много надо сделать для того, чтобы Интернет пришел в каждую квартиру.
Сегодня Интернет использует многие десятки протоколов. Если сюда добавить протоколы физического уровня, то их число превысит сотню. На уровне локальных сетей наиболее распространены различные разновидности Ethernet, а также Token Ring и некоторые другие. Особенно велико разнообразие протоколов межсетевого обмена. Здесь помимо PPP используется FDDI, X.25, ISDN, ATM, SDH, Fibre Channel и пр. На транспортном уровне в Интернет работают протоколы UDP (без установления соединения) и TCP (с установлением соединения). Это два принципиально разных подхода к передаче данных. В обоих случаях и передатчик и приемник имеют индивидуальные IP-адреса и порты. Но в случае TCP они ассоциируются в соединители (socket) - две пары IP-адрес-порт и прием/передача в рамках одной сессии происходит по схеме точка-точка. Для UDP же допускается возможность передачи одновременно нескольким приемникам (мультикастинг) и прием данных от нескольких передатчиков в рамках одной и той же сессии. Протокол TCP используется для поточной передачи данных, при которой доставка гарантируется на протокольном уровне. Это обеспечивается обязательным подтверждением получения каждого пакета TCP. Напротив, протокол UDP не требует подтверждения получения. В этом случае, как правило, исключается также и фрагментация пакетов, так как пакеты при схеме без установления соединения никак не связаны между собой. По этим причинам UDP в основном служит для передачи мультимедийных данных, где важнее своевременность, а не надежность доставки. Протокол TCP используется там, где важна надежная, безошибочная доставка информации (файловый обмен, передача почтовых сообщений и WEB-технология).
Решение указанной проблемы имеет не только теоретическое, но и практическое значение. Тема которая освещается в данной работе, не утратила своей актуальности и сегодня. В этой курсовой работе предпринимается попытка решить следующие задачи: историю развития, работу и предназначение Ethernet и протокола UDP, и принцип их действия. Сравнить протоколы UDP и TCP, описать их плюсы и минусы.
1. История развития.
22 мая 1973г. является датой появления Ethernet. В этот день Ethernet Роберт Меткалф и Дэвид Боггс предоставили на суд общественности описание своей экспериментальной сети, которую они создали в Исследовательском центре Xerox. Данные в этой сети передавались со скоростью 2,94 Мбит/с по толстому коаксиальному кабелю. Имя "Ethernet" (эфирная сеть) сеть получила благодаря схожему механизму разделения среды передачи, который использовался в радиосети Гавайского университета ALOHA. Уже к началу 80-х годов Ethernet имела четкую теоретическую базу. В 1983 году разработанный ранее IEEE (совместными силами Xerox , DEC и Intel) был утвержден в качестве стандарта 802.3.
Особенность Ethernet заключается в методе получения доступа к среде передачи информации. Он является множественным, с контролем несущей и обнаружением коллизий (CSMA/CD, Carrier Sense Multiple Access with Collision Detection — множественный доступ с контролем несущей и обнаружением коллизий). Это значит, что вся передаваемая информация (среда передачи) делится специальными устройствами случайным образом, хаотично. В результате, станции имеют различный доступ к среде, и он всегда будет носить характер не равноправного соперничества. Это все приводит к тому, что возникают задержки в доступе. Чаще всего это проявляется в экстренных случаях перегрузки. Иногда, в таких ситуациях, скорость может стать, равна нулю.
В связи с недетерминированным методом передачи данных до сих пор считается, что Ethernet не может качественно передавать поток данных. Разрабатывались новые технологии, которые были призваны вытеснить технологию Ethernet. Ими стали Tokeng Ring и АТМ. Но сегодня, мы понимаем, что сделать это им не удалось. Объясняется это, в основном, тем, что данная технология существует уже более 20-ти лет. За время своего существования она много раз видоизменялась и дополнялась. Прародитель семейства 10base5 сильно отличается от современного "гигабита" в полном дуплексе. Тем не менее, отметим, что когда был введен 10base-T, было сохранено взаимодействие кабельной инфраструктуры и всех устройств. Успех технологии часто объясняют тем, что инновации внедрялись параллельно с ростом потребностей пользователей и еще тем, что развитие происходило от простого к сложному.
В марте 1981 фирма 3com выпустила Ethernet-трансивер. Через год, в сентябре 1982 года уже был представлен первый сетевой адаптер для ПК. 1983 год ознаменовался появлением спецификации IEEE 802.3. В этом же году было определено предельное расстояние между точками одного сегмента - 2,5 километра, и шинная топология сети - толстый и тонкий Ethernet (10base5 и 10base2 соответственно). При этом скорость передачи составляла 10 Мбит/сек.
Следующий этап развития технологии начался в 1985 году, когда была запущена 2-я версия спецификации IEEE 802.3, названная Ethernet II. Спецификация предусматривала изменения в структуре заголовка пакета данных и жесткую идентификацию Ethernet устройств – МАС-адресов. Теперь каждый производитель мог зарегистрировать уникальный диапазон в списке адресов. Сегодня данная процедура стоит1250 долларов.
Через 5 лет IEEE утверждает технологию10baseT (витая пара). Технология предусматривала физическую топологию «звезда» и концентраторы (hub), логическая же типология осталась не изменой (CSMA/CD). Основой стандарта послужили изобретения SynOptics Communications, которые объединены под названием LattisNet.
1990 год для сетевых технологий ознаменовался изобретением фирмы "Kalpana". Данный производитель предложил рынку технологию коммутации, которая предполагала отказ от использования разделяемых линий связи между всеми узлами сегмента. Спустя некоторое время, будущий гигант "Cisco" купил данную фирму и их разработку – коммутатор CPW16.
Начиная с 1992 года, в мире активно применяются коммутаторы (switch). Суть технологии состоит в том, что коммутатор организует независимые виртуальные каналы между парами узлов благодаря использованию адресной информации. данная информация содержится в мас адресах. В итоге, пользователь имеет адресную передачу данных, которая была преобразована из недетерминированной модели ethernet.
Уже в 1993 году был предложен fast ethernet. помимо этого, был введен еще ряд изменений: в стандарт ieee 802.1p добавлена групповая адресация и восьми уровневая система приоритетов, а в ieee 802.3x был введен полный дуплекс и контроль соединения для 10baset.
Закончить можно 1995 годом, когда был введен fast ethernet стандарт ieee 802.3u (100baset). С введением этого стандарта технология приобрела современный вид. Безусловно, развитие продолжается, и сегодня, остановимся на этом более подробно ниже.
1.1. Принцип работы Ethernet.
Ethernet - локальная сеть (Локальная сеть определена как частная система передачи данных, которая обычно охватывает ограниченную территорию) технология, которая передает информацию между компьютерами в скоростях 10 и 100 миллионах битов в секунду (Mbps). В настоящее время наиболее широко используемая версия технологии Ethernet - 10-Mbps - один из видов витой пары.
10-Mbps. Множество носителей Ethernet включают: толстую коаксиальную систему (thick coaxial), тонкий коаксиал (thin coaxial), витую пару, и волоконно-оптические системы. Недавний стандарт Ethernet определяет новую быструю (100-Mbps) систему Ethernet, которая работает по витой паре и волоконно-оптическим носителям.
Существует несколько технологий LAN, но Ethernet безусловно самая популярная. Оценки промышленности указывают на то, что с 1994 более чем 40 миллионов узлов Ethernet были установлены во всем мире. Популярности Ethernet сопутствует большой рынок для оборудования Ethernet, который также помогает сохранять конкуренцию.
Со времени первого стандарта Ethernet, спецификации и права формировать технологию Ethernet были сделаны легко доступными любому. Эта открытость, объединенная с легким использованием и отказоустойчивостью системы Ethernet, привели к большому Ethernet рынку и поэтому он так популярен в компьютерной индустрии.
Протоколы, на основе которых строится сеть определенной технологии (в узком смысле), специально разрабатывались для совместной работы, поэтому от разработчика сети не требуется дополнительных усилий по организации их взаимодействия. Иногда сетевые технологии называют базовыми технологиями, имея в виду то, что на их основе строится базис любой сети. Примерами базовых сетевых технологий могут служить наряду с Ethernet такие известные технологии локальных сетей как, Token Ring и FDDI, или же технологии территориальных сетей Х.25 и frame relay. Для получения работоспособной сети в этом случае достаточно приобрести программные и аппаратные средства, относящиеся к одной базовой технологии - сетевые адаптеры с драйверами, концентраторы, коммутаторы, кабельную систему и т. п., - и соединить их в соответствии с требованиями стандарта. Сегодня большинство компьютерных продавцов оборудует их изделия 10-Mbps системами Ethernet, позволяя связать компьютеры с локальной сетью Ethernet. Поскольку 100-Mbps стандарт становится более распространённым, то компьютеры оборудуются Ethernet интерфейсом (Интерфейс Ethernet упоминается также как "адаптер", "контроллер"), который работает на скорости и 10-Mbps и 100-Mbps. Способность связать множество компьютеров, используя независимую от продавца сетевую технологию - основное свойство сегодняшних Администраторов локальных сетей. Большинство локальных сетей должно поддерживать все компьютеры, купленные от различных продавцов и требующие высокой степени сетевой функциональной совместимости. Это обеспечивает Ethernet. [6]
Главным достоинством сетей Ethernet, благодаря которому они стали такими популярными, является их экономичность. Для построения сети достаточно иметь по одному сетевому адаптеру для каждого компьютера плюс один физический сегмент коаксиального кабеля нужной длины. Другие базовые технологии, например Token Ring, для создания даже небольшой сети требуют наличия дополнительного устройства - концентратора.
Кроме того, в сетях Ethernet реализованы достаточно простые алгоритмы доступа к среде, адресации и передачи данных. Простота логики работы сети ведет к упрощению и, соответственно, удешевлению сетевых адаптеров и их драйверов. По той же причине адаптеры сети Ethernet обладают высокой надежностью.
И наконец, еще одним замечательным свойством сетей Ethernet является их хорошая расширяемость, то есть легкость подключения новых узлов.
Другие базовые сетевые технологии - Token Ring, FDDI, l00VGAny-LAN, хотя и обладают многими индивидуальными чертами, в то же время имеют много общих свойств с Ethernet. В первую очередь - это применение регулярных фиксированных топологий (иерархическая звезда и кольцо), а также разделяемых сред передачи данных. Существенные отличия одной технологии от другой связаны с особенностями используемого метода доступа к разделяемой среде. Так, отличия технологии Ethernet от технологии Token Ring во многом определяются спецификой заложенных в них методов разделения среды - случайного алгоритма доступа в Ethernet и метода доступа путем передачи маркера в Token Ring.
Принцип работы протокола Ethernet заключается в следующем: перед отправкой информации в сеть она нарезается на сегменты размером от 72 до 1526 байт. После этого к сегменту добавляется заголовок, содержащий адреса отправителя и получателя информации. Также добавляется "концевик", содержащий контрольную сумму, необходимую для контроля возникновения ошибок. До того как отправить получившийся пакет в сеть передатчик проверяет: не занята ли в данный момент общая среда. Если источник информации обнаружит, что среда занята, то он отложит передачу на некоторое (обычно случайное) время, после чего повторит попытку. Интервал времени, через который будет осуществляться повторный контроль среды передачи, увеличивается от попытки к попытке. Как только передатчик обнаружит, что среда свободна пакет будет передан в сеть. Все устройства, включенные в сеть, непрерывно анализируют заголовки пакетов передаваемых по сети. Если одно из устройств обнаружит, что адрес получателя соответствует его адресу, то он принимает этот пакет, все остальные устройства будут его игнорировать.
В процессе работы сети Ethernet может возникнуть ситуация, когда сразу несколько передатчиков начнут передавать информацию одновременно. Для предотвращения данной ситуации и применяется метод обнаружения коллизий. Если одна из рабочих станций в процессе передачи обнаружит коллизию, т.е. одновременную передачу пакетов сразу от нескольких источников, то в первую очередь источник информации приостанавливает передачу. Далее он посылает в сеть специальный сигнал – "jam signal", который увеличивает вероятность обнаружения коллизии другими станциями, чтобы они также остановили процесс обмена информацией. Далее передатчик информации выжидает некоторое случайное время, после которого он снова пытается получить доступ в сеть. Если среда передачи будет занята, то интервал ожидания будет увеличен и так далее, до тех пор, пока среда не окажется свободный и информация не будет передана.
1.2. Принцип работы UDP протокола.
Протокол UDP, описанный в документе RFC 768, выполняет минимум действий, необходимых для протокола транспортного уровня. Фактически функции UDP сводятся к операциям мультиплексирования и демультиплексирования, а также несложной проверке наличия ошибок в данных. Таким образом, при использовании U DP приложение почти напрямую взаимодействует с протоколом сетевого уровня IP. [1]
UDP получает сообщения от прикладного уровня, добавляет к ним поля номеров портов отправителя и получателя для демультиплексирования приемной стороной, а также два других специальных поля и передает полученный сегмент сетевому уровню. Сетевой уровень заключает сегмент в дейтаграмму и «по возможности» передает ее хосту назначения. Если последний успешно получает сегмент, протокол UDP с помощью поля номера порта получателя направляет данные сегмента нужному процессу. Обратите внимание на то, что протокол UDP не предусматривает процедуры рукопожатия перед началом передачи сегментов. Поэтому говорят, что UDP осуществляет передачу данных без установления соединения. [3]
Примером протокола прикладного уровня, использующего службы протокола UDP, является DNS. Когда DNS-приложение генерирует запрос, оно создает DNS-сообщение и передает его протоколу UDP. Не выполняя рукопожатия с хостом назначения, UDP добавляет к сообщению заголовочные поля и передает его сетевому уровню. Сетевой уровень заключает сообщение в дейтаграмму и передает ее серверу имен. DNS-приложение, создавшее запрос, ожидает ответа и в случае, если ответ не приходит (возможно, по причине потери запроса или ответа), генерирует запрос другому серверу имен либо информирует вызывающее приложение о том, что получение IP-адреса невозможно.
Протокол UDP ведет для каждого порта две очереди: очередь пакетов, поступающих в данный порт из сети, и очередь пакетов, отправляемых данным портом в сеть.
Процедура обслуживания протоколом UDP запросов, поступающих от нескольких различных прикладных сервисов, называется мультиплексированием.
Распределение протоколом UDP поступающих от сетевого уровня пакетов между набором высокоуровневых сервисов, идентифицированных номерами портов, называется демультиплексированием.
Рисунок 1. Демультиплексирование.
Хотя к услугам протокола UDP может обратиться любое приложение, многие из них предпочитают иметь дело с другим, более сложным протоколом транспортного уровня TCP. Дело в том, что протокол UDP выступает простым посредником между сетевым уровнем и прикладными сервисами, и, в отличие от TCP, не берет на себя никаких функций по обеспечению надежности передачи. UDP является дейтаграммным протоколом, то есть он не устанавливает логического соединения, не нумерует и не упорядочивает пакеты данных.
С другой стороны, функциональная простота протокола UDP обуславливает простоту его алгоритма, компактность и высокое быстродействие. Поэтому те приложения, в которых реализован собственный, достаточно надежный, механизм обмена сообщениями, основанный на установлении соединения, предпочитают для непосредственной передачи данных по сети использовать менее надежные, но более быстрые средства транспортировки, в качестве которых по отношению к протоколу TCP и выступает протокол UDP. Протокол UDP может быть использован и в том случае, когда хорошее качество каналов связи обеспечивает достаточный уровень надежности и без применения дополнительных приемов типа установления логического соединения и квитирования передаваемых пакетов.
1.3. Область использование UDP.
Примерами сетевых приложений, использующих UDP, являются NFS (Network File System), TFTP (Trivial File Transfer protocol, RFC-1350), RPC (Remote Procedure Call, RFC-1057) и SNMP (Simple Network Management Protocol, RFC-1157). Малые накладные расходы, связанные с форматом UDP, а также отсутствие необходимости подтверждения получения пакета, делают этот протокол наиболее популярным при реализации приложений мультимедиа, но главное его место работы - локальные сети и мультимедиа.
Прикладные процессы и модули UDP взаимодействуют через UDP-порты. Эти порты нумеруются, начиная с нуля. Прикладной процесс, предоставляющий некоторые услуги (сервер), ожидает сообщений, направленных в порт, специально выделенный для этих услуг. Программа-сервер ждет, когда какая-нибудь программа-клиент запросит услугу.
Например, сервер SNMP всегда ожидает сообщения, адресованного в порт 161. Если клиент snmp желает получить услугу, он посылает запрос в UDP-порт 161 на машину, где работает сервер. На каждой машине может быть только один агент SNMP, т.к. существует только один порт 161. Данный номер порта является общеизвестным, т.е. фиксированным номером, официально выделенным в сети Internet для услуг SNMP. Общеизвестные номера портов определяются стандартами Internet.
Данные, отправляемые прикладным процессом через модуль UDP, достигают места назначения как единое целое. Например, если процесс-отправитель производит 5 записей в порт, то процесс-получатель должен будет сделать 5 чтений. Размер каждого записанного сообщения будет совпадать с размером каждого прочитанного. Протокол UDP сохраняет границы сообщений, определяемые прикладным процессом. Он никогда не объединяет несколько сообщений в одно и не делит одно сообщение на части.
Формат сообщений UDP.
Единица данных протокола UDP называется UDP-пакетом или пользовательской дейтаграммой (user datagram). UDP-пакет состоит из заголовка и поля данных, в котором размещается пакет прикладного уровня. Заголовок имеет простой формат и состоит из четырех двухбайтовых полей:
1) UDP source port - номер порта процесса-отправителя;
2) UDP destination port - номер порта процесса-получателя;
3) UDP message length - длина UDP-пакета в байтах;
4) UDP checksum - контрольная сумма UDP-пакета.
Не все поля UDP-пакета обязательно должны быть заполнены. Если посылаемая дейтаграмма не предполагает ответа, то на месте адреса отправителя могут помещаться нули. Можно отказаться и от подсчета контрольной суммы, однако следует учесть, что протокол IP подсчитывает контрольную сумму только для заголовка IP-пакета, игнорируя поле данных.[4]
2. Сравнение UDP и TCP.
Описание TCP.
TCP — «гарантированный» транспортный механизм с предварительным установлением соединения, предоставляющий приложению надёжный поток данных, дающий уверенность в безошибочности получаемых данных, перезапрашивающий данные в случае потери и устраняющий дублирование данных. TCP позволяет регулировать нагрузку на сеть, а также уменьшать время ожидания данных при передаче на большие расстояния. Более того, TCP гарантирует, что полученные данные были отправлены точно в такой же последовательности. В этом его главное отличие от UDP.
Протокол TCP рассматривает данные клиента как непрерывный неинтерпретируемый поток октетов. TCP разделяет этот поток на части для пересылки на другой узел в TCP-сегментах некоторого размера. Для отправки или получения сегмента модуль TCP вызывает модуль IP. Немедленное отправление данных может быть затребовано процессом-клиентом от TCP-модуля с помощью специальной функции PUSH, иначе TCP сам будет решать, как накапливать и когда отправлять данные клиента или когда передавать клиенту полученные данные. Протокол TCP обеспечивает работу одновременно нескольких соединений. Каждый прикладной процесс идентифицируется номером порта. Заголовок TCP-сегмента содержит номера портов процесса-отправителя и процесса-получателя. При получении сегмента модуль TCP анализирует номер порта получателя и отправляет данные соответствующему прикладному процессу.
Все распространенные сервисы Интернет имеют стандартизованные номера портов. Например, номер порта сервера электронной почты - 25, сервера FTP - 21. Список стандартных номеров портов можно найти в файле /etc/services (Unix).
Модель службы ТСP.
В основе службы TCP лежат так называемые сокеты (гнезда или конечные точки), создаваемые как отправителем, так и получателем. Они обсуждались в разделе «Сокеты Беркли». У каждого сокета есть номер (адрес), состоящий из IP-адреса хоста и 16-битного номера, локального по отношению к хосту, называемого портом. Портом в TCP называют TSAP-адрес. Для обращения к службе TCP между сокетом машины отправителя и сокетом машины получателя должно быть явно установлено соединение.
Один сокет может использоваться одновременно для нескольких соединений. Другими словами, два и более соединений могут оканчиваться одним сокетом. Соединения различаются по идентификаторам сокетов на обоих концах — (socket1, socket2). Номера виртуальных каналов или другие идентификаторы не используются.
Номера портов со значениями ниже 1024, называемые популярными портами, зарезервированы стандартными сервисами. Например, любой процесс, желающий установить соединение с хостом для передачи файла с помощью протокола FTP, может связаться с портом 21 хоста-адресата и обратиться, таким образом, к его FTP-демону.
Можно было бы, конечно, связать FTP-демона с портом 21 еще во время загрузки, тогда же связать демона telnet с портом 23, и т. д. Однако если бы мы так сделали, мы бы только зря заняли память информацией о демонах, которые, на самом деле, большую часть времени простаивают. Вместо этого обычно пользуются услугами одного демона, называемого в UNIX inetd, который связывается с несколькими портами и ожидает первое входящее соединение. Когда оно происходит, inetd создает новый процесс, для которого вызывается подходящий демон, обрабатывающий запрос. Таким образом, постоянно активен только inetd, остальные вызываются только тогда, когда для них есть работа. Inetd имеет специальный конфигурационный файл, из которого он может узнать о назначении портов. Это значит, что системный администратор может настроить систему таким образом, чтобы с самыми загруженными портами (например, 80) были связаны постоянные демоны, а с остальными — inetd.
Все TCP-соединения являются полнодуплексными и двухточечными. Полный дуплекс означает, что трафик может следовать одновременно в противоположные стороны. Двухточечное соединение подразумевает, что у него имеются две конечные точки. Широковещание и многоадресная рассылка протоколом TCP не поддерживаются.
TCP-соединение представляет собой байтовый поток, а не поток сообщений. Границы между сообщениями не сохраняются. Например, если отправляющий процесс записывает в TCP-поток четыре 512-байтовых порции данных, эти данные могут быть доставлены получающему процессу в виде четырех 512-байтовых порций, двух 1024-байтовых порций, одной 2048-байтовой порции или как-нибудь еще. Нет способа, которым получатель смог бы определить, каким образом записывались данные.
Файлы в системе UNIX также обладают этим свойством. Программа, читающая райл, не может определить, как был записан этот файл: поблочно, побайтно или сразу целиком. Как и в случае с файлами системы UNIX, TCP-программы не имеют представления о назначении байтов и не интересуются этим. Байт для них — просто байт.
Получив данные от приложения, протокол TCP может послать их сразу или поместить в буфер, чтобы послать сразу большую порцию данных, по своему усмотрению. Однако иногда приложению бывает необходимо, чтобы данные были посланы немедленно. Допустим, например, что пользователь регистрируется на удаленной машине. После того как он ввел команду и нажал клавишу Enter, важно, чтобы введенная им строка была доставлена на удаленную машину сразу же, а не помещалась в буфер, пока не будет введена следующая строка. Чтобы вынудить передачу данных без промедления, приложение может установить флаг PUSH (протолкнуть).
Некоторые старые приложения использовали флаг PUSH как разделитель сообщений. Хотя этот трюк иногда срабатывает, не все реализации протокола TCP передают флаг PUSH принимающему приложению. Кроме того, если прежде чем первый пакет с установленным флагом PUSH будет передан в линию, TCP-сущность получит еще несколько таких пакетов (то есть выходная линия будет занята), TCP-сущность будет иметь право послать все эти данные в виде единой дейтаграммы, не разделяя их на отдельные порции.
Последней особенностью службы TCP, о которой следует упомянуть, являются срочные данные. Когда пользователь, взаимодействующий с программой в интерактивном режиме, нажимает клавишу Delete или Ctrl-C, чтобы прервать начавшийся удаленный процесс, посылающее приложение помещает в выходной поток данных управляющую информацию и передает ее TCP-службе вместе с флагом URGENT (срочно). Этот флаг заставляет TCP-сущность прекратить накоп¬ение данных и без промедления передать в сеть все, что у нее есть для данного соединения.
Когда срочные данные прибывают по назначению, получающее приложение прерывается (то есть «получает сигнал», в терминологии UNIX), после чего оно может считать данные из входного потока и найти среди них срочные. Конец срочных данных маркируется, так что приложение может распознать, где они заканчиваются. Начало срочных данных не маркируется. Приложение должно само догадаться. Такая схема представляет собой грубый сигнальный механизм, оставляя все прочее приложению. [7]
Отличие UDP от TCP.
Разница между протоколами TCP и UDP — в так называемой “гарантии доставки”. TCP требует отклика от клиента, которому доставлен пакет данных, подтверждения доставки, и для этого ему необходимо установленное заранее соединение. Протокол UDP намного проще, чем ТСР; он полезен в ситуациях, когда мощные механизмы обеспечения надежности протокола ТСР не обязательны. Заголовок UDP имеет всего четыре поля: поле порта источника (source port), поле порта пункта назначения (destination port), поле длины (length) и поле контрольной суммы UDP (checksum UDP). Поля порта источника и порта назначения выполняют те же функции, что и в заголовке ТСР. Поле длины обозначает длину заголовка UDP и данных; поле контрольной суммы обеспечивает проверку целостности пакета. Контрольная сумма UDP является факультативной возможностью. Протокол TCP считается надежным, тогда как UDP получил даже именование “протокол ненадежных датаграмм. TCP исключает потери данных, дублирование и перемешивание пакетов, задержки. UDP все это допускает, и соединение для работы ему не требуется. Процессы, которым данные передаются по UDP, должны обходиться полученным, даже и с потерями. TCP контролирует загруженность соединения, UDP не контролирует ничего, кроме целостности полученных датаграмм. [9]
С другой стороны, благодаря такой неизбирательности и бесконтрольности, UDP доставляет пакеты данных (датаграммы) гораздо быстрее, потому для приложений, которые рассчитаны на широкую пропускную способность и быстрый обмен, UDP можно считать оптимальным протоколом. К таковым относятся сетевые и браузерные игры, а также программы просмотра потокового видео и приложения для видеосвязи (или голосовой): от потери пакета, полной или частичной, ничего не меняется, повторять запрос не обязательно, зато загрузка происходит намного быстрее. Протокол TCP, как более надежный, с успехом применяется даже в почтовых программах, позволяя контролировать не только трафик, но и длину сообщения и скорость обмена трафиком. [8]
Заключение.
В этой курсовой работе описывается, что Ethernet - это самая распространенная на сегодняшний день технология локальных сетей. В широком смысле Ethernet - это целое семейство технологий, включающее различные фирменные и стандартные варианты, из которых наиболее известны фирменный вариант Ethernet DIX, 10-мегабитные варианты стандарта IEEE 802.3, а также новые высокоскоростные технологии FastEthernet и Gigabit Ethernet. Почти все виды технологий Ethernet используют один и тот же метод разделения среды передачи данных - метод случайного доступа CSMA/CD, который определяет облик технологии в целом.
На характеристики производительности сети большое значение оказывает коэффициент использования сети, который отражает ее загруженность. При значениях этого коэффициента свыше 50 % полезная пропускная способность сети резко падает: из-за роста интенсивности коллизий, а также увеличения времени ожидания доступа к среде.
Список используемых источников.
1) URL: http://book.itep.ru/4/44/udp_442.htm - Телекоммуникационные технологии;
2) URL:http://citforum.ru/nets/semenov/4/44/inter_44.shtml - Форум CIT;
3) URL: http://ru.wikipedia.org/wiki/UDP - Энциклопедия;
4) URL: http://kunegin.com/ref3/tcp/glava4.htm - Информационные технологии;
5) URL: http://citforum.ru/nets/protocols2/2_04_00.shtml - Форум CIT;
6) URL: http://ru.wikipedia.org/wiki/Ethernet - Энциклопедия;
7) URL: http://www.opennet.ru/docs/RUS/linux_base/node350.html - Блок программистов;
8) URL: http://www.vanderboot.ru/tcp-ip/tcp-udp.php - TCP/IP. Сетевое администрирование;
9) URL: http://www.rsdn.ru/forum/network/375346.hot - Форум RSDN.
Передатчик пакетов Ethernet по протоколу UDP
Курсовая работа по предмету «Компьютерные сети»