Транспортные протоколы TCP и UDP.
Протокол IP обеспечивает доставку данных между двумя (или более) компьютерами. Однако на одном узле может функционировать параллельно несколько программ, которым требуется доступ к сети. Следовательно, данные внутри компьютерной системы должны распределяться между программами. Поэтому, при передаче данных по сети недостаточно просто адресовать конкретный узел. Необходимо также идентифицировать программу-получателя, что невозможно осуществить средствами сетевого уровня.
Другой серьезной проблемой IP является невозможность передачи больших массивов данных. Протокол IP разбивает передаваемые данные на пакеты, каждый из которых передается в сеть независимо от других. В случае если какие-либо пакеты потерялись, то модуль IP на принимающей стороне не сможет обнаружить потерю, т.е. нарушение целостности общего массива данных.
Для решения этих проблем разработаны протоколы транспортного уровня TCP и UDP.
Идентификация программ в протоколах TCP и UDP обеспечивается уникальными числовыми значениями, так называемыми номерами портов. Номера портов назначаются программам в соответствии с ее функциональным назначением на основе определенных стандартов. Для каждого протокола существуют стандартные списки соответствия номеров портов и программ. Так, например, программное обеспечение WWW, работающее через транспортный протокол TCP, использует TCP-порт 80, а служба DNS взаимодействует с транспортными протоколами TCP и UDP через TCP-порт 53 и UDP-порт 53 соответственно.
Таким образом, протокол сетевого уровня IP и транспортные протоколы TCP и UDP реализуют двухуровневую схему адресации: номера TCP- и UDP-портов позволяют однозначно идентифицировать программу в рамках узла, однозначно определяемого IP-адресом. Следовательно, комбинация IP-адреса и номера порта позволяет однозначно идентифицировать программу в сети Интернет. Такой комбинированный адрес называется сокетом (socket).
Дополнительно к этому протокол TCP обеспечивает гарантированную доставку данных. Принцип гарантированной доставки основан на том, что передающий компьютер всегда "знает", были ли доставлены данные получателю или нет. Это обеспечивается тем, что принимающий компьютер подтверждает успешный прием данных. Если передающий компьютер не получает подтверждения, он пытается произвести повторную передачу. Режим передачи с гарантией доставки имеет существенный недостаток - сеть дополнительно загружается пакетами-подтверждениями. Это может оказаться принципиальной проблемой на каналах с низкой производительностью. Поэтому для передачи небольших порций данных, если нет необходимости в подтверждении, или для передачи потоковых данных (например, видео или аудио) используется протокол передачи с негарантированной доставкой UDP.
Дата добавления: 2015-08-11; просмотров: 985;