Преводач

2/25/2014

Мрежови протоколи и портове, преобразуване на имена

Портове и сокети 

Линк за документа за протоколите

http://dox.bg/files/dw?a=fb03df4bac
 

TCP/IP използва двукомпонентен логически адрес - IP адресът - за да идентифицира компютрите източници и компютрите местоназначения в мрежовите комуникации. Какво става обаче, ако две мрежови приложения, работещи на един и същ компютър, изпращат заявки и получават отговори едновременно? Например какво става, ако дадено входящо съобщение е предназначено за вашата e-mail програма, докато друго е Web страница, която се връща към вашия Web браузър? Протоколът се нуждае от начин, по който да прави разлика между тях. Ето къде се намесват TCP и UDP портовете. Ролята на номерата на портовете. Знаем, че IP адресът на даден компютър местоназначение се състои от две части: мрежов адрес, който функционира подобно на име на улица, и хост адрес, функциониращ подобно на номер на къща. За номерата на портове можем да си мислим като специфична маршрутизираща информация вътре в даден адрес. Номерът на порт е допълнение към IP адреса, точно както името на адресата на пощенския плик е допълнение към адреса на улицата. По същия начин можете да си мислите за отделните приложения като за отделни обитатели. Портът е логическа точка на свързване. Портовете се използват от транспортните протоколи, TCP и UDP, за да идентифицират специфичното приложение, което изпраща или получава съобщението. Широко използваните Интернет приложения имат предефинирани номера на портове. Тази стандартизация улеснява комуникациите. В следващата таблица са показани някои тези широко използвани номера.


Предварително назначен порт
Протокол
Приложение
80
TCP
HTTP
21
TCP/UDP
FTP
23
TCP/UDP
Telnet
25
TCP/UDP
SMTP
110
TCP/UDP
POP3
119
TCP/UDP
NNTP
137
TCP/UDP
NetBIOS name service
161
TCP/UDP
SNMP
194
TCP/UDP
IRC
389
TCP/UDP
LDAP
396
TCP/UDP
NetWare over IP
458
TCP/UDP
Apple QuickTime
500
TCP/UDP
ISAKMP

Съществуват 65 536 използваеми порта. Портове от 0 до 1024 са запазени за предефинирани услуги, като например показаните по горе в таблицата. Те се наричат още „добре познатите портове" (well-known ports) и се определят от Internet Assigned Numbers Authority (IANA).
Друго важно понятие, широко използвано в компютърните мрежи е понятието сокет (socket). Общата дефиниция за сокет е „крайната точка на една връзка". За да може да се осъществи комуникация, трябва да се създаде сокет. Различните типове сокети използват различни методи за адресиране. Най-популярният метод използва IP адрес, комбиниран с номер на порт, за да идентифицира сокета. В UNIX терминологията това се нарича AFINET адресиране. Втори метод за адресиране, AF_UNIX, за идентификация на сокетите използва имена на пътища. Berkeley (BSD) Sockets се превърна в стандартния API интерфейс за TCP/IP комуникации. Популярна адаптация на интерфейса е Windows Sockets, или Winsock. Тази реализация предоставя API интерфейс за Интернет приложения, работещи под Windows операционни системи. Winsock се зарежда под формата на DLL.


Преобразуване на имена

TCP/IP използва IP адреси и номера на портове, за да идентифицира мрежи, компютри и специфични мрежови приложения, до които се изпращат съобщенията. Повечето хора биха предпочели да използват имена, вместо числа, когато осъществяваме достъп до компютър в мрежата или въвеждаме местоположение на Web сървър във Web браузъра. Но, компютрите работят само с числа. Поради тази несъвместимост се нуждаем от услуги, които превръщат „приятелските" имена в IP адреси. Използвайки тези услуги, когато искаме да посетим сайта на Xerox, можем да въведем www.xerox.com в адресната лента на нашия Web браузър, вместо 208.134.240.50. Името определено е по-лесно за запомняне. Но независимо от нашите действия, нашият браузър конвертира хост името в IP адрес, за да открие Web сървъра в Интернет и да извлече заявената страница. Какво представлява едно име? В компютърните мрежови комуникации се използват различни типове имена. В Интернет, имената на хостовете (компютрите) се подреждат в йерархична структура в домейни. Някои от най-известните домейни от най-високо ниво са следните:
    • com – Комерсиални организации.
    • edu – Ограничен за използване от образователни институции на САЩ.
    • gov – Ограничен за използване от департаменти на правителството на САЩ.
    • int – Ограничен за използване от международни организации
    • mil – Ограничен за използване от образователни институции на САЩ.
    • net - По начало предназначен за мрежи на Интернет доставчици
    • org – Некомерсиални организации.
    • xx – Буквен код на държава (съгласно междунаодния стандарт 3166).
Извън САЩ различните страни имат различни кодове, които се използват за описание на локални домейни. Например:
  • bg - България
  • uk - Обединеното Кралство
  • аu - Австралия
  • са - Канада
  • ru - Русия
  • fr - Франция
  • de - Германия
Бизнес организациите, обществените организации и отделните хора регистрират имена на домейни от второ ниво, като например ibm.com, whitehouse.gov или dallas.net, вътре в домейните от най-високо ниво. В началото имената на домейни от второ ниво са назначавани от InterNIC, но сега тази задача е разпределена между няколко упълномощени регистратори. В един домейн от второ ниво отделните компютри се идентифицират от хост името, името на доменна от второ ниво и името на домейна от най-високо ниво, като всяка секция се разделя с точка. По този начин един Web сървър с име „www" в домейна dallas.net се идентифицира с името www.dallas.net. Това „разделено с точки" йерархично име се нарича напълно квалифицирано име на домейн (fully qualified domain name — FQDN).
В мрежите на Microsoft на всеки компютър също така се назначава NetBIOS име. Това е име от максимум 16 знака, назначавано от администратора, което се използва за идентифициране на ресурси в локалната мрежа.
И двата типа имена трябва да се преобразуват в IP адреси, преди да може да се осъществи TCP/IP комуникация. Съществуват няколко подхода за транслиране на имена в IP адреси:
  • HOSTS и LMHOSTS файлове, които са чисто текстови и се съхраняват на твърдия диск на компютъра
  • DNS или Dynamic DNS(DDNS)
  • WINS

Няма коментари:

Публикуване на коментар