Sự khác nhau giữa TCP và UDP

Bạn có thể đã từng thấy thông tin liên quan tới TCP và UPD khi thiết lập Port-Forwarding trong Router  hoặc khi cấu hình phần mềm Firewall . Đó là hai giao thức được dùng  cho những kiểu dữ liệu khác nhau .

 

Cả hai giao thức này đều được dùng để gửi dữ liệu qua Internet hoặc qua mạng cục bộ . Khi cấu hình một số phần cứng hoặc phần mềm mạng , bạn có thể cần biết sự khác nhau giữa hai giao thức này .

 

Những điểm chung

TCP và UDP là những giao thức dùng để gửi các Bit dữ liệu , hoặc là những gói ( Packet ) dữ liệu , qua Internet . Cả hai đều được tạo trên đầu của giao thức Internet .

Bạn đang truyền một gói dữ liệu qua TCP hoặc UDP , đó là gói dữ liệu được gửi tới một địa chỉ IP nào đó . Những gói dữ liệu này được xử lí tương tự nhau và chúng chuyển đi từ máy tính của bạn tới những Router trung gian và tới những đích cụ thể .

TCP và UDP không  chỉ là những giao thức làm việc phía trên cùng của IP mà chúng còn được sử dụng một cách rộng rãi .

Khái niệm hay được dùng nhất là TCP/IP có nghĩa là TCP trên IP . UDP cũng trên IP nên cũng được dùng gọi tắt là UDP/IP nhưng khai niệm này ít được sử dụng .

\"hinh1\"

 

TCP làm việc như thế nào ?

TCP được viết tắt từ “Transmission Control Protocol” . Nó là giao thức được dùng thông dụng nhất trên Internet .

Khi bạn tải một trang web , máy tính của bạn gửi những gói TCP tới địa chỉ của máy chủ web , yêu cầu nó gửi trang web cho bạn . Máy chủ web trả lời lại bằng cách gửi một luồng dữ liệu TCP để trình duyệt  web xử lí để tái tạo lại nội dung trang web và hiển thị lại trên màn hình máy tính của bạn .

Khi bạn bấm vào một đường Link , đăng nhập , đăng bài bình luận hoặc làm bất kì điều gì , trình duyệt  web của bạn gửi những gió dữ liệu TCP tới máy chủ và máy chủ lại gửi những gói TCP phản hồi .

TCP bảo đảm người nhận sẽ nhận những gói dữ liệu theo thứ tự được đánh số . Người nhận gửi tin nhắn lại cho người gửi nói rằng đã nhận được tin . Nếu người gửi không  nhận được thông tin phản hồi chính xác , nó sẽ gửi lại những gói dữ liệu để bảo đảm người nhận đã nhận được chúng .

Những gói dữ liệu cũng được kiểm tra tìm lỗi vì thế TCP là giao thức có độ tin cậy cao . Những gói dữ liệu được gửi bằng TCP được theo dõi để không dữ liệu nào bị mất hoặc hỏng trong quá trình truyền . Điều đó có thể giải thích tại sao những file tải về không bị lỗi nếu như mạng bị ngắt giữa chừng .

Process Explorer và những tiện ích hệ thống  khác có thể hiển thị kiểu kết nối trong quá trình xử lí . Chúng ta có thể thấy trình duyệt  Chrome sẽ mở những cổng kết nối TCP tới những máy chủ web khác nhau .

\"hinh2\"

 

UDP làm việc như thế nào ?

UDP được viết tắt từ User Datagram Protocol , Datagram cũng tương tự như khái niệm gói thông tin . Giao thức UDP làm việc tương tự như TCP nhưng loại bỏ tất cả phần kiểm tra lỗi .

Khi dùng UDP , những gói dữ liệu chỉ gửi tới người nhận . Người gửi không chờ để bảo đảm người nhận đã nhận đủ dữ liệu và nó sẽ tiếp tục gửi những gói dữ liệu tiếp theo . Nếu là bên nhận và bạn thiếu mất vài gói dữ liệu bạn không  thể yêu cầu truyền lại những gói dữ liệu bị mất . UDP không bảo đảm bạn sẽ nhận được tất cả những gói dữ liệu và không có cách nào để yêu cầu gửi lại nếu như bạn không nhận được hoặc nhận bị lỗi . Tuy nhiên UDP có lợi thế về tốc độ truyền thông cực nhanh .

UDP được dùng  khi cần ưu tiến tốc độ và không thực sự cần sửa lỗi . Ví dụ UDP thường được dùng trong truyền tin trực tiếp và Game trực tuyến .

Ví dụ bạn đang xem nội dung video trực tiếp và việc truyền thông thường dùng UDP thay vì TCP . Máy chủ chỉ gửi nội dung những gói dữ liệu UDP tới những máy tính đang xem . Nếu bạn mất kết nối của mình trong vài giây , video sẽ bị dừng lại một lúc sau đó lại nhảy tới nội dung hiện thời đang truyền trực tiếp bỏ qua những gì bạn không nhận được .

Việc làm này cũng tương tự như game trực tuyến , nếu bạn mất một số gói UDP , những nhân vật trong game có thể xuất hiện dịch chuyển qua bản đồ bạn nhận được trong những gói UDP mới hơn . Sẽ không cần yêu cầu truyền lại gói dữ liệu cũ bị mất vì game vẫn tiếp tục chạy khi không có bạn .

Vì bỏ qua tất cả những việc kiểm tra lỗi như của TCP nên cho phép tốc độ truyền dữ liệu nhanh hơn và giảm thời gian trễ .

 

\"hinh3\"

 

Như vậy tùy theo ứng dụng mà bạn cần sử dụng theo giao thức truyền dữ liệu nào . Hầu hết những ứng dụng muốn sửa lỗi thì phải cần giao thức TCP , nhưng một số ứng dụng cần tốc độ và giảm thời gian trễ thì cần dùng UDP .

Dùng công cụ phân tích mạng như Wireshark và bạn sẽ thấy những kiểu khác nhau của những gói dữ liệu đang truyền thông trong hệ thống  .

Nếu như đang cấu hình cho Router hoặc phần mềm Firewall bạn không rõ ứng dụng nào dùng TCP hay UDP , bạn có thể lựa chọn “Both” để chặn cả hai lưu lượng truyền thông theo giao thức TCP và UDP .

 

\"hinh4\"

 

ICMP (Internet Control Message Protocol) là giao thức thông thường khác được dùng trên Internet . Nó thường được dùng để truy vấn và những thông báo lỗi giữa những Router và các thiết bị mạng khác . Những ứng dụng thông thường không dùng ICMP , mặc dù lệnh pingtraceroute dùng ICMP để cho những chẩn đoán của chúng .