Evo jedan zanimljiv znanstveni rad gdje su studenti testirali kako bi http protokol radio preko UDP-a. Doduše rad(a izgledom i stranica) je iz 2000.
http://www.cs.technion.ac.il/Courses/Computer-Networks-Lab/projects/spring2000/http_udp/index.htm
- +/- sve poruke
- ravni prikaz
- starije poruke gore
Zanimljivo,
ali postoje razlozi zašto HTTP ide preko TCP-a, u prvom redu pouzdanost,
ako odbaciš taj "overhead" razumljivo da stvar radi brže na mrežnom sloju.
Bilo bi zanimljivije kad bi ono što fali UDP-u implementirali na aplikacijskom sloju
pa onda to usporedili s HTTP-om preko TCP-a.
Zanimljivo,
ali postoje razlozi zašto HTTP ide preko TCP-a, u prvom redu pouzdanost,
ako odbaciš taj "overhead" razumljivo da stvar radi brže na mrežnom sloju.
Bilo bi zanimljivije kad bi ono što fali UDP-u implementirali na aplikacijskom sloju
pa onda to usporedili s HTTP-om preko TCP-a.
Na neki način su dečki upravo kompenzirali mane UDP-a, jer su UDP zapravo koristili samo za kontrolne pakete i male fileove kojima error handling nije toliko nužan. Unatoč tome imali su povećanje performansi u većini testova.
Linuksaš otkriva ISO/OSI model...
Kada dobro dizajniraš i pravilno razdvojiš komunikacijske slojeve, tada ti je svejedno preko kojeg medija prebacuješ podatke:
https://en.wikipedia.org/wiki/OSI_model#Layer_6:_Presentation_Layer
No, puno sreće s UDP transferiranjem većih paketa.
Ako hoćeš brzinu, kod UDP-a morao bi paziti na MTU.
576 je zanimljiv broj.
Zapravo, 548.
Zapravo, 512, jer možeš imati velike headere.
I naravno, moraš uzeti u obzir utjecaj ostatka svijeta na mrežni promet:
https://www.isoc.org/inet97/proceedings/F3/F3_1.HTM
Mrežni protokoli pisani su u doba kada su računala bila u rangu ili slabija od ovih koje danas imamo u vešmašinama.
TCP je bio logičan izbor za većinu stvari gdje je bitna potvrda isporuke paketa.
Probleme koje TCP rješava na svom sloju, kod ovakvog korištenja UDP-a prebacuješ na sloj iznad toga.
Odnosno, posao koji možeš dobrim dijelom delegirati na kontroler mrežne kartice i njen firmware, prebacuješ na kernel i zapošljavaš CPU.
Nono, netrebaš me odmah suptilno bockati. Htio sam samo skrenuti na pažnju na zanimljivo istraživanje koje sam našao na netu.