Internet Protocol
IPは2つの側面から理解できる。1つはIP層でのデータ転送モデル、もう1つはプロトコルスタックの層を跨いだデータ転送手順である。
そのノードは送信元にも宛先にも捨てたことを通知しないが、Internet Control Message Protocol (ICMP) でそのような通知をすることも可能である。一方、IPv6ではルーティングの高速化を優先してチェックサム計算をやめた。
上位層プロトコルは、この信頼性問題への対処を担う。例えば、アプリケーションにデータを渡す前にデータをキャッシュして正しい順序に並べ替えたりする。
信頼性問題に加え、動的性質とインターネットおよびその構成要素の多様性に関連し、データ転送経路のうちどれが適当かは全く保証できない。技術的制約の1つとして、リンクごとにデータパケットのサイズ上限が異なる。アプリケーションは適切な伝送特性を使うことを保証しなければならない。この責任の一端は、IPとアプリケーションの中間に位置する上位層プロトコル群にもある。ローカルなリンクにおける Maximum Transmission Unit (MTU) のサイズを調べるファシリティがあり、IPv6の場合は宛先までの経路全体を考慮したMTUサイズを調べるファシリティもある。IPv4には元のデータグラムを自動的に断片化する機能がある。この場合、IPは断片化されたパケット群の到着順序を正しく保つ必要がある。
例えば Transmission Control Protocol (TCP) はセグメントサイズをMTUより小さく調整するプロトコルである。User Datagram Protocol (UDP) と Internet Control Message Protocol (ICMP) はMTUサイズを無視するので、必要ならIPが断片化を行う。