Сетевые протоколы
Дмитрий Смаль
ISO - OSI
Назначение уровней
●

●

●

●

Физический: управление средой, сигналом,
кодирование потока битов
Канальный: физическая адресация, передача между
двумя интерфейсами
Сетевой: логическая адресация, передача между двумя
хостами, передача в гетерогенных сетях
Транспортный: надежная доставка, передача между
двумя приложениями, управление потоком байтов
Ethernet

Ethernet
Ethernet
Ethernet – формат кадра

●

Преамбула (7 байт) – стабилизация среды

●

SFD (0xab) – начало кадра

●

MAC адреса (broadcast, interface)

●

Протокол верхнего уровня

●

Данные – до 1500 байт

●

CRC-32 – контрольная сумма

●

EFD – конец кадра
Hub, Switch, ARP
Ограничения ЛВС

●

Физические ограничения
– Затухание
– Коллизии

●

Ограничение числа хостов
– Сложность топологии
– Огромные таблицы коммутации

●

Несовместимость различных архитектур
IP

Internet Protocol
Схема IP сети
Задачи IP протокола

●

Глобальная адресация

●

Передача в гетерогенной сети (сегментация)

●

Маршрутизация пакетов
IP – адресация
●

94.100.191.201 – один из адресов Mail.Ru

●

127.0.0.1 – всегда адрес лок. Компьютера

●

94.100.190.0/23 – адрес подсети

●

●

10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 – private ip (не
уникальные адреса)
224.0.0.0 – 239.255.255.255 – multicast ip
Иерархия IP адресов
IP дейтограмма
Алгоритм роутера
●

Получение дейтограммы, определение ip получателя

●

Поиск в таблице маршрутизации

●

Не найдено → отбрасываем пакет

●

●

Выбор наиболее приоритетного маршрута (по
префиксу, по дистанции, по ширине канала)
Передача дейтограммы через нужный интерфес
Маршрутизация
Статическая: конфиг
Внутренняя: RIP и OSPF
●

Работает в небольших сетях

●

Каждый марштизатор вычис полную таблицу маршрутов

Внешняя: BGP и EGP
●

Обмен маршрутами на уровне автономных систем (АС)

●

Маршрутные политики
DNS

Domain Name System
DNS
●

●

●

●

/etc/hosts – локальные DNS записи, имеют приоритет
Домен – поддерево в пространстве доменных имен,
домены обладают иерархией
DNS зона (сегмент) – часть базы DNS, хранящаяся по
единым административным управлением, зоны не
перекрываются
RR – resource record – данные связанные с доменом

DNS и BIND -Крикет Ли, Пол Альбитц
DNS – domain vs zone
DNS – domain vs zone
DNS zone file
example.com. IN SOA ns.example.com. username.example.com. (
2007120710 ; serial number of this zone file
1d

; slave refresh (1 day)

2h

; slave retry time in case of a problem (2 hours)

4w

; slave expiration time (4 weeks)

1h

; maximum caching time in case of failed lookups (1 hour)

)
example.com. NS

ns

example.com. NS

ns.somewhere.example. ; backup nameserver

example.com. MX

10 mail.example.com.

; mailserver for example.com

@

20 mail2.example.com.

; equivalent to above line

MX

; ns.example.com is a nameserver
DNS zone file
example.com. A

192.0.2.1

; IPv4 address for example.com

AAAA 2001:db8:10::1
ns

; IPv6 address for example.com

A

; IPv4 address for ns.example.com

192.0.2.2

AAAA 2001:db8:10::2
www

; IPv6 address for ns.example.com

CNAME example.com.

; www.example.com is an alias
; for example.com

wwwtest

CNAME www

; wwwtest.example.com is an alias
; for www.example.com

mail

A

192.0.2.3

; IPv4 address for mail.example.com,

mail2

A

192.0.2.4

; IPv4 address for mail2.example.com

mail3

A

192.0.2.5

; IPv4 address for mail3.example.com
DNS – что еще ?
●

Authoritative vs Cache

●

Primary vs Slave, перенос зоны

●

Negative caching, TTL

●

in-addr.arpa
Что НЕ решает IP ?

●

Невозможно адресовать конкретное приложение

●

Нет надежной доставки данных

●

Нет порядка дейтограмм

●

Нет контроля потока
TCP

Transmission Control Protocol
Задачи протокола TCP

●

Адресация приложения в пределах хоста

●

Последовательное двустороннее соединение

●

Надежная доставка

●

Управление потоком
TCP
●

Порты
– Well-known: SSH=20, FTP=21,22, HTTP=80, SMTP=25,
POP3=110
– Привилегированные (<1024)
– Остальные (>=1024)

●

Сокеты (sockets)
– Серверные (bind, listen, accept)
– Клиентские (connect, send, recv)
TCP сегмент
TCP handshake

Round Trip Time (0.5ms / 150ms)
TCP сервер
import socket
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(('127.0.0.1', 8080))
s.listen(10)
while True:
conn, addr = s.accept()
data = conn.recv(1024)
conn.send(data)
conn.close()
TCP клиент
import socket
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(('127.0.0.1', 8080))
s.send('Hello world')
print s.recv(1024)
s.close()
Как правильно читать данные из
сокета
http://docs.python.org/2/howto/sockets.html
def myreceive(sock, msglen):
msg = ''
while len(msg) < msglen:
chunk = sock.recv(msglen-len(msg))
if chunk == '':
raise RuntimeError("broken")
msg = msg + chunk
return msg

Вопрос: откуда получить msglen ?
Как правильно писать данные в
сокет
http://docs.python.org/2/howto/sockets.html
def mysend(sock, msg):
totalsent = 0
while totalsent < len(msg):
sent = sock.send(msg[totalsent:])
if sent == 0:
raise RuntimeError("broken")
totalsent = totalsent + sent
HTTP

HyperText Transfer Protocol
HTTP – передача гипертекста
GET /wiki/страница HTTP/1.1
Host: ru.wikipedia.org
Accept: text/html
Connection: close
(пустая строка)
HTTP/1.1 200 OK
Server: Apache
Content-Language: ru
Content-Type: text/html; charset=utf-8
Content-Length: 1234
Connection: close
(пустая строка)
(HTML)
URI vs URL
●

●

URI – идентификатор (mailto:me@tut.ru, tel:02, urn:isbn:0395-36341-1)
URL – определяет положение ресурса
(http://tom:abc@host.com/h/1.html?a=b)
http – протокол
tom:abc – логин / пароль
host.com – адрес сервера
/h/1.html – путь к ресурсу
a=b – параметры (query string)
Методы HTTP
OPTIONS – запрос методов сервера (Allow)
GET – запрос документа (Условный GET)
HEAD – аналог GET, но без тела запроса
POST – передача данных клиент
PUT – размещение файла по URI
DELETE – удаление файла по URI
TRACE, LINK, UNLINK, CONNECT - редко
Коды состояния HTTP
1xx – Информационные
2xx – Успешное выполнение
200 – OK
204 – NoContent (только заголовки)
206 – PartitialContent (часть ответа)
3xx – Перенаправления
301 – Moved Pemanently (SEO, кеширование)
302 – Found (логика работы сайта)
304 – Not Modified (при условном GET)
Коды состояния HTTP
4xx – Ошибка клиента
400 – Bad Request (размер, формат..)
401 – Unauthorized (запрос авторизации)
403 – Forbidden (allow, deny)
404 – Not Found
408 – Request Timeout (на чтение)
418 – I'm teapot
Коды состояния HTTP
5xx – Ошибка сервера
500 – Internal Server Error
502 – Bad Gateway (проксирование)
503 – Service Unavailable
504 – Gateway Timeout
505 – HTTP version not supported
507 – Insufficient Storage
Заголовки HTTP запросов
Host – указание домена, вирт. Хостинг
User-Agent – описание клиента
Accept-* - поддержка MIME типов, кодировок,
языков и т.п.
Cookie – куки для данной страницы
Referer – текущая страница
If-Modified-Since – условный GET
Connection – управление соединением
Заголовки HTTP ответов
Content-Type – MIME тип документа
Content-Length – размер документа
Content-Encoding – кодирование документа
Date – текущее время сервера
Expires – время актуальности документа
Last-Modified – время изменения файла
Set-Cookie – установка кук для данного URI
Connection – управление соединением
Email
Формат Email
From: Dmitry Smal <smal@corp.mail.ru>
To: Pupkin <v.pupkin@gmail.com>
Subject: party for everybody discuss
Date: Fri, 18 May 2012 08:17:59 -0700
Hi there!
Can't stop writing!
Bye bye!
Заголовки Email
●

From, To – от кого и кому письмо

●

Subject – тема письма

●

Date – дата отправки

Сс – “копия”, аналогичен To, но означает, что получатель
– не главный
●

Bcc – “скрытая копия”, аналогиче Сс, но получатели не
увидят email указанный в Bcc
●

●

Reply-To – email адрес, на который нужно отвечать
Multipurpose Internet Message
Extensions
MIME
Задачи:

●

Передача не-ASCII текста через ASCII канал

●

Передача не-текстовых приложений

Передача сообщений из нескольких частей (multipart
body messages)
●

●

Передача не-ASCII заголовков
MIME
Заголовки:

●

Content-ID – уникальный ID части, для ссылок

●

Content-Type – MIME тип сообщения или части

●

Content-Disposition – расположение части

●

Content-Transfer-Encoding – кодирование части
Multipart Messages
To: =?UTF-8?B?0JTQuNC80LA=?= <mialinx@gmail.com>
Content-Type: multipart/mixed;
boundary="----4MNjdUkz-ZBcPvpoGwPsUtn9u:1338241794"
------4MNjdUkz-ZBcPvpoGwPsUtn9u:1338241794
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64
Ym9keQ==
------4MNjdUkz-ZBcPvpoGwPsUtn9u:1338241794
Content-Type: application/octet-stream;
name="=?UTF-8?B?ZmF2aWNvbi5pY28=?="
Content-Disposition: attachment
Content-Transfer-Encoding: base64
AAABAAEAEBAAAAEAIABoBA..........AAAAAAAA==
------4MNjdUkz-ZBcPvpoGwPsUtn9u:1338241794--
Multipart HTTP POST
POST /send-message.html HTTP/1.1
Host: mail.example.com
Referer: http://mail.example.com/send-message.html
Content-Type: multipart/form-data; boundary=Asrf456BGe4h
Content-Length: (суммарный объём включая дочерние заголовки)
--Asrf456BGe4h
Content-Disposition: form-data; name="DestAddress"
brutal-vasya@example.com
--Asrf456BGe4h
Content-Disposition: form-data; name="MessageTitle"
Hello world
Процесс передачи Email
Агенты
MUA – Mail User Agent – программа, предоставляющая
пользовательский интерфейс, например MS Outlook,
sendmail

MTA – Mail Transfer Agent (relay) – программа (почтовый
сервер), отвечающая за пересылку почты к по сети. SMTP
протокол.

MDA – Mail Delivery Agent – программа, отвечающая за
доставку почты конечному пользователю. POP3 и IMAP
Агенты
SMTP – отправка почты
●

Работает поверх TCP, порт 25

●

Текстовый протокол
Команды: MAIL FROM, RCPT TO, DATA, QUIT
Статусы ответа: 2xx – команды выполнена
3xx – ожидаются доп. данные
4xx – временная ошибка
5xx – неисправимая ошибка

●

ESMTP – набор расширений для SMTP:
TLS, Авторизация, Pipelining
SMTP Пример
C:HELO
S:250 domain name should be qualified
C:MAIL FROM: <someusername@somecompany.ru>
S:250 someusername@somecompany.ru sender accepted
C:RCPT TO:<user1@company.tld>
S:250 user1@company.tld ok
C:DATA
S:354 Enter mail, end with "." on a line by itself
C:from: someusername@somecompany.ru
C:to: user1@company.tld
C:subject: tema
C:
C:Hi!
C:.
S:250 769947 message accepted for delivery
C:QUIT
Полезные утилиты
ifconfig – узнать IP и MAC адреса
http://whatismyip.com - узнать внешний IP
ping 8.8.8.8 – проверить доступность хоста
tracerout 8.8.8.8 – показать путь к хосту
nmap 8.8.8.8 – поиск открытых портов
host mail.ru – DNS запросы (nslookup, dig)
telnet 127.0.0.1 11211 – подключиться к порту
ab -n 10000 -c 500 http://localhost/index.html
Домашнее задание
●

Настройка nginx для отдачи статики

●

Настройка apache для запуска WSGI скриптов

●

“Hello world” приложение на Django

●

Настройка проксирования в nginx

Подробности: http://tp.mail.ru/blog/Web
Спасибо за внимание
Дмитрий Смаль, smal@corp.mail.ru

Web весна 2013 лекция 2

  • 1.
  • 2.
  • 3.
    Назначение уровней ● ● ● ● Физический: управлениесредой, сигналом, кодирование потока битов Канальный: физическая адресация, передача между двумя интерфейсами Сетевой: логическая адресация, передача между двумя хостами, передача в гетерогенных сетях Транспортный: надежная доставка, передача между двумя приложениями, управление потоком байтов
  • 4.
  • 5.
  • 6.
    Ethernet – форматкадра ● Преамбула (7 байт) – стабилизация среды ● SFD (0xab) – начало кадра ● MAC адреса (broadcast, interface) ● Протокол верхнего уровня ● Данные – до 1500 байт ● CRC-32 – контрольная сумма ● EFD – конец кадра
  • 7.
  • 8.
    Ограничения ЛВС ● Физические ограничения –Затухание – Коллизии ● Ограничение числа хостов – Сложность топологии – Огромные таблицы коммутации ● Несовместимость различных архитектур
  • 9.
  • 10.
  • 11.
    Задачи IP протокола ● Глобальнаяадресация ● Передача в гетерогенной сети (сегментация) ● Маршрутизация пакетов
  • 12.
    IP – адресация ● 94.100.191.201– один из адресов Mail.Ru ● 127.0.0.1 – всегда адрес лок. Компьютера ● 94.100.190.0/23 – адрес подсети ● ● 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 – private ip (не уникальные адреса) 224.0.0.0 – 239.255.255.255 – multicast ip
  • 13.
  • 14.
  • 15.
    Алгоритм роутера ● Получение дейтограммы,определение ip получателя ● Поиск в таблице маршрутизации ● Не найдено → отбрасываем пакет ● ● Выбор наиболее приоритетного маршрута (по префиксу, по дистанции, по ширине канала) Передача дейтограммы через нужный интерфес
  • 16.
    Маршрутизация Статическая: конфиг Внутренняя: RIPи OSPF ● Работает в небольших сетях ● Каждый марштизатор вычис полную таблицу маршрутов Внешняя: BGP и EGP ● Обмен маршрутами на уровне автономных систем (АС) ● Маршрутные политики
  • 17.
  • 18.
    DNS ● ● ● ● /etc/hosts – локальныеDNS записи, имеют приоритет Домен – поддерево в пространстве доменных имен, домены обладают иерархией DNS зона (сегмент) – часть базы DNS, хранящаяся по единым административным управлением, зоны не перекрываются RR – resource record – данные связанные с доменом DNS и BIND -Крикет Ли, Пол Альбитц
  • 19.
  • 20.
  • 22.
    DNS zone file example.com.IN SOA ns.example.com. username.example.com. ( 2007120710 ; serial number of this zone file 1d ; slave refresh (1 day) 2h ; slave retry time in case of a problem (2 hours) 4w ; slave expiration time (4 weeks) 1h ; maximum caching time in case of failed lookups (1 hour) ) example.com. NS ns example.com. NS ns.somewhere.example. ; backup nameserver example.com. MX 10 mail.example.com. ; mailserver for example.com @ 20 mail2.example.com. ; equivalent to above line MX ; ns.example.com is a nameserver
  • 23.
    DNS zone file example.com.A 192.0.2.1 ; IPv4 address for example.com AAAA 2001:db8:10::1 ns ; IPv6 address for example.com A ; IPv4 address for ns.example.com 192.0.2.2 AAAA 2001:db8:10::2 www ; IPv6 address for ns.example.com CNAME example.com. ; www.example.com is an alias ; for example.com wwwtest CNAME www ; wwwtest.example.com is an alias ; for www.example.com mail A 192.0.2.3 ; IPv4 address for mail.example.com, mail2 A 192.0.2.4 ; IPv4 address for mail2.example.com mail3 A 192.0.2.5 ; IPv4 address for mail3.example.com
  • 24.
    DNS – чтоеще ? ● Authoritative vs Cache ● Primary vs Slave, перенос зоны ● Negative caching, TTL ● in-addr.arpa
  • 25.
    Что НЕ решаетIP ? ● Невозможно адресовать конкретное приложение ● Нет надежной доставки данных ● Нет порядка дейтограмм ● Нет контроля потока
  • 26.
  • 27.
    Задачи протокола TCP ● Адресацияприложения в пределах хоста ● Последовательное двустороннее соединение ● Надежная доставка ● Управление потоком
  • 28.
    TCP ● Порты – Well-known: SSH=20,FTP=21,22, HTTP=80, SMTP=25, POP3=110 – Привилегированные (<1024) – Остальные (>=1024) ● Сокеты (sockets) – Серверные (bind, listen, accept) – Клиентские (connect, send, recv)
  • 29.
  • 30.
    TCP handshake Round TripTime (0.5ms / 150ms)
  • 31.
    TCP сервер import socket s= socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.bind(('127.0.0.1', 8080)) s.listen(10) while True: conn, addr = s.accept() data = conn.recv(1024) conn.send(data) conn.close()
  • 32.
    TCP клиент import socket s= socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.connect(('127.0.0.1', 8080)) s.send('Hello world') print s.recv(1024) s.close()
  • 33.
    Как правильно читатьданные из сокета http://docs.python.org/2/howto/sockets.html def myreceive(sock, msglen): msg = '' while len(msg) < msglen: chunk = sock.recv(msglen-len(msg)) if chunk == '': raise RuntimeError("broken") msg = msg + chunk return msg Вопрос: откуда получить msglen ?
  • 34.
    Как правильно писатьданные в сокет http://docs.python.org/2/howto/sockets.html def mysend(sock, msg): totalsent = 0 while totalsent < len(msg): sent = sock.send(msg[totalsent:]) if sent == 0: raise RuntimeError("broken") totalsent = totalsent + sent
  • 35.
  • 36.
    HTTP – передачагипертекста GET /wiki/страница HTTP/1.1 Host: ru.wikipedia.org Accept: text/html Connection: close (пустая строка) HTTP/1.1 200 OK Server: Apache Content-Language: ru Content-Type: text/html; charset=utf-8 Content-Length: 1234 Connection: close (пустая строка) (HTML)
  • 37.
    URI vs URL ● ● URI– идентификатор (mailto:me@tut.ru, tel:02, urn:isbn:0395-36341-1) URL – определяет положение ресурса (http://tom:abc@host.com/h/1.html?a=b) http – протокол tom:abc – логин / пароль host.com – адрес сервера /h/1.html – путь к ресурсу a=b – параметры (query string)
  • 38.
    Методы HTTP OPTIONS –запрос методов сервера (Allow) GET – запрос документа (Условный GET) HEAD – аналог GET, но без тела запроса POST – передача данных клиент PUT – размещение файла по URI DELETE – удаление файла по URI TRACE, LINK, UNLINK, CONNECT - редко
  • 39.
    Коды состояния HTTP 1xx– Информационные 2xx – Успешное выполнение 200 – OK 204 – NoContent (только заголовки) 206 – PartitialContent (часть ответа) 3xx – Перенаправления 301 – Moved Pemanently (SEO, кеширование) 302 – Found (логика работы сайта) 304 – Not Modified (при условном GET)
  • 40.
    Коды состояния HTTP 4xx– Ошибка клиента 400 – Bad Request (размер, формат..) 401 – Unauthorized (запрос авторизации) 403 – Forbidden (allow, deny) 404 – Not Found 408 – Request Timeout (на чтение) 418 – I'm teapot
  • 41.
    Коды состояния HTTP 5xx– Ошибка сервера 500 – Internal Server Error 502 – Bad Gateway (проксирование) 503 – Service Unavailable 504 – Gateway Timeout 505 – HTTP version not supported 507 – Insufficient Storage
  • 42.
    Заголовки HTTP запросов Host– указание домена, вирт. Хостинг User-Agent – описание клиента Accept-* - поддержка MIME типов, кодировок, языков и т.п. Cookie – куки для данной страницы Referer – текущая страница If-Modified-Since – условный GET Connection – управление соединением
  • 43.
    Заголовки HTTP ответов Content-Type– MIME тип документа Content-Length – размер документа Content-Encoding – кодирование документа Date – текущее время сервера Expires – время актуальности документа Last-Modified – время изменения файла Set-Cookie – установка кук для данного URI Connection – управление соединением
  • 44.
  • 45.
    Формат Email From: DmitrySmal <smal@corp.mail.ru> To: Pupkin <v.pupkin@gmail.com> Subject: party for everybody discuss Date: Fri, 18 May 2012 08:17:59 -0700 Hi there! Can't stop writing! Bye bye!
  • 46.
    Заголовки Email ● From, To– от кого и кому письмо ● Subject – тема письма ● Date – дата отправки Сс – “копия”, аналогичен To, но означает, что получатель – не главный ● Bcc – “скрытая копия”, аналогиче Сс, но получатели не увидят email указанный в Bcc ● ● Reply-To – email адрес, на который нужно отвечать
  • 47.
  • 48.
    MIME Задачи: ● Передача не-ASCII текстачерез ASCII канал ● Передача не-текстовых приложений Передача сообщений из нескольких частей (multipart body messages) ● ● Передача не-ASCII заголовков
  • 49.
    MIME Заголовки: ● Content-ID – уникальныйID части, для ссылок ● Content-Type – MIME тип сообщения или части ● Content-Disposition – расположение части ● Content-Transfer-Encoding – кодирование части
  • 50.
    Multipart Messages To: =?UTF-8?B?0JTQuNC80LA=?=<mialinx@gmail.com> Content-Type: multipart/mixed; boundary="----4MNjdUkz-ZBcPvpoGwPsUtn9u:1338241794" ------4MNjdUkz-ZBcPvpoGwPsUtn9u:1338241794 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 Ym9keQ== ------4MNjdUkz-ZBcPvpoGwPsUtn9u:1338241794 Content-Type: application/octet-stream; name="=?UTF-8?B?ZmF2aWNvbi5pY28=?=" Content-Disposition: attachment Content-Transfer-Encoding: base64 AAABAAEAEBAAAAEAIABoBA..........AAAAAAAA== ------4MNjdUkz-ZBcPvpoGwPsUtn9u:1338241794--
  • 51.
    Multipart HTTP POST POST/send-message.html HTTP/1.1 Host: mail.example.com Referer: http://mail.example.com/send-message.html Content-Type: multipart/form-data; boundary=Asrf456BGe4h Content-Length: (суммарный объём включая дочерние заголовки) --Asrf456BGe4h Content-Disposition: form-data; name="DestAddress" brutal-vasya@example.com --Asrf456BGe4h Content-Disposition: form-data; name="MessageTitle" Hello world
  • 52.
  • 53.
    Агенты MUA – MailUser Agent – программа, предоставляющая пользовательский интерфейс, например MS Outlook, sendmail MTA – Mail Transfer Agent (relay) – программа (почтовый сервер), отвечающая за пересылку почты к по сети. SMTP протокол. MDA – Mail Delivery Agent – программа, отвечающая за доставку почты конечному пользователю. POP3 и IMAP
  • 54.
  • 55.
    SMTP – отправкапочты ● Работает поверх TCP, порт 25 ● Текстовый протокол Команды: MAIL FROM, RCPT TO, DATA, QUIT Статусы ответа: 2xx – команды выполнена 3xx – ожидаются доп. данные 4xx – временная ошибка 5xx – неисправимая ошибка ● ESMTP – набор расширений для SMTP: TLS, Авторизация, Pipelining
  • 56.
    SMTP Пример C:HELO S:250 domainname should be qualified C:MAIL FROM: <someusername@somecompany.ru> S:250 someusername@somecompany.ru sender accepted C:RCPT TO:<user1@company.tld> S:250 user1@company.tld ok C:DATA S:354 Enter mail, end with "." on a line by itself C:from: someusername@somecompany.ru C:to: user1@company.tld C:subject: tema C: C:Hi! C:. S:250 769947 message accepted for delivery C:QUIT
  • 57.
    Полезные утилиты ifconfig –узнать IP и MAC адреса http://whatismyip.com - узнать внешний IP ping 8.8.8.8 – проверить доступность хоста tracerout 8.8.8.8 – показать путь к хосту nmap 8.8.8.8 – поиск открытых портов host mail.ru – DNS запросы (nslookup, dig) telnet 127.0.0.1 11211 – подключиться к порту ab -n 10000 -c 500 http://localhost/index.html
  • 58.
    Домашнее задание ● Настройка nginxдля отдачи статики ● Настройка apache для запуска WSGI скриптов ● “Hello world” приложение на Django ● Настройка проксирования в nginx Подробности: http://tp.mail.ru/blog/Web
  • 59.