TFTP: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Tsymbaliuk (обговорення | внесок)
Tsymbaliuk (обговорення | внесок)
Рядок 32:
== Процес передачі даних ==
 
У TFTP існує 3 режими передачі: ''netascii'', ''octet'' і ''mail'':
# ''Netascii'' є модифікованою формою ASCII, визначений у [[rfc:764|RFC 764]]. Вона складається з 8-бітного розширення 7-бітних ASCII-символів з кодами від 0x20 до 0x7F (друкованих символів і пробілу) і восьми керуючих символів. Допустимі керуючі символи включають нуль-символ (код 0x00), новий рядок (LF, код 0x0A) і повернення каретки (CR, код 0x0D). ''Netascii'' також вимагає, щоб маркер кінця рядка був замінений на пари символів CR LF для передачі, і щоб за кожним символом CR слідував або символ LF, або нуль-символ.<ref name=":0" />
# ''Octet'' використовується для передачі довільних необроблених 8-бітних байтів, причому отриманий файл в результаті побайтово ідентичний посланому.
# Режим передачі ''mail'' використовує передачу ''netascii'', але файл відправляється одержувачу електронною поштою на адресу, яка вказується замість імені файлу. <nowiki>RFC 1350</nowiki> визначає цей режим передачі застарілим і таким, що не повинен бути реалізованим.
Для початку передачі даних клієнт повинен послати серверу WRQ або RRQ-пакет. В обох пакетів формат однаковий:
 
Рядок 46 ⟶ 50:
[[File:Tftp-dat1-dwn.svg|thumb|(R2) Сервер S надсилає дані пакету 1]]
[[File:Tftp-ack1.svg|thumb|(R3) Клієнт A підтверджує прийом пакету 1]]
У TFTP існує 3 режими передачі: ''netascii'', ''octet'' і ''mail'':
# ''Netascii'' є модифікованою формою ASCII, визначений у [[rfc:764|RFC 764]]. Вона складається з 8-бітного розширення 7-бітних ASCII-символів з кодами від 0x20 до 0x7F (друкованих символів і пробілу) і восьми керуючих символів. Допустимі керуючі символи включають нуль-символ (код 0x00), новий рядок (LF, код 0x0A) і повернення каретки (CR, код 0x0D). ''Netascii'' також вимагає, щоб маркер кінця рядка був замінений на пари символів CR LF для передачі, і щоб за кожним символом CR слідував або символ LF, або нуль-символ.<ref name=":0" />
# ''Octet'' використовується для передачі довільних необроблених 8-бітних байтів, причому отриманий файл в результаті побайтово ідентичний посланому.
# Режим передачі ''mail'' використовує передачу ''netascii'', але файл відправляється одержувачу електронною поштою на адресу, яка вказується замість імені файлу. <nowiki>RFC 1350</nowiki> визначає цей режим передачі застарілим і таким, що не повинен бути реалізованим.
Після отримання RRQ-пакета сервером, він відразу починає передачу даних. У випадку з WRQ-запитом — сервер має надіслати ACK-пакет із номером пакета 0. Пакет надсилається із динамічного порту сервера, усе подальше спілкування з сервером відбувається через цей порт.