Мне никогда не нравился термин computer science‚ и главная причина состоит в том, что ничего подобного не существует. Computer science — это сборная солянка слабо связанных между собой областей, по воле случая оказавшихся рядом, прямо как Югославия. Пол Грэм
Кроме того, в больших городах интернет-корпорации, такие как Netflix и Google, часто устанавливают пиринговые соединения напрямую с интернет-провайдерами, что позволяет им устанавливать более короткие и быстрые соединения со многими своими клиентами
Первоначально в SMTP не было аутентификации: серверы безоговорочно верили‚ что клиенты отправляли правильные электронные письма. К сожалению, как только электронная почта стала популярной, безрассудные интернет-пользователи принялись отправлять всякий спам на все адреса, которые могли найти. Некоторые даже отправляют мошеннические письма с нелегитимными полями From.
Все сообщения, отправляемые сервером, начинаются с трехзначного номера, называемого кодом возврата. SMTP определяет множество различных кодов, каждый из которых имеет свое собственное значение. В частности, код 220 сообщает, что сервер готов к получению инструкций. После кода сервер указывает собственное имя. В ответ клиент должен отправить команду HELO, чтобы идентифицировать себя
широко используемым протоколом является Simple Mail Transfer Protocol (SMTP). Он задает правила общения между сервером электронной почты и клиентским компьютером.
каждый протокол связан с определенным номером порта TCP или UDP. Приложения, использующие один и тот же протокол, почти всегда ожидают подключения к одному и тому же номеру порта.
Клиенту нужно просто указать IP-адрес хоста-сервера и номер порта, который этот сервер прослушивает. Все процедуры по запуску и поддержанию TCP-соединения выполняются хостом за кулисами. После успешного выполнения connect() могут быть вызваны send() и recv() для обмена данными.
Как и в случае дейтаграмм UDP, сегменты TCP включают контрольную сумму. Она добавляется хостом-отправителем и проверяется хостом-получателем. Если получен поврежденный сегмент, он отбрасывается без подтверждения. Это гарантирует, что все фрагменты данных в итоге дойдут до места назначения без ошибок.