Транспортный протокол tcp обеспечивает ответ

Транспортный протокол tcp обеспечивает ответ

Транспортные протоколы TCP и UDP стека протоколов TCP/IP обеспечивают передачу данных между любой парой прикладных процессов, выполняющихся в сети, и предоставляют интерфейс для протокола IP путем демультиплексирования нескольких процессов, использующих в качестве адресов транспортного уровня порты. Для каждого прикладного процесса (ПП) (приложения), выполняемого в компьютере, может быть сформировано несколько точек входа, выступающих в качестве транспортных адресов, называемых портами (рис.4.60).

Существуют два способа присвоения порта приложению:

· централизованный(присвоенные или назначенные номера от 0 до 1023), использующий стандартные номера, присвоенные общедоступным службам (приложениям), например: FTP – 21, telnet – 23, SMTP – 25, DNS – 53, HTTP – 80.

· локальный(динамические номера от 1024 до 65535), предоставляющий произвольный номер из списка свободных номеров при поступлении запроса от приложения пользователя.

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

Таким образом, пара «IP-адрес; номер порта», называемая сокетом (socket), однозначно определяет прикладной процесс в сети.

Номера UDP- и TCP-портов в пределах одного и того же компьютера могут совпадать, хотя и идентифицируют разные приложения. Поэтому при записи номера порта обязательно указывается тип протокола транспортного уровня, например 2345/TCP и 2345/UDP. В некоторых случаях, когда приложение может обращаться по выбору к протоколу UDP или TCP, ему могут быть назначены одинаковые номера UDP- и TCP-портов, например DNS-приложению назначен номер 53 – 53/UDP и 53/TCP.

Транспортный протокол UDP

UDP – транспортный протокол, обеспечивающий передачу данных в виде дейтаграмм между любой парой прикладных процессов, выполняющихся в сети, без установления соединения. Сегменты состоят из 8-байтового заголовка, за которым следует поле данных. Заголовок UDP-сегмента показан на рис.4.61.

Наиболее широко UDP используется при выполнении клиент-серверных приложений (типа запрос-ответ).

При этом UDP не выполняет:

· повторной передачи после получения испорченного сегмента.

Примерами приложений, использующих протокол UDP для передачи данных, являются DHCP, DNS, SNMP.

В некоторых случаях на одном конечном узле может выполняться несколько копий одного и того же приложения. Возникает вопрос: каким образом различаются эти приложения?

Для этого рассмотрим на простом примере процесс формирования запроса и процедуру обращения DNS-клиента к DNS-серверу, когда на одном компьютере запущены два DNS-сервера, причём оба используют для передачи своих данных транспортный протокол UDP (рис.4.62). Для того чтобы различать DNS-серверы, им присваиваются разные IP-адреса – IP1 и IP2, которые вместе с номером порта образуют два разных сокета: «UDP-порт 53, IP1» и «UDP-порт 53, IP2».

Рис.4.62,а) иллюстрирует процесс формирования DNS-клиентом запроса к DNS-серверу.

DNS-запрос транспортном уровне стека протоколов TCP/IP передаётся протоколу UDP, который вкладывает этот запрос в UDP-дейтаграмму и указывает в заголовке порт назначения 53/UDP. Затем UDP-дейтаграмма передаётся на межсетевой уровень, где она вкладывается в IP-пакет, заголовок которого содержит «IP-адрес: IP2». IP-пакет, в свою очередь, передаётся на уровень «межсетевой интерфейс», где он помещается в кадр канального уровня с соответствующим заголовком канального уровня (ЗКУ). Этот кадр передаётся по сети к компьютеру, содержащему два DNS-сервера (рис.4.62,б).

В этом компьютере протокол канального уровня (ПКУ) снимает заголовок ЗКУ и передаёт содержимое кадра на межсетевой уровень протоколу IP, который, в свою очередь, извлекает содержимое (UDP-дейтаграмму) из IP-пакета. Дальнейшие манипуляции с передаваемыми данными отличаются от принципов, заложенных в многоуровневую модель иерархии протоколов. Вместо того чтобы просто передать UDP-дейтаграмму, находящуюся в поле данных IP-пакета, транспортному уровню, IP-протокол присоединяет к UDP-дейтаграмме так называемый псевдозаголовк, содержащий среди прочего IP-адреса отправителя и получателя. Таким образом, протокол UDP, имея IP-адрес и порт назначения, однозначно определяет, что содержимое поля данных (то есть DNS-запрос), должно быть передано приложению «DNS-сервер 2».

Транспортный протокол TCP

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

Логическое соединениемежду двумя прикладными процессами идентифицируется парой сокетов (IP-адрес, номер порта), каждый из которых описывает один из взаимодействующих процессов.

Информация, поступающая к протоколу TCP в рамках логического соединения от протоколов более высокого уровня, рассматривается протоколом TCP как неструктурированный поток байтов и заносится в буфер. Для передачи на сетевой уровень из буфера вырезается сегмент, не превосходящий 64 Кбайт (максимального размера IP-пакета). На практике обычно длина сегмента ограничивается значением 1460 байтами, что позволяет поместить его в кадр Ethernet с заголовками TCP и IP.

Соединение TCP ориентировано на полнодуплексную передачу.

Управление потоком данных в протоколе ТСР осуществляется с использованием механизма скользящего окна переменного размера. При передаче сегмента узел-отправитель включает таймер и ожидает подтверждения. Отрицательные квитанции не посылаются, а используется механизм тайм-аута. Узел назначения, получивший сегмент формирует и посылает обратно сегмент (с данными, если они есть, или без данных) с номером подтверждения, равным следующему порядковому номеру ожидаемого байта. В отличие от многих других протоколов, протокол TCP подтверждает получение не пакетов, а байтов потока. Если время ожидания подтверждения истекает, отправитель посылает сегмент еще раз.

Несмотря на кажущуюся простоту протокола, в нем имеется ряд нюансов, которые могут привести к некоторым проблемам.

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

Во-вторых, сегменты могут прибывать в узел назначения в произвольном порядке, что может привести к ситуации, при которой байты с 2345 по 3456 уже прибыли, но подтверждение для них не может быть выслано, так как байты с 1234 по 2344 еще не получены.

Читайте также:  Как подключить беспроводные наушники к ноутбуку леново

В-третьих, сегменты могут задержаться в сети так долго, что у отправителя истечёт интервал ожидания, и он передаст их снова. Переданный повторно сегмент может пройти по другому маршруту и может быть иначе фрагментирован, или же сегмент может по дороге случайно попасть в перегруженную сеть. В результате для восстановления исходного сегмента потребуется достаточно сложная обработка На рис.4.63 представлен формат заголовка TCP-сегмента. Первые 20-байт заголовка имеют строго фиксированный формат, за которым могут находиться дополнительные поля. После дополнительных полей заголовка размещается поле данных, содержащее не более 65 495 байт, которое вместе с TCP- и IP-заголовками размером по 20 байт даст максимально допустимый размер IP-пакета в 65 535 байт.

Не вдаваясь в детали, рассмотрим кратко назначение фиксированных полей заголовка ТСР-сегмента.

Поля «Порт отправителя» (2 байта) и «Порт получателя» (2 байта) идентифицируют процессы, между которыми установлено логическое соединение.

Поле «Порядковый номер» (4 байта) содержит номер первого байта данных в сегменте, который определяет смещение сегмента относительно потока передаваемых данных

Поле «Номер подтверждения» (4 байта) содержит номер следующего ожидаемого байта, который используется в качестве квитанции, подтверждающей правильный приёма всех предыдущих байтов.

Поле «Длина TCP-заголовка» (4 бита) задаёт длину заголовка ТСР-сегмента, измеренную в 32-битовых словах.

Поле «Резерв» длиной 6 бит зарезервировано на будущее.

Однобитовые флагинесут служебную информацию о типе сегмента и интерпретируются следующим образом:

· URG=1 указывает на наличие срочных данных, что означает использование поля «Указатель на срочные данные»;

· ACK=1 означает, что сегмент является квитанцией на принятый сегмент и поле «Номер подтверждения» содержит осмысленные данные. В противном случае данный сегмент не содержит подтверждения и поле «Номер подтверждения» просто игнорируется.

· PSH=1 (PUSH-флаг) означает запрос на отправку данных без ожидания заполнения буфера;

· RST=1 используется для сброса состояния соединения при обнаружении проблем, а также для отказа от неверного сегмента или от попытки создать соединение;

· SYN=1 используется для установки соединения, при этом если АСК=0, то это означает, что поле подтверждения не используется;

· FIN=1 используется для разрыва соединения.

Поле «Размер окна» (2 байта) определяет, сколько байт может быть послано после байта, получившего подтверждение.

Поле «Контрольная сумма» (2 байта) содержит контрольную сумму, которая охватывает заголовок, данные и псевдозаголовок.

Алгоритм вычисления контрольной суммывыглядит следующим образом.

Перед началом вычисления контрольной суммы значение этого поля устанавливается равным нулю. Если поле данных содержит нечётное число байтов, то оно дополняется нулевым байтом, который используется при подсчёте контрольной суммы, но не вставляется в сегмент для передачи в сети. Необходимость такого добавления обусловлена тем, что ТСР-сегмент, включающий заголовок, данные и псевдозаголовок, рассматривается как совокупность 16-разрядных двоичных чисел, которые складываются в дополнительном коде, а затем вычисляется дополнение для полученной суммы, которое заносится в поле «Контрольная сумма».

Получатель сегмента аналогичным образом подсчитывает контрольную сумму для всего сегмента, включая поле «Контрольная сумма». Очевидно, что полученный таким образом результат должен быть равен 0. Отметим, что дополнительный нулевой байт Поле «Указатель на срочные данные» (2 байта) содержит смещение в байтах от текущего порядкового номера байта до места расположения срочных данных, которые необходимо срочно принять, несмотря на переполнение буфера. Таким образом, в протоколе TCP реализуются прерывающие сообщения. Содержимым срочных данных занимается прикладной уровень. Протокол TCP лишь обеспечивает их доставку и не интересуется причиной прерывания.

Поле «Параметры» имеет переменную длину и может отсутствовать.

Примерами приложений, использующих протокол TCP для передачи данных, являются FTP, TFTP, DNS, POP3, IMAP, TELNET.

Последнее изменение этой страницы: 2016-08-06; Нарушение авторского права страницы

Сеть Интернет, являющаяся сетью сетей и объединяющая громадное количество различных локальных, региональных и корпоративных сетей, функционирует и развивается благодаря использованию единого протокола передачи данных TCP/IP. Термин TCP/IP включает название двух протоколов:

Transmission Control Protocol (TCP) — транспортный протокол;

Internet Protocol (IP) — протокол маршрутизации.

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

Аналогично передаваемая по сети информация "упаковывается в конверт", на котором "пишутся" IP-адреса компьютеров получателя и отправителя, например "Кому: 198.78.213.185", "От кого: 193.124.5.33". Содержимое конверта на компьютерном языке называется IP-пакетом и представляет собой набор байтов.

В процессе пересылки обыкновенных писем они сначала доставляются на ближайшее к отправителю почтовое отделение, а затем передаются по цепочке почтовых отделений на ближайшее к получателю почтовое отделение. На промежуточных почтовых отделениях письма сортируются, то есть определяется, на какое следующее почтовое отделение необходимо отправить то или иное письмо.

IP-пакеты на пути к компьютеру-получателю также проходят через многочисленные промежуточные серверы Интернета, на которых производится операция маршрутизации. В результате маршрутизации IP-пакеты направляются от одного сервера Интернета к другому, постепенно приближаясь к компьютеру-получателю.

Internet Protocol (IP) обеспечивает маршрутизацию IP-пакетов, то есть доставку информации от компьютера-отправителя к компьютеру-получателю.

Определение маршрута прохождения информации. "География" Интернета существенно отличается от привычной нам географии. Скорость получения информации зависит не от удаленности Web-сервера, а от количества промежуточных серверов и качества линий связи (их пропускной способности), по которым передается информация от узла к узлу.

Читайте также:  Сколько стоит нормальный компьютер для игр

С маршрутом прохождения информации в Интернете можно познакомиться достаточно просто. Специальная программа tracert.exe, которая входит в состав Windows, позволяет проследить, через какие серверы и с какой задержкой передается информация с выбранного сервера Интернет на ваш компьютер.

Проследим, как реализуется доступ к информации в "московской" части Интернета к одному из наиболее популярных поисковых серверов российского Интернета www.rambler.ru.

Определение маршрута прохождения информации

1. Соединиться с Интернетом, ввести команду [Программы-Сеанс MS-DOS].

2. В окне Сеанс MS-DOS в ответ на приглашение системы ввести команду [tracert www.rambler.ru].

3. Через некоторое время появится трассировка передачи информации, то есть список узлов, через которые передается информация на ваш компьютер, и время передачи между узлами.

Трассировка маршрута передачи информации показывает, что сервер www.rambler.ru находится от нас на "расстоянии" 7 переходов, т. е. информация передается через шесть промежуточных серверов Интернета (через серверы московских провайдеров МТУ-Информ и Демос). Скорость передачи информации между узлами достаточно высока, на один "переход" тратится от 126 до 138 мс.

Транспортный протокол. Теперь представим себе, что нам необходимо переслать по почте многостраничную рукопись, а почта бандероли и посылки не принимает. Идея проста: если рукопись не помещается в обычный почтовый конверт, ее надо разобрать на листы и переслать их в нескольких конвертах. При этом листы рукописи необходимо обязательно пронумеровать, чтобы получатель знал, в какой последовательности потом эти листы соединить.

В Интернете часто случается аналогичная ситуация, когда компьютеры обмениваются большими по объему файлами. Если послать такой файл целиком, то он может надолго "закупорить" канал связи, сделать его недоступным для пересылки других сообщений.

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

Transmission Control Protocol (TCP), то есть транспортный протокол, обеспечивает разбиение файлов на IP-пакеты в процессе передачи и сборку файлов в процессе получения.

Определение времени обмена IP-пакетами. Время обмена IP-пакетами между локальным компьютером и сервером Интернета можно определить с помощью утилиты ping, которая входит в состав операционной системы Windows. Утилита посылает четыре IP-пакета по указанному адресу и показывает суммарное время передачи и приема для каждого пакета

73. Поиск информации в Интернет.

Существует во многом справедливое мнение, что уже сегодня в Интернет “есть все” и проблема лишь в том, как найти нужную информацию. Сама открытая архитектура Сети способствует тому, что в ней отсутствует какая-либо централизация и ценнейшие для Вас данные, которые Вы безуспешно искали по всему свету, могут оказаться расположенными на сервере в одном городе с Вами. Можно выделить 2 взаимодополняющих подхода к сбору информации о ресурсах Интернет – создание индексов и создание каталогов:

При первом способе мощные поисковые серверы непрерывно “обыскивают” Интернет, создавая и пополняя базы данных, содержащие информацию о том, в каких документах Сети встречаются те или иные ключевые слова. Таким образом, реально поиск происходит не по серверам Internet, что было бы нереализуемо технически, а по базе данных поисковой машины, и отсутствие подходящей информации, найденной по запросу, еще не означает, что ее нет в Сети — можно попробовать воспользоваться другим поисковым средством или каталогом ресурсов. Базы данных поискового сервера пополняются не только автоматически. На любой крупной поисковой машине есть возможность проиндексировать свой сайт и добавить его в базу данных. Преимущество поискового сервера – простота работы с ним, недостаток – низкая степень отбора документов по запросу.

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

Работа с поисковыми серверами. При входе на главную страницу поискового сервера достаточно набрать в поле ввода свой запрос в виде набора ключевых слов и нажать Enter или кнопку начала поиска.

Запросы могут содержать любые слова, причем, не обязательно заботиться о падежах и склонениях – например, запросы “реферат по философии” и “философия реферат” вполне корректны.

Современные поисковые сервера достаточно хорошо понимают естественный язык, однако, на многих из них сохранены возможности расширенного или специального поиска, позволяющие искать слова по маске, объединять слова запроса логическими операциями “И”, “ИЛИ”, и т.д.

После завершения поиска в базе данных сервер выводит на экран первую порцию из 10 или более документов, содержащих ключевые слова. Кроме ссылки, обычно приведено несколько строк текста описания документа или просто его начало. Открывая ссылки в новом или этом же окне браузера, можно переходить к выбранным документам, а строка ссылок внизу страницы позволяет перейти к следующей порции документов. Эта строка выглядит примерно так:

По отсутствию одной ссылки видно, что сейчас открыта вторая порция найденных документов.

Различные серверы сортируют найденные документы по разному – по дате создания, по посещаемости документа, по наличию в документе всех или части слов запроса (релевантности), некоторые серверы позволяют сузить область поиска, выбрав на главной странице категорию искомого документа – например, по запросу “банки” в категории “деловой мир” вряд ли будут найдены сведения о банках консервных.

Читайте также:  Как сбросить настройки браузера на андроиде

Из популярных средств русскоязычного поиска можно назвать серверы Яndex, Апорт и Rambler, индексирующие десятки тысяч серверов и десятки миллионов документов. Из зарубежных серверов популярны Altavista, Excite, Hotbot, Lycos, WebCrawler, OpenText.

Наконец, в Интернет немало страниц для метапоиска, позволяющих обратиться сразу к нескольким популярным поисковым серверам с одним и тем же запросом – посмотрите, например, страницы http://www.find.ru/ или http://www.rinet.ru/buki/.

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

Сегодня существует множество крупных каталогов с десятками тысяч ссылок, из отечественных каталогов можно назвать http://www.list.ru/, http://www.weblist.ru/, http://www.stars.ru/, http://www.au.ru/, http://www.ru/, http://www.ulitka.ru/, а из зарубежных — Yahoo, Magellan.

Часто в каталоге есть также форма для поиска по ключевым словам среди занесенных в него документов.

Правила поиска. Несколько простых советов, касающихся поиска в Сети.

заранее четко определите тему поиска, ключевые слова и время, которое Вы готовы на этот поиск потратить; выберите поисковый сервер – ссылки на лучшие из них полезно хранить в Избранном;

не бойтесь естественного языка, но проверяйте правильность написания слов, например, при помощи Microsoft Word;

используйте большие буквы только в именах и названиях. Многие поисковые сервера правильно обработают запрос “реферат”, но не “Реферат”;

Сеть Интернет, являющаяся сетью сетей и объединяющая громадное количество различных локальных, региональных и корпоративных сетей, функционирует и развивается благодаря использованию единого протокола передачи данных TCP/IP. Термин TCP/IP включает название двух протоколов:

Transmission Control Protocol (TCP) — транспортный протокол;

Internet Protocol (IP) — протокол маршрутизации.

Протокол маршрутизации. Протокол IP обеспечивает передачу информации между компьютерами сети. Рассмотрим работу данного протокола по аналогии с передачей информации с помощью обычной почты. Для того чтобы письмо дошло по назначению, на конверте указывается адрес получа­теля (кому письмо) и адрес отправителя (от кого письмо).

Аналогично передаваемая по сети информация «упаковы­вается в конверт», на котором «пишутся» IP-адреса компьютеров получателя и отправителя, например «Кому: 198.78.213.185», «От кого: 193.124.5.33». Содержимое конверта на компьютерном языке называется IP-пакетоми представляет собой набор байтов.

В процессе пересылки обыкновенных писем они сначала доставляются на ближайшее к отправителю почтовое отде­ление, а затем передаются по цепочке почтовых отделений на ближайшее к получателю почтовое отделение. На проме­жуточных почтовых отделениях письма сортируются, то есть определяется, на какое следующее почтовое отделе­ние необходимо отправить то или иное письмо.

IP-пакеты на пути к компьютеру-получателю также проходят через многочисленные промежуточные серверы Интернета, на которых производится операция маршрутизации.В результате маршрутизации IP-пакеты направляются от одного сервера Интернета к другому, постепенно приближаясь к компьютеру-получателю.

Определение маршрута прохождения информации. «География» Интернета существенно отличается от привычной нам географии. Скорость получения информации зависит не от удаленности Web-сервера, а от количества промежуточных серверов и качества линий связи (их пропускной способности), по которым передается информация от узла к узлу.

С маршрутом прохождения информации в Интернете можно познакомиться достаточно просто. Специальная про­грамма tracert.exe, которая входит в состав Windows, позво­ляет проследить, через какие серверы и с какой задержкой передается информация с выбранного сервера Интернет на ваш компьютер.

Транспортный протокол. Теперь представим себе, что нам необходимо переслать по почте многостраничную руко­пись, а почта бандероли и посылки не принимает. Идея проста: если рукопись не помещается в обычный почтовый конверт, ее надо разобрать на листы и переслать их в нескольких конвертах. При этом листы рукописи необходимо обязательно пронумеровать, чтобы получатель знал, в какой последовательности потом эти листы соединить.

В Интернете часто случается аналогичная ситуация, когда компьютеры обмениваются большими по объему файлами. Если послать такой файл целиком, то он может надолго «закупорить» канал связи, сделать его недоступным для пе­ресылки других сообщений.

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

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

Transmission Control Protocol (TCP), то есть транспортный протокол, обеспечивает разбиение файлов на IP-пакеты в процессе передачи и сбор­ку файлов в процессе получения.

Время обмена IP-пакетами между локальным компьютером и сервером Интернета можно определить с помощью утилиты ping, ко­торая входит в состав операционной системы Windows. "Ути­лита посылает четыре IP-пакета по указанному адресу и по­казывает суммарное время передачи и приема для каждого пакета.

Не нашли то, что искали? Воспользуйтесь поиском:

Ссылка на основную публикацию
Тест эксель на собеседовании
Если вы хоть раз пытались устроиться на работу или же работаете на должности, в круг обязанностей которой входит принятие людей...
Тарифы мтс смарт 400 руб
С того момента как тариф «Смарт» стал доступен для активации, он претерпел множество изменений. Они касаются размера абонентской платы, количества...
Тарифы ростелекома на домашний интернет
Полный список актуальных тарифов Ростелеком для города Москва. Подключай тарифы Rostelecom в Москве бесплатно и пользуйся качественными услугами интернета и...
Тестирование cd и dvd дисков
В этой статье я опишу программу тест Nero CD DVD Speed, которая разработана компанией "Nero Softwsre AG". С помощью программы...
Adblock detector