ACL-списки позволяют администраторам контролировать входящий и исходящий трафик. Подобный контроль может сводиться к простому запрету или разрешению трафика на основе сетевых адресов или представлять собой комплекс мер по управлению сетевым трафиком на основе запросов порта TCP. Понять, как ACL-список фильтрует трафик, будет легче, если рассмотреть диалог, возникающий при сеансе связи по протоколу TCP, например, при запросе веб-страницы.

Обмен данными по протоколу TCP

Когда клиент запрашивает данные от веб-сервера, протокол IP отвечает за взаимодействие между компьютером (источник) и сервером (назначение). Протокол TCP управляет обменом данных между браузером (приложение) и программным обеспечением сетевого сервера.

При отправке электронной почты, просмотре веб-страницы или загрузке файла протокол TCP отвечает за разбивку данных по сегментам для протокола IP перед тем, как они будут отправлены. Протокол TCP также управляет сбором поступивших из сегментов данных. Действие протокола TCP очень похоже на разговор, в котором два сетевых узла договариваются о передаче данных от одного узла к другому.

TCP обеспечивает надежный сервиc передачи потока байтов. Говорят, что протокол TCP ориентирован на установление соединения (connection-oriented protocol). Термин «с установлением соединения» означает, что два приложения должны установить TCP-соединение перед тем, как осуществлять обмен данными. TCP является полнодуплексным протоколом. Это означает, что каждое TCP-соединение поддерживает пару потоков байтов, и каждый поток байтов следует в одном направлении. Протокол TCP включает механизм управления потоками для каждого потока байтов, позволяющий получателю ограничивать объём данных, передаваемых отправителем. Протокол TCP также реализует механизм отслеживания перегрузки сети.

Анимация на рис. 1 иллюстрирует процесс обмена данными по протоколу TCP/IP. Сегменты TCP маркированы флагами, отмечающими их назначение: SYN начинает сеанс синхронизации, ACK подтверждает, что ожидаемый сегмент принят, и FIN — завершает сеанс. SYN/ACK подтверждает синхронизацию передачи. Сегменты данных TCP несут информацию протоколов более высокого уровня. Эта информация необходима для корректного направления данных к соответствующему приложению.

Сегмент данных TCP также определяет порт, соответствующий запрошенной службе. Например, HTTP соответствует порт 80, SMTP — порт 25, а FTP — порты 20 и 21. На рис. 2 показаны диапазоны портов UDP и TCP.

На рис. 3-5 приводится информация о портах TCP/UDP.