По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Транспортный уровень OSI (уровень 4) определяет несколько функций, наиболее важными из которых являются восстановление после ошибок и управление потоком. Точно так же протоколы транспортного уровня TCP / IP также реализуют те же типы функций. Обратите внимание, что и модель OSI, и модель TCP / IP называют этот уровень транспортным. Но, как обычно, когда речь идет о модели TCP / IP, имя и номер уровня основаны на OSI, поэтому любые протоколы транспортного уровня TCP / IP считаются протоколами уровня 4. Ключевое различие между TCP и UDP заключается в том, что TCP предоставляет широкий спектр услуг приложениям, а UDP-нет. Например, маршрутизаторы отбрасывают пакеты по многим причинам, включая битовые ошибки, перегрузку и случаи, в которых не известны правильные маршруты. Известно, что большинство протоколов передачи данных замечают ошибки (процесс, называемый error detection), и затем отбрасывают кадры, которые имеют ошибки. TCP обеспечивает повторную передачу (error recovery) и помогает избежать перегрузки (управление потоком), в то время как UDP этого не делает. В результате многие прикладные протоколы предпочитают использовать TCP. Разница между TCP и UDP в одном видео Однако не думайте, что отсутствие служб у UDP делает UDP хуже TCP. Предоставляя меньше услуг, UDP требует меньше байтов в своем заголовке по сравнению с TCP, что приводит к меньшему количеству байтов служебных данных в сети. Программное обеспечение UDP не замедляет передачу данных в тех случаях, когда TCP может замедляться намеренно. Кроме того, некоторым приложениям, особенно сегодня, к передаче голоса по IP (VoIP) и видео по IP, не требуется восстановление после ошибок, поэтому они используют UDP. Итак, сегодня UDP также занимает важное место в сетях TCP / IP. В таблице 1 перечислены основные функции, поддерживаемые TCP/UDP. Обратите внимание, что только первый элемент, указанный в таблице, поддерживается UDP, тогда как TCP поддерживаются все элементы в таблице. Таблица № 1 Функции транспортного уровня TCP/IP Функции Описание Мультиплексирование с использованием портов Функция, которая позволяет принимающим хостам выбирать правильное приложение, для которого предназначены данные, на основе номера порта. Восстановление после ошибок (надежность) Процесс нумерации и подтверждения данных с помощью полей заголовка Sequence и Acknowledgment Управление потоком с использованием окон Процесс, использующий размеры окна для защиты буферного пространства и устройств маршрутизации от перегрузки трафиком. Установление и завершение соединения Процесс, используемый для инициализации номеров портов, а также полей Sequence и Acknowledgment. Упорядоченная передача данных и сегментация данных Непрерывный поток байтов от процесса верхнего уровня, который "сегментируется" для передачи и доставляется процессам верхнего уровня на принимающем устройстве с байтами в том же порядке Далее описываются возможности TCP, а затем приводится краткое сравнение с UDP. Transmission Control Protocol Каждое приложение TCP / IP обычно выбирает использование TCP или UDP в зависимости от требований приложения. Например, TCP обеспечивает восстановление после ошибок, но для этого он потребляет больше полосы пропускания и использует больше циклов обработки. UDP не выполняет исправление ошибок, но требует меньшей пропускной способности и меньшего количества циклов обработки. Независимо от того, какой из этих двух протоколов транспортного уровня TCP / IP приложение выберет для использования, вы должны понимать основы работы каждого из этих протоколов транспортного уровня. TCP, как определено в Request For Comments (RFC) 793, выполняет функции, перечисленные в таблице 1, через механизмы на конечных компьютерах. TCP полагается на IP для сквозной доставки данных, включая вопросы маршрутизации. Другими словами, TCP выполняет только часть функций, необходимых для доставки данных между приложениями. Кроме того, роль, которую он играет, направлена на предоставление услуг для приложений, установленных на конечных компьютерах. Независимо от того, находятся ли два компьютера в одном Ethernet или разделены всем Интернетом, TCP выполняет свои функции одинаково. На рисунке 1 показаны поля заголовка TCP. Хотя вам не нужно запоминать названия полей или их расположение, оставшаяся часть этой лекции относится к нескольким полям, поэтому весь заголовок включен сюда для справки. Сообщение, созданное TCP, которое начинается с заголовка TCP, за которым следуют данные приложения, называется сегментом TCP. В качестве альтернативы также может использоваться более общий термин PDU уровня 4 или L4PDU. Мультиплексирование с использованием номеров портов TCP И TCP, и UDP используют концепцию, называемую мультиплексированием. Поэтому этот подраздел начинается с объяснения мультиплексирования с TCP и UDP. После этого исследуются уникальные возможности TCP. Мультиплексирование по TCP и UDP включает в себя процесс того, как компьютер думает при получении данных. На компьютере может быть запущено множество приложений, таких как веб-браузер, электронная почта или приложение Internet VoIP (например, Skype). Мультиплексирование TCP и UDP сообщает принимающему компьютеру, какому приложению передать полученные данные. Определенные примеры помогут сделать очевидной необходимость мультиплексирования. Сеть из примера состоит из двух компьютеров, помеченных как Анна и Гриша. Анна использует написанное ею приложение для рассылки рекламных объявлений, которые появляются на экране Григория. Приложение отправляет Григорию новое объявление каждые 10 секунд. Анна использует второе приложение, чтобы отправить Грише деньги. Наконец, Анна использует веб-браузер для доступа к веб-серверу, который работает на компьютере Григория. Рекламное приложение и приложение для электронного перевода являются воображаемыми, только для этого примера. Веб-приложение работает так же, как и в реальной жизни. На рисунке 2 показан пример сети, в которой Гриша запускает три приложения: Рекламное приложение на основе UDP Приложение для банковских переводов на основе TCP Приложение веб-сервера TCP Грише необходимо знать, в какое приложение передавать данные, но все три пакета поступают из одного и того же Ethernet и IP-адреса. Вы могли подумать, что Григорий может посмотреть, содержит ли пакет заголовок UDP или TCP, но, как вы видите на рисунке, два приложения (wire transfer и web) используют TCP. TCP и UDP решают эту проблему, используя поле номера порта в заголовке TCP или UDP соответственно. Каждый из сегментов TCP и UDP Анны использует свой номер порта назначения, чтобы Григорий знал, какому приложению передать данные. На рисунке 3 показан пример. Мультиплексирование основывается на концепции, называемой сокетом. Сокет состоит из трех частей: IP-адрес Транспортный протокол Номер порта Итак, для приложения веб-сервера Григория, сокет будет (10.1.1.2, TCP, порт 80), потому что по умолчанию веб-серверы используют хорошо известный порт 80. Когда веб-браузер Анны подключается к веб-серверу, Анна также использует сокет - возможно, такой: (10.1.1.1, TCP, 49160). Почему 49160? Что ж, Анне просто нужен номер порта, уникальный для Анны, поэтому Анна видит этот порт 49160. Internet Assigned Numbers Authority (IANA), организация, которая управляет распределением IP-адресов во всем мире, и подразделяет диапазоны номеров портов на три основных диапазона. Первые два диапазона резервируют номера, которые IANA затем может назначить конкретным протоколам приложений через процесс приложения и проверки, а третья категория резервирует порты, которые будут динамически выделяться для клиентов, как в примере с портом 49160 в предыдущем абзаце. Имена и диапазоны номеров портов (более подробно описано в RFC 6335): Хорошо известные (системные) порты: номера от 0 до 1023, присвоенные IANA, с более строгим процессом проверки для назначения новых портов, чем пользовательские порты. Пользовательские (зарегистрированные) порты: номера от 1024 до 49151, присвоенные IANA с менее строгим процессом назначения новых портов по сравнению с хорошо известными портами. Эфемерные (динамические, частные) порты: номера от 49152 до 65535, не назначены и не предназначены для динамического выделения и временного использования для клиентского приложения во время его работы. На рисунке 4 показан пример, в котором используются три временных порта на пользовательском устройстве слева, а сервер справа использует два хорошо известных порта и один пользовательский порт. Компьютеры используют три приложения одновременно; следовательно, открыто три сокетных соединения. Поскольку сокет на одном компьютере должен быть уникальным, соединение между двумя сокетами должно идентифицировать уникальное соединение между двумя компьютерами. Эта уникальность означает, что вы можете использовать несколько приложений одновременно, разговаривая с приложениями, запущенными на одном или разных компьютерах. Мультиплексирование на основе сокетов гарантирует, что данные будут доставлены в нужные приложения. Номера портов являются важной частью концепции сокетов. Серверы используют хорошо известные порты (или пользовательские порты), тогда как клиенты используют динамические порты. Приложения, которые предоставляют услуги, такие как FTP, Telnet и веб-серверы, открывают сокет, используя известный порт, и прослушивают запросы на подключение. Поскольку эти запросы на подключение от клиентов должны включать номера портов источника и назначения, номера портов, используемые серверами, должны быть известны заранее. Таким образом, каждая служба использует определенный хорошо известный номер порта или номер пользовательского порта. Как общеизвестные, так и пользовательские порты перечислены на www.iana.org/assignments/servicenames-port-numbers/service-names-port-numbers.txt. На клиентских машинах, откуда исходят запросы, можно выделить любой локально неиспользуемый номер порта. В результате каждый клиент на одном и том же хосте использует другой номер порта, но сервер использует один и тот же номер порта для всех подключений. Например, 100 веб-браузеров на одном и том же хост-компьютере могут подключаться к веб-серверу, но веб-сервер со 100 подключенными к нему клиентами будет иметь только один сокет и, следовательно, только один номер порта (в данном случае порт 80). Сервер может определить, какие пакеты отправлены от какого из 100 клиентов, посмотрев на порт источника полученных сегментов TCP. Сервер может отправлять данные правильному веб-клиенту (браузеру), отправляя данные на тот же номер порта, который указан в качестве порта назначения. Комбинация сокетов источника и назначения позволяет всем участвующим хостам различать источник и назначение данных. Хотя в примере объясняется концепция использования 100 TCP-соединений, та же концепция нумерации портов применяется к сеансам UDP таким же образом. Почитайте продолжение цикла про популярные приложения TCP/IP.
img
В данной статье рассмотрим ещё один полезный модуль из базового функционала FreePBX 13 - Set CallerID. Данный модуль позволяет влиять на идентификатор вызывающего абонента (CID- СallerID) в рамках процесса установления вызова. Например, если у вас несколько провайдеров по-разному отдают CallerID, в данном модуле можно привести их к общему виду для корректного отображения в CDR или добавить к определенным входящим звонкам уникальный префикс. Пошаговое видео Настройка модуля Set CID Перейдём к настройке. Традиционно, для всех примеров, будем использовать FreePBX версии 13. Для того, чтобы попасть в модуль Set CallerID, с главной страницы, переходим по следующему пути: Applications -> Set CallerID. По умолчанию, данная вкладка пустая, нажимаем на кнопку Add Откроется следующее окно добавления нового CID, в котором необходимо заполнить следующие пункты. Рассмотрим подробнее каждый из пунктов: Description - Предлагается ввести описательное название нового CID, которое поможет определить его назначение. Например: “Sales CID” CallerID Name - Здесь настраивается на что будет заменено имя звонящего (caller ID name). Если предполагается изменение текущего имени, то необходимо включить соответствующие переменные. Если же оставить данное поле пустым, то имя звонящего останется пустым. CallerID Number - Здесь настраивается на что будет заменён номер звонящего (caller ID number). Если предполагается изменение текущего номера, то необходимо включить соответствующие переменные. Если же оставить данное поле пустым, то номер звонящего останется пустым. Destination - Здесь выбирается назначение для продолжения звонка. Звонок будет перенаправлен по данному назначению с новыми именем и номером (CallerID Name/ Number) Пример модификации Caller ID Name Давайте рассмотрим несколько примеров, чтобы понять, как работает данный модуль, а заодно и принципы работы с переменными. Допустим, мы хотим добавить некий префикс к номерам, которые маршрутизируются с нашего IVR. Мы знаем, что на нашем IVR настроен маршрут для соединения с отделом продаж по клавише “3” и хотим, чтобы у всех звонков, отправленных по данному маршруту был префикс “Sales” перед номером. Для этого, сначала создаём новый шаблон в модуле. В поле Description пишем “Sales CID” В поле CallerID Name пишем “Sales:” перед ${CALLERID(name)}, это действие и добавляет необходимый префикс. Поле CallerID Number оставляем без изменений Наконец, в поле Destination, выбираем назначение для данного шаблона – внутренний номер менеджера по продажам (7771 Sales Manager) Не забываем нажимать Submit и Apply Config Далее, отправляемся в модуль IVR и настраиваем соответствующее правило. Готово, теперь все абоненты, попавшие на IVR и нажавшие клавишу “3” на телефоне, попадут на менеджера по продажам, но их номера на дисплее телефона менеджера, будут иметь префикс “Sales”, так менеджер поймёт, что звонок поступил с IVR. Если Вы хотите подробнее ознакомиться с возможностями модуля IVR, прочитайте нашу соответствующую статью о настройке модуля IVR во FreePBX 13. Пример модификации Caller ID Number Рассмотрим другой пример. Допустим, наш провайдер отдаёт нам callerID в формате 8ХХХХХХХХХХ. Но звонить в город мы должны через префикс “9”. Если нам придёт звонок с номера 8ХХХХХХХХХХ, мы должны будем сначала набрать “9”, чтобы дозвониться. Данную задачу можно решить с помощью модуля Set CallerID. Создадим новый шаблон. В поле Description пишем “Outbound Prefix 9” Поле CallerID Name оставляем без изменений В CallerID Number Наконец, в поле Destination, выбираем назначение для данного шаблона, например ринг-группа - (4543 Managers) Готово, теперь, при поступлении внешнего звонка на ринг-группу Managers, к номеру звонящего автоматически будет добавлен необходимый префикс “9”, таким образом, все участники из ринг-группы, смогут очень просто сразу вызвать абонента заново. Если Вы хотите побольше узнать о группах вызова, прочитайте нашу соответствующую статью о настройке модуля Ring Groups во FreePBX 13. Синтаксис Обобщим все вышесказанное и сведем в таблицу принципы формирования переменных: Пример Описание ${переменная:n} убирает одну цифру спереди. Например, если звонок приходит вам с Caller ID Number +74951234567, то запись вида ${CALLERID(num):1} преобразует его в 74951234567 ${переменная:-n} тоже самое, только цифры буду удаляться с конца. Например, при записи ${CALLERID(num):-2} номер +74951234567 будет преобразован в +749512345 ${переменная:s:n} Данную запись следуют интерпретировать так: начиная с символа s удалить n символов. Например, запись вида ${CALLERID(num):3:2} преобразует номер +74951234567 в +741234567
img
Файл hosts в Windows, Mac или Linux сопоставляет имена хостов с IP-адресами. Редактирование файла hosts может быть полезно, если вы запускаете тесты в своей сети. Сопоставляя IP-адрес с именем сервера (или именем домена), вы можете пропустить процесс, в котором веб-браузер использует поиск сервера доменных имен (DNS) для преобразования имени домена в IP-адрес. Из этого руководства вы узнаете, как редактировать файл hosts в Linux, Windows или Mac. Как редактировать файл Hosts в Linux Шаг 1: Откройте окно терминала (командная строка) В большинстве дистрибутивов Linux терминал можно найти по пути Приложения -> Утилиты -> Терминал, или можно щелкнуть правой кнопкой мыши на рабочем столе и выбрать "Open Terminal" (Открыть терминал). Шаг 2: Откройте файл Hosts Чтобы открыть файл hosts в Linux, введите команду: sudo vim /etc/hosts Система должна запросить ваш пароль - введите его, и файл hosts должен открыться. Шаг 3: Изменить файл Файл hosts в Linux отформатирован таким образом, чтобы IP-адрес был первым, а имя сервера - вторым. 0.0.0.0 server.domain.com Добавьте любые записи, которые вы хотите в конец файла. Если вы допустили ошибку или хотите, чтобы ваша операционная система проигнорировала строку, добавьте знак # в начале этой строки. Сохраните изменеия и выходите из редактора (:wq в vim). Шаг 4 (опциональный): Name Service Файл hosts обходит стандартный поиск сервера доменных имен. В Linux есть еще один файл, который сообщает операционной системе, в каком порядке искать трансляции IP-адресов. Это файл nsswitch.conf. Если он настроен на просмотр DNS в первую очередь, он пропустит файл hosts и сразу перейдет к поиску DNS. Чтобы проверить конфигурацию, введите в окне терминала: cat /etc/nsswitch.conf Примерно на середине должна быть запись с надписью hosts. Убедитесь, что в правом столбце в первую очередь будет слово files. Если по какой-то причине DNS указан первым, откройте файл nsswitch.conf в текстовом редакторе: sudo vim /etc/nsswitch.conf Для параметра hosts: измените запись так, чтобы files находились в начале записи, а dns - в конце. Как отредактировать файл Hosts в Windows Шаг 1: Откройте Блокнот как Администратор Для этой операции вам потребуются права администратора. Нажмите Пуск или кнопку Windows и введите Блокнот. Функция поиска найдет приложение «Блокнот». Щелкните правой кнопкой мыши на приложении «Блокнот» и выберите «Запуск от имени администратора». Должно появиться окно контроля учетных записей Windows с вопросом «Хотите ли вы, чтобы это приложение могло вносить изменения в ваше устройство?» Нажмите Да. Шаг 2: Откройте файл Windows Hosts В блокноте нажмите Файл -> Открыть Перейдите к C:windowssystem32driversetc В правом нижнем углу, чуть выше кнопки Открыть, щелкните раскрывающееся меню, чтобы изменить тип файла на Все файлы. Выберите hosts и нажмите Открыть. Шаг 3: Отредактируйте файл Файл hosts дает вам краткое объяснение того, как написать новую строку. Вот краткая разбивка: 0.0.0.0 server.domain.com Первый набор из четырех цифр - это IP-адрес, который вы мапите. Это может быть внутренний IP-адрес сервера в сети или IP-адрес веб-сайта. Вторая часть - это имя, которое вы хотите ввести в браузере для доступа к серверу по IP-адресу, который вы только что указали. Когда вы закончите вносить изменения, сохраните файл (Файл -> Сохранить) и выйдите. Вы можете указать Windows игнорировать любую строку, поставив знак # в начале этой строки. # 0.0.0.0 server.domain.com Как редактировать файл Hosts на Mac Шаг 1: Откройте терминал Mac Откройте Finder и перейдите в Приложения -> Утилиты -> Терминал и введите следующее: sudo nano /private/etc/hosts Система должна попросить вас ввести пароль - это тот же пароль, который вы используете для входа в систему. Введите его и нажмите Enter. Шаг 2. Редактирование файла Hosts Тут IP-адрес идет первым, а имя сервера - вторым. Комментарии отмечены знаком #. Рассмотрим пример ниже: 0.0.0.0 server.domain.com Сначала введите IP-адрес, на который вы хотите сослаться, пробел, а затем имя сервера (или доменное имя), которое вы хотите связать с ним. Сохраните изменения, нажав Command + O, затем выйдите, нажав Command + X.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59