Tcp-порти. Список портів tcp і udp
У комп`ютерних мережах порт є кінцевою точкою зв`язку в операційній системі. Цей термін використовується також для апаратних пристроїв, але в програмному забезпеченні це логічна конструкція, яка ідентифікує конкретний процес або вид послуг.
Порт завжди пов`язаний з IP-адресою хоста і типом протоколу зв`язку і, таким чином, завершує призначення адреси сеансу зв`язку. Він ідентифікується для кожної адреси і протоколу за допомогою 16-бітного числа, широко відомого як номер порту. Конкретні номера портів часто використовуються для визначення тієї чи іншої послуги. З тисяч перерахованих тисячі двадцять чотири добре відомих номера портів захищені відповідно до угоди, щоб визначити конкретні типи послуг на хості. Протоколи, які в основному використовують порти, служать для управління процесами (наприклад, протокол управління передачею (TCP) і User Datagram Protocol (UDP) з комплекту протоколів Internet).
Відео: LPIC 109.1 частина п`ята. Мережеві порти і служби
значення
TCP-порти не потрібні за прямими посиланнями типу «точка-точка», коли комп`ютери на кожному кінці можуть працювати тільки з однією програмою одночасно. Вони стали необхідні після того, як машини виявилися здатні виконувати більше однієї програми в один час, і виявилися підключені до сучасних мереж з пакетною комутацією. У моделі клієнт-серверної архітектури додатку, порти і мережеві клієнти підключаються до ініціації обслуговування, надають послуги мультиплексування, після того як первісний обмін даними зв`язується з відомим номером порту, і він звільняється шляхом перемикання кожного примірника обслуговування запитів до виділеної лінії. Відбувається підключення до конкретного номеру, і завдяки цьому додаткові клієнти можуть обслуговуватися без очікування.
деталі
Протоколи передачі даних - Transmission Control Protocol (TCP) і User Datagram Protocol (UDP) - застосовуються для того, щоб вказати номер порту призначення і джерело в своїх заголовках сегментів. Номер порту є 16-розрядний ціле число без знака. Таким чином, він може бути в діапазоні від 0 до 65535.
Проте TCP-порти не можуть використовувати номер 0. Порт джерела для UDP не обов`язковий, і значення, рівне нулю, означає його відсутність.
Процес пов`язує свої вхідні або вихідні канали через інтернет-сокет (тип дескриптора файлу) за допомогою транспортного протоколу, номера порту і IP-адреси. Цей процес відомий як зв`язування, і він дає можливість передачі і прийому даних через мережу.
Мережеве програмне забезпечення операційної системи відповідає за передачу вихідних даних з усіх портів додатків в мережу, а також переадресацію прибувають мережевих пакетів (шляхом зіставлення IP-адреси і номера). Тільки один процес можна прив`язати до певного IP-адресою і комбінації портів, використовуючи один і той же транспортний протокол. Загальні збої додатків, які іноді називають порт-конфліктами, виникають, коли кілька програм намагаються зв`язатися з одними і тими ж номерами портів на тому ж IP-адресу, використовуючи той же протокол.
Як вони використовуються
Додатки, що реалізують спільні служби, часто використовують спеціально зарезервований і добре відомий список портів TCP і UDP для прийому запитів на обслуговування клієнтів. Цей процес відомий як прослуховування, і він включає в себе отримання запиту з добре відомого порту і встановлення діалогу між сервером і клієнтом «один-до-одного», з використанням одного і того ж номера локального порту. Інші клієнти можуть продовжувати підключатися - це можливо, так як з`єднання TCP ідентифікується як ланцюжок, що складається з локального і віддаленого адрес і портів. Стандартні порти TCP і UDP визначаються за згодою під контролем Internet Assigned Numbers Authority (IANA).
Ядро мережевих сервісів (в першу чергу, WorldWideWeb), як правило, використовує невеликі номери портів - менше, ніж 1024. У багатьох операційних системах потрібні спеціальні привілеї для додатків для прив`язки до них, тому що вони часто вважаються критичними для функціонування IP-мереж. З іншого боку, кінцевий клієнт з`єднання, як правило, застосовує велику їх кількість, виділених для короткострокового використання, тому існують так звані ефемерні порти.
структура
TCP-порти закодовані в заголовку пакета транспортного протоколу, і вони легко можуть бути інтерпретовані як передавачем і приймають комп`ютерами, а й іншими компонентами мережевої інфраструктури. Зокрема міжмережеві екрани, як правило, налаштовані розрізняти пакети в залежності від їх джерела або номерів порту призначення. Перенаправлення є класичним прикладом цього.
Практика спроб підключення до діапазону портів послідовно на одному комп`ютері відома як їх сканування. Це, як правило, пов`язано або зі спробами зловмисного збою, або ж мережеві адміністратори шукають можливі уразливості, щоб допомогти запобігти такі напади.
Дії, спрямовані на те, як відкрити TCP-порт, часто контролюються та реєструються за допомогою комп`ютерів. Така техніка використовує ряд запасних з`єднань, для того щоб забезпечити безперебійне з`єднання з сервером.
приклади використання
Найголовнішим прикладом, де активно використовуються порти TCP / UDP, є поштова система Інтернет. Сервер застосовується для роботи з електронною поштою (відправленням і отриманням), і в цілому потребує двох послугах. Перший сервіс використовується для транспортування по електронній пошті і з інших серверів. Це досягається за допомогою Simple Mail Transfer Protocol (SMTP). Як правило, додаток-служба SMTP прослуховує TCP-порт номер 25 з метою обробки вхідних запитів. Інша послуга являє собою POP (повністю - Post Office Protocol) або IMAP (або Internet Message Access Protocol) який необхідні для клієнтських додатків в електронній пошті на машинах користувачів, щоб отримувати з сервера повідомлення електронної пошти. Службами POP прослуховуються номера з TCP-порту 110. Вищевказані служби обидві можуть запускатися на одному і тому ж хост-комп`ютері. Коли це відбувається, номер порту відрізняє сервіс, який запросила віддаленим пристроєм - ПК користувача або будь-яким іншим поштовим сервером.
У той час як номер порту прослуховування сервера коректно визначений (IANA називає їх добре відомими портами), даний параметр клієнта часто вибирається з динамічного діапазону. У деяких випадках клієнти і сервер окремо використовують певні TCP-порти, призначені в IANA. Наочним прикладом може служити DHCP, де клієнтом у всіх випадках використовується UDP 68, а сервером - UDP 67.
Застосування в URL-адресах
Номери портів іноді добре видно в Інтернеті або інших уніфікованих покажчиках інформаційних ресурсів (URL). За замовчуванням HTTP використовує TCP-порт 80, а HTTPS - 443. Разом з тим існують і інші варіації. Наприклад, URL-адресу https://example.com:8080/path/ вказує, що веб-браузер підключається до 8080 замість сервера HTTP.
Список портів TCP і UDP
Як вже було зазначено, Internet Assigned Numbers Authority (IANA) несе відповідальність за глобальну координацію DNS-Root, IP-адресації та інших ресурсів Інтернет-протоколу. Це включає в себе реєстрацію часто використовуваних номерів портів для відомих інтернет-сервісів.
Номери портів розділені на три діапазони: добре відомі, зареєстровані і динамічні або приватні. Добре відомі (також відомі як системні) - це мають номери від 0 до 1023. Вимоги, що пред`являються до нових призначень в цьому діапазоні, є більш строгими, ніж для інших реєстрацій.
Широко відомі приклади
Приклади, що знаходяться в даному списку, включають в себе:
- TCP 443 порт: HTTP Secure (HTTPS).
- 21: File Transfer Protocol (FTP).
- 22: Secure Shell (SSH).
- 25: Простий протокол передачі пошти (SMTP).
- 53: Система доменних імен (DNS).
- 80: Протокол передачі гіпертексту (HTTP).
- 119: Протокол передачі мережевих новин (NNTP).
- 123: протокол мережевого часу (NTP) ..
- 143: Internet Message Access Protocol (IMAP)
- 161: Простий протокол керування мережею (SNMP) 1.
- 94: Internet Relay Chat (IRC).
Зареєстровані порти містять номера від 1024 до 49151. IANA підтримує офіційний список відомих і зареєстрованих діапазонів. Динамічні або приватні - від 49152 до 65535. Один з варіантів використання цього діапазону призначений для тимчасових портів.
Відео: Windows Server
Історія створення
Концепція номера порту була створена ранніми розробниками ARPANET в умовах неформального співробітництва авторів програмного забезпечення і системних адміністраторів.
Термін «номер порту» ще не використовувався в той час. Номерний ряд для віддаленого хоста був 40-бітовим числом. Перші 32 біта були схожі на сьогоднішній IPv4-адрес, але при цьому найбільш значущими були перші 8 біт. Найменш значна частина числа (біти з 33 по 40) позначали інший об`єкт, який називався AEN. Це і є прототип сучасного номера порту.
26 березня 1972 року був вперше запропоновано створення каталогу номерів сокета в RFC 322. адміністраторів мережі закликали описати кожен постійний номер на предмет його функцій і мережевих послуг. Цей каталог був згодом опублікований в RFC 433 в грудні 1972 року і включав в себе список хостів, їх номери портів і відповідну функцію, яка використовується на кожному вузлі в мережі. У травні 1972 року вперше було задокументовано офіційні призначення номерів портів, мережевих служб, а також запропонована спеціальна адміністративна функція для ведення цього реєстру.
Перший список TCP-портів мав 256 значень AEN, які були розділені на наступні діапазони:
- Від 0 до 63: стандартні функції всієї мережі
- Від 64 до 127: хост-специфічні функції
- Від 128 до 239: зарезервовані для майбутнього використання
- Від 240 до 255: будь-яка експериментальна функція.
Служба Telnet отримала перше офіційне присвоєння значення 1. На початку існування ARPANET терміном AEN також називали ім`я сокета, яке використовувалося з початковим протоколом з`єднання (MSP) і компонентом програми управління мережею (NCP). При цьому NCP був попередником сучасних Інтернет-протоколів, що використовують порти TCP / IP.