Клиентская и серверная стороны приложения
Как показано на рис. 2.2, сетевое приложение, как правило, состоит из двух «сторон»: клиентской и серверной. Клиентская и серверная стороны находятся на разных оконечных системах и взаимодействуют путем обмена сообщениями. Так, web-браузер является клиентской стороной HTTP, в то время как программное обеспечение web-сервера представляет собой серверную сторону протокола. Роль клиентской и серверной сторон для SMTP играют соответственно передающий и принимающий почтовые серверы соответственно.
Во многих приложениях хост может играть роль как клиента, так и сервера. Представим себе сеанс Telnet, установленный между хостами А и В (как вы помните, Telnet представляет собой когда-то популярное приложение для организации удаленного доступа). Если сеанс был инициирован хостом А, то хост А будет играть роль клиента, а хост В — роль сервера. Если же инициатором сеанса был хост В, то хосты А и В поменяются ролями. В качестве другого примера представьте себе обмен файлов между двумя хостами по протоколу FTP (File Transfer Protocol — протокол передачи файлов). Во время FTP-сеанса клиент и сервер могут неоднократно меняться местами, при этом клиентом считается та сторона, которая осуществляет прием файла. Тем не менее чаще всего пользуются следующим правилом: клиентом является хост, инициирующий обмен.