мережі tcp
Комп'ютерна мережа - це система зв'язку між двома або більше комп'ютерами. Локальна обчислювальна мережа, ЛВС (Local Area Network, LAN) - це комп'ютерна мережа, що покриває відносно невелику територію, таку як будинок, офіс, або невелику групу будівель. Глобальна обчислювальна мережа (Wide Area Network, WAN) являє собою комп'ютерну мережу, що охоплює великі території і включає в себе десятки і сотні тисяч комп'ютерів. Кращим прикладом WAN є Інтернет. Інтернет (пишеться з великої літери, англ. Internet) - це всесвітня система добровільно об'єднаних комп'ютерних мереж, побудована на використанні протоколу IP і маршрутизації пакетів даних. У сучасній мережі Інтернет використовується протокол IP четвертої версії, також званий як IPv4.
Маршрутизація (routing) - процес визначення маршруту проходження інформації в мережах. Розбиття однієї великої мережі на кілька маленьких підмереж дозволяє спростити маршрутизацію.
Наприклад, нехай таблиця маршрутизації якогось маршрутизатора містить такий запис:
У Windows ви можете дізнатися настройку протоколу IP для свого комп'ютера, ввівши команду:
Для коректної маршрутизації вхідних і вихідних сигналів різних служб TCP / IP зіставляє різним службам різні порти. Порт є число, що позначає віртуальний електронний інтерфейс. Наприклад, протокол FTP зв'язується з портом 21, а сервери Web зв'язуються з портом 80.
Ethernet ( "езернет", від лат. Aether - ефір) - це пакетна технологія комп'ютерних мереж. Стандарти Ethernet визначають дротяні з'єднання і електричні сигнали на фізичному рівні, формат пакетів і протоколи управління доступом до середовища. Мережева плата (мережева карта, мережевий адаптер, мережевий інтерфейс, Ethernet-адаптер, NIC, тобто network interface card) - це друкована плата, що дозволяє взаємодіяти комп'ютерам між собою, за допомогою локальної мережі. Зазвичай мережева плата йде як окремий пристрій і вставляється в слоти розширення материнської плати (в основному - PCI, ранні моделі використовували шину ISA). На сучасних материнських платах мережевий адаптер все частіше є вбудованим, таким чином, купувати окрему плату не потрібно до тих пір, поки не потрібна організація ще одного мережевого інтерфейсу.
Хоп (hop, стрибок) - це процес передачі мережевого пакету (або датаграми) між хостами мережі. Зазвичай використовується для визначення "відстані" між вузлами (чим більше хопов, тим складніше шлях маршрутизації і тим "далі" знаходяться вузли один від одного).
Проксі-сервер (proxy - "представник, уповноважений") - це служба в комп'ютерних мережах, що дозволяє клієнтам виконувати непрямі запити до інших мережних служб. Спочатку клієнт підключається до проксі-сервера і запитує який-небудь ресурс (наприклад, файл), розташований на іншому сервері. Потім проксі-сервер або підключається до вказаного серверу і отримує ресурс у нього, або повертає ресурс із власного кеша (у випадках, якщо проксі має свій кеш). У деяких випадках запит клієнта або відповідь сервера може бути змінений проксі-сервером в певних цілях.
Найчастіше проксі-сервери застосовуються для наступних цілей:
Інструменти командного рядка в Windows
Ви можете отримати докладну довідку по кожній із зазначених нижче команд, набравши в командному рядку:
Команда NETSTAT відображає статистику протоколу і поточних мережевих підключень TCP / IP.
Команда PING перевіряє наявність зв'язку з зазначеним вузлом.
Команда IPCONFIG виводить різні відомості про поточну конфігурацію протоколу IP і може виконувати просте конфігурація цього протоколу.
Команда NSLOOKUP звертається із запитом до DNS-сервера.
Команда NETSH показує різні параметри налаштувань мережі.
протокол HTTP
HTTP (HyperText Transfer Protocol - "протокол передачі гіпертексту") - мережевий протокол прикладного рівня для передачі файлів. Основним призначенням HTTP є передача веб-сторінок (текстових файлів з розміткою HTML), хоча за допомогою нього з успіхом передаються і інші файли, як пов'язані з веб-сторінками (зображення і додатки), так і не пов'язані з ними. HTTP припускає, що клієнтська програма (веб-браузер) здатна відображати гіпертекстові веб-сторінки і файли інших типів в зручній для користувача формі.
Мережевий порт - це параметр протоколів TCP і UDP, що визначає призначення пакетів даних, переданих на хост по мережі. Хост (host - господар, який приймає гостей) - це будь-який пристрій, що надає послуги формату "клієнт-сервер" в режимі сервера з яких-небудь інтерфейсів і унікально визначене на цих інтерфейсах. У більш окремому випадку під хостом можуть розуміти будь-який комп'ютер, сервер, маршрутизатор, підключений до локальної або глобальної мережі. Мережевий порт - це умовне число від 1 до 65535, що дозволяють різним програмам, виконуваним на одному хості, отримувати дані незалежно один від одного. Кожна програма обробляє дані, що надходять на певний порт (іноді кажуть, що програма "слухає" цей номер порту). Зазвичай за деякими поширеними мережевими протоколами закріплені стандартні номери портів (наприклад, веб-сервери зазвичай беруть дані по протоколу HTTP на порт 80).
HTTPS - розширення протоколу HTTP, що підтримує шифрування. Дані, що передаються по протоколу HTTP, "упаковуються" в криптографічний протокол SSL або TLS, і тим самим забезпечується захист цих даних. На відміну від HTTP, для HTTPS за замовчуванням використовується порт 443.
Стандарт HTTP 1.1 описаний в офіційному документі RFC 2068, який можна знайти в Інтернеті.
Кожен запит / відповідь складається з трьох частин:
- стартова рядок
- заголовки
- тіло повідомлення, що містить дані запиту, запитуваний ресурс або опис проблеми, якщо запит не був виконаний
Стартові рядки розрізняються для запиту і відповіді. Рядок запиту виглядає так:
Можливі методи (в основному використовуються методи GET і POST):
Повертає методи HTTP, які підтримуються сервером. Цей метод може служити для визначення можливостей веб-сервера.
Аналогічний методу GET, за винятком того, що у відповіді сервера відсутнє тіло. Це корисно для отримання мета-інформації, заданої в заголовках відповіді, без пересилання всього вмісту.
Завантажує вказаний ресурс на сервер.
Видаляє зазначений ресурс.
Повертає отриманий запит так, що клієнт може побачити, що проміжні сервера додають або змінюють в запиті.
Для використання разом з проксі-серверами, які можуть динамічно перемикатися в тунельний режим SSL.
Стартовий рядок відповіді виглядає так:
Перша цифра коду статусу призначена для визначення класу відповіді.
- 1: запит отримано, триває обробка.
- 2: успіх, запит був цілком отриманий, зрозумілий і прийнятий до обробки.
- 3: перенаправлення, клієнту слід зробити подальші дії для успішного виконання запиту.
- 4: помилка клієнта - запит, який містить неправильні синтаксичні конструкції, який не може бути успішно виконаний (помилка була допущена з боку клієнта).
- 5: помилка сервера - сервер не зміг дати відповідь на коректно поставлений запит, сервер або знає, що він припустився помилки, або не здатний обробити запит.
Окремі значення кодів і описів статусу:
Клієнт може продовжувати запит.
HTTP Version not supported
Сервер не підтримує або відмовляється підтримувати версію протоколу HTTP, яка була використана в останньому запиті.
Заголовки HTTP - це рядки, кожна з яких складається з імені параметра, за яким слідує двокрапка і його значення. Вони несуть інформацію для браузера або для серверних програм (таких, як CGI-додатки). Між заголовками і тілом обов'язково повинна бути порожній рядок.
Приклад HTTP (запит):
Приклад HTTP (відповідь):
У ланцюжку запитів / відповідей HTTP можуть бути присутніми один або кілька посередників. Існують три основні різновиди посередників: проксі-сервера, шлюзи і тунелі.
Деякі опції HTTP-з'єднання застосовні тільки до з'єднання з найближчим НЕ тунельним сусідом, деякі - тільки до кінцевих точок ланцюжка, а деякі - до всіх з'єднань в ланцюжку.
Будь-яка сторона сполуки, яка не діє як тунель, може використовувати внутрішній кеш для обробки запитів. Не всі відповіді корисно кешувати, а деякі запити можуть містити модифікатори, які включають спеціальні вимоги, що керують поведінкою кеша.
Список методів, які підтримує ресурс. Це поле повинне бути присутнім у відповіді зі статусом "405 Method Not Allowed".
Розмір тексту повідомлення в байтах, посланого сервером у відповідь на запит або, в разі запиту HEAD, розмір тіла повідомлення, яке було б послано у відповідь на запит GET.
Ідентифікує тип інформації в тілі повідомлення, яка надсилається стороні, що одержує або, в разі методу HEAD, тип інформації (середовища), який був би посланий, якби використовувався метод GET.
Містить дату та час, в яке, на думку сторони, що відправляє, ресурс був останній раз модифікований.
Призначений для інформування сервера про типах даних, які підтримуються клієнтом (браузером). Замість списку може вказуватися значення *. *, Що означає "всі типи".
Установка Cookies сервером.