Існують три типових різновиди архітектури клієнт-сервер. У першому випадку клієнт і сервер працюють на одній машині (рис. 2.1, а). Це найпростіша конфігурація, оскільки тут немає фізичної мережі. Дані, які надсилаються, передаються стекові TCP/IP, але не розміщуються у вихідній черзі мережного пристрою, а закільцьовуються системою і повертаються у стек, але вже в якості прийнятих даних.
Рисунок 2.1 — Різновиди архітектури клієнт-сервер: а) клієнт і сервер на
одній машині; б) клієнт і сервер у локальній мережі; в) клієнт і сервер у
різних локальних мережах
В другому прикладі конфігурації (рис 2.1, б) клієнт і сервер працюють на різних машинах у межах однієї локальної мережі. Тут має місце реальна мережа, але умови є надто близькі до ідеальних. Пакети губляться нечасто і практично завжди надходять у правильному порядку. Така ситуація доволі часто зустрічається на практиці, причому деякі додатки призначено для роботи лише в такому середовищі.
У третьому прикладі (рис 2.1, в) клієнт і сервер працюють на різних комп’ютерах, сполучених глобальною мережею. Цією мережею може бути Internet чи корпоративна Intranet, але головним є те, що додатки вже не розміщуються всередині однієї локальної мережі, тому на шляху IP датаграм є принаймні один маршрутизатор. Мережні програми, які працюють у різних локальних мережах, впливають на оптимізацію обміну з продуктивності з урахуванням значних затримок і відносно низької пропускної здатності.