Программирование >>  Программирование с использованием ajax 

1 ... 329 330 331 [ 332 ] 333 334 335 ... 396


Сетевой уровень использует логический адрес для адресации систем в глобальной сети (WAN). Протокол Internet (Internet Protocol - IP) - это протокол третьего уровня. На этом уровне IP-адрес используется для адресации других систем. В спецификации IPv4 IP-адрес состоит из четырех байт - например, 192 .14 . 5 .12.

Транспортный уровень используется для идентификации приложений, обменивающихся данными. Приложения могут идентифицироваться по конечным точкам. Серверное приложение, ожидающее подключения клиентов, обладает известной конечной точкой, к которой должно быть выполнено подключение. Протокол управления передачей (Transmission Control Protocol - TCP) и протокол дейтаграмм пользователя (User Datagram Protocol - UDP) являются протоколами четвертого уровня, которые используют номер порта (конечной точки) для идентификации приложения. Протокол TCP используется для надежных коммуникаций, при которых соединение устанавливается перед отправкой данных, тогда как протокол UDP обеспечивает ненадежные коммуникации, поскольку данные отправляются без гарантии, что они будут получены.

Над четвертым уровнем модель OSI определяет сеансовый, презентационный и прикладной уровни. Сеансовый уровень определяет службы для приложения, такие как вход и выход. Сеансовый уровень позволяет устанавливать виртуальное соединение между приложениями. Его можно сравнить с сеансами ASP.NET, освещенными в главе 18. Презентационный уровень связан с форматированием данных - именно на этом уровне происходит шифрование, дешифрация и сжатие. И, наконец, прикладной уровень - самый верхний уровень, предоставляющий приложениям сетевые функциональные возможности, такие как передача файлов, электронная почта, просмотр Web-страниц и т.п.

В сочетании с набором протоколов TCP/IP протоколы прикладного уровня охва-тыв2[ют уровни 4-7 модели OSI. Примерами этих протоколов служат протокол передачи гипертекста (Hypertext Transfer Protocol - HTTP), протокол передачи файлов (File Transfer Protocol - FTP) и простой протокол передачи почты (Simple Mail Transfer Protocol - SMTP). Ha транспортном уровне конечные точки служат для доступа к другим приложениям. Эти прикладные протоколы определяют вид данных, пересылаемых другим системам. Позднее вы увидите, какие данные пересылаются посредством протокола HTTP

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

Протокол Internet Protocol требует указания IP-адресов. Поскольку IP-адреса трудны для запоминания (их запоминание еще труднее при использовании спецификации IPv6, в которой IP-адреса состоят из 128 битов, а не из 32), в приложениях используется имя хоста. Однако, как уже было указано, для обмена данными между системами необходим IP-адрес. Для преобразования имени хоста в IP-адрес используются серверы DNS (Domain Name System - система доменных имен).

Windows предлагает утилиту командной строки nslookup, которая может выполнять поиск имен (преобразование имен хостов в IP-адреса) или обратный поиск (преобразование IP-адресов в имена хостов). Обратные поиски представляют особый интерес, поскольку, анализируя журнальные файлы на предмет размещения IP-адресов клиентской системы, можно определить происхождение клиентской системы.

.NET позволяет выполнять поиск имен с помощью класса Dns из пространства имен System.Net. Класс Dns позволяет преобразовывать имена хостов в их IP-адреса или IP-адреса в их имена хостов. Выполним это на примере простого проекта.



jipaKTiwecKoe занятм Использование DNS

1. Создайте новый проект консольного приложения С# по имени Dns Lookup в каталоге С:\BegVCSharp\Chapter32.

2. Импортируйте пространство имен System.Net.

3. Вызовите метод GetHostEntry () класса Dns, как показано в ниже, после проверки аргументов метода Main ():

static void Main(string[] args) (

if (args.Length != 1) {

Console.WriteLine ( Использование: DnsLoolcup имя хоста/IP-адрес ) ; return;

IPHostEntry ipHostEntry = Dns .GetHostEntry (args [0]) ;

4. В код метода Main () после вызова метода GetHostEntry () добавьте следующий код для записи информации о преобразованном хосте на консоль:

Console.WriteLine( Хост: {О} , ipHostEntry.HostName);

if (ipHostEntry.Aliases.Length> 0) {

Console.WriteLine( \пПсевдонимы: );

foreach (string alias in ipHostEntry .Aliases)

Console.WriteLine(alias);

Console.WriteLine( \пАдрес(a): );

foreach (IPAddress address in ipHostEntry.AddressList) {

Console.WriteLine( Адрес: {0} , address.ToString());

5. Скомпилируйте приложение и запустите программу. Передайте имя хоста в качестве аргумента командной строки - например, www .microsoft. com. Чтобы запустить программу из среды Visual Studio, аргументы командной строки можно установить в конфигурации отладки, как показано на рис. 32.4. Можно также запустить окно командной строки, изменить текущий каталог на каталог исполняемого файла и запустить приложение командой dnslookup www.microsoft.com. При этом вы должны получить вывод, подобный следующему:

Хост: 1Ы.www.ms.akadns.net Адрес(а):

Адрес: 207.46.193.254 Адрес: 207.46.19.190 Адрес: 207.46.19.254 Адрес: 207.46.192.254



DnsLookup Program.cs

BJdEver f Debug

Rafwenca Paths

Secuty Pubteh

jrHIOM AcOwaCDcbug) 2 tAcWw(AnyCPU) g

Set Action -----------------------------------

0 Start proiKt О start etfemd pro-am: О Start browser n№UB).: Start Optiorts

Comroaod к arguments v*ww niKrosoft com WortAectory □ Use remote rfi&tne Enabte Debuggers

G ЕгмЫе \гжпапаовЛ coda debugging

□ Enable SQL Sl r(i

Puc. 32.4. Установка аргумента командной строки

Описание полученных результатов

Класс Dns запрашивает DNS-сервер для преобразования имени хоста в IP-адрес и для обратного поиска с целью получения имени хоста по IP-адресу. Для этого класс Dns использует метод GetHostEntry (), в аргументах которого можно передать имя хоста, и который возвратит объект IPHostEntry. Для выполнения обратных поисков можно вызвать метод GetHostByAddress ().

Во всех случаях класс Dns возвращает IPHostEntry. Этот класс содержит информацию о хосте. Класс IPHostEntry имеет три свойства: HostName возвращает имя хоста. Aliases - список всех псевдонимов, а AddressList - массив элементов IPAddress. Метод ToString О класса IPAddress возвращает Internet-адрес в стандартной форме записи.

Унифицированный идентификатор ресурса

Ресурсы, доступные по сети, описываются идентификатором URI (Uniform Resource Identifier - унифицированный идентификатор ресурса). Вы используете идентификаторы URI при каждом вводе Web-адресов наподобие http: / /www. thinktecture. com в Web-браузере. Класс Uri инкапсулирует URI и обладает свойствами и методами, предназначенными для анализа, сравнения и объединения идентификаторов URI.

Объект Uri можно создать, передавая строку URI конструктору:

Uri uri = new Uri( http: www.wrox.com/go/p2p );

При переходе к другим страницам одного и того же сайта можно использовать базовый идентификатор URI и на его основе создавать идентификаторы URI, содержащие каталоги:

Uri baseUri = new Uri( http: msdn.microsoft.com ); Uri uri = new Uri(baseUri, downloads );

Доступ к частям URI можно получить, используя свойства класса Uri.

В табл. 32.1 приведено несколько примеров информации, которую можно получить из объекта Uri, инициализированного URI http: www.wrox.com/marketbasket. cgi?isbn=0470124725.



1 ... 329 330 331 [ 332 ] 333 334 335 ... 396

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика