eng
competition

Text Practice Mode

Cơ chế kiểm tra độ toàn vẹn của một goi tin trong giao thức

created Mar 12th 2021, 14:49 by Đặng Ngọc Phúc


0


Rating

2158 words
0 completed
00:00
chế kiểm tra độ toàn vẹn các gói tin trong giao thức
 
 
 
 
Giao thức mạng
Trước tiên chúng ta cần hiểu giao thức mạng ?
Giao thức mạng hay protocol một tập hợp các quy tắc chuẩn dành
cho việc biểu diễn dữ liệu, phát tín hiệu, chứng thực phát hiện lỗi dữ
liệu - những việc cần thiết để gửi thông tin qua các kênh truyền thông,
 
 
nhờ đó các máy tính (và các thiết bị) thể kết nối trao đổi thông
tin với nhau. Các giao thức truyền thông dành cho truyền thông tín hiệu
số trong mạng máy tính nhiều tính năng để đảm bảo việc trao đổi dữ
liệu một cách đáng tin cậy qua một kênh truyền thông không hoàn hảo
(theo WikipediA ) .
Giao thức không quy định một cách chi tiết việc thực hiện các quy tắc
quy ước trong một hệ thống như thế nào. Cùng với các thực thể (entities)
tham gia trao đổi số liệu tạo thành Máy giao thức (Protocol
Machine/Engine). Trong đó, thực thể (entities) một thứ đó tồn tại
tách biệt với thứ khác xác định riêng nó. dụ một số giao thức như:
TCP/IP, SPX/IPX, v.v…
Các dạng liên kết của Protocol :
 
2
 
 
1. Connectionless
 
& Connection- Oriented protocols: Giao thức
 
hướng kết nối giao thức không kết nối .
a) Giao thức hướng kết nối : kiểm soát được dữ liệu đường
truyền , dữ liệu được truyền theo tuần tự , nếu nhận thành
công thì nơi nhận phải gửi tín hiệu ACK ( ACKnowledge ).
dụ : Giao thức TCP, SPX ,...
b) Giao thức không kết nối : không kiểm soát đường truyền , dữ
liệu không bảo đảm đến được nơi nhận , dữ liệu thường dưới
dạng Datagrams, thường được sử dụng khi xem các video
 
2.
 
 
hay live trực tuyến . dụ : Giao thức UDP của TCP/IP ,..
Routable & non-Routable protocols: Giao thức khả năng định
tuyến giao thức không khả năng định tuyến .
a) Giao thức khả năng định tuyến : các giao thức cho
phép đi qua các thiết bị liên mạng như Router để xây dựng
các mạng lớn . Nói nôm na khi nhiều đường đi đến
một mạng cùng tồn tại , giao thức sẽ xác định con đường tốt
nhất cho gói tin .Ví dụ : Các giao thức khả năng định
tuyến như TCP/IP, SPX/IPX, ...
b) Giao thức không khả năng định tuyến : Ngược lại với
giao thức khả năng định tuyến, các giao thức này không
cho phép đi qua các thiết bị liên mạng như Router để xây
 
dựng các mạng lớn . dụ : NETBEUI ...
Giới thiệu về một số giao thức chế kiểm tra độ toàn vẹn của các gói
tin .
 
1. Giao thức UDP ( User Datagram Protocol )
Giao thức UDP một trong những giao thức cốt lõi của bộ giao thức TCP/IP .
Dùng UDP, chương trình trên mạng máy tính thể gửi những dữ liệu ngắn
được gọi Datagrams tới máy khác. UDP không cung cấp sự tin cậy hay thứ tự
truyền nhận , khi gửi các khối dữ liệu lớn thể không đúng thứ tự hoặc mất
không thông báo . Tuy nhiên UDP nhanh hiệu quả hơn đối với những
3
 
 
đoạn dữ liệu nhỏ yêu cầu khắt khe về thời gian . Do bản chất không trạng
thái của UDP nên hữu dụng đối với các truy vấn nhỏ với số lượng người yêu
cầu lớn . Những ứng dụng phổ biến sử dụng UDP thể kể đến như DNS
 
( Domain Name System ), ứng dụng stream media , voice over IP , game trực
tuyến , ...
UDP giao thức không kết nối , kém tin cậy không chế kiểm tra độ
tin cậy của dữ liệu . Mỗi gói tin UDP được gọi Datagrams được phân làm 2
phần header data . Trong đó header bao gồm địa chỉ cổng nguồn , địa chỉ
cổng đích , độ dài của gói checksum .
 
Cấu trúc một gói tin của giao thức UDP
Đặc điểm của UDP:

 
Giao thức UDP nằm tầng Transport trong hình OSI
 

 
Đây một giao thứ phi kết nối, thể truyền tải dữ liệu ngay không
cần thiết lập bất cứ kết nối nào
 

 
Sửa lỗi bị hạn chế do chỉ Checksum
 

 
một giao thức Best-effort, truyền dữ liệu không tin cậy (Unreliable)
4
 
 

 
 
Không chức năng khôi phục dữ liệu hay yêu cầu gửi lại dữ liệu bị mất
 
chế kiểm tra độ toàn vẹn của gói tin : UDP không chế kiểm tra độ toàn
vẹn của gói tin . Lỗi chỉ được phát hiện hay kiểm tra dựa vào thuật toán CRC
kiểm tra phần checksum kiểm tra cũng rất qua loa .
 
2. Giao thức TCP ( Transmission Control Protocol )
một trong các giao thức cốt lõi của bộ giao thức TCP/IP. Sử dụng TCP, các
ứng dụng trên các máy chủ được nối mạng thể tạo các "kết nối" với nhau,
qua đó chúng thể trao đổi dữ liệu hoặc các gói tin. Giao thức này đảm bảo
chuyển giao dữ liệu tới nơi nhận một cách đáng tin cậy đúng thứ tự. TCP còn
phân biệt giữa dữ liệu của nhiều ứng dụng (chẳng hạn, dịch vụ Web dịch vụ
thư điện tử) đồng thời chạy trên cùng một máy chủ.
TCP hỗ trợ nhiều giao thức ứng dụng phổ biến nhất trên Internet các ứng
dụng kết quả, trong đó WWW, thư điện tử Secure Shell. Trong bộ giao
thức TCP/IP, TCP tầng trung gian giữa giao thức IP bên dưới một ứng
dụng bên trên. Các ứng dụng thường cần các kết nối đáng tin cậy kiểu đường
ống để liên lạc với nhau, trong khi đó, giao thức IP không cung cấp những dòng
kiểu đó, chỉ cung cấp dịch vụ chuyển gói tin không đáng tin cậy. TCP làm
nhiệm vụ của tầng giao vận trong hình OSI đơn giản của các mạng máy tính.
Không như giao thức UDP giao thức thể lập tức gửi gói tin không cần
thiết lập kết nối, TCP đòi hỏi thiết lập kết nối trước khi bắt đầu gửi dữ liệu
kết thúc kết nối khi việc gửi dữ liệu hoàn tất. Cụ thể, các kết nối TCP ba pha:
Thiết lập kết nối
Truyền dữ liệu
Kết thúc kết nối
5
 
 
chế kiểm tra độ toàn vẹn của các gói tin
 
TCP tạo ra các kết nối giữa 2 máy cần trao đổi dữ liệu (tạo một đường ống
riêng ) qua đó các gói tin được đảm bảo truyền đến nơi nhận 1 cách đáng tin
cậy đúng thứ tự . Nguyên tắc hoạt động :
TCP tại máy nguồn phân chia các byte dữ liệu cần truyền đi thành các đoạn
( Segment ) kích thước thích hợp . Sau đó , TCP chuyển các gói tin này qua
giao thức IP để gửi qua một liên mạng đến TCP máy đích . TCP nguồn
kiểm tra để không một gói tin nào bị thất lạc bằng cách gán cho mỗi gói tin
một số thứ tự ( Sequence Number ) . Khi TCP đích nhận được , họ gửi về TCP
nguồn một thông báo đã nhận ( Acknowledgement ACK ) cho các gói tin đã
nhận thành công , Một đồng hồ tại TCP nguồn sẽ báo time-out nếu không nhận
được tin báo nhận trong khoảng thời gian bằng một RRT ( Round Trip Time ) ,
dữ liệu ( lúc này được tính thất lạc ) sẽ được gửi lại . TCP đích sẽ kiểm tra
Checksum xem byte nào bị hỏng trong quá trình vận chuyển hay không ? Giá
trị checksum này được tính toán cho mỗi gói dữ liệu tại nơi gửi trước khi
được gửi kiểm tra tại nơi nhận .
Ưu điểm của TCP so với UDP :
 

 
Truyền dữ liệu không lỗi ( Do chế sửa lỗi / Truyền lại )
 

 
Truyền dữ liệu đi theo đúng thứ tự .
 

 
Truyền lại dữ liệu đã mất hoặc bị thất lạc .
 

 
 
Loại bỏ các gói dữ liệu trùng lặp .
 
chế hạn chế tắc nghẽn trên đường truyền .
 
6
 
 
3. Giao thức HTTP ( HyperText Transfer Protocol )
HTTP - Giao thức truyền tải siêu văn bản một trong năm giao thức chuẩn về
mạng Internet, được dùng để liên hệ thông tin giữa Máy cung cấp dịch vụ (Web
server) Máy sử dụng dịch vụ (Web client) giao thức Client/Server dùng
cho World Wide Web - WWW, HTTP một giao thức ứng dụng của bộ giao
thức TCP/IP (các giao thức nền tảng cho Internet).
HTTP cùng với HTML phát kiến của Tim Berners-Lee CERN vào năm
1989 đứng sau các tổ chức lớn (IETF) World Wide Web Consortium
(W3C), đỉnh cao việc công bố ra hàng loạt các bản RFC(Request for
Comments) .
HTTP được viết bởi ngôn ngữ HTML, từ lúc công bố đến nay đã trải qua nhiều
phiên bản 1.x (1.0, 1.1, 1.2,1.3) đến ngày nay phiên bản 2.x
Điểm mạnh của giao thức HTTP hỗ trợ cả hai cách : Kết nối liên tục kết
nối không liên tục . dụ : HTTP 1.0 sử dụng kết nối không liên tục . Trong khi
đó chế độ mặc định của HTTP 1.1 lại kết nối liên tục . Ngoài ra đặc biệt
HTTP server không nhớ thông tin về client , thế HTTP được gọi Giao thức
không trạng thái .
So sánh một chút , một vài nhược điểm trong kết nối không liên tục : Thứ
nhất , khi liên kết mới được tạo ra , phía client server phải tạo ra vùng đệm
TCP ( buffer ) cũng như lưu trữ các lại các biến TCP . Tức khi gửi các thông
điệp yêu cầu hay trả lời , đều tạo ra biến TCP mới biến vẫn được lưu lại .
Điều này chính gánh nặng cho server khi nhiều client cùng yêu cầu cùng
 
một lúc . Với cách kết nối liên tục , server không đóng các liên kết TCP sau khi
gửi thông điệp yêu cầu trả lời . Các thông điệp sau đó ( giữa cùng một client
server ) được gửi qua cùng một kết nối trước đó . Giảm thiểu được áp lực
khá nhiều cho server . Ta cùng tìm hiểu về cách thức hoạt động của HTTP
7
 
 
Thông điệp HTTP yêu cầu:
 
Cấu trúc chung của thông điệp HTTP yêu cầu
-
 
Request line: dòng đầu tiên của thông điệp HTTP yêu cầu. Request line bao
gồm 3 trường như: cách thức (method), URL, phiên bản (version). Trường
cách thức (method) thể chứa các giá trị khác nhau, bao gồm GET, POST,
HEAD. Phần lớn các thông điệp HTTP yêu cầu điều sử dụng phương thức GET.
Các phương thức GET được sử dụng khi trình duyệt yêu cầu một đối tượng
được xác định trong trường URL. Phương thức POST những phương thức
HTTP client sử dụng khi người dùng điền vào một biểu mẫu (form) nào đó,
chẳng hạn như người dung muốn nhập một từ khóa nào đó vào google.com đề
tìm kiếm thông tin. Nếu phương thức POST thì Entity body của thông điệp
yêu cầu sẽ chứa thông tin người dùng đã điền. Phương thức HEAD tương tự
như GET, nhưng Khi server nhận được yêu cầu bằng phương thức HEAD, sẽ
trả về thông điệp HTTP không chứa đối tượng được yêu cầu.
 
-
 
Header line: các dòng tiếp theo.
 
-
 
 
Sp: bao gồm các giá trị về khoảng trống.
 
-
 
Blank line: bao gồm các giá trị điều khiển trở về đầu dòng, xuống hang (cr,lf).
 
-
 
Entity Body (nếu có): phần thân của thông điệp HTTP yêu cầu.
Thông điệp HTTP trả lời
 
 
 
 

saving score / loading statistics ...