ตามที่ได้รับการบันทึกไว้โดยผู้อื่นมีความเป็นไปได้มากมายสำหรับความเสียหายของข้อมูลที่การตรวจสอบใด ๆ ที่เลเยอร์การขนส่งไม่สามารถช่วยได้เช่นการทุจริตเกิดขึ้นแล้วก่อนการตรวจสอบการคำนวณจะถูกคำนวณที่ด้านการส่งการสกัดกั้น MITM เป็น checksums) ความเสียหายที่เกิดขึ้นหลังจากการตรวจสอบการตรวจสอบในตอนท้ายที่ได้รับ ฯลฯ
ถ้าเราไม่สนใจความเป็นไปได้อื่น ๆ เหล่านี้ทั้งหมดและมุ่งเน้นไปที่ข้อมูลเฉพาะของการตรวจสอบ TCPเองและสิ่งที่มันทำในแง่ของการตรวจสอบความถูกต้องของข้อมูลนั้นปรากฎว่าคุณสมบัติของการตรวจสอบนี้ไม่ครอบคลุมในแง่ของการตรวจสอบข้อผิดพลาด วิธีที่อัลกอริทึมการตรวจสอบนี้ถูกเลือกค่อนข้างสะท้อนถึงความต้องการความเร็วรวมกับช่วงเวลา (ช่วงปลายปี 1970)
นี่คือวิธีคำนวณการตรวจสอบ TCP :
เช็คซัม: 16 บิต
เขตข้อมูล checksum เป็นส่วนเติมเต็ม 16 บิตสำหรับส่วนเติมเต็มของคำทั้งหมด 16 บิตในส่วนหัวและข้อความ หากเซ็กเมนต์มีจำนวนส่วนหัวและอ็อกเท็ตข้อความเป็นจำนวนคี่ที่ต้องทำการตรวจสอบออคเต็ตสุดท้ายจะถูกเติมด้านขวาด้วยศูนย์เพื่อสร้างคำ 16 บิตสำหรับจุดประสงค์ในการตรวจสอบ แผ่นไม่ได้ส่งเป็นส่วนหนึ่งของส่วน ในขณะที่คำนวณการตรวจสอบข้อมูลตัวตรวจสอบตัวเองจะถูกแทนที่ด้วยศูนย์
ซึ่งหมายความว่าการทุจริตใด ๆ ที่ยอดคงเหลือเมื่อรวมข้อมูลด้วยวิธีนี้จะไม่ถูกตรวจพบ มีความเสียหายหลายประเภทในข้อมูลที่จะอนุญาต แต่เป็นเพียงตัวอย่างเล็กน้อย: การเปลี่ยนลำดับของคำ 16 บิตจะไม่ถูกตรวจพบ
ในทางปฏิบัติมันจับข้อผิดพลาดทั่วไปจำนวนมาก แต่ไม่ได้รับประกันความสมบูรณ์ มันยังได้รับการช่วยเหลือด้วยวิธีที่เลเยอร์ L2 ทำการตรวจสอบความสมบูรณ์ (เช่น CRC32 ของเฟรมอีเธอร์เน็ต) แม้ว่าจะเป็นเพียงการส่งข้อมูลบนโลคัลลิงก์และหลายกรณีของข้อมูลที่เสียหาย
การตรวจสอบความถูกต้องของข้อมูลโดยใช้แฮชที่แข็งแกร่งหรือโดยเฉพาะอย่างยิ่งลายเซ็นเข้ารหัสนั้นอยู่ในระดับที่แตกต่างกันโดยสิ้นเชิงในแง่ของการรับรองความถูกต้องของข้อมูล ทั้งสองแทบจะไม่สามารถเปรียบเทียบได้