Jer Je
Jer Je

Reputation: 81

Is sending ACK back on TCP/IP software or hardware thing?

How do we know port is listening?

Is there possible to know that port is listening, even if they do not respond?

i.e. when I just bind socket in some programs, but I really do not send ACK back.

1: Packet is received and analyzed.
2: If packet fit meets, ACK is send back.

Like if I can program this thing, or it's networks card HW that is responsible for ACK.

Upvotes: 2

Views: 1362

Answers (3)

ArtOfWarfare
ArtOfWarfare

Reputation: 21507

Some Network Interface Cards (NICs) offer TCP Checksum Offloading (TCO), and some take it a step further with TCP Segmentation Offloading (TSO).

On Linux, you can use ethtool --show-offload <interface> to show whether TCO/TSO are enabled or not, and you can toggle them with ethtool --offload.

Source: Section 12.5 of this page.

Upvotes: 1

Prem
Prem

Reputation: 85

You can find out the list of sockets and connections using netstat command. Use netstat -a and grep for the port in question. You can find out if there is a socket listening on the port you want.

Upvotes: 0

Zac67
Zac67

Reputation: 2910

How do we know port is listening?

Your local stack knows. An application needs to register the port.

Is there possible to know that port is listening, even if they do not respond?

If there's no reponse to a SYN sent out the host may be unreachable, the destination port not listening, or the SYN filtered.

i.e. when I just bind socket in some programs, but I really do not send ACK back.

You don't have to worry about SYN and ACK, that's handled by the OS's IP stack. Just set up a listener on destination and then connect the socket from source. If the socket opens you can start talking through the pipe.

Like if I can program this thing, or it's networks card HW that is responsible for ACK.

ACKs are part of the TCP transport protocol handled by the OS's IP stack.

Upvotes: 2

Related Questions