в мрежата

уроци за компютри мрежи и сигурност

Начало TCP/IP Глава 11 Превеждане на имената - Name Resolution


Глава 11 Превеждане на имената - Name Resolution

Е-мейл
Оценка на читателите: / 6
Слаба статияОтлична статия 

Вместо запомняне на IP адреси за хората е по-лесно да помнят имена. Администраторите дават имена на компютрите, които значат нещо - например IVAN_PC, DRAGAN_PC или PROTOBERANS_PC. В интернет на уеб сайтовете се дава лесно за запомняне име като www.vmrejata.info. По този начин можем да запомним имената на хостовете в нашата мрежа и имената на сайтовете, които обичаме да посещаване. Но TCP/IP не може да се свърже с друг компютър само с думи, на TCP/IP му е нужен IP адрес. Затова имената, които ползваме трябва да бъдат обърнати в IP адреси преди TCP/IP да направи каквото и да е с тях. Конвертирането или превеждането на името в IP адрес се нарича name resolution. След като името е превърнато в IP адрес, хоста може да определи дали местоназначението е локално или отдалечено и да продължи с комуникацията. Ситуацията е подобна на търсене на телефонен номер, когато всичко което знаете е едно име.

Да разберем конвертирането на имената

Конвертиране на името е процес на откриване на IP адрес отговарящ на зададено име. Защото обичаме да ползваме думи за машините а TCP/IP използва IP адреси, трябва да имаме метод или механизъм, който да направи размяната.
Например уеб сайта www.vmrejata.info има IP адрес 89.252.241.24, когато ползвам уеб браузър за мен е по лесно да запомня www.vmrejata.info отколкото да помня IP адреса. Ако напиша в уеб браузъра 89.252.241.24, тогава няма да има нужда от конвертиране на името, защото аз вече съм въвел IP адреса на уеб сървъра, който хоства търсяния от мен сайт. Ако напиша www.vmrejata.info тогава TCP/IP ще има нужда да преведе тези многозначителни думи в IP адрес.

Има няколко начина за трансформиране на имената в IP адреси. В зависимост от приложението, което пита за превод на името последователността на методите които ще ползва TCP/IP е различна.
Приложенията, които биха питали TCP/IP за трансформиране на името в IP адрес попадат в две категории, в зависимост от това какъв тип приложение пита за превода, TCP/IP ползва един от тези два метода:

  • конвертиране на хост имена
  • конвертиране на NetBIOS имена

Всеки метод приминава през няколко стъпки. TCP/IP по реда на тези стъпки търсейки съответстващия на името IP адрес. Стъпките са подредени така, че първата стъпка има най-голям шанс да преведе името а последната най-малка вероятност, по този начин имената се конвертират колкото е възможно по-бързо и ефективно.
Ако се опитате да отворите уеб сайта ww.vmrejata.info (забележете грешката), TCP/IP е премине през целия процес за конвертиране на хост имена, преди да ви каже, че има грешка. Конвертирането на www.vmrejata.info обикновенно отнема максимум три стъпки, превода на имената може да отнеме по-малко от максималния брой стъпки.

Какво представлява конвертиране на хост имена

Най-често ползвания метод за превеждане на обикновенни имена (като хост името tihomir) към IP адрес е метода за конвертиране на хост имена (host name resolution). Повечето TCP/IP приложения ползват този метод. Конвертирането на хост имената в IP адреси преминава през 7 стъпки, преди да съобщи за грешка TCP/IP ще премине през всяка от тези стъпки. Тези стъпки са:

  1. Локален хост
  2. Файла HOSTS
  3. DNS
  4. Кеш на NetBIOS имена
  5. WINS
  6. Броудкаст
  7. Файа LMHOSTS

Някои от често срещаните приложения, които следват метода за конвертиране на хост имена са Ping, FTP и уеб браузърите (HTTP).

Какво представлява конвертиране на NetBIOS имена

Някои мрежови приложения на Microsoft са написани на Application Programming Interface (API) наречен NetBIOS. Това означава, че програмистите са ползвали общ интерфейс за да помогнат на приложението да комуникира по-добре с останалите компютри в мрежата. Тези приложения са определяни като NetBIOS приложения.
NetBIOS приложенията ползват NetBIOS имена, които още се наричат имена на компютри. По начало NetBIOS името и хост името съвпадат. В зависимост от това какво приложение търси съответстващия на името IP адрес се ползва NetBIOS или хост името.
Метода за конвертиране на NetBIOS имена има шест стъпки, които TCP/IP следва за да намери IP адреса. Ако TCP/IP не успее да намери IP адреса след като премине през тях тогава на потребителя се показва съобщение за грешка. Шесте стъпки са:

  1. Кеш на NetBIOS имена
  2. WINS
  3. Броудкаст
  4. Файла LMHOSTS
  5. Файла HOSTS
  6. DNS

Приложения ползващи NetBIOS имена са Windows Explorer и мрежови приложения на Microsoft, които ползват командите net use и net view.

Свавнение между конвертирането на хост имената и конвертирането на NetBIOS имената

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

конвертиране на хост именаконвертиране на NetBIOS имена
Локален хостКеш на NetBIOS имена
Файла hostsWINS
DNSБроудкаст
Кеш на NetBIOS именатаФайла LMHOSTS 
WINSФайла HOSTS
БроудкастDNS
Файла LMHOSTS 

Някои от стъпките записани в таблицата се ползват само когато компютъра търсещ превода на името ползва Microsoft TCP/IP клиент. Има и възможност TCP/IP клиента да бъде настроен да не ползва всички стъпки. Например клиента може да не е настроен да ползва WINS като метод за конвертиране например, ако клиента не е конфигуриран да ползва WINS тази стъпка се прескача.
Реда за стъпките е и реда по които трябва да се мине когато се търси разрешение на проблеми свързани с конвертирането на имената. Администратора трябва да внимава кой списък ползва когато търси проблема.

Да разберем конвертирането на хост имената

Конвертиране на хост имена се появява при повечето TCP/IP програми и приложения. Това е по често срещания метод за конвертиране на имена в IP адреси. Всички TCP/IP хостове имат име на хост, конфигурирано в TCP/IP аксесоарите на хоста.
В тази секция ще разгледаме от близо всяка стъпка при процеса на конвертиране на хост имена. Нека ползваме пример с ping-ване на www.vmrejata.info. Инструмента ping се ползва, за да се провери дали може да се комуникирате с друг хост ползвайки TCP/IP. Ping ползва TCP/IP,за да изпрати ping пакет до друг хост искайки другия хост да отговори. Преди да може TCP/IP да изпрати ping пакет, тойтрябва да намери IP адреса на www.vmrejata.info. Има няколко стъпки, които хоста ще предприеме, за да конвертира приятелското име в IP адрес. Щом успее да конвертира името IP адреса ще бъде предаден на Интернет слоя на TCP/IP където ще се определи дали хоста (www.vmrejata.info) е локален или отдалечен и дапродължи комуникацията.
Понеже Ping попадав категорията конвертиране на хост имена, стъпките които TCP/IP стека ще премине ще бъдат:
   1. Локален хост
   2. Файла HOSTS
   3. DNS
   4. Кеш на NetBIOS имена
   5. WINS
   6. Броудкаст
   7. Файа LMHOSTS
Някои от тези стъпки се отнасят за специфични Microsoft-ски реализации. Повечето хостове днес са Microsoft хостове, стъпките които ще бъдат прескочени за не-Microsofts-ки хостове ще бъдат споменати в редовете надолу.

Локален хост/local host (HOSTNAME)


Първата стъпка в процеса на конвертиране на хост име е да се провери дали локалния компютър (този който се ползва като източник) не е и хоста, който се търси. Toзи процес е известен като local host (локален хост). Local host е метод при който TCP/IP проверява дали името на хоста, на който се изпълнява конвертирането не е същото като името което се конвертира. Може би хоста на който седите е и този хост, който търсите. Не пренебрегвайте най-лесния възможен отговор.
Приложението HOSTNAME може дапомогне за отговор на този въпрос, то се ползва за откриване името на хоста на който седите. В командния ред напишете HOSTNAME инатиснете enter. На екрана ще се изпише името на локалния компютър:

tihomir@ubook:~$ hostname
ubook
tihomir@ubook:~$

Погледнете, че в този пример името на локалния компютър е ubook. Сега този хост знае, че не е www.vmrejata.info. Ако TCP/IP види, че името показано от инструмента HOSTNAME е същото като името, на което се търси превод задачата е изпълнена. TCP/IP може да ползва IP адресана този хост като адрес на получател.
В повечето случаи двете имена са различни, така че TCP/IP продължава със следващите стъпки в процеса опитвайки се да даде отговор на въпроса "какъв е IP адреса на www.vmrejata.info?".

Като администратор можете да ползвате приложението HOSTNAME като инструмент когато търсите решение на възникнал проблем, без да е нужно да отваряте няколко диалогови прозореца.

Файла HOSTS


Втората стъпка, която TCP/IP ползва е да погледне въвфайла HOSTS, той е обикновен ASCII текстов файл, който съдържа хост имена и IP адреси. Файла може да съдържа локални и отдалечени имена и IP адреси. Понеже тази стъпкасе преминава рано в процеса на конвертиране на хост имена, този файлтрябва да съдържа често посещавани хост имена и IP адреси. Този файл действа по подобен начин на вашия личен телефонен бележник.
Файла HOSTS няма разширение, той се казва просто HOSTS. Местонахождението на файла зависи от използваната операционна система. Следващата таблица показва къде се намира той, на почесто срещаните операционни системи.

Операционна система
Доректория
Windows 95, 98
\SYSTEMROOT\SYSTEM
Windows NT,2000, XP, 2003,Vista, 2008
\SYSTEMROOT\SYSTEM32\DRIVERS\ETC
NetWare
SYS:\ETC
Unix
/etc

Файла HOSTS съдържа IP адреси следвани от интервал и после е записано съответсващото име. Например, за да запишете превода на www.vmrejata.info трябва да въведете този ред:
89.252.241.24    www.vmrejata.info
Ако желаете може да въведете по-просто или алтернативно име, нещо по-лесно за писане или запомняне от пълния URL адрес. Когато TCP/IP претърси HOSTS файла и намери думата която сте ползвали в уеб браузара, тогава имаме успешно конвертиране. Следващия пример показва как могат да изглеждат тези редове в HOSTS файла:

89.252.241.24    www.vmrejata.info
89.252.241.24    vmrejata
89.252.241.24    uroci

Кой да е от тези редове, ще осигури превод за уеб сайта на вмрежата като ползвате едно от имената записани в HOSTS файла.
Като администратор може да ползвате файла HOSTS, за да осигурите конвертиране за потребителите като поставяте в него често ползвани имена на хостове и IP адреси в този файл. Ако IP адреса се промени за някой от въведените във фаила HOSTS имена на хостове, ще трябва ръчно да редактирате този файл. HOSTS файла може да бъде толкова голям колкото решите или да не съществува ако решите да не го ползвате. Когато файла е във вярната папка и се казва HOSTS, TCP/IP ще го ползва за конвертиране на хост имена.
HOSTS файла предлага прост и ефективен метод за конвертиране на често използваните имена. Ако след преглеждане на HOSTS файла TCP/IP все още не е конвертирал името, тогава преминава към следващата стъпка - DNS.

Domain Name System (DNS)

Domain Name System (DNS) е интернет механизъм за свързване на всички хост имен и IP адреси в интернет. DNS е разпределена и свързана система за конвертиране на имена в IP адреси. DNS е система подобна на среда в която всички оператори на телефонни номера са свързани заедно, така че вашето запитване да бъде предадено към подходящия оператор.
Всички URL адреси, за които търсите конвертиране в интернет се намаират в DNS база данни.. някъде там. Администратор на DNS база данни е въвел името и IP адреса в базата данни. Когато ползвате браузър и поискате www.vmrejata.info, www се отнася за услугата, vmrejata за хост името, .info се отнася за част от домейн пространството където се намира този хост. URL е комбинация от услуга, име на хост и домейн където може да бъде намерен този хост. Тези база данни са свързани, когато се опитате да получите конвертиране на даден адрес, DNS сървъра който се опитва даполучи отговора за вас може да бъде пренасочен към друг DNS сървър и така докато конвертира името или докато разбере, че неможе да конвертира името. Ако TCP/IP на този етап се провали да намери IP адреса на този етап, шансовете за успешно конвертиране на името стават малки. Следващите методи и стъпки се отнасят само за Microsoft TCP/IP клиенти опитващи се да получат конвертиране на хост име.

Кеш на NetBIOS имена

Следващата стъпка при конвертирането на хост имена е кеша на NetBIOS имена, който се използва при Microsoft-ските версии на TCP/IP. Когато ползвате Microsoft TCP/IP клиент, TCP/IP гледа в кеша на NetBIOS имена. Това е списък в RAM паметта на локалния компютър, който съдържа наскоро конвертирани NetBIOS имена в IP адреси. Възможно е хост името за което TCP/IP търси IP адреса в момента да е NetBIOS име на машина, която е търсена наскоро. NetBIOS имената в кеша са като телефонни номера написани на бележки и оставени край телефона. Тези бележки имат записани на тях имена и телефони, които сте набирали наскоро. Те са само временни и могат да се затрият скоро.
Подобно на това NetBIOS имената, които са търсени наскоро и са намерени прилежащите им IP адреси се поставят в кеша на NetBIOS имена са кратък период от време. Преди TCP/IP да продължи със следващите стъпки в процеса на конвертиране на името, Microsoft TCP/IP клиента гледа в този кеш. Ако TCP/IP не получи отговора от NetBIOS кеша търсенето продължава с WINS.

SCOPE ID

NetBIOS scope ID може да бъде конфигурирано като параметър на Microsoft TCP/IP хост. Scope ID-то сегментира една физическа мрежа в логически мрежи. Ако е важно за два хоста в една и съща мрежа да ползват едно и също NetBIOS име или два хоста в една и съща мрежа да бъдат изолирани един от друг може да се ползва scope ID. Той е незадължителен параметър на NetBIOS и TCP/IP конфигурацията.
Когато конфигурирате TCP/IP на Microsoft хост, scope ID полето се използва рядко. При разрешаването на TCP/IP проблеми обаче scope ID-то може да се превърне в проблем ако е в употреба. Ако два хоста имат различни scope ID-та те немогат да ползват NetBIOS, за да комуникират.
В TCP/IP мрежа, NetBIOS имената са уникални идентификатори използвани от NetBIOS за конвертиране на имена. Затова неможе два хоста да имат еднакви NetBIOS имена. Scope ID-то разбива NetBIOS мрежата в логически мрежи. Например в полето scope ID на компютрите в счетоводството администратора може да въведе SCHET. Тези хостове могат да се наименуват например HOST1.SCHET или HOST2.SCHET. В друг отдел NetBIOS хостовете могат да имат идентификатор MARKETING и тези хостове могат да се идентифицират като HOST1.MARKETING или HOST2.MARKETING. При този пример администратора е създал 2 логически NetBIOS мрежи, но те са физически в една мрежа. Все пак хостове със scope ID SCHET немогат да комуникират с хостовете, чието scope ID е MARKETING. Scope ID-to трябва да е едно и също за да е възможна NetBIOS комуникацията в една и съща мрежа. Повечето администратори оставят това поле празно.

Windows Internet Naming Service (WINS)

Тази стъпка се преминава само ако хоста искащ конвертиране на името е конфигуриран да използва Windows Internet Naming Service (WINS). Хост неконфигуриран да ползва WINS ще пропусне тази стъпка. WINS представлява сървът за NetBIOS имена на Microsoft.
WINS сървъра пази база на всичките NetBIOS имена и IP адреси на хостове, които са регистирани с този сървър или са въведени ръчно от администратор. Администратора конфигурира Microsoft компютрите в мрежата да регистрират динамично техните NetBIOS имена с един и същ WINS сървър. Когато машина бъде включена, тя се регистрира в централния WINS сървър. Когато друг клиент се нуждае от конвертиране на това NetBIOS име, той се свързва със специалния за това оператор WINS и той връща положителен отговор с IP адреса или отрицателен отговор, казващ че това име неможе да бъде намерено.

Повече информация за настройването на WINS можете да прочетете в глава 14.

Ако на този етап TCP/IP все още не е открил IP адреса на дадено име, TCP/IP започва да се "тревожи" и предприема отчаени мерки.

Броудкаст

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

Файла LMHOSTS

Файла LMHOSTS много прилича на файла HOSTS. Той е ACII текстов файл и съдържа IP адреси, но вместо имена на хостове в него има NetBIOS имена. Във файла LMHOSTS няма алтернативни имена както при файла HOSTS, в този файл може да има само действителни NetBIOS имена. LMHOSTS се ползва само при Microsoft TCP/IP клиенти. Ако клиента не е конфигуриран да проверява файла LMHOSTS или не е Microsoft TCP/IP клиент, тази стъпка се прескача. Файла LMHOSTS се намира в същата папка както и файла HOSTS, за да го намерите по-лесно мойе да се консултирате с таблицата в секцията за файла HOSTS.
Файла LMHOSTS се състои от IP адреси и NetBIOS имена, ето пример за съдържанието на такъв файл:

192.168.1.199DB_SRV#PRE
192.168.1.40WIN2K3_TS#PRE
192.168.1.29PROTOBERANS 

Някои записи в LMHOSTS имат пояснение в края което разширява употребата им. Първия и втория ред например имат пояснението #PRE. Когато компютъра се зарежда и TCP/IP се стартира, TCP/IP ще погледне във файла LMHOST за записи, които имат #PRE и когато TCP/IP намери такива записи те биват поставени кеша на NetBIOS имена за неопределено време. Когато TCP/IP се опита да конвертира NetBIOS име в IP адрес, то името ще бъде веднага намерено в кеша с NetBIOS имена. Така ще имаме по-бързо конвертиране на NetBIOS имената, защото те бързо ще бъдат намирани!

Командата nbtstat се използва за преглеждане съдържанието на NetBIOS кеша. Тази команда има няколко допълнителни опции, по важните три от тях можете да видите в следващата таблица:

опцияописание
-cПоказва текущото съдържание на NetBIOS кеша
-rИзтрива всички записи в NetBIOS кеша и зарежда наново всички записи с отметка #PRE от файла LMHOSTS
-nПоказва списък с NetBIOS имената, под които тази машина е позната

Да разберем конвертирането на NetBIOS имената

Понеже NetBIOS имената се използват почти само от няколко Microsoft продукта, конвертирането на NetBIOS имена се появява рядко. Приложение ползващо NetBIOS имена по същество ползва същите стъпки, които ползва и TCP/IP приложение ползващо хост имена. Тези стъпки обаче имат различна последователност, ето ги отново:

Пример за приложение ползващо NetBIOS имена е net view:
net view \\ACC
Този ред извиква показване на всички споделени ресурси на хост с NetBIOS име ACC.

Стъпките в цикъла за конвертиране на NetBIOS името:

  1. Понеже това приложение ползва NetBIOS имена, първото място където трябва да погледнем е кеша на NetBIOS имена. Възможно е името да е превеждано наскоро или да е поставено в кеша от файла LMHOSTS.
  2. Ако името не е в NetBIOS кеша, TCP/IP пита WINS сървър. Ако хостовете в тази мрежа са настроени да ползват WINS сървър шансовете са добри WINS сървъра да има списък със NetBIOS името за което този хост се опитва да намери IP адрес.
  3. Ако WINS не успее или хоста не е настроен да ползва WINS сървър, TCP/IP броудкаства съобщение в мрезата опитвайки се да намери отговор.
  4. Ако NetBIOS името не е конвертирано след броудкаста, TCP/IP гледа във файла LMHOSTS.
  5. Ако името не е във LMHOSTS то може би е във файла HOSTS.
  6. И накрая ако името все още не е конвертирано, TCP/IP опитва с DNS.

Ако някой от тези методи успее ще бъдат изписани споделените ресурси на машината с име ACC. Следващия екран показва командата и успешното и изпълнение:

C:\DOCUME~1\ADMINI~1>net view \\acc
Shared resources at \\acc

Share name     Type  Used as  Comment

---------------------------------------
Drago          Disk
konstantza     Disk
makedonia      Disk
online         Disk
rocossmartpro  Disk
SmartPro       Disk
smartpro2004   Disk
The command completed successfully.

Ако никой от тези методи не успее да конвертира името в IP адрес, се появява съобщение за грешка:

C:\USERS\TIHOMIR>net view \\acc
System error 53 has occurred.

The network path was not found.

Етикети: TCP/IP

 

Добавете коментар

Вашето име:
Заглавие:
Коментар:
  Кодът за потвърждение. Само малки символи без разстояния между тях.
Секретен код:

последно от форума

в МРЕЖИ от maxell, 24-07-10 16:43
в Софтуер от Svilen.Dimitrov, 25-06-10 11:59
в МРЕЖИ от protoberans, 16-06-10 13:23
в МРЕЖИ от mnk, 12-06-10 19:14
в Романтика, любов и секс от 4oki, 07-05-10 09:04

Поща



Не си логнат.

Ако това което четете тук ви харесва гласувайте за нас!
Ако това което четете тук ви харесва гласувайте за нас!

Кой е на линия

В момента има 71 посетителя в сайта