上位層の通信単位を下層の層で通信する時に、その中身(上位層の構造)に無関係に行えるようにするための仕組。
cf.封筒(手紙の内容を知らなくても済む.. [むしろ匿す.. ] )。
上位層のPDU ( Protocol Data Unit )にHeader (とFooder )を付けることにより、自分の層の新しいPDUを作る。
データグラムのネットワークに滞在できる時間単位で示す。
発信側でる値を設定しておき、ルータなどを通過するたびに、処理にかかった時間をこのフィールドに設定してある値からひく。
この値が0になったときに、データグラムを破棄する。
シーケンス番号(32ビット)
このセグメントのオクテット・データの最初のオクテットのシーケンス番号である(SYNが存在する場合を除く)。もしSYNが存在するときは、これは開始シーケンス番号(ISN: initial sequence number)を意味し、最初のデータ・オクテットはISN+1である。
肯定応答番号(32ビット)
ACKコントロール・ビットがセットされているときは、このフィールドは受けてが期待する送り元からの次のセグメントのシーケンス番号である。コネクションが確立された後ではこのフィールドは必ず送信される。
ヘッダ長(4ビット)
TCPヘッダ部分の32ビット単位の長さ。これはデータの開始位置を示す。TCPヘッダは32ビット長ワードの整数である。
ウィンドウサイズ(16ビット)
肯定応答フィールドで示される番号から始まって、このセグメントの送信側が受信する、ことを歓迎するデータオクテットの数。
チェックサム(16ビット)
チェックサムフィールドは、ヘッダとデータの全ての16ビット単位の1の補数の合計の16ビットの1の補数。もし、セグメントがチェックされるヘッダとテキストのオクテット数が奇数個を含むならば、最後のオクテットは、チェックサムを行う目的で16ビット単位を形成するために、右側を0でパディングされる。パディングは、セグメントの一部としては送信されない。チェックサムを算出する際、チェックサムフィールド自身は、0で置き換えられる。
緊急ポインタ(16ビット)
このフィールドは緊急ポインタの現在の値を、このセグメントのシーケンス番号からの正のオフセットとして通知する。緊急ポインタは、緊急データの後に続くオクテットのシーケンス番号を指す。このフィールドは、URG制御ビットが設定されたセグメントでのみ解釈される。
パッディング(Padding)
TCPヘッダパディングは、TCPヘッダの最終とデータ部の開始が32ビット境界にあることを保証するために使用される。パディングは、0から成る。