Как настроить смартфоны и ПК. Информационный портал
  • Главная
  • Ошибки
  • Настройка конфигураций TCP\IP вручную. Контроль состояния сети: программы ping и netstat

Настройка конфигураций TCP\IP вручную. Контроль состояния сети: программы ping и netstat

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

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

Для решения этой задачи нам понадобиться:

1. хороший интернет на всех компьютерах, где идет разработка
2. компьютер, который виден из вне по белому IP

Как правило компьютер с белым IP – сервер в офисе. Начинать разворачивание хранилища конфигурации надо с его настройки. Первым делом поставим на него платформу 1С. При установке нужно указать наличие компоненты Сервер хранилища конфигурации. Обратите внимание на релиз платформы, дело в том, что при данной методике работы нужна одинаковая версия платформы, на всех компьютерах. И в вашем офисе, и дома, и у заказчика.

После установки, сам сервер хранилища в службах не появиться. Его надо зарегистрировать. Файл службы называется crserver.exe и лежит в каталоге bin .


Перед регистрацией надо определиться, в какой папке будет лежать наше хранилище. Сервер позволяет работать с несколькими хранилищами одновременно, поэтому серверу при регистрации мы указываем каталог, в котором будут лежать уже каталоги с хранилищами. Так же сервер прекрасно работает с русскими именами папок. Для дальнейшей функциональности было бы неплохо (но не обязательно), чтобы эта папка была расшарена. Например у нас есть общая папка на диске «Обмен», создадим в ней подкаталог «Хранилища».

Теперь регистрируем службу сервера хранилищ. Для этого жмем «пуск», «выполнить», набираем «cmd», жмем Enter и в командной строке пишем:
"C:\Program Files (x86)\1cv8\8.3.4.408\bin\crserver.exe" -instsrvc -d "C:\Обмен\Хранилища"

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

Тут надо убедиться, что служба запущена и что у неё стоит автозапуск. Поскольку при регистрации мы не указали пользователя, то запускается она под системной учетной записью. Это удобно, но возможно не безопасно, при необходимости исправьте это в свойствах службы.
Теперь нам надо создать хранилище. Эта процедура долгая, поэтому рекомендую делать это в локальной сети, где находится наш сервер. Создаем, его как обычно, только в строке с путём указываем не сетевую папку, а путь в следующем формате:
tcp://Server1C/ХранилищеПроекта1\

Где Server1C – имя компьютера в локальной сети. Можно указать IP адрес этого компьютера. ХранилищеПроекта1 – имя каталога для нового хранилища. После создания на сервере хранилище будет лежать в папке C:\Обмен\Хранилища\ХранилищеПроекта1 .

Хоть мы и используем сервер хранилищ, но по своей сути это та же файловая база формата 1CD и к ней можно подключиться старым способом, указав в строке подключения сетевой каталог:
\\Server1C\Обмен\Хранилища\ХранилищеПроекта1

Тут есть несколько нюансов:
1. При работе по tcp с файлом базы работает процесс запущенный относительно файла локально, что обеспечивает некую надежность. Ранее я писал, что даже из-за использования wi-fi база хранилища может посыпаться, печальный опыт был. В этом случае система становится более устойчива к сбоям в сети.
2. При работе по tcp нужны одинаковые версии релизов платформы у всех участников, при файловом общении – нет.
3. Общая папка – папка с полным доступом для всех участников. Люди запросто могут случайно (а может и не случайно) накидать туда мусора, стереть пару «не нужных» файлов, в общем нагадить.

Исходя из этих нюансов, возможно есть смысл даже внутри локальной сети в некоторых случаях разворачивать сервер хранилища.
Теперь о доступе из вне. Сервер хранилищ работает на порту 1542. Если внешний белый IP адрес указывает непосредственно на Ваш сервер, то нужно позаботиться об открытии этого порта. Если внешний IP указывает на роутер, то надо настроить проброску. В моем случае была проброска, сисадмин выдели свободный порт для этого. У меня строка подключения выглядела так:
tcp://36.21.65.20:1501/ХранилищеПроекта1\

Комфорт работы с таким хранилищем полностью зависит от скорости интернета, поэтому всякие там usb модемы в модульных помещениях (почти всех торговых центрах) – плохая практика. Если в модеме нет стабильного 3G и он постоянно переходит на GPRS, то я бы даже не стал пытаться.

Еще, на последок, расскажу об обновлении платформы. Т.к. свежая 1С 8.3 сейчас выходит часто, то это актуально. Переустанавливать платформу надо везде сразу, это и так ясно. При переустановке на сервере служба автоматом не обновиться. Если делать все по правильному, т.е. зарегистрировать приложение crserver.exe из папки bin со свежим релизом платформы, то т.к. называется служба так же, то старая служба пометится на удаление, потребуется перезагрузка сервера. Можно поступить проще. Заходим в службы, останавливаем сервер хранилищ. Смотрим в свойствах строку запуска и копируем её в буфер обмена. Лезем в редактор реестра (regedit ) и ищем в реестре эту строку. Правим в ней номер релиза (он присутсвует в имени папки). Запускаем службу обратно. Все. Если Вы накосячили, то служба у Вас не запуститься. После запуска зайдите в свойства службы и визуально убедитесь, что она стартанула из папки с новым релизом.

На сегодня все, спасибо за внимание

13 способов, как своими руками устранить неполадки подключений, по протоколу TCP/IP в Windows XP . (Only for "direct" hands - Только если обе руки не левые;))

Способ 1. Проверка конфигурации с помощью средства IPConfig

Чтобы проверить конфигурацию TCP/IP на компьютере, где обнаружена проблема , с помощью средства IPConfig , нажмите кнопку Пуск , выберите пункт Выполнить и введите команду cmd . Для получения сведений о конфигурации компьютера, включая его IP-адрес , маску подсети и шлюз по умолчанию , можно использовать программу ipconfig.

Если указать для IPConfig параметр /all , будет создан подробный отчет о конфигурации всех интерфейсов , включая адаптеры удаленного доступа . Отчет IPConfig можно записать в файл , что позволит вставлять его в другие документы . Для этого введите команду ipconfig > имя_папкиимя_файла В результате отчет будет сохранен в файле с указанным именем и помещен в указанную папку.

Отчет команды IPConfig позволяет выявить ошибки в конфигурации сети компьютера. Например, если компьютер имеет IP-адрес, который уже присвоен другому компьютеру, то маска подсети будет иметь значение 0.0.0.0.

Если компьютер имеет IP-адрес 169.254.y.z и маску подсети 255.255.0.0, то IP-адрес был назначен средством автоматического назначения IP-адресов APIPA операционной системы Windows XP Professional. Это означает, что TCP/IP настроен для автоматической конфигурации , сервер DHCP не был найден и не была указана альтернативная конфигурация . В этой конфигурации для интерфейса не задан шлюз по умолчанию.

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

Если не удалось определить проблемы в конфигурации TCP/IP, перейдите к способу 2

Способ 2. Проверка подключения с помощью средства Ping

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

С помощью средства Ping можно проверить подключение на уровне IP . Команда ping отправляет на другой компьютер сообщение с эхо-запросом по протоколу ICMP . С помощью средства Ping можно узнать, может ли главный компьютер отправлять IP-пакеты на компьютер-получатель. Команду Ping можно также использовать для выявления того, чем вызвана проблема – неполадкой сетевых устройств или несовместимостью конфигураций .

Примечание Если была выполнена команда ipconfig /all и отобразилась конфигурация IP, то адрес замыкания на себя и IP-адрес компьютера не нужно проверять с помощью команды Ping. Эти задачи уже были выполнены командой IPConfig при выводе конфигурации. При устранении неполадок следует убедиться, что существует маршрутизация между локальным компьютером и узлом сети. Для этого используется команда ping IP-адрес

Примечание IP-адрес является IP-адресом узла сети, к которому требуется подключиться.

Чтобы использовать команду ping, выполните следующие действия:

1. Задайте адрес замыкания на себя, чтобы проверить правильность настройки и установки TCP/IP на локальном компьютере. Для этого служит следующая команда: ping 127.0.0.1 Если контроль по обратной связи завершится ошибкой, это означает, что стек IP не отвечает.
Подобное поведение наблюдается в следующих случаях:
Повреждены драйвера TCP.
Не работает сетевой адаптер.
Другая служба мешает работе протокола IP.

2. Обратитесь по IP-адресу локального компьютера, чтобы убедиться в том, что он был правильно добавлен в сеть. Если таблица маршрутизации не содержит ошибок, эта процедура просто приведет к направлению пакета по адресу замыкания на себя 127.0.0.1.
Для этого служит следующая команда: ping IP-адрес локального узла Если контроль по обратной связи выполнен успешно, но локальный IP-адрес не отвечает, возможно, проблема заключается в таблице маршрутизации драйвера сетевого адаптера.

3. Обратитесь по IP-адресу шлюза по умолчанию, чтобы проверить его работоспособность и возможность связи с локальным узлом локальной сети. Для этого служит следующая команда: ping IP-адрес шлюза по умолчанию Если обращение завершилось неудачно, это может означать, что проблема заключается в сетевом адаптере , маршрутизаторе/шлюзе , кабеле или другом сетевом устройстве .

4. Обратитесь по IP-адресу удаленного узла , чтобы проверить возможность связи через маршрутизатор. Для этого служит следующая команда: ping IP-адрес удаленного узла. Если обращение завершилось неудачно, это может означать, что удаленный узел не отвечает или проблема заключается в сетевых устройствах между компьютерами. Чтобы исключить возможность отсутствия ответа удаленного узла, проверьте связь с другим удаленным узлом с помощью команды Ping.

5. Обратитесь по IP-адресу удаленного узла, чтобы проверить, может ли быть разрешено имя удаленного узла. Для этого служит следующая команда: ping имя удаленного узла Команда Ping использует разрешение имен для разрешения имени компьютера в IP-адрес. Поэтому, если обращение по IP-адресу производится успешно, а обращение по имени – неудачно, проблема заключается в разрешении имени узла, а не в сетевом подключении. Проверьте, настроены ли для компьютера адреса сервера DNS (вручную в свойствах TCP/IP или автоматически). Если адреса сервера DNS выводятся командой ipconfig /all, обратитесь по адресам сервера, чтобы проверить, доступны ли они.

Если на одном из этапов использования средства Ping возникают ошибки, выполните следующие действия:
Убедитесь, что IP-адрес локального компьютера действителен и правильно задан на вкладке Общие диалогового окна Свойства протокола Интернета (TCP/IP) или с помощью средства Ipconfig.
Убедитесь, что настроен шлюз по умолчанию и имеется связь между узлом и шлюзом по умолчанию. Для разрешения проблем должен быть настроен только один шлюз по умолчанию. Хотя шлюзов по умолчанию может быть несколько, все шлюзы кроме первого используются только тогда, когда стек IP определяет, что первый шлюз не работает. При устранении неполадок определяется состояние первого из настроенных шлюзов. Для облегчения задачи все остальные шлюзы можно удалить.
Убедитесь, что отключен протокол безопасности IPSec . При некоторых политиках IPSec пакеты Ping могут блокироваться или требовать защищенного подключения. Дополнительные сведения о протоколе IPSec см. в способе

7. Проверка протокола IPSec Внимание! Если соединение с удаленной системой, к которой происходит обращение, имеет большое время задержки (это относится, например, к спутниковой линии связи), возможно, ответа придется ждать дольше. С помощью параметра -w можно задать более продолжительный период ожидания, чем период по умолчанию, равный 4 секундам.

Способ 3 . Проверка маршрутизации с помощью средства PathPing

PathPing – это средство, выявляющее потери пакета на маршрутах, включающих несколько прыжков. Обратившись с помощью PathPing к удаленному узлу, можно убедиться, что маршрутизаторы, через которые проходит пакет, работают нормально. Для этого служит следующая команда: pathping IP-адрес удаленного узла

Способ 4 . Очистка кэша ARP с помощью средства Arp

Если обращение по адресу замыкания на себя (127.0.0.1) и собственному IP-адресу выполняется успешно, но ко всем остальным IP-адресам обратиться не удается, попытайтесь очистить кэш протокола ARP (Address Resolution Protocol , протокол разрешения адресов).
С помощью командной строки выполните одну из следующих команд.
arp -a (тоже самое arp -g)

Чтобы удалить записи, введите команду
arp -d IP-адрес

Для очистки кэша ARP используется следующая команда:
netsh interface ip delete arpcache

Способ 5 . Проверка шлюза по умолчанию

Способ 6 . Проверка связи с помощью средств Tracert или Route

Если шлюз по умолчанию отвечает правильно, обратитесь к удаленному узлу, чтобы убедится в правильной работе межсетевых соединений. Если эти соединения работают некорректно, проследите путь сообщения к получателю с помощью служебной программы Tracert. Для IP-маршрутизаторов , которые являются компьютерами с операционной системой Microsoft Windows 2000 или Microsoft Windows NT 4.0 , просмотрите таблицу IP-маршрутизации с помощью средства маршрутизации или оснастки «Маршрутизация и удаленный доступ» этих компьютеров. На других IP-маршрутизаторах для просмотра таблицы IP-маршрутизации используйте средство, указанное поставщиком используемой операционной системы.

В большинстве случаев при использовании команды Ping отображаются четыре следующих сообщения об ошибках: TTL
Expired in Transit Это сообщение об ошибке означает, что количество требуемых проходов через маршрутизатор превышает время жизни (TTL). Время жизни можно увеличить с помощью команды ping-i. Возможно, причина этой ошибки в том, что в маршрут является циклическим.

Чтобы узнать, действительно ли возник циклический маршрут (из-за неправильной конфигурации маршрутизаторов), используйте команду Tracert Destination Host Unreachable Это сообщение об ошибке означает, что к узлу-получателю нет локального или удаленного маршрута (на узле-отправителе или маршрутизаторе). Проверьте таблицу маршрутизации на локальном узле или маршрутизаторе.
Request Timed Out Это сообщение об ошибке означает, что сообщения с эхо-запросами не были получены в течение заданного периода ожидания. По умолчанию он равен 4 секундам. Период ожидания можно увеличить с помощью команды ping -w.
Ping request could not find host Это сообщение об ошибке означает, что не удается разрешить имя узла-получателя. Проверьте имя и доступность серверов DNS или WINS .

Способ 7 . Проверка протокола IPSec

IPSec может усилить безопасность в сети , но усложнить изменение конфигурации сети и устранение неполадок. В некоторых случаях политика IPSec требует защищенного подключения для компьютера под управлением Windows XP Professional. Это требование затрудняет установку подключения к удаленному узлу. Если службы IPSec развернуты на локальном узле , можно отключить их в оснастке «Службы».

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

Способ 8 . Проверка фильтрации пакетов

Ошибки при фильтрации пакетов могут нарушить работу системы разрешения адресов или подключения. Чтобы узнать, является ли фильтрация пакетов источником проблемы, отключите фильтрацию пакетов TCP/IP.

Для этого выполните следующие действия.

1. Нажмите кнопку Пуск и последовательно выберите пункты Панель управления, Сеть и подключения к Интернету и Сетевые подключения.
2. Щелкните правой кнопкой мыши значок подключения по локальной сети, которое требуется изменить, и выберите пункт Свойства.
3. На вкладке Общие в списке Отмеченные компоненты используются этим подключением выберите вариант Протокол Интернета (TCP/IP) и нажмите кнопку Свойства.
4. Нажмите кнопку Дополнительно и перейдите на вкладку Параметры.
5. В диалоговом окне Необязательные параметры выберите элемент Фильтрация TCP/IP и нажмите кнопку Свойства.
6. Снимите флажок Задействовать фильтрацию TCP/IP (все адаптеры) и нажмите кнопку OK. Попробуйте обратиться к адресу по его имени DNS , имени NetBIOS компьютера или IP-адресу. Если обращение выполнено успешно, возможно, параметры фильтрации были неправильно установлены или накладывают слишком жесткие ограничения. Например, фильтрация может разрешить компьютеру выступать в роли веб-сервера, но отключить ряд средств, таких как удаленное администрирование. Чтобы расширить диапазон допустимых параметров фильтрации, измените допустимые значения для порта TCP , порта UDP и протокола IP .

Способ 9 . Проверка подключения к определенному серверу

Чтобы определить причину проблемы при подключении к серверу через NetBIOS , выполните команду nbtstat -n на этом сервере. Это позволит узнать, под каким именем сервер зарегистрирован в сети.
Команда nbtstat -n выводит несколько имен, под которыми зарегистрирован компьютер . Среди этих имен должно быть имя, похожее на то, которое указано на вкладке Имя компьютера окна Система, доступного с панели управления. Если такого имени нет, попытайтесь использовать любое другое уникальное имя, выведенное командой nbtstat.
Средство Nbtstat также может отображать кэшированные записи удаленных компьютеров, которые отмечены #PRE в файле Lmhosts или относятся к недавно разрешенным именам.
Если удаленные компьютеры используют для сервера одно и то же имя, а другие компьютеры находятся в удаленной подсети, убедитесь, что для них задано соответствие «имя-адрес» в файлах Lmhosts или в серверах WINS .

Способ 10 . Проверка удаленных подключений

Чтобы определить, почему не устанавливается подключение по протоколу TCP/IP с удаленным компьютером, выполните команду netstat -a , показывающую состояние всех портов TCP и UDP локального компьютера.
Если подключение TCP работает нормально, в очередях Sent (Отправлено ) и Received (Получено ) отображается 0 байт.
Если в одной из этих очередей данные блокируются или они имеют состояние «irregular », подключение может быть неисправно.
Если данные не блокируются, а очереди находятся в состоянии «typical », то проблема, вероятно, вызвана задержкой в работе сети или программе.

Способ 11 . Проверка таблицы маршрутизации с помощью средства Route

Способ 12 . Проверка путей с помощью средства Tracert

Средство Tracert отправляет сообщения с эхо-запросами, увеличивая на каждом шаге значения в IP-заголовке поля TTL, чтобы определить сетевой путь между двумя узлами. Затем средство Tracert анализирует возвращенные сообщения ICMP.
Tracert позволяет прослеживать путь, не превышающий 30 прыжков.
Tracert определяет причину проблемы, когда при проходе через какой-либо маршрутизатор происходит ошибка или маршрут образует замкнутый цикл.

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

Способ 13 . Устранение неполадок в шлюзах

Если при настройке было получено приведенное ниже сообщение, выясните, находится ли шлюз по умолчанию в той же логической сети, что и сетевой адаптер компьютера:
Your default gateway does not belong to one of the configured interfaces
Сравните часть IP-адреса шлюза по умолчанию, соответствующую идентификатору сети, с идентификаторами сети сетевых адаптеров компьютера. В частности, проверьте, равен ли результат логического поразрядного И IP-адреса и маски подсети результату логического поразрядного И основного шлюза и маски подсети.

3. Протокол управления передачей (TCP) и Межсе евой протокол (IP)

4. DHCP - что это такое (IP навигатор или " абочая лошадка" сисадмина)?

5. Настройка конфигураций вруч ую и автоматическая конфигурация

История развития Сети

Предпосылки

Зарождение предпосылок создания глобальной Сети происходило в полном соответствий с глобальным философским законом о превращении количественных изменении в качественные. Как известно в период с 1945-1960 гг. в СССР и США проводились работы не только по созданию компьютеров, но и по интерактивному взаимодействию человека с машиной. В результате появились первые интерактивные устройства и вычислительные машины, работающие в режиме разделения времени. Правда, кого-то при этом щедро финансировали, а кто-то был иногда работать чуть ли не в подполье. Нашим ученым приходилось соблюдать конспирацию, дабы их не заподозрили в симпатий к "лженауке кибернетике". А ведь именно так определил новую науку советский научный словарь, изданный в середине XX века! Быть может, отголоски той эпохи можно встретить в отечественном термине ЭВМ, что, как известно, означает "электронно-вычислительная машина" и, как можно предположить, вполне сродни выражение "деревянно-письменный стол".

В 1957 г. в США, по указанию президента Дуайта Эйзенфаура, в составе Отдела Обороны (DoD, Department of Defence) формируется два правительственных органа: Национальная аэрокосмическая администрация NASA (National Aeronautics and Space Administration), которая в представлений не нуждается, а также Агентство по Передовым Оборонным Исследованиям (DAPRA или Defence Advanced Research Projects Agency). Сделано это было с целью продвижения военных технологий США на лидирующие позиций в мире.

Прогресс человечества и военные технологий всегда идут вместе, поэтому весь начальный этап развития нарождающей Сети будет связан с военными ведомством США. В начале 60-х годов основные работы DAPRA были посвящены разработке метода соединений компьютеров друг с другом. Агентство выделяет денежные средства для привлечения к перспективным разработкам университетов и корпораций (Массачусетский Технологический Институт -MIT, некоммерческая организация, занимающаяся стратегическими исследованиями и разработками -RAND Corporation).

В 1962 г. Дж. Ликлайдер (J.C.R. Liclider) публикует работу "Galactic Network", в котором предсказывает возможность существования в будущем глобальной компьютерной связи между людьми, имеющими мгновенный доступ к программам и базам данных из любой точки земного шара. Как это не удивительно, его предвидение в полном мере отражало современное устройство всемирной Сети. Тогда же, в августе 1962 г., вышла статья Дж. Ликлайдера и В. Сларка "Интерактивная связь человека с компьютером".

Возглавим первую исследовательскую программу, начатую DAPRA 4 октября 1962 г. Ликлайдер сумел увлечь своей концепцией группу ученых, среди которых был и его преемник- исследователь из MIT Лоуренс Робертс (Lowrence G. Roberts), а также Ивана Сазерленда (Ivan Sutherland) и Боба Тейлора (Bob Taylor).

В июле 1961 г. Леонард Клейнрок (Leonard Kleinrock) разработал и впервые опубликовал статью "Информационный поток в крупных коммутационных Сетях", где представил новую теорию передачи данных. Это была первая публикация по теорий коммутаций пакетов. В 1964 г. новая концепция вышла уже в книге. Тогда же Л. Клейнрок убедил Л. Робертса в возможности коммуникаций с использованием пакетов и в преимуществах своей теорий перед древнейшим принципом коммутаций каналов. Как известно, при пакетной коммутаций необходимые для передачи данные разбиваются на фрагменты, к каждому из которых присоединяется заголовок (адрес), одержащий полную информацию о доставке пакета по назначению. В результате один канал связи может использоваться для одновременно передачи данных множества пользователей, тогда как при коммутаций каналов, широко используемой в традиционной телефонной связи, канал связи выделяется исключительно к услугам двух пользователей, расположенные на его концах.

В преддверии

Для проверки новой концепций пакетной коммутаций Л. Робертс и Т. Мерилл еще в 1965 г. соединили компьютер TX-2 в штате Массачусетс (MIT, Лабораторий Линкольна) с компьютером Q-32 в System Development Corporation (Санта-Моника, Калифорния) с помощью низкоскоростных телефонных коммутируемых линий (пока еще без коммутаций пакетов).

Таким образом, в 1965 г. в США была создана первая в историй маленькая, но вовсе даже нелокальная компьютерная сеть. Результатом эксперимента стало понимание того, что компьютеры могут успешно работать вместе, выполняя программы и осуществляя выборку данных. Стало также ясным и то, что телефонная сеть с коммутацией каналов абсолютно непригодна для построения компьютерной сети. Разумеется, Л. Клейнрок еще раз убедился в необходимости пакетной коммутаций, и это было в тот момент самым главным.

В конце 1966 г. DARPA пригласило Л. Робертса для реализаций проекта компьютерной сети ARPANET. Целями проекта были объединения исследовательских учреждений, проведение экспериментов в области компьютерной коммуникаций, а также изучение способов поддержки надежной связи в условиях ядерного нападения.

Итак, Л. Робертс начал работать над разработкой концепций децентрализованного (распределенного) управления военными и гражданскими объектами в период ведения войн. Довольно быстро появился план ARPANET. В 1967 г. на симпозиуме по Принципам Взаимодействия (Operating Principles), организованной Ассоциацией машинных вычислений (ACM, Association for Computing Machinery), которая была основана еще 1947 г. и является первым научным и образовательным компьютерным сообществом, был представлен проект сети с коммутацией пакетов. И тогда же, в 1967 г. первое издание проекта ARPANET опубликовано Л. Робертсом.

В 1964 г. группа сотрудников RAND Corporation написала статью по сетям с пакетной коммутацией для надежных голосовых коммуникаций в военных системах. Работы, которые проводились в середине 60-х годах в MIT, RAND, и NPL, были во многом параллельными, и эти организаций не имели информации о деятельности друг друга. Разговор Л. Робертса с сотрудниками NPL увенчался заимствованием слова "пакет" и решение увеличить предлагаемую скорость передачи по каналам проектируемой сети ARPANET с 2,4 Кб/с до 50 Кб/с.

В конце 1969 г. в одну компьютерную сеть были включены четыре исследовательских центра:

University of California Los Angeles (UCLA);

Stanford Research Institute (SRI);

University of California at Santa Barbara (UCSB);

University of Utah.

Рождение

В октябре 1969 г. было послано первое электронное сообщение между узлами UCLA (Калифорнийский Университет, Лос-Анджелес) и SRI (Исследовательский Институт Стэнфорда). Говорят, что в самом начале работы эта сеть сразу же "зависла", но процесс пошел.

Вот так четыре удаленных компьютера были объединены в первоначальную конфигурацию ARPANET. Так, собственно и началось становление и рост Internet"а, которому уже, если можно считать, 33 года. Одновременно Р. Кан разработал общую архитектуру сети ARPANET, Л. Робертс разработал топологию и экономические вопросы, Л. Клейнрок представил все средства измерений и анализа сети.

Так и завершился начальный этап становления Интернета.

Основные понятия о Сети

Локальная сеть представляет собой набор компьютеров, периферийных устройств (принтеров и т. п.) и коммутационных устройств, соединенных кабелями.

Подавляющая часть компьютеров западного мира объединена в ту или иную сеть. Опыт эксплуатации сетей показывает, что около 80% всей пересылаемой по сети информации замыкается в рамках одного офиса. Поэтому особое внимание разработчиков стали привлекать так называемые локальные вычислительные сети (LAN). Локальные вычислительные сети отличаются от других сетей тем, что они обычно ограничены умеренной географической областью (одна комната, одно здание, один район).

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

И все компьютерные сети или практически применяют (если так можно назвать базовые топологий) построения локальной сети:

Топология «Шина»


Все компьютеры подключаются к одному кабелю. На его концах должны быть расположены терминаторы. По такой топологии строятся 10 Мегабитные сети 10Base-2 и10Base-5. В качестве кабеля используется Коаксиальные кабели.

Рис.1. Топология «Шина»

Пассивная топология, строится на использовании одного общего канала связи и коллективного использования его в режиме разделения времени. Нарушение общего кабеля или любого из двух терминаторов приводит к выходу из строя участка сети между этими терминаторами (сегмент сети). Отключение любого из подключенных устройств на работу сети никакого влияния не оказывает. Неисправность канала связи выводит из строя всю сеть Все компьютеры в сети “слушают” несущую и не участвуют в передаче данных между соседями. Пропускная способность такой сети снижается с увеличением нагрузки или при увеличении числа узлов.

Linux-системы конфигурированы на подключение к сетям, в которых используются протоколы TCP/IP. Именно эти протоколы применяются в Internet и многих локальных сетях. Протоколы TCP/IP были разработаны в семидесятых годах в рамках специального проекта Управления перспективных исследований и разработок Министерства обороны США с целью развития системы связи между учебными заведениями и научно-исследовательскими институтами. Разрабатывались эти протоколы для Unix-систем, при этом основные исследования проводились в Калифорнийском универ-ситете (г. Беркли). ОС Linux во многом выигрывает благодаря этой изначальной ориентации протоколов на Unix.

Комплект TCP/IP состоит из нескольких различных протоколов, каждый из которых выполняет в сети определенную задачу. Базовых протоколов два: протокол управления передачей (TCP), который обеспечивает отправку и прием сообщений, и межсетевой протокол (IP), который отвечает за маршрутизацию. Остальные протоколы выполняют различные сетевые функции. Служба доменных имен (DNS) обеспечивает преобразование адресов. Протокол пересылки файлов (ftp) управляет передачей файлов, а набор протоколов NFS обеспечивает доступ к удаленным файловым системам. Протоколы комплекта TCP/IP представлены в табл. 1.

Конфигурирование в Linux-системе сетевого соединения, устанавливаемого по протоколу TCP/IP, и управление им - не слишком сложная задача. К услугам пользователя имеется набор конфигурационных файлов, с помощью которых система настраивает и поддерживает сетевые соединения. Полный перечень этих файлов приведен в табл.2. Многими из них можно управлять с помощью административных программ из интерфейса привилегированного пользователя, в частности с помощью утилиты netcfg . Допускается также использование более специализированных программ, например таких, как netstat , ifconfig и route . Некоторые конфигурационные файлы легко поддаются редактированию с помощью текстового редактора. Широко используемые программы для настройки сетевого соединения пред-ставлены в табл. 3.

Допустим, в процессе инсталляции вы ввели информацию о конфигура-ции сети. Это означает, что система полностью готова к работе. Если Linux-система уже подключена к сети, например к Ethernet, читать данную главу вам не нужно (если только вы не хотите понять, как ОС Linux настраивает сетевые соединения). Однако если вы входите в сеть через модем (например, связываетесь таким образом с провайдером Internet), вам будет полезно ознакомиться с материалами, относящимися к протоколам SLIP и РРР. В этих параграфах рассказывается о том, как заставить Linux-систему связываться с провайдером Internet и правильно устанавливать сетевое соединение. Если в процессе выхода в сеть у вас возникли проблемы, то полезной будет вся информация, представленная в этой главе.

Сетевые адреса TCP/IP

IP-адрес состоит из четырех сегментов - чисел, разделенных точками. Одна часть этого адреса представляет собой адрес сети, а другая используется для обозначения конкретного хост-компьютера в этой сети. Адрес сети обозначает сеть, частью которой является данный хост-компьютер. Обычно сетевая часть адреса занимает первые три сегмента, а адрес машины - последний сегмент. В совокупности эти сегменты образуют уникальный адрес, с помощью которого идентифицируется любой компьютер в сети, работающей по протоколам TCP/IP. Напри-мер, в IP-адресе 199.35.209.72 сетевая часть - 199.35.209, а машинная часть - 72. Данный компьютер является частью сети, адрес которой - 199.35.209.0. IP-адрес хост-компьютера - это лишь один из нескольких адресов, которые необходимы для подключения этого компьютера к сети. Кроме него вам потребуются адрес сети, широковещательный адрес, адрес шлюза (если таковой имеется), адрес сервера имен и маска сети. Все эти адреса система предлагает пользователю ввести во время инсталляции. Если вы их ввели, то они будут автоматически занесены в соответствующие конфигурационные файлы. Кроме того, в них вводятся все записи, которые вы делаете при помощи утилиты netcfg. (Типы используемых сетевых адресов перечислены в табл. 2.)

Адрес сети

Адрес сети можно легко установить по адресу хост-компьютера - это сетевая часть адреса хост-компьютера плюс нуль; например, в хост-адресе 199.35.209.72 адрес сети - 199.35.209.0. Системы определяют адрес сети по адресу хост-компьютера с помощью маски сети. Для знакомых с программированием скажем, что поразрядная операция И, проведенная с маской сети и адресом хост-компьютера, приво-дит к обнулению машинной части адреса и получению его сетевой части.

Широковещательный адрес

Широковещательный адрес позволяет системе посылать сообщение одновременно всем системам в сети. Как и сетевой адрес, широковещательный адрес можно легко определить по адресу хост-компьютера; машинная часть в нем установлена равной 255, а сетевая часть не меняется. Например, широковещательный адрес для адреса хост-компьютера 199.35.209.72 - 199.35.209.255 (т.е. сетевая часть адреса остается прежней, а машинная меняется на 255).

Адрес шлюза

Довольно часто один из компьютеров сети назначают шлюзом, задача которого - обеспечивать взаимодействие с другими сетями. Все соединения, устанавливаемые из данной сети с какой-либо иной и наоборот, осу-ществляются через этот шлюзовой компьютер. Если вы работаете в такой сети, то необходимо указать адрес шлюза. Если же шлюза в сети нет либо вы работаете в автономной системе или через провайдера Internet, то адрес шлюза не нужен. Как правило, адрес шлюза имеет ту же сетевую часть, что и адрес хост-компьютера, но в его машинной части стоит 1. Например, если адрес хост-компьютера - 199.35.209.72, то адрес шлюза (возможно) - 199.35.209.1. Однако такая договоренность выполняется не всегда. Чтобы узнать адрес шлюза наверняка, обратитесь к администратору своей сети.

Адрес сервера имен

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

Маска сети

Маска сети используется для получения адреса сети, к которой вы подключены. При определении маски сети адрес хост-компьютера выступает в роли трафарета. Все числа в сетевой части хост-адреса устанавливаются равными 255, а в машинной части ставится нуль. Это и есть маска сети. Так, маска сети для хост-адреса 199.35.209.72 - 255.255.255.0. Сетевая часть, 199.35.209, заменена на 255.255.255, а машинная часть, 72, заменена нулем. С помощью этой маски системы определяют по вашему хост-адресу адрес вашей сети. Они могут установить, какая часть адреса хост-компьютера является сетевой и из каких чисел она состоит.

Файлы конфигурации TCP/IP

Для настройки и поддержки работы сети, работающей под управлением протоколов TCP/IP, используется набор файлов конфигурации, расположен-ных в каталоге /etc . В этих файлах содержится информация о сети, в частности имена хост-машин и доменов, IP-адреса и характеристики интер-фейсов. Именно в эти файлы вводятся IP-адреса и доменные имена других хост-компьютеров Internet, к которым вы хотите получить доступ. Если в процессе инсталляции системы вы конфигурировали сеть, то вся эта информация в файлах конфигурации уже есть. Ввести конфигурационные данные в эти файлы можно с помощью программы netcfg (ее пиктограмма находится на вашем рабочем столе) или с помощью программы netconfig (из командной строки).

Файл Функция
/etc/hosts Связывает хост-имена с IP-адресами
/etc/networks Связывает доменные имена с адресами сетей
/etc/rc.d/init.d/inet Содержит команды конфигурирования сетевого интерфейса при начальной загрузке
/etc/HOSTNAME Содержит хост-имя вашей системы
/etc/host.conf Опции конфигурирования
/etc/resolv.conf Содержит список серверов доменных имен

Идентификация хост-имен: файл /etc/hosts

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

Вначале ведение списка хост-имен с их IP-адресами было обязанностью всех компьютеров сети. Этот список до сих пор хранится в файле /etc/hosts . Получив от пользователя доменное имя, система ищет в файле hosts соот-ветствующий адрес. За ведение этого списка отвечает системный админист-ратор. Вследствие стремительного роста Internet и появления все новых и новых очень больших сетей функции преобразования доменных имен в IP-адреса были переданы серверам доменных имен. Тем не менее файл hosts продолжает использоваться для хранения доменных имен и IP-адресов хост-компьютеров, соединения с которыми устанавливаются наиболее часто. Перед тем как обращаться к серверу имен, ваша система всегда будет проверять файл hosts и искать в нем IP-адрес заданного ей доменного имени.

Каждая запись в файле hosts состоит из IP-адреса, пробела и доменного имени. Для хост-имени можно создавать псевдонимы. В одной строке с записью можно ввести комментарий, который всегда предваряется символом # . В файле hosts уже имеется запись для локального компьютера localhost с IP-адресом 127.0.0.1. Localhost - это специальный зарезервированный IP-адрес 127.0.0.1, которой позволяет пользователям вашей системы связы-ваться друг с другом в локальном режиме. Он служит для идентификации так называемого закольцовывающего интерфейса.

/etc/hosts

127.0 0.1 turtle.trek.coin localhost

199.35.209.72 turtle.trek.coin

204.32.168.56 pangol.train.com

202.211.234.1 rose.berkeley.edu

Имена сетей: файл /etc/networks

В файле /etc/networks хранятся доменные имена и IP-адреса сетей, с которыми у вашей системы есть соединение, а не доменные имена конкрет-ных компьютеров. Сети имеют сокращенные IP-адреса. В зависимости от типа сети в IP-адресах может использоваться одно, два или три числа. Сетевой IP-адрес для localhost - 127.0.0.0. Этот сетевой адрес используется для закольцовывающего устройства.

IP-адреса записываются в файле /etc/networks вместе с соответствующими им доменными именами сетей. Вспомните, что IP-адрес состоит из сетевой части и машинной части. Сетевая часть - это адрес сети, который хранится в файле networks . В этом файле всегда будет присутствовать отдельная запись для сетевой части IP-адреса вашего компьютера. Это и есть адрес сети, к которой подключен ваш компьютер.

/etc/networks

loopback 127.0.0.0

trek.com 199.35.209.0

Инициализация сетевого соединения: файл /etc/rc.d/init.d/inet

В файле /etc/rc.d/init.d/inet находятся команды, обеспечивающие конфигурирование сетевого соединения. Многие записи в этом файле автоматиче-ски создаются при использовании утилиты netcfg и конфигурировании сетевого соединения в процессе инсталляции. Например, здесь находятся команды ifconfig и route . Кроме того, здесь задаются хост-имя вашей системы, адрес сети и другие необходимые адреса. Непосредственно редактировать этот файл можно лишь в том случае, если вы уверены в том, что все делаете правильно и обладаете начальными познаниями в области программирования в shell. В других дистрибутивах Linux, например в Slackware, файл инициализации может иметь имя /etc/ rec.d/rc.inet1 или просто /etc/rс.inet1 .

Файл /etc/HOSTNAME

В файле /etc/HOSTNAME содержится хост-имя вашей системы. Чтобы изменить имя, нужно отредактировать данный файл. Эту задачу можно решить с помощью программы netcfg , которая заменяет хост-имя и помещает новое имя в файл /etc/HOSTNAME . Хост-имя можно узнать не только путем вывода на экран этого файла, но и с помощью команды hostname.

$ hostname

Turtle.trek.com

Сетевые интерфейсы и маршруты: команды ifconfig и route

Соединение с сетью система устанавливает посредством конкретного аппаратного интерфейса, например Ethernet-платы или модема. Данные, проходящие через этот интерфейс, направляются в сеть. Команда ifconfig позволяет конфигурировать сетевые интерфейсы, а команда route обеспе-чивает необходимую маршрутизацию. Те же операции конфигурирования сетевых интерфейсов, которые выполняются с помощью команд ifconfig и route , в системе Caldera Network Desktop можно реализовать, воспользо-вавшись окном NetCfg утилиты netcfg . Если вы конфигурируете интерфейс с помощью утилиты netcfg, то прибегать к помощи команд ifconfig и route уже не нужно. Если же вы работаете в другой Linux-системе, попро-буйте воспользоваться утилитой netconfig, которая выполняет те же задачи, что и netcfg . Однако при желании можно конфигурировать интерфейсы непосредственно с помощью команд ifconfig и route .

При каждом запуске системы сетевые интерфейсы и таблицы маршрутиза-ции необходимо конфигурировать заново. Эта задача может решаться автома-тически на этапе начальной загрузки - поместите команды ifconfig и route для каждого интерфейса в файл инициализации /etc/rc.d/init.d/inet , который выполняется каждый раз, когда система запускается. Если сетевые интерфейсы конфигурируются утилитой netcfg в системе Caldera Network Desktop, то соответствующие команды ifconfig и route автоматически добавляются в файл /etc/rc.d/init.d/inet . Если же утилиту netcfg вы не задействовали, эти команды придется ввести в файл инициализации самостоятельно.

Утилиты Netcfg и Lisa

Самый простой способ создания сетевого интерфейса - использовать одну из программ конфигурирования, Lisa или netcfg . Чтобы использовать программу Lisa , введите в командной строке команду lisa и перейдите в меню System Configuration/Network Configuration. Затем можно выбрать элемент Configure General Network Services для ввода адресов серверов доменных имен или ввести хост-имя.

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

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

В окне Nameserver перечислены все текущие серверы имен. С помощью кнопок Add и Remove здесь можно добавлять новые серверы имен и удалять старые. Любая запись, которую вы здесь делаете, автоматически заносится в файл /etc/resolv.conf . В нижнем окне дается список хост-компьютеров с их именами и IP-адресами. Это те компьютеры, с которыми у вашей системы есть соединение. С помощью кнопок, расположенных под этим окном, можно вводить и удалять имена хост-компьютеров, а также редактировать их. Изменения и новые записи заносятся в файл /etc/hosts .

Можно также изменить хост-имя своего компьютера. Выберите в меню NetCfg (в верхнем левом углу) элемент hostname. Система пригласит вас ввести новое хост-имя. Введенное вами имя заменит предыдущее в файле /etc/hostname .

Внеся все необходимые изменения, щелкните на кнопке Save Configuration. Введенная вами новая информация будет занесена в соответствующие файлы конфигурации сетевых соединений.

Команда ifconfig

В качестве аргументов команда ifconfig использует имя интерфейса и IP-адрес. Кроме того, она имеет ряд опций. Команда ifconfig используется для того, чтобы присвоить заданному сетевому интерфейсу указанный IP-адрес. Таким образом, она дает вашей системе знать о том, что данный интерфейс существует и что она обращается к нему по указанному IP-адресу. Кроме того, можно указать, каким адресом является IP-адрес - адресом хост-компьютера или адресом сети. Вместо IP-адреса можно использовать доменное имя при условии, что оно указано вместе с IP-адресом в файле /etc/hosts . Команда ifconfig имеет следующий синтаксис:

# ifconfig интерфейс -хост_сеть_флаг адрес опции

Флаг -хост_ сеть_ флаг может принимать одно из двух значений - -host или -net . Флаг -host свидетельствует о том, что данный IP-адрес является адресом хост-компьютера, a -net означает, что данный IP-адрес является адресом сети. По умолчанию принимается флаг -hos t. У команды ifconfig есть несколько опций, которые задают различные характеристики интерфейса, например максимальное число байтов, которое он может передать за один раз (mtu ), широковещательный адрес и т.д. Опция up активизирует интерфейс, а опция down деактивизирует его. В следующем примере команда ifconfig используется для конфигурирования интерфейса Ethernet.

# ifconfig eth0 204.32.168.56

Для такой простой конфигурации, как эта, ifconfig автоматически создает стандартный широковещательный адрес и маску сети. Стандартный широ-ковещательный адрес - это сетевой адрес с машинной частью, указанной как 255. Напомним, что стандартная маска сети - 255.255.255.0. Если же вы подключены к сети с другой сетевой маской и конкретным широковещательным адресом, их необходимо указать в командной строке ifconfig . Широковеща-тельный адрес указывается в опции broadcast , а маска сети - в опции netmask . Опции команды ifconfig перечислены в табл. 1.4. В следующем примере ifconfig задает сетевую маску и широковещательный адрес.

# ifconfig eth0 204.32.168.56 broadcast 204.128.244.127

netmask 255.255.255.0

Интерфейсы типа "точка-точка", такие как PLIP (межсетевой протокол для параллельного канала), SLIP (межсетевой протокол для последователь-ного канала) и РРР (протокол "точка-точка"), требуют включения в команде ifconfig опции pointopoint . Имя интерфейса PLIP обозначается словом plip и номером; например, plip0 - это первый интерфейс PLIP. Интер-фейсы SLIP имеют имена slip0, slip1 и т.д., а интерфейсы РРР - имена ррр0, ppp1 и т.д. Двухточечные интерфейсы - это интерфейсы, работаю-щие, как правило, между двумя хост-компьютерами, например между двумя машинами, соединенными через модем. Устанавливая опцию pointopoin t, необходимо указать IP-адрес хост-машины. Позже вы узнаете, как с помощью интерфейсов SLIP и РРР можно связываться по телефонной линии с провайдером Internet и устанавливать с ним соединение.

В следующем примере показано, как конфигурируется интерфейс PLIP, который соединяет компьютер, имеющий IP-адрес 199.35.209.72, с компью-тером, адрес которого 204.166.254.14. Если бы в файле /etc/hosts были указаны доменные имена этих систем, то вместо IP-адресов можно было бы использовать их доменные имена.

# ifconfig plip0 199.35.209.72 pointopoint 204.166.254.14

В случае необходимости можно с помощью команды ifconfig конфи-гурировать закольцовывающий интерфейс. Этот интерфейс имеет имя 1о и специальный IP-адрес, 127.0.0.1. Процедура конфигурирования закольцовы-вающего интерфейса показана в следующем примере.

# ifconfig lo 127.0.0.1

Команда ifconfig очень полезна для проверки статуса интерфейса. Если ввести ее только с именем интерфейса, то ifconfig выдаст информа-цию об этом интерфейсе.

# ifconfig eth0

Чтобы посмотреть, конфигурирован ли закольцовывающий интерфейс, нужно дать команду ifconfig с именем этого интерфейса, :

# ifconfig lo

lo Link encap:Local Loopback

Inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0

UP BROADCAST LOOPBACK RUNNING MTU:2000 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0

TX packets:12 errors:0 dropped:0 overruns:0

Маршрутизация

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

# route

Kernel routing table

Destination Gateway Genmask Flags MSS Window Use Iface

loopback * 255.0.0. U 1936 0 12 lo

pangol.train.com * 255.255.255.0 U 1936 0 0 eth0

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

Поле Описание
Destination IP-адрес конечного пункта маршрута
Gateway IP-адрес или хост-имя шлюза, используемого на данном маршруте; символ * говорит о том, что шлюз в сети не используется
Genmask Маска сети маршрута
Flags Тип или состояние маршрута: U=активный, Н=хост, G=шлюз, D=динамический, М=модифицированный MSS TCP MSS (Maximum segment size) для маршрута - максимальное количество данных, которое может быть передано за один раз
Metric "Стоимость" маршрута (количество переходов до шлюза)
Ref Количество использований маршрута на текущий момент
Window Размер окна приема. Наибольшее количество данных, которое принимающая сторона может принять
Use Количество пакетов, пересланных по данному маршруту
Iface Тип интерфейса, используемого на данном маршруте

В таблице маршрутизации должна содержаться по крайней мере одна запись, предназначенная для закольцовывающего интерфейса, иначе этот интерфейс придется конфигурировать командой route . IP-адрес интерфейса нужно ввести в таблицу до того, как этот интерфейс будет задействован. Адрес добавляется с помощью команды route с опцией add.

route add адрес

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

# route add 127.0.0.1

Опция add имеет несколько спецификаторов (они указаны на страницах диалогового руководства, посвященных команде route ). Если вы добавляете конкретный статический маршрут, то эти спецификаторы понадобятся для ввода таких параметров, как маска сети, шлюз, интерфейс и адрес пункта назначения. Если же интерфейс уже конфигурирован командой ifconfig , то система может получить основную информацию из данных конфигурации интерфейса. Например, чтобы задать маршрут для Ethernet-соединения, которое уже конфигурировано командой ifconfig, нужно лишь ввести спецификатор -net и IP-адрес пункта назначения. С помощью этого адреса ifconfig находит соответствующий интерфейс и на основании этой информации организует маршрут. Задание маршрута для интерфейса Ethernet иллюстрируется следующим примером.

# route add -net 204.32.168.0

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

Если нужно удалить один из существующих маршрутов, следует вызвать команду ifconfig с опцией del и IP-адресом маршрута, например:

# route del -net 204.32.168.0

Контроль состояния сети: программы ping и netstat

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

$ ping pang0l.train.com

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

# netstat

Active Internet connections

Proto Recv-Q Send-Q Local Address Foreign Address (State) User

tcp 0 0 turtle.trek.com:01 pangol.train.com:ftp ESTABLISHED dylan

Active UNIX domain sockets

Proto RefCnt Flags Type State Path

unix 1 [ ACC ] SOCK_ STREAM LISTENING /dev/printer

unix 1 [ ACC ] SOCK_ STREAM LISTENING /dev/nwapi

unix 2 SOCK_ STREAM CONNECTED /dev/log

unix 2 SOCK_ STREAM CONNECTED

unix 1 [ ACC ] SOCK_STREAM LISTENING /dev/log

Команда netstat без опций выдает список сетевых соединений данной системы. (Опции команды netstat приведены в табл. 5). Сначала перечисляются активные TCP-соединения, а затем активные гнезда домена типа UNIX. Гнезда этого домена заняты процессами, обеспечивающими установление соединения данной системы с другими системами. Поля перечислены в следующей таблице.

Поле Описание
Proto Протокол, используемый для данного соединения: TCP, UDP
Recv-Q Количество байтов, полученных, но еще не скопированных программой пользователя
Send-Q Количество байтов, посланных в удаленную систему, получение которых еще не подтверждено
Local Address Локальное хост-имя и номер порта
Foreign Address Удаленное хост-имя и номер порта, назначенный соединению; номер порта может указываться как тип соединения, например telnet или ftp
(State) Состояние соединения с удаленной хост-машиной

Гнезда домена UNIX

Поле Описание
Proto Протокол, используемый для данного гнезда (обычно unix)
RefCnt Количество процессов, обслуживаемых гнездом на текущий момент
Флаг
Туре Тип доступа к гнезду
State Состояние гнезда
Path Путевое имя, используемое процессами для доступа к гнезду

Дав команду netstat с опцией -r , можно вывести на экран таблицу маршрутизации, а опция -i позволяет получить информацию об использовании различных сетевых интерфейсов. Содержание полей разъясняется в следующей ниже таблице.

# netstat -i

Kernel Interface table

Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flags

Lo 2000 0 0 0 0 0 58 0 0 0 BLRU

MTU Максимальное число байтов в пакете
RX-OK Пакеты, принятые без ошибок
RX-ERR Пакеты, принятые с ошибками
RX-DRP Пропавшие пакеты
RX-OVR Ошибки из-за превышения скорости
ТХ-ОК Пакеты, переданные без ошибок
TX-ERR Пакеты, переданные с ошибками
TX-DRP Пакеты, потерянные при передаче
TX-OVR Пакеты, которые не смогли передать
Flags Характеристики интерфейса

Служба доменных имен (DNS)

Каждый компьютер, подключенный к сети, работающей по протоколам TCP/IP (например, к Internet), идентифицируется своим IP-адресом. IP-адрес представляет собой комбинацию четырех чисел, определяющих конкретную сеть и конкретный хост-компьютер в этой сети. IP-адреса очень трудно запоминать, поэтому для идентификации хост-компьютера вместо его IP-адреса можно пользоваться доменным именем. Доменное имя состоит из двух частей - хост-имени и имени домена. Хост-имя - это собственно имя компьютера, а домен обозначает сеть, частью которой этот компьютер является. Домены, используемые в США, обычно имеют расшире-ния, обозначающие тип сети. Например, для учебных заведений используется расширение .edu , а для коммерческих организаций - расширение .com . Международные домены обычно имеют расширения, которые обозначают страну, в которой они расположены, например .du для Германии и .аu для Австралии. Комбинация хост-имени, имени домена и расширения представляет собой уникальное имя, по которому можно обращаться к компьютеру. Домен, в свою очередь, иногда разбивается на поддомены.

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

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

Запросы на серверы имен посылают особые программы, которые называют определителями (resolver). Определитель - это программа, предназна-ченная для получения адресов с серверов имен. Чтобы пользоваться у себя в системе доменными именами, вам придется конфигурировать собственный определитель. Конфигурация локального определителя задается файлами /etc/host.conf и /etc/resolv.conf.

Файл host.conf

В файле host.conf содержатся опции программы-определителя (см. следующую таблицу). Каждая опция может иметь несколько полей, отделенных друг от друга пробелами или знаками табуляции. Для ввода комментария в начале строки нужно ставить знак # . Опции указывают определителю, каким сервисом пользоваться. Важное значение имеет порядок следования опций. Определитель начинает обработку с первой из указанных опций и переходит по очереди к следующим. Файл host.conf находится в каталоге /etc вместе с другими файлами конфигурации.

nospoof Подтверждает правильность адресов удаленных узлов, пытающихся получить доступ к локальной системе trim Удаляет имя домена из полного имени и проверяет наличие только хост-имени. Позволяет использовать вместо IP-адреса не полное имя хост.домен.расширение , а просто хост-имя, указанное в файле hosts. multi Позволяет хост-машине иметь несколько IP-адресов в локальном файле hosts .Включается и выключается ключевыми словами on и off

В следующем примере, где представлен файл host.conf, опция order дает программе-определителю указание искать имена в локальном файле /etc/ hosts , а в случае неудачи направлять запрос на сервер имен. Не допускается использование нескольких адресов системы.

/etc/host.conf

# host.conf file

# Lookup names in host file and then check DNS

# There are no multiple addresses multi off

Файл /etc/resolv.conf

Для того чтобы программа-определитель могла выполнять свою задачу, ей должен быть предоставлен доступ к серверам доменных имен. В файле resolv.conf содержатся адреса серверов имен, к которым имеет доступ данная система. В этом файле можно создавать три типа записей, каждая из которых предваряется одним из трех ключевых слов: domain, nameserver, search. В записи domain вводится доменное имя локальной системы. В записи search приводится список доменов на тот случай, если задается только хост-имя. Если к какой-либо системе пользователь обращается часто, он может ввести имя ее домена в запись search, а затем использовать в качестве адреса только хост-имя. Определитель попытается найти полное доменное имя по имени домена, указанному в записи search.

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

Ниже приведен пример файла resolv.conf . Домен хост-компьютера - berkeley.edu . IP-адреса серверов имен этого домена указаны в записях name-server. Запись search позволяет использовать в качестве адреса только хост-имя для компьютеров в домене unc.edu . Например, чтобы обратиться к системе sunsite.unc.edu , пользователь должен ввести в качестве адреса только хост-имя, sunsite .

/etc/resolv.conf

# resolv.conf file

domain berkeley.edu

nameserver 204.199.87.2

nameserver 204.199.77.2

Организация собственного сервера имен: демон named

Если, будучи администратором сети, вы решили организовать в ней сервер имен, то можно конфигурировать на работу в качестве такого сервера любую Linux-систему. Для этого необходимо запустить демон named. Этот демон запускается одновременно с системой и ожидает запросов о доменных именах. Демон named пользуется несколькими файлами конфигурации, которые позволяют ему овечать на запросы. В файле name.boot указывается домен, который обслуживает данный сервер, и имя каталога, предназначенного для его рабочих файлов. В файле named.hosts хранится информация об этом домене. Она состоит из записей, содержащих сведения о хост-компьютерах, находящихся в данном домене. В этих записях используется весьма специфический формат, с кодами в соответствующих полях. Файл named.rev содержит данные о соответствии между IP-адресами и хост-именами. Файл named.ca организует кэширование для сервера имен. Процесс организации собственного сервера имен может быть довольно сложным. Следует обратиться к документам HOW TO, странице диалогового руководства по программе named и литературе по администрированию сети, включающей в свой состав Linux-системы.

Лучшие статьи по теме