Сокет является интерфейсом между прикладным процессом и протоколом транспортного уровня
Вспомним, что сокет является интерфейсом между прикладным процессом и протоколом транспортного уровня. На передающей стороне сообщения через сокет оказываются на транспортном уровне, где получают возможность перемещаться внутри сети. Сетевые службы обеспечивают доставку сообщения на транспортный уровень адресата, где оно через сокет попадает в нужное приложение и обрабатывается им. Многие компьютерные сети, включая Интернет, используют более одного транспортного протокола. При разработке приложения необходимо выбрать один из транспортных протоколов, к службам которого оно будет обращаться. Как сделать выбор? Нужно изучить перечень служб, поддерживаемых каждым из протоколов, и выбрать тот, который способен обслужить ваше приложение наилучшим способом. Подобный выбор вы совершаете, решая, следует ли вам воспользоваться в путешествии поездом или самолетом. У каждого вида транспорта есть свои преимущества (например, поезд совершает остановки между конечными пунктами, а самолет тратит меньше времени в пути).
Какие службы могут понадобиться приложению? Выделяются три основных требования, предъявляемых приложениями к транспортному уровню: надежная передача данных, гарантированная скорость передачи и обеспечение доставки данных за определенное время.