Chú ý: bài viết được dịch dựa trên bài gốc The Law of Leaky Abstractions do Joel Spolsky, co-founder của StackOverflow viết.
Bạn sử dụng Internet hàng ngày: chat, facebook, twitter, đồ sát, post những bài nhảm nhí lên blog… Tất cả những thứ trên đều phải dựa vào một phần quan trọng, kỳ diệu, là viên gạch cơ bản để xây dựng nên hệ thống Internet: giao thức TCP.
TCP là một giao thức để truyền dữ liệu một cách đáng tin cậy. Điều này có nghĩa là: nếu tôi truyền một đoạn thông tin trên một mạng sử dụng TCP, thì đoạn thông tin đó chắc chắn sẽ đến đích, không bị cắt xén hay sai lạc.
Ngược lại, IP là một giao thức hoàn toàn không đáng tin cậy. Không có gì đảm bảo thông tin bạn truyền sẽ tới nơi, hoặc không bị làm sai lệch đi trên đường truyền. Nếu bạn gửi một loạt message bằng IP, đừng ngạc nhiên nếu chỉ có một nửa trong số đó là tới được đích, một vài thằng bị đảo lộn vị trí so với lúc truyền đi, một vài chú thì bị đánh tráo bởi ảnh nóng, nhưng hầu hết thì thông tin nhận được là một tập hợp của những đoạn dữ liệu trông giống như mật mã được gửi từ một nền văn minh nào đó khác.
Nhưng cái điều kì diệu ở đây là: TCP được xây dựng trên nền của IP. Hay nói cách khác, nhiệm vụ của thằng TCP là phải truyền được dữ liệu một cách đáng tin cậy dựa trên một thằng IP không đáng tin cậy một chút nào.