Уильям Стивенс - UNIX: разработка сетевых приложений

Тут можно читать онлайн Уильям Стивенс - UNIX: разработка сетевых приложений - бесплатно ознакомительный отрывок. Жанр: comp-osnet, издательство Питер, год 2007. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    UNIX: разработка сетевых приложений
  • Автор:
  • Жанр:
  • Издательство:
    Питер
  • Год:
    2007
  • Город:
    Санкт-Петербург
  • ISBN:
    5-94723-991-4
  • Рейтинг:
    4.33/5. Голосов: 91
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Уильям Стивенс - UNIX: разработка сетевых приложений краткое содержание

UNIX: разработка сетевых приложений - описание и краткое содержание, автор Уильям Стивенс, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

UNIX: разработка сетевых приложений - читать онлайн бесплатно ознакомительный отрывок

UNIX: разработка сетевых приложений - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Уильям Стивенс
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

1.9. Сети и узлы, используемые в примерах

На рис. 1.7 показаны различные сети и узлы, используемые нами в примерах. Для каждого узла мы указываем операционную систему и тип компьютера (потому, что некоторые операционные системы могут работать на компьютерах разных типов). Внутри прямоугольников приведены имена узлов, появляющиеся в тексте.

Рис 17 Сети и узлы используемые в примерах Топология приведенная на рис - фото 7

Рис. 1.7. Сети и узлы, используемые в примерах

Топология, приведенная на рис. 1.7, интересна для наших примеров, но на практике физическая топология сети оказывается не столь важной, поскольку взаимодействующие компьютеры обычно связываются через Интернет. Виртуальные частные сети (virtual private network, VPN) и защищенные подключения интерпретатора (secure shell connections, SSH) обеспечивают соединение, не зависящее от физического размещения компьютеров.

Обозначение «/24» указывает количество последовательных битов адреса начиная с крайнего левого, задающих сеть и подсеть. В разделе А.4 об этом формате рассказывается более подробно.

ПРИМЕЧАНИЕ

Хотим подчеркнуть, что настоящее имя операционной системы Sun — SunOS 5.x, а не Solaris 2.x, однако все называют ее Solaris.

Определение топологии сети

На рис. 1.7 мы показываем топологию сети, состоящей из улов, используемых в качестве примеров в этой книге, но вам нужно знать топологию вашей собственной сети, чтобы запускать в ней примеры и выполнять упражнения. Хотя в настоящее время не существует стандартов Unix в отношении сетевой конфигурации и администрирования, большинство Unix-систем предоставляют две основные команды, которые можно использовать для определения подробностей строения сети: netstatи ifconfig. Мы приводим примеры в различных системах, представленных на рис. 1.7. Изучите руководство, где описаны эти команды для ваших систем, чтобы понять различия в той информации, которую вы получите на выходе. Также имейте в виду, что некоторые производители помещают эти команды в административный каталог, например /sbinили /usr/sbin, вместо обычного /usr/bin, и эти каталоги могут не принадлежать обычному пути поиска ( PATH).

1. netstat - iпредоставляет информацию об интерфейсах. Мы также задаем флаг -nдля печати численных адресов, а не имен сетей. При этом показываются интерфейсы с их именами.

linux % netstat -ni

Kernel Interface table

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

eth0 1500 0 49211085 0 0 0 40540958 0 0 0 BMRU

lo 16436 0 98613572 0 0 0 98613572 0 0 0 LRU

Интерфейс закольцовки называется lo, a Ethernet называется eth0. В следующем примере показан узел с поддержкой Ipv6.

freebsd % netstat -ni

Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll

hme0 1500

08:00:20:a7:68:6b 29100435 35 46561488 0 0

hme0 1500 12.106.32/24 12.106.32.254 28746630 - 46617260 - -

hme0 1500 fe80:1::a00:20ff:fea7 686b/64

fe80:1::a00:20ff:fea7:68b

0 - 0 - -

hme0 1500 3ffe:b80:1f8d:1::1/64

3ffe:b80:1f8d:1::1 0 - 0 – -

hme1 1500

08:00:20:a7:68:6b 51092 0 31537 0 0

hme1 1500 fe80:2::a00:20ff:fea7:686b/64

fe80:2::a00:20ff:fea7:686b

0 - 90 - -

hme1 1500 192.168.42 192.168.42.1 43584 - 24173 - -

hme1 1500 3ffe:b80:1f8d:2::1/64

3ffe:b80:1f8d:2::1 78 - 8 - -

lo0 16384

10198 0 10198 0 0

lo0 16384 ::1/128 ::1 10 - 10 - -

lo0 16384 fe80:6::1/64 fe80:6::1 0 - 0 - -

lo0 16384 127 127.0.0.1 10167 - 10167 - -

gif0 1280

6 0 5 0 0

gif0 1280 3ffe:b80:3:9ad1::2/128

3ffe:b80:3:9ad1::2 0 - 0 - -

gif0 1280 fe80:8::a00:20ff:fea7:686b/64

fe80:8::a00:20ff:fea7:686b

0 - 0 - -

Мы разбили некоторые длинные строки на несколько частей, чтобы сохранить ясность представления.

2. netstat -rпоказывает таблицу маршрутизации, которая тоже позволяет определить интерфейсы. Обычно мы задаем флаг -nдля печати численных адресов. При этом также приводится IP-адрес маршрутизатора, заданного по умолчанию:

freebsd % netstat -nr

Routing tables

Internet:

Destination Gateway Flags Refs Use Netif Expire

default 12.106.32.1 UGSc 10 6877 hme0

12.106.32/24 link#1 UC 3 0 hme0

12.106.32.1 00:b0:8e:92:2c:00 UHLW 9 7 hme0 1187

12.106.32.253 08:00:20:b8:f7:e0 UHLW 0 1 hme0 140

12.106.32.254 08:00:20:a7:68:b6 UHLW 0 2 lo0

127.0.0.1 127.0.0.1 UH 1 10167 lo0

192.168.42 link#2 UC 2 0 hme1

192.168.42.1 08:00:20:a7:68:6b UHLW 0 11 lo0

192.168.42.2 00:04:ac:17:bf:38 UHLW 2 24108 hme1 210

Internet6:

Destination Gateway Flags Netif Expire

::/96 ::1 UGRSc lo0 =>

default 3ffe:b80:3:9ad1::1 UGSc gif0

::1 ::1 UH lo0

::ffff:0.0.0.0/96 ::1 UGRSc lo0

3ffe:b80:3:9ad1::1 3ffe:b80:3:9ad1::2 UH gif0

3ffe:b80:3:9ad1::2 link#8 UHL lo0

3ffe:b80:1f8d::/48 lo0 USc lo0

3ffe:b80:1f8d:1::/64 link#1 UC hme0

3ffe:b80:1f8d:1::1 08:00:20:a7:68:6b UHL lo0

3ffe:b80:1f8d:2::/64 link#2 UC hme1

3ffe:b80:1f8d:2::1 08:00:20:a7:68:6b UHL lo0

3ffe:b80:1f8d:2:204:acff:fe17:bf38 00:04.ac:17:bf:38 UHLW hme1

fe80::/10 ::1 UGRSc lo0

fe80::%hme0/64 link#1 UC hme0

fe80::a00:20ff:fea7:686b%hme0 08:00:20:a7:68:6b UHL lo0

fe80::%hme1/64 link#2 UC hme1

fe80::a00:20ff:fea7:686b%hme1 08:00:20:a7:68:6b UHL lo0

fe80::%lo0/64 fe80::1%lo0 Uc lo0

fe80::1%lo0 link#6 UHL lo0

fe80::%gif0/64 link#8 UC gif0

fe80::a00:20ff:fea7:686b%gif0 link#8 UHL lo0

ff01::/32 ::1 U lo0

ff02::/16 ::1 UGRS lo0

ff02::%hme0/32 link#1 UC hme0

ff02::%hem1/32 link#2 UC hme1

ff02::%lo0/32 ::1 UC lo0

ff02::%gif0/32 link#8 UC gif0

3. Имея имена интерфейсов, мы выполняем команду ifconfig, чтобы получить подробную информацию для каждого интерфейса:

linux % ifconfig eth0

eth0 Link encap:Ethernet HWaddr 00:C0:9F:06:B0:E1

inet addr:206.168.112.96 Bcast:206.168.112.127 Mask:255.255.255.128

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:49214397 errors:0 dropped:0 overruns:0 frame:0

TX packets:40543799 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:100

RX bytes:1098069974 (1047.2 Mb) TX bytes:3360546472 (3204.8 Mb)

Interrupt:11 Base address:0x6000

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

4. Одним из способов определить IP-адрес нескольких узлов локальной сети является проверка широковещательного адреса (найденного нами на предыдущем шаге) с помощью утилиты ping.

linux % ping -b 206.168.112.127

WARNING: pinging broadcast address

PING 206.168.112.127 (206.168.112.127) from 206.168.112.96 : 56 (84) bytes of data.

64 bytes from 206.168.112.96: icmp_seq=0 ttl=255 time=241 usec

64 bytes from 206.168.112.40: icmp_seq=0 ttl=255 time=2 566 msec (DUP!)

64 bytes from 206.168.112.118: icmp_seq=0 ttl=255 time=2.973 msec (DUP!)

64 bytes from 206.168.112.14: icmp_seq=0 ttl=255 time=3.089 msec (DUP!)

64 bytes from 206.168.112.126: icmp_seq=0 ttl=255 time=3.200 msec (DUP!)

64 bytes from 206.168.112.71: icmp_seq=0 ttl=255 time=3.311 msec (DUP!)

64 bytes from 206.168.112.31: icmp_seq=0 ttl=255 time=3.541 msec (DUP!)

64 bytes from 206.168.112.7: icmp_seq=0 ttl=255 time=3.636 msec (DUP!)

...

1.10. Стандарты Unix

Когда писалась эта книга, наибольший интерес в сфере стандартизации Unix вызывала деятельность группы Остина по пересмотру общих стандартов (The Austin Common Standards Revision Group, CSRG). Ими было написано в общей сложности около 4000 страниц спецификаций, описывающих более 1700 интерфейсов программирования. Эти спецификации являются одновременно стандартами IEEE POSIX и The Open Group. Поэтому один и тот же стандарт может встретиться вам под разными названиями, например ISO/IEC 9945:2002, IEEE Std 1003.1-2001 и Single Unix Specification Version 3. В нашей книге мы будем называть этот стандарт просто: спецификация POSIX, за исключением разделов, подобных этому, где обсуждаются особенности различных более старых стандартов.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Уильям Стивенс читать все книги автора по порядку

Уильям Стивенс - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




UNIX: разработка сетевых приложений отзывы


Отзывы читателей о книге UNIX: разработка сетевых приложений, автор: Уильям Стивенс. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x