2. Создание WB (домашнего сервера): Как происходит PPP подключение (подключение по модему) к провайдеру или к чужому компьютеру, и что такое TCP/IP протоколы.

 Автор статьи: ToshibaNT [aka Anton Rostovzev]
Статья взята с сайта: http://web-bbs.narod.ru
E-mail автора: toshibant@mail.ru

 Процесс подключения к Интернету.

 Если вы читаете сейчас это текст, то вы наверняка были хотя бы раз в своей жизни в Интернете. Больше того, возможно сейчас именно в нем вы и находитесь (и читаете эту статью с моего сайта http://web-bbs.narod.ru). Но задумывались ли вы когда-нибудь над тем, как именно происходит процесс подключения к Интернету?

 Как происходит так, что вы минуту назад сидели просто на стуле, а теперь вы с гордостью говорите "Я СИЖУ В ИНТЕРНЕТЕ".

 Если вы во время подключения внимательно смотрели на экран, то вы наверняка замечали, что процесс подключения состоит из нескольких частей. Рассмотрим что происходит в каждой из этих частей на низком уровне:

 * Наберитесь терпения, все что здесь написано вам пригодится в дальнейшем для создания своей WB и вообще для общего развития.

 Часть 1-я: На экране отображается надпись "Набор номера" или что-то вроде этого.

 - Сперва на низком уровне в COM-порт вашего модема посылается команда его инициализации, после этого модем переходит в состояние, готовое к работе.

 // Пример стандартной команды инициализации: ATZ или AT&F

 -Затем вашему модему посылается команда дозвона на определенный (провайдерский) номер телефона.

 // Эта команда выглядит как ATDPномер_телефона. Например ATDP183333.

 * Кстати, P в команде инициализации означает импульсный набор, поэтому перед номером надо ставить букву p, чтобы в Windows XP модем набирал номер (если нет возможности переключиться на импульсный набор).

 В этот момент вы слышите (в зависимости от того, какой у вас телефон) потрескивание телефонного аппарата, характерное при наборе номера - это ваш модем набирает номер ...

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

 // Когда у провайдера все линии заняты, модем возвращает в порт строку BUSY - что по-английски означает "занято".

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

 В этот ответственный момент модемы сосвистываются - т как бы "договариваются" между собой "кто есть кто и что к чему".

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

 // Пример строки хорошего коннекта CONNECT 115200/V34/LAPM/V42B/33600:TX/33600:RX

 С этого момента один модем другому может передавать какие-либо данные.

 Часть 2-я: На экране отображается надпись "Проверка имени пользователя и пароля ..." или что-то вроде этого.

  На этом этапе происходит аутенификация (проверка подлинности данных о пользователе). Она может идти по разным протоколам.

 1. Компьютер провайдера посылает в модем стандартное приглашение для ввода имени пользователя и пароля. Обычно, сначала идет имя пользователя (логин) -

 // LOGIN: (или USERNAME:) - в зависимости от провайдера

 2. Ваш компьютер в ответ посылает ваше настоящее имя пользователя (логин).

 // ВАШ_ЛОГИН

 3. Потом компьютер провайдера посылает запрос пароля

 // PASSWORD:

 4. Ваш компьютер отвечает посылкой вашего реального пароля.

 // ВАШ_ПАРОЛЬ

 После этого, если ваше имя пользователя и пароль оказались правильными и протоколы вашего компьютера и сервера провайдера совпали (они могли и не совпасть, если вы по ошибке указали нестандартный тип протокола, или ваш провайдер использует какой-либо мало распространенный или устаревший протокол, что бывает довольно редко), наступает наконец 3-й этап подключения.

 Часть 3-я : На экране отображается надпись "Регистрация в сети ..." или что-то вроде этого.

 Теперь в дело вступают протоколы более высокого программного уровня - TCP/IP.

 Аббревиатура TCP/IP расшифровывается как Transmission Control Protocol/InterNet Protocol - протокол управления передачей/ межсетевой протокол. Это протокол межсетевого взаимодействия.

 Благодаря этому протоколу стало возможно объединять отдельные компьютерные сети в одну глобальную сеть.

 Благодаря этому протоколу стала возможной передача данных от одного компьютера к другому ПО АДРЕСУ (IP).

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

 Короче говоря, с помощью этого протокола вы, будучи подключенным к ИнтерНет'у сможете отправить/получить какие-либо данные на другой компьютер, работающий по протоколу TCP/IP и подключенный к сети InterNet.

 На этапе регистрации в сети ваш компьютер и сервер провайдера "договариваются между собой" по протоколу TCP/IP и вам выдается динамический (непостоянный) IP-адрес в сети Интернет (и плюс к этому IP-адрес DNS сервера).

 Примечание №1:

 Вашим провайдером не может быть выдан совершенно случайный IP адрес - он выдается из определенного диапазона адресов, принадлежащих провайдеру. Например адреса провайдера CIS (Интернет Сибири) выдает адреса из диапазона 212.109.192.*.

 * - значит то, что вам будет выдан адрес в пределах от 212.109.192.1 до 212.109.192.254.

 Адреса заканчивающиеся на 0 и на 255 являются зарезервированными и использовать их нельзя ни при каких обстоятельствах.

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

 Можно сравнить IP адрес с местом проживания человека. Тогда динамический адрес (выход в Интернет по Интернет-конверту) - это жилье в гостинице, постоянный IP-адрес (выделенный канал) это прописка в квартире, а провайдер - это гостиница.

  Очень похожи также схемы оплаты за электричество и за Интернет:

 В Интернет-конверте вам дается определенное время - провайдеру нет никакой разницы как вы его потратите - вы платите за время в конверте.

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

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

 Аналогично, если вы живете в квартире вы платите не за время проживания в ней так как вы живете в ней всегда, не считая ваших отъездов, а за то сколько вы тратите электроэнергии.

 Примечание №2.

 Кстати будет сказать, что международным соглашением принято зарезервировать определенные адреса для СЕТЕЙ, НЕ ВХОДЯЩИХ В ГЛОБАЛЬНУЮ СЕТЬ и не использовать их сети Интернет, чтобы не было совпадений адресов и наложений их друг на друга. Эти адреса не передаются маршрутизаторами и запрос по таким адресам не сможет выйти из вашего сегмента сети.

 Диапазоны IP адресов, зарезервированные для ЛВС - Локальных Вычислительных Сетей (LAN)

Сети класса "A"   10.0.0.0    10.255.255.255

Сети класса "B"   172.16.0.0  172.31.255.255

Сети класса "C" 192.168.0.0 192.168.255.255

Хотя вы в своей собственной сети можете использовать в принципе любые IP адреса, хорошим тоном считается использование вышеперечисленных адресов. Как правило используют адреса класса "С" (если в вашей сети меньше 255 компьютеров). Иначе, если компьютеров больше 255 используют сеть класса "B", а если компьютеров больше 65 536 - то используют сеть класса "А".

 Однако, я повторяю в большинстве случаев хорошим тоном будет использование диапазона адресов сети класса С !!!

 *Как именно настроить Входящие подключения на своем компьютере по правилам хорошего тона будет описано в следующей части статьи.

 Благодаря TCP/IP вы только получаете адрес в сети с возможностью как-то отправлять какие-то данные в какое-нибудь место земного шара. А вот как именно это сделать, и нужны ли кому-то там ваши данные, и как их вообще отправлять с одним протоколом TCP/IP совершенно непонятно???!!!!

 TCP/IP является лишь базой для протоколов надстроек над ним. Без протоколов-надстроек TCP/IP совершенно бесполезен!

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

 1-я надстройка над TCP/IP - как ни странно, не протокол, а служба. Жизнь без нее наверняка бы была немыслима. Наверное, если бы этой службы не было не было, то люди бы ее обязательно придумали. Это DNS - Domain Name Server - служба имен доменов. Эта

служба превращает имя компьютера в IP адрес и наоборот по вашему запросу. Это сделано исключительно для вашего же удобства и ни для чего другого. Благодаря этой службе вам не надо запоминать IP-адрес сервера "213.180.194.129" , а достаточно всего лишь запомнить буквенное сочетание "yandex.ru".

  В тот момент, когда вы подключитесь к провайдеру, рядом с часами вы увидите значок с 2-мя весело перемигивающимися компьютерами.

 После установки соединения между компьютерами по протоколу TCP/IP, вы можете пользоваться всеми надстройками

над TCP/IP - протоколами и службами семейства TCP/IP. Еще раз повторюсь - сам протокол TCP/IP не дает вам абсолютно ничего - все, чем вы пользуетесь - надстройки над протоколом TCP/IP, которые, однако, не могли бы существовать без него самого.

Протоколы семейства TCP/IP.

Я расскажу вам кратко о использовании протоколов семейства TCP/IP на клиентском уровне, потому как невозможно полностью вникнуть в работу серверного приложения, не посмотрев на него со стороны клиента. А значит непросто вам будет сделать свою WB, не увидев хотя бы одну WB, как юзер. Поэтому вам нужно знать про протоколы, которые пригодятся вам при пользовании и создании своей WB.

 Каждый протокол использует определенный порт. Номер порта означает номер канала, по которому TCP/IP транспортирует данные приложения. Без номера порта TCP/IP не сможет определить какому именно приложению посылать полученные данные. Любое серверное приложение «прослушивает» свой порт и при запросе от клиента отсылает ему обратно ответ в тот же порт. Для любого протокола существует стандартный номер порта, поэтому вы не указываете каждый раз при наборе адреса номер порта. Например для HTTP протокола стандартный порт 80-й. Однако, если вам необходимо по какой-либо причине поменять стандартный номер порта, например на 81-й. То в конце адресной строки вам придется писать через двоеточие номер порта.

 // Пример: http://мой_сайт:81

 1-й протокол, который приходит в голову и который ассоциируется у большинства людей с сетью INTERNET - это HTTP-протокол. Используя этот протокол вы заходите на различные сайты в сети Интернет. Этот протокол использует ваш браузер для получения HTML-страниц с серверов сети Интернет.

 2-й протокол по важности как ни странно FTP. File Transfer Protocol - протокол передачи файлов. В последнее время люди стали выполнять функции FTP через HTTP. Но не надо забывать что изначально HTTP предназназначался только для получения (скачивания)

HTML страничек, а никак не для скачивания ЛЮБЫХ файлов. Но история распорядилась иначе и теперь большинство файлов, которые вы качаете из Интернета, вы качаете по протоколу HTTP.

 Люди рассудили так: если возможности FTP уже есть в HTTP, зачем нужен FTP?

 А вот вам и ответ на этот вопрос:

FTP сервер просто необходим в тех случаях, когда надо разграничивать права доступа между пользователями. Делать это используя протокол HTTP - просто мазохизм.

 FTP сервер неплохо применять когда существует большое скопление файлов и нет возможности к такому скоплению писать комментарии - гораздо проще обеспечить пользователю возможность обозревать список всех файлов и структурное дерево каталогов и из этого списка / структуры уже что-то скачивать.

 В некоторых случаях красивое графическое оформление бывает просто лишним и на структуру удобнее смотреть через синие панели какого-нибудь коммандира (н-р Фара).

 На FTP сервера легче заходить в текстовом режиме из командной строки ем на HTTP ведь изначально он и был для этого предназначен. На HTTP конечно тоже можно заходить в текстовом режиме в LinuX'е раузером lynx, но любой крутой сайт без картинок - выглядит просто как убожество.

3-4-5-й по используемости протоколы - почтовые POP-SMTP-IMAP - невозможно расположить их а определенном порядке - они равнозначны ...

 NNTP, IRC, TELNET. Протоколы мгновенного обмена сообщениями. NETBIOS

6, 7, 8, и.т - все остальные протоколы популярны, но среди гораздо более узкого круга людей.

 Если первая пятерка протоколов у всех на слуху, про первую десятку еще кто-то что-то слышал, то остальные протоколы можно рассматривать скорее как вещь не очень нужную рядовому пользователю.

 Помните, большинство людей ограничивается 1-ой пятеркой протоколов, а очень много людей новичков в компьютерной среде ограничивается одним HTTP протоколом.

 * Я не хочу сказать, что их компьютер использует только 1 протокол - а я всего лишь хочу сказать, что они сами на пользовательском уровне используют только один протокол. Хотя, возможно, они и слова то такого протокол никогда не слышали :)

 Для того чтобы использовать все эти протоколы необязательно подключаться в Интернет, т подключаться нужно, но не к Интернет, а например напрямую к вашему компьютеру, и платить за это не нужно нисколько !!! Эти протоколы можно использовать в среде, базирующейся на протоколе TCP/IP (этот протокол встроен практически во все современные операционные системы, в частности он встроен во все версии системы Windows).

 Во 3-й части статьи речь пойдет о том, что вы можете сделать полноценный сервер для своих знакомых (и не только), у себя дома, на который они будут заходить, не платя ни копейки, и не выходя в Интернет!!! Я уверяю вас, что сделать это не сложнее, чем сделать обычную терминальную ББСку, скорее это будет даже наоборот - проще.

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

За другими статьями, посвященными WEB-BBS заходите на мой сайт: http://web-bbs.narod.ru

CopyRight ToshibaNT 2004.

 

Хостинг от uCoz