|
From: | David Empson |
Subject: | Re: [lwip-users] Establishing TCP Connection after power-up |
Date: | Tue, 22 Feb 2011 11:08:13 +1300 |
farid mahini wrote:
> It worked.
Thank you Simon.
>
> What else does ARP_QUEUEING activate/do besides buffering SYN
message?
ARP_QUEUEING will queue any outgoing IP packets when the MAC address
for the packet destination on the local network is not known, automatically
transmitting the queued packets once the ARP is resolved (or discarding them if
the ARP fails).
Some examples:
- When an outgoing TCP connection is first established to an IP
address on the local network, the initial SYN is queued while the ARP is
resolved, avoiding a retry of the SYN.
- When an incoming TCP connection is first established from an IP address
on the local network, the initial SYN+ACK is queued while the ARP is resolved,
avoiding the other station having to retry its SYN.
- If a connection is active long enough to allow the ARP queue entry
to expire, then when you next need to send another packet for that connection
(any of data, ACK, data+ACK, FIN, FIN+ACK), the outgoing packet is queued while
the ARP is resolved, avoiding a retry of the outgoing packet (or a retry
from the other station).
- If you send any UDP packet to a previously unknown IP address on the
local network, it is queued while the ARP is resolved, avoiding loss of the UDP
packet (and a potential higher level retry mechanism).
All of these also apply when the other station is not on the local network,
in which case the ARP is finding the MAC address of the gateway/router,
rather than the MAC address for the destinaton IP address. All IP packets to the
router or to any non-local IP address are queued while the ARP to the router is
resolved.
|
[Prev in Thread] | Current Thread | [Next in Thread] |