Protocols: TCP/UDP/IP
Trong mọi hoạt động trên Internet, từ việc tải trang web, gửi email cho đến chơi game online, ba giao thức cốt lõi là IP (Internet Protocol), TCP (Transmission Control Protocol), và UDP (User Datagram Protocol) luôn đóng vai trò điều phối. Mỗi giao thức lại có chức năng, cấu trúc Header, và nguyên tắc hoạt động riêng biệt ở các Lớp mạng khác nhau.
-----
UDP (User Datagram Protocol)
- Định nghĩa: Giao thức dữ liệu người dùng là một giao thức giao tiếp thay thế cho TCP (Transmission Control Protocol) hoạt động ở lớp giao vận (Transport layer) – giao thức kiểm soát đường truyền, được sử dụng chủ yếu để thiết lập các kết nối có độ trễ thấp và không chịu lỗi giữa các ứng dụng trên internet.
- Đặc điểm chính của UDP:
- Không kết nối (Connectionless): UDP không thiết lập kết nối trước khi truyền dữ liệu. Mỗi gói dữ liệu được gửi độc lập, giống như gửi thư.
- Không đảm bảo truyền dữ liệu đáng tin cậy: UDP không có cơ chế đảm bảo dữ liệu đến đích một cách an toàn. Dữ liệu có thể bị mất hoặc đến không đúng thứ tự.
- Không kiểm soát luồng dữ liệu: UDP không kiểm soát tốc độ truyềndữ liệu
- Không đảm bảo thứ tự dữ liệu: UDP không đảm bảo dữ liệu đến đích theo đúng thứ tự gửi
- Cách hoạt động của UDP:
- Tạo gói dữ liệu: Để gửi dữ liệu, ứng dụng tạo một gói UDP với tiêu đề và tải trọng. Tiêu đề chứa siêu dữ liệu như số cổng nguồn và đích.
- Truyền tải : Gói tin UDP được gửi qua mạng mà không cần bất kỳ quá trình bắt tay hay xác nhận nào. Điều này có nghĩa là bên gửi không cần chờ phản hồi hoặc xác nhận từ bên nhận.
- Định tuyến : Bộ định tuyến trên mạng chuyển tiếp gói tin UDP đến đích dựa trên địa chỉ IP đích.
- Tiếp nhận : Khi gói tin UDP đến máy chủ đích, ngăn xếp giao thức UDP sẽ chuyển tiếp gói tin đó đến ứng dụng thích hợp dựa trên số cổng đích được chỉ định trong tiêu đề.
- Xử lý dữ liệu : Ứng dụng nhận sẽ trích xuất dữ liệu từ gói UDP và xử lý nó. Không giống như TCP, UDP không lắp ráp lại các gói tin hoặc đảm bảo chúng đến đúng thứ tự. Việc xử lý mất gói tin, trùng lặp hoặc phân phối không đúng thứ tự tùy thuộc vào chương trình nếu cần.
- Không có giai đoạn kết thúc kết nối : UDP không có giai đoạn kết thúc kết nối như TCP. Sau khi gói tin UDP được gửi đi, quá trình giao tiếp được coi là hoàn tất.
- Chức năng của UDP:
- Cho phép các gói bị loại bỏ và nhận không theo thứ tự truyền đi ban đầu, điều này làm cho UDP phù hợp với các ứng dụng chạy thời gian thực, trong đó ưu tiên tốc độ và độ trễ thấp.
- Có thể được sử dụng cho các giao thức dựa trên giao dịch.
- UDP có thể hữu ích khi có nhiều người truy cập, kết nối và khi không có nhu cầu điều chỉnh lỗi thời gian thực.
- Ưu điểm của UDP:
- Tốc độ và hiệu suất cao: UDP không yêu cầu thiết lập kết nối trước khi truyền dữ liệu, giúp giảm độ trễ và tăng tốc độ truyền tải. UDP trở thành lựa chọn tốt cho các ứng dụng yêu cầu tốc độ cao và thời gian thực, như truyền tải âm thanh, video trực tiếp và trò chơi trực tuyến.
- Tiết kiệm tài nguyên: UDP sử dụng ít tài nguyên hệ thống hơn TCP do thiếu các quá trình phức tạp như thiết lập kết nối, kiểm soát luồng và xác nhận dữ liệu.
- Hỗ trợ multicast và broadcast: UDP cho phép truyền tải dữ liệu theo multicast và broadcast, nghĩa là một gói tin UDP có thể được gửi đến nhiều người nhận cùng một lúc.
- Độ tin cậy thấp có thể là ưu điểm: Trong các ứng dụng không yêu cầu tính đáng tin cậy hoặc không quan trọng, độ tin cậy thấp của UDP có thể giúp giảm độ trễ và tăng tốc độ truyền tải.
- Nhược điểm của UDP:
- Không đảm bảo tính đáng tin cậy: UDP không đảm bảo rằng các gói tin sẽ đến đúng thứ tự, đúng số lượng hoặc đến được một cách đáng tin cậy. Các gói tin có thể bị mất, trùng lặp hoặc đến không đúng thứ tự.
- Không hỗ trợ kiểm soát luồng: UDP không có cơ chế kiểm soát luồng để điều chỉnh tốc độ truyền tải dữ liệu.
- Không hỗ trợ xác nhận giao nhận dữ liệu: Người gửi không thể biết chắc chắn liệu dữ liệu đã đến đích hay chưa.
TCP (Transmission Control Protocol):
- Định nghĩa: Giao thức Điều khiển Truyền dẫn (TCP) là giao thức tiêu chuẩn trên internet hoạt động ở lớp Giao vận (Transport layer) được sử dụng để đảm bảo sự thành công trong quá trình trao đổi các gói dữ liệu giữa các thiết bị mạng. Hiện tại, TCP là giao thức truyền thải cơ bản cho nhiều ứng dụng khác nhau trong đó phải kể đến máy chủ web, trang web, ứng dụng email, FTP và các ứng dụng ngang hàng. Giao thức TCP nằm trong lớp vận chuyển (lớp 4 trong mô hình OSI).
- Đặc điểm của TCP:
- Kết nối hướng kết nối (Connection-oriented): Trước khi truyền dữ liệu, TCP thiết lập một kết nối giữa máy chủ gửi và máy chủ nhận, tương tự như một cuộc gọi điện thoại.
- Đảm bảo truyền dữ liệu đáng tin cậy: TCP sử dụng các cơ chế như acknowledgement (xác nhận), retransmission (truyền lại), và checksum (kiểm tra tổng) để đảm bảo dữ liệu được truyền đến đích một cách chính xác và không bị mất mát hoặc sai lệch.
- Kiểm soát luồng dữ liệu: TCP kiểm soát tốc độ truyền dữ liệu để tránh quá tải mạng và đảm bảo máy chủ nhận có thể xử lý được.
- Thứ tự dữ liệu: TCP đảm bảo dữ liệu được truyền đến đích theo đúng thứ tự mà nó được gửi
- Cách hoạt động của TCP:
- Người gửi sẽ thực hiện tạo yêu cầu kết nối gửi cho người nhận dùng gửi một gói tin SYN (Synchronize) để bắt đầu việc thực hiện kết nối.
- Người nhận được gói tin SYN sẽ phản hồi bằng cách gửi một gói tin SYN-ACK (Synchronize-Acknowledge).
- Người nhận được gói tin SYN-ACK và gửi một gói tin ACK (Acknowledge) để xác nhận việc thiết lập tin đã thành công. Nếu kết nối đã được thiết lập, bạn có thể sẵn sàng truyền dữ liệu.
- Chức năng của TCP:
- Thiết lập kết nối: Sử dụng quy trình “three-way handshake” để thiết lập kết nối giữa hai máy tính. Quy trình này đảm bảo cả hai máy tính đều sẵn sàng truyền dữ liệu và thiết lập các thông số cần thiết để quản lý kết nối.
- Phân mảnh và gói tin hóa: Phân mảnh dữ liệu thành các gói tin nhỏ hơn để truyền trên mạng. Mỗi gói tin chứa một phần của dữ liệu gốc và được đánh số thứ tự để đảm bảo thứ tự chính xác khi đến máy tính đích.
- Kiểm soát luồng dữ liệu: Sử dụng cơ chế cửa sổ trượt để kiểm soát việc truyền dữ liệu giữa hai máy tính. Cơ chế này cho phép người gửi và người nhận điều chỉnh số lượng gói tin được truyền và nhận trong mỗi khoảng thời gian nhất định, đảm bảo mạng không bị quá tải và dữ liệu không bị mất.
- Bảo đảm độ tin cậy: Sử dụng các cơ chế kiểm tra lỗi, xác nhận và tạo lại gói tin để đảm bảo truyền dữ liệu tin cậy. Trường hợp một gói tin không may bị mất hoặc hỏng trong quá trình truyền dữ liệu, TCP sẽ yêu cầu người gửi gửi lại chính gói tin đó nhằm đảm bảo tối đa tính toàn vẹn của dữ liệu khi truyền.
- Đóng kết nối nhanh: Khi quá trình truyền dữ liệu hoàn tất, TCP sử dụng quy trình “four-way handshake” để đóng kết nối giữa hai máy tính. Quy trình này đảm bảo cả hai máy tính đều được thông báo về việc kết nối đã đóng và giải phóng tài nguyên liên quan.
- Ưu điểm của TCP:
- Là một trong số những giao thức internet đảm bảo an toàn, đáng tin cậy
- Được hỗ trợ cơ chế kiểm tra lỗi và phục hồi
- Dễ dàng kiểm soát dòng lưu lượng trong quá trình sử dụng
- TCP đảm bảo dữ liệu của bạn được gửi đến đúng đích theo thứ tự được gửi đi
- Vì TCP là giao thức mở nên không thuộc bất cứ một tổ chức hay cá nhân nào
- Giao thức TCP sẽ gắn một địa chỉ IP cho mỗi máy tính trên internet và một tên miền riêng cho từng ra. Vì vậy mỗi trang thiết bị đều được phân biệt rõ ràng qua internet.
- Nhược điểm của TCP:
- Vì TCP được tạo ra để dành cho mạng WAN nên kích thước của nó luôn là vấn đề với những mạng nhỏ có ít băng thông
- TCP hoạt động trên nhiều lớp vì thế sẽ khiến cho tốc độ mạng bị chậm
- TCP không thể biểu diễn các giao thức nào ngoài TCP/IP
- Chưa được sửa lỗi bất cứ lần nào kể từ khi phát triển
IP (Internet Protocol)
- Giao thức Internet (IP) là một giao thức, hay một tập hợp các quy tắc hoạt động ở lớp mạng (Network layer) dùng để định tuyến và đánh địa chỉ các gói dữ liệu để chúng có thể di chuyển qua các mạng và đến đúng đích. Dữ liệu truyền qua Internet được chia thành các phần nhỏ hơn, gọi là gói tin . Thông tin IP được đính kèm vào mỗi gói tin, và thông tin này giúp bộ định tuyến gửi các gói tin đến đúng nơi. Mỗi thiết bị hoặc miền kết nối với Internet đều được gán một địa chỉ IP , và khi các gói tin được chuyển hướng đến địa chỉ IP được đính kèm, dữ liệu sẽ đến đúng nơi cần thiết.
- Địa chỉ IP: là một mã định danh duy nhất được gán cho một thiết bị hoặc tên miền kết nối với Internet. Mỗi địa chỉ IP là một chuỗi ký tự, chẳng hạn như '192.168.1.1'. Thông qua bộ phân giải DNS , dịch tên miền dễ đọc thành địa chỉ IP, người dùng có thể truy cập các trang web mà không cần ghi nhớ chuỗi ký tự phức tạp này. Mỗi gói tin IP sẽ chứa cả địa chỉ IP của thiết bị hoặc tên miền gửi gói tin và địa chỉ IP của người nhận dự định, tương tự như cách cả địa chỉ đích và địa chỉ trả về được ghi trên một lá thư.
- IPv4 ((Internet Protocol version 4): là phiên bản thứ tư của giao thức Internet (Internet Protocol). IPv4 là một giao thức phổ biến dùng để truyền dữ liệu giữa các thiết bị trên Internet hoặc mạng nội bộ. Đây là một giao thức không kết nối, nghĩa là dữ liệu có thể được gửi đi mà không cần kiểm tra xem thiết bị nhận có sẵn sàng hay không.
- IPv6 (Internet Protocol version 6): là phiên bản mới nhất của giao thức Internet (IP), được thiết kế để thay thế IPv4 do tình trạng thiếu địa chỉ IP trên IPv4. Nếu IPv4 là một thành phố với khoảng 4.3 tỷ địa chỉ nhà, thì IPv6 là cả một thiên hà với số lượng địa chỉ gần như vô hạn.
- Hoạt động của định tuyến IP:
- Internet được tạo thành từ các mạng lớn được kết nối với nhau, mỗi mạng chịu trách nhiệm cho một số khối địa chỉ IP nhất định; những mạng lớn này được gọi là hệ thống tự trị (AS) . Nhiều giao thức định tuyến, bao gồm BGP , giúp định tuyến các gói tin qua các AS dựa trên địa chỉ IP đích của chúng. Bộ định tuyến có bảng định tuyến cho biết các gói tin nên đi qua AS nào để đến đích mong muốn nhanh nhất có thể. Các gói tin di chuyển từ AS này sang AS khác cho đến khi chúng đến một AS nhận trách nhiệm về địa chỉ IP được nhắm mục tiêu. Sau đó, AS này sẽ định tuyến nội bộ các gói tin đến đích.
All rights reserved