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.