Search code examples
socketsipprotocolsporttuples

How many tuples are there in a connection?


Some people said that there are 4 tuples in a connection

client IP address, client port number, server IP address, server port number

Some said that there are 5

client IP address, client port number, server IP address, server port number, protocol

Which one is correct ?


Solution

  • You've misunderstood the terminology. A TCP connection is identified by a 5-tuple. That means one tuple, with 5 elements. The five elements are:

    1. Protocol. This is often omitted as it is understood that we are talking about TCP, which leaves 4.
    2. Source IP address.
    3. Source port.
    4. Target IP address.
    5. Target port.