The Internet Link protocol or IL is a connection-based transport-layer protocol designed at Bell Labs originally as part of the Plan 9 operating system and is used to carry 9P. It is assigned the Internet Protocol number of 40. It is similar to TCP but much simpler.

Internet Link
Communication protocol
AbbreviationIL
Developer(s)Bell Labs
OSI layerTransport layer (4)

Its main features are:

  • Reliable datagram service
  • In-sequence delivery
  • Internetworking using IP
  • Low complexity, high performance
  • Adaptive timeouts

As of the Fourth Edition of Plan 9, 2003, IL is deprecated in favor of TCP/IP because it doesn't handle long-distance connections well.[1]

edit
IL header format
Offset Octet 0 1 2 3
Octet Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 Version and header length Type of service Packet length
4 32 Identification Fragment information
8 64 Time to live Protocol Header checksum
12 96 IP source
16 128 IP destination
20 160 Checksum including header Packet length
24 192 Packet type Special Src port
28 224 Dst port Sequence id
34 272 Acked sequence
struct IPIL
{
    byte    vihl;       /* Version and header length */
    byte    tos;        /* Type of service */
    byte    length[2];  /* packet length */
    byte    id[2];      /* Identification */
    byte    frag[2];    /* Fragment information */
    byte    ttl;        /* Time to live */
    byte    proto;      /* Protocol */
    byte    cksum[2];   /* Header checksum */
    byte    src[4];     /* Ip source */
    byte    dst[4];     /* Ip destination */
    byte    ilsum[2];   /* Checksum including header */
    byte    illen[2];   /* Packet length */
    byte    iltype;     /* Packet type */
    byte    ilspec;     /* Special */
    byte    ilsrc[2];   /* Src port */
    byte    ildst[2];   /* Dst port */
    byte    ilid[4];    /* Sequence id */
    byte    ilack[4];   /* Acked sequence */
};

See also

edit

References

edit
  1. ^ "Plan 9 — Fourth Edition Release Notes". Lucent Technologies. June 2003. Retrieved August 3, 2018. We are phasing out the IL protocol since it doesn't handle long-distance connections well (and long-distance networks don't handle it well, either). IL is still used by fs(4) but TCP has become the standard protocol for all other services.

Further reading

edit