An ISO transport address is similar to an Internet address in that it contains a network-address portion and a portion that the transport layer uses to multiplex its services among clients. In the Internet domain, this portion of the address is called a
port. In the ISO domain, this is called a
transport selector (also known at one time as a
transport suffix). While ports are always 16 bits, transport selectors may be of (almost) arbitrary size.
Since the C language does not provide convenient variable length structures, we have separated the selector lengths from the data themselves. The network address and various selectors are stored contiguously, with the network address first, then the transport selector, and so on. Thus, if you had a network address of less than 20 bytes, the transport selector would encroach on space normally reserved for the network address.