Protocol

From
Oleg Lobachev (2:2432/260.1)
To
Alex Kocharin
Date
2006-03-30T09:48:34Z
Area
RU.UNIX.FTN
* Replying to a msg in carbon.copy.

Say yes, Alex. At least say hello.

30 Mar 06 10:29, you wrote to me:

 AK>  * Forwarded from area 'ru.unix.ftn'
 AK>>> Да и всегда проще читать строки фиксированной длины, чем парсить.
 OL>> Строки фиксированной длины - зло. И 60-е годы прошлого века.

 AK> А в asciiz строках один байт лишний. ;)

(Пожимая плечами) asciid наше все. ;)

 AK>>> Кстати, хотелось бы избежать бинарного вида вообще. Хотя бы ради
 AK>>> единообразия. В твоем предложении сервер отдает файлы в бинарном
 AK>>> виде, а
 AK>>> клиент - в текстовом. (бинари в пост-данные вроде не лезут)
 OL>> А об объеме ты подумал? ;))

 AK> А у меня диалап и модем со сжатием. :))))

Не роляет.

 AK> Но в запросе клиента хоть как текст будет.

Сравни get filename и ту гору XML, что была выше по треду.

 AK>>> А что есть CRAM?
 OL>> Challenge-Response Authentication Mechanism.

 AK> А что такое Challenge-Response Authentication Mechanism? :)

to google?

Если коротко и на пальцах это вот что. "<" - запрос клиента, ">" - ответ
сервера.

< здрасте. Я знаю пороль p.

> на СЧ r.

< вот r**p.
Поскольку сервер тоже знает пороль p и знает какое случайно число r он этому
клиенту отдал, он тоже считает r**p и сравнивает с тем, что сказал клиент. Если
оно совпадает - клиент аутентифицировался. Чтобы при прослушке траффика нельзя
было из r и r**p вычислить p, фунцкия ** должна быть трудно обратимой. Например
возведением в степень большого числа r, меняющегося в каждой новой сессии.

 AK>>> Мне кажется, что лучше, если сервер видит один запрос как полноценную
 AK>>> сессию, а клиент в одной сессии дает столько запросов, сколько _ему_
 AK>>> надо. Так отпадают все проблемы с таймаутами, обрывами, etc. И
 AK>>> bsy'шки залипать не будут. :)
 OL>> Если я тебя правильно понял - welcome to the DoS.

 AK> А DoS - это то же, что DDoS?

Угу, только DDoS - распредленная.

 AK> И при чем здесь это?

Что будет, если клиент будет начинать сессии, но не завершать их?

 OL>> начало_сессии: запрос - отзыв
 OL>> аутентификация: CRAM (черным ящиком серия запросов и отзывов)
 OL>> передача файла: запрос - кусок файла - подвтерждение - подтверждение
 OL>> подтверждения (хм, Остапа несло)
 OL>> передача следующего файла: см. выше, и так до опупения.
 OL>> конец_сессии: запрос - отзыв

 AK> 1) Много сессий.

См. ниже.

 AK> 2) Почему-то никто не рассматривает передачу данных _клиентом_.

Пфе. Хотя нет, не пфе. Это тоже нужно учитывать. Но обычно или запихивают
данные в запрос, если их мало, или разворачивают эту схему на 180 градусов и
радуются жизни.

 OL>> десятилетия. Поэтому для применений в real world, а не на очередной
 OL>> лабе по сетевому программированию, лучше взять уже имеющийся
 OL>> протоколл, с уже имеющейся реализацией на твоем_любимом_языке.

 AK> За основу моего варианта был взят binkp. Правда, оч-чень извращенный. :)

Бр-ррр.

Greetingz Oleg

---
 * Origin: Thou hast seen nothing yet. -- Miguel de Cervantes (2:2432/260.1)
SEEN-BY: 46/50 50/12 400/567 814 450/1024 452/25 154 461/1313 2432/260 4614/20
SEEN-BY: 4615/21 4635/1024 4642/4 5000/5000 5001/100 5002/63 5003/58 5010/2 53
SEEN-BY: 5011/13 5012/30 46 5015/28 221 5019/31 5020/545 715 760 1641 1982
SEEN-BY: 5020/2238 2871 4441 5021/29 44 5025/3 5027/12 5028/61 5029/60
SEEN-BY: 5030/115 830 901 1080 1400 5035/38 5036/10 5041/4 5042/12 21 5049/19
SEEN-BY: 5049/164 5053/16 5054/1 8 9 37 45 50 63 67 89 5059/9 5062/10 5063/3
SEEN-BY: 5064/7 5070/156 5071/22 5072/333 5077/70 5078/20 5080/111 147 239
SEEN-BY: 5080/1003 5085/13 87 5093/4 33 55 5095/20 5096/18 5097/31 64 303
SEEN-BY: 6000/0 1 12 6001/10 6028/1 6055/2 6083/12
PATH: 2432/260 5080/1003 5020/545 5054/1 37