[ LUGOS ] Prenos serijskega porta po ethernetu

fiction fiction na s-gim.kr.edus.si
Čet Jul 27 16:39:19 CEST 2000


Elo.

> Ce posljem prek etherneta na neko masino 2 IP paketa v kratkem casovnem
> razmaku, vsak velikosti 567 bytov, ali bosta potovala v istem ethernet
> frame-u ?

I guess not - vsak bo potoval v svojem ethernet framu.
Kot si jest predstavljam delovanje (nisem pa cist sur, da je res tako!):
Vsakic ko das send() posljes pac en ethernet frame s podatki.
Cist vseeno a je UDP datagram (tam das pac sendto() ) oz. TCP paket.
Torej nima veze TCP PSH flag.

Problem je v tem, da je mora imeti ethernet frame velikost najmanj
64 bytov. Razlog za to je v CSMA/CD protokolu. S tem je zagotovljeno
da so podatki nekaj casa "na zici" in se lahko detecta collision (ko hoceta
2 racunalnika istocasno posiljati podatke).
Ce imas vec podatkov kot je MTU (maximum transmission unit - se mi zdi da
1518 bytov) se pac razdeli vsa stvar na 2 dela. Pri tem je izguba v tem, da
mora imeti vsak frame svoje headre.
Druga izguba pa je ce hoces recimo poslati samo 1 znak. V vsakem
primeru mora biti 64 bytov (vkljucno z vsemi headri) - tako da ce hoces
poslati 1 ali pa 45 bytov, gre "po zici" zmeraj 64 bytov dolg ethernet
frame.

>Ce ne, koliko bandwidtha gre v 0, ce uporabljam TCP in
> zahtevam "push" ob vsakem pisanju ? A se to dogaja pogosto ?

Push pride do izraza _pomoje_ sele na kompu na katerega si poslal
TCP paket.
Ponavadi imas tam buffer v katerega shranjujes podatke
(t.i. tcp window). To je uporabno zato, ker TCP zmeraj poslje nazaj
ACK - da je racunalnik podatke res dobil. Tako bi moral za vsak
paket, ki bi ga dobil poslati nazaj ACK.
Sedaj se pa ze na zacetku ob 3-way handshaku (syn, syn-ack, ack)
kompa dogovorita o window sizu. In tako posljes toliko podatkov tja
dokler ne zafilas tcp windowa in drug racunalnik (destination) sele
potem poslje acknowledgment za vse.
In sele takrat ti ubistu dejansko "dobis" vse te podatke.
Ce imas setan "push bit" pa pac tcp ne uporablja tega
medpomnilnika ampak prec da podatke "naprej v uporabo" in poslje
nazaj ACK.
(Correct me if i'm wrong.)


Telnet recimo se mi zdi zmeraj poslilja vsak posamezen char, ki ga
vtipkas s PSH flagom. Kar je posvoje tudi logicno, a ne.
Torej ce si tu lahko privoscijo tako velike izgube,
zakaj bi mi morali tako grozno paziti na bandwith pri nasih "socket
programih" ? ;-)


No ja...
Probaj s kaksnim Protocol Analyzerjom pogledat kaj se zares
dogaja ce hoces biti 100%.. oz. mi ne verjames :-)

> A se je ze kdo na tej listi ukvarjal z IPv6 ?

Hja prebral sem dost stvari o IPv6.
Teorijo kapiram :-)
Kej bolj resno se pa se nisem ukvarjal s tem.

Sej res kdaj sploh mislijo organizacije zaceti s prehodom
iz IPv4 na IPv6 ?

Aja se to: ta mail je pisan v windozah in outlooku zato,
ker sem trenutno na obisku pri stricu v Nemciji in nimam
druge izbire... Sorry for that...
Da se ne bo kdo kej zgrazal :-)

--
c'ya,
Grega Pogacnik a.k.a. fiction





Dodatne informacije o seznamu Starilist