Xarxes de computadors - Universitat Oberta de Catalunya
Xarxes de computadors - Universitat Oberta de Catalunya
Xarxes de computadors - Universitat Oberta de Catalunya
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
© FUOC • XP06/M2005/01487<br />
ANOTACIONS<br />
Nota<br />
A la llibreria <strong>de</strong> sockets API,<br />
l’indicador que <strong>de</strong>sinhibeix<br />
l’algorisme <strong>de</strong> Nagle és el<br />
TCP_NODELAY.<br />
150<br />
Programari lliure<br />
Utilitzant l’algorisme <strong>de</strong> Nagle, una connexió TCP només pot tenir un<br />
segment <strong>de</strong> mida petita (pocs bytes) sense que s’hagi reconegut; és<br />
a dir, només hi pot haver un únic segment <strong>de</strong> mida petita viatjant per<br />
la xarxa (en vol). La resta <strong>de</strong>ls segments <strong>de</strong> mida petita no es po<strong>de</strong>n<br />
transmetre fins que l’ACK <strong>de</strong>l segment petit que viatgi per la xarxa<br />
hagi arribat.<br />
Així, els segments que esperen per a ser transmesos s’emmagatzemen<br />
fins que es rep l’ACK <strong>de</strong>l segment en vol. Quan aquest últim arriba,<br />
la connexió TCP pot enviar un segment que contingui totes les<br />
da<strong>de</strong>s emmagatzema<strong>de</strong>s fins a aquest moment, formant un segment<br />
més gran.<br />
L’algorisme <strong>de</strong> Nagle funciona quan els retards a la xarxa són grans;<br />
és a dir, si la connexió creua una WAN. En cas que la connexió sigui<br />
local, en una LAN, és difícil que s’apliqui aquest algorisme a causa<br />
<strong>de</strong> l’alta velocitat <strong>de</strong> la xarxa.<br />
A vega<strong>de</strong>s, és interessant <strong>de</strong>sinhibir l’algorisme <strong>de</strong> Nagle, ja que<br />
l’aplicació no pot esperar. El moviment <strong>de</strong>l ratolí en X Windows System<br />
provoca segments petits. Aquests moviments <strong>de</strong>l ratolí s’han <strong>de</strong><br />
lliurar sense retards perquè l’usuari interactiu no ho noti. Les llibreries<br />
<strong>de</strong> sockets han <strong>de</strong> permetre, activant indicadors, <strong>de</strong>sinhibir l’algorisme<br />
<strong>de</strong> Nagle.<br />
14.6.2. Transmissió <strong>de</strong> da<strong>de</strong>s <strong>de</strong> gran volum. Control<br />
<strong>de</strong> flux per finestra lliscant<br />
En les comunicacions en què s’envia una ingent quantitat <strong>de</strong> da<strong>de</strong>s<br />
<strong>de</strong> gran volum (correu electrònic, transferències FTP, etc.), com que<br />
les memòries intermèdies <strong>de</strong> recepció es po<strong>de</strong>n omplir, és necessari<br />
un protocol <strong>de</strong> finestra lliscant (sliding window) per a controlar el flux<br />
<strong>de</strong> da<strong>de</strong>s, amb la diferència, respecte <strong>de</strong>ls protocols <strong>de</strong>l nivell d’enllaç,<br />
que en el TCP la finestra <strong>de</strong> transmissió és variable.<br />
La i<strong>de</strong>a és que cada extrem TCP reguli la quantitat <strong>de</strong> da<strong>de</strong>s que l’altre<br />
extrem pot transmetre. Amb aquesta finalitat, cada extrem TCP<br />
notifica a l’extrem oposat, cada vegada que envia un segment, la finestra<br />
que pot acceptar en aquest moment. El TCP oposat actualitza<br />
la seva finestra <strong>de</strong> transmissió d’acord amb aquest valor.