Bạn đang tìm hiểu các kiến thức về mạng và vô tình gặp các bài viết có đề cập đến Protocol ? Vậy Protocol là gì? Protocol hoạt động như thế nào? Chức năng của Protocol ra sao?
Tìm hiểu chung về Protocol
Protocol là gì?
Protocol hay giao thức là tập hợp những quy tắc hướng dẫn để giao tiếp dữ liệu. Các quy tắc được chuẩn hoá từng bước cho quá trình giao tiếp giữa hai hoặc nhiều máy tính với nhau. Các mạng (network) phải tuân thủ theo các quy tắc này mới có thể truyền dữ liệu một cách an toàn chuẩn xác.
Giống như các ngôn ngữ lập trình, các Protocol được phát triển dựa trên các quy tắc đặc biệt và thiết kế để mang lại hiệu quả cao nhất. Một một quy tắc sẽ được định danh với một cái tên riêng. Protocol thường được chuẩn hoá cho quá trình truyền dữ liệu, một số quá trình như:
- Type of task: loại nhiệm vụ
- Process nature: Bản chất của quy trình
- Data flow rate: Tốc độ của dòng dữ liệu
- Data type: Loại dữ liệu được truyền đi
- Device management: Quản lý các thiết bị
Trong một quá trình có thể được xử lý bởi một hoặc nhiều Protocol cùng lúc. Sự phối hợp các Protocol lại với nhau tạo ra một Protocol family (tạm dịch: bộ giao thức).
Protocol hoạt động như thế nào?
Như đã đề cập ở trên, Protocol family là tập hợp nhiều Protocol khác nhau.
Một bộ giao thức lớn sẽ chia thành nhiều lớp riêng biệt với các chức năng và nhiệm vụ riêng biệt trên từng cấp độ một.
Nếu bạn là “dân học IT” và đã học qua môn “Nhập môn mạng máy tính”, bạn sẽ biết đến mô hình OSI như trong ảnh bên dưới.
Giải thích một cách đơn giản, OSI – Open Systems Interconnection hay mô hình kết nối hệ thống mở do Tổ chức tiêu chuẩn hóa quốc tế tạo ra. Mô hình này cho phép các hệ thống khác nhau có thể giao tiếp với nhau.
Mô hình OSI có thể được xem là một ngôn ngữ chung cho mạng máy tính và được chia thành 7 lớp xếp chồng lên nhau.
- Tầng 1: Tầng vật lý (Physical Layer) Dùng để truyền nhận các chuỗi bit nhờ các thiết bị vật lý.
- Tầng 2: Tầng liên kết dữ liệu (Data-Link Layer) Dùng để tạo khung thông tin cũng như kiểm soát luồng đi và các lỗi có thể xảy ra.
- Tầng 3: Tầng mạng (Network Layer) Tầng này thực hiện đảm bảo thông tin trong đổi một cách liên tục và chọn đường đi, công nghệ chuyển mạch sao cho phù hợp.
- Tầng 4: Tầng giao vận (Transport Layer) Giúp vận chuyển thông tin giữa các máy chủ với nhau. Tầng này cũng chịu trách nhiệm kiểm soát các luồng và kiểm soát các lỗi có thể xảy ra.
- Tầng 5: Tầng phiên (Session layer) Tầng này thiết lập, duy trì và đồng bộ hoá liên lạc giữa các thực thể. Tầng này cũng có chức năng huỷ bỏ các phiên truyền đi giữa các ứng dụng với nhau.
- Tầng 6: Tầng trình diễn (Presentation layer) Có trách nhiệm chuyển đổi những thông tin dữ liệu để đáp ứng các yêu cầu của ứng dụng.
- Tầng 7: Tầng ứng dụng (Application layer) Đây là tầng cuối cùng giúp người dùng có thể giao tiếp với môi trường mạng.
Chức năng của Protocol là gì?
Chức năng đóng gói
Trong quá trình trao đổi thông tin giữa các thiết bị với nhau sẽ có một số thông tin được truyền đi như:
- Địa chỉ gửi đi
- Địa chỉ đến
- Các cấu hình điều khiển giao thức
- Các mã lỗi
Việc thêm các thông tin vào trong gói dữ liệu này được gọi là quá trình đóng gói – Encapsulation. Khi gói được vận chuyển lên tầng tiếp theo, thông tin về các cấu hình điều khiển giao thức sẽ bị gỡ bỏ.
Chức năng cắt đoạn và ghép lại
Từng tầng Protocol sẽ có những yêu cầu về kích thước gói dữ liệu khác nhau và bắt buộc dữ liệu phải cắt ra thành từng gói nhỏ, phù hợp với quy định.
Vì thế, chức năng cắt đoạn là rất cần thiết để quá trình giao tiếp giữa các tầng diễn ra thuận lợi và chính xác nhất.
Khi phân cắt ra, chắc chắn sẽ phải có quá trình ghép lại khi gói đến đích. Trong quá trình cắt ghép lại với nhau, chúng sẽ được đảm bảo đúng thứ tự để dữ liệu không bị sai lệch.
Protocol được sử dụng trong quá trình này là PDU – Protocol Data Unit tạm dịch đơn vị giao thức dữ liệu.
Chức năng điều khiển liên kết
Việc trao đổi thông tin giữa 2 thiết bị hoặc 2 thực thể khác nhau có thể thực hiện thông qua 2 phương thức: Connectionless và Connection – Oriented.
Connectionless
Connectionless tạm dịch là phương thức kết nối không liên kết. Với phương thức này, bạn không cần phải đảm bảo các yêu cầu về: mức độ tin cậy, chất lượng dịch vụ và cũng không có yêu cầu xác nhận giữa 2 bên với nhau.
Connection – Oriented
Connection – Oriented tạm dịch là phương thức kết nối có định hướng.
Ngược lại với phương thức Connectionless, Connection – Oriented yêu cầu quá trình kết nối phải có mức độ tin cậy cao, phải đảm bảo được chất lượng của dịch vụ và có sự xác nhận của 2 bên.
Trong quá trình trao đổi thông tin, các kết nối sẽ được dựng lên, sau khi truyền dữ liệu kết thúc. Kết nối đó sẽ được hủy bỏ.
Chức năng giám sát
Các gói tin được được vận chuyển độc lập với nhau. Vì vậy khi đến điểm cuối cùng, có khả năng chúng không đến đúng thứ tự như lúc đi.
Do vậy, khi vận chuyển chúng cần được phải giám sát chặt chẽ, mỗi gói tin sẽ có một tập mã riêng biệt và tuần tự. Với cách này, khi gói đến đích sẽ có thứ tự đúng như lúc đi.
Chức năng điều khiển lưu lượng
Có thể nói rằng, điều khiển lưu lượng là một chức năng rất quan trọng. Chức năng này giúp ích rất nhiều để đảm bảo khối lượng dữ liệu truyền và nhận.
Khi các gói tin được vận chuyển đi, cả bên gửi lẫn bên nhận cần phải được đảm bảo về yếu tố tốc độ và số lượng gửi nhận. Đồng thời, chức năng này cũng giúp tránh tình trạng lưu lượng gửi đi quá nhiều và làm cho bên nhận bị quá tải.
Chức năng điều khiển lỗi
Trong quá trình vận chuyển nếu xảy ra lỗi hoặc sự cố gây hỏng, mất dữ liệu, chức năng điều khiển lỗi sẽ chịu trách nhiệm phát hiện việc này.
Không chỉ phát hiện, chức năng điều khiển lỗi còn có thể yêu cầu gửi lại gói tin bị hỏng lần nữa để đảm bảo sự toàn vẹn và chính xác của dữ liệu.
Chức năng đồng bộ hoá
Cả hai máy tính hoặc 2 thực thể tham gia vào việc truyền dữ liệu cần phải có đồng bộ một Protocol như: Các giá trị tham số trạng thái, các định nghĩa trạng thái, kích thước cửa sổ và các thông số khác.
Các thông số của Protocol cần phải được đồng bộ giữa 2 thực thể. Nếu không, tình trạng thất lạc các gói có thể xảy ra.
Một số giao thức Protocol phổ biến trên Internet
TCP
TCP – Transmission Control Protocol là một Protocol tầng vận chuyển đảm bảo cung cấp dữ liệu an toàn và chính xác. TCP được sử dụng cùng IP và hai Protocol này thường sẽ đi cùng nhau trở thành TCP/IP.
HTTP
HTTP – Hypertext Transfer Protocol tạm dịch là Giao thức truyền tải siêu văn bản. Protocol này chính là nền tảng của World Wide Web, mạng lưới Internet bạn đang sử dụng để đọc bài viết này. HTTP nằm ở Tầng Ứng dụng (Tầng 7).
Xem thêm về HTTP Request và HTTP Response trong lập trình Web.
HTTPS
HTTP không được mã hoá, vì vậy tính bảo mật của HTTP không cao. HTTPS ra đời nhằm nâng cấp khả năng chống lại các cuộc tấn công lấy cắp hoặc trộm dữ liệu của bạn, bằng cách mã hoá các thông điệp HTTP.
TLS / SSL
TLS – Transport Layer Security là giao thức mà HTTPS sử dụng để mã hóa. Có thể, bạn biết đến một phương thức mã hoá quen thuộc nữa là SSL – Secure Sockets Layer.
UDP
UDP – User Datagram Protocol tạm dịch là Giao thức dữ liệu người dùng. Protocol này là một giải pháp thay thế cho TCP ở tầng Vận chuyển. Tuy nhiên, giao thức UDP nhanh nhưng lại kém an toàn hơn so với TCP.
Với lợi thế về tốc độ, các dịch vụ như xem video trực tuyến, chơi game hay chuyển dữ liệu sẽ là những công việc phù hợp với UDP.
Qua bài viết này, TinoHost mong rằng những kiến thức về Protocol sẽ giúp ích được cho công việc và sự nghiệp của bạn. Chúc bạn thành công và luôn may mắn!
Những câu hỏi thường gặp
Có thể sử dụng Protocol vào mục đích xấu hay không?
Bạn sẽ thấy nhiều giao thức bị lợi dụng để tạo ra những cuộc tấn công DDOS là một điển hình.
WAP là gì?
WAP – Wireless Application Protocol là giao thức cho phép trao đổi thông tin giữa các thiết bị không dây. Ví dụ: Điện thoại di động, máy tính bảng, laptop với nhau….
ADSL là gì?
ADSL – Asymmetric Digital Subscriber Line là một phương pháp giúp truyền dữ liệu có tốc độ ổn định và băng thông cao hơn so với những giao thức truy cập qua đường dây điện thoại theo cách truyền thống.
Các bộ định tuyến (Routers) sử dụng Protocol nào?
Có rất nhiều giao thức được bộ định tuyến sử dụng. Nhưng các Protocol quan trọng nhất bao gồm: BGP, EIGRP, OSPF, RIP.