Hiện nay, tự động hóa quá trình đã phát triển khá mạnh mẽ trong công nghiệp, điều này giúp mang lại hiệu quả cao trong sản xuất, nhưng bên cạnh đó, lượng thông tin trao đổi trong hệ thống cũng như trong nhà máy, xí nghiệp, . . . không ngừng tăng lên. Để điều khiển phân xưởng hay nhà máy hoạt động ổn định, nhịp nhàng thì cần phải thu thập và xử lý rất nhiều thông tin về các vấn đề như: thông số kỹ thuật, nguyên vật liệu, nhu cầu đơn đặt hàng, các lỗi và sự cố xảy ra trong quá trình sản xuất, . . . Do đó nhu cầu đặt ra là cần phải nối mạng, thực hiện các giải pháp tự động hóa sử dụng truyền thông số để có thể thu thập, xử lý thông tin nhanh chóng, chính xác, kịp thời, tối ưu hóa được quá trình sản xuất. Bên cạnh đó, các thao tác vận hành tay tại chỗ nhiều khi lại tỏ ra không hợp lý, nhất là trong những trường hợp hệ thống xảy ra sự cố. Bất hợp lý thể hiện ở chỗ ngoài việc chậm trễ khi cử nhân viên kỹ thuật đến hiện trường khắc phục sự cố, còn có những vấn đề khó khăn trong việc chẩn đoán lỗi và các hỏng hóc xảy ra cho hệ thống. Điều này làm kéo dài thời gian khắc phục sự cố, gây thiệt hại nhiều cho khách hàng, do đó mà chất lượng dịch vụ giảm xuống. Khả năng thực hiện các thao tác vận hành từ xa và đảm bảo cho các thao tác đó đúng theo yêu cầu cho phép tiết kiệm được nhiều chi phí trong vận hành hệ thống. Những nguyên nhân chính đó đã trở thành động lực để hệ thống SCADA phát triển. SCADA là thuật ngữ viết tắt của Supervisory Control And Data Acquisition. SCADA chỉ những hệ thống thu thập dữ liệu từ nhiều cảm biến khác nhau của một quá trình hay quy trình sản xuất hoặc của nhiều trạm ở xa, sau đó gửi những dữ liệu này về máy tính trung tâm để quản lý và điều khiển dữ liệu. Hệ SCADA được sử dụng không chỉ trong các quy trình sản xuất công nghiệp như chế tạo sắt thép, sản xuất và phân phối điện năng (gồm cả điện năng thông thường và điện hạt nhân), dược phẩm, mà nó còn được dùng trong cả những ứng dụng mang tính thử nghiệm như phân rã hạt nhân. Các hệ SCADA có thể có kích cỡ khoảng từ vài ngàn cho đến vài chục ngàn ngõ vào ra.
Trang 1CHƯƠNG 1 : TỔNG QUAN VỀ HỆ SCADA VÀ SCADA
TRÊN NỀN WEB 1.1 Giới thiệu chung về hệ SCADA
1.1.1 Sơ lược lịch sử hệ SCADA
Hiện nay, tự động hóa quá trình đã phát triển khá mạnh mẽ trong công nghiệp, điều này giúp mang lại hiệu quả cao trong sản xuất, nhưng bên cạnh đó, lượng thông tin trao đổi trong hệ thống cũng như trong nhà máy, xí nghiệp, không ngừng tăng lên Để điều khiển phân xưởng hay nhà máy hoạt động ổn định, nhịp nhàng thì cần phải thu thập và xử lý rất nhiều thông tin về các vấn đề như: thông số kỹ thuật, nguyên vật liệu, nhu cầu đơn đặt hàng, các lỗi và sự cố xảy ra trong quá trình sản xuất, Do đó nhu cầu đặt ra là cần phải nối mạng, thực hiện các giải pháp tự động hóa sử dụng truyền thông số để có thể thu thập, xử lý thông tin nhanh chóng, chính xác, kịp thời, tối ưu hóa được quá trình sản xuất Bên cạnh
đó, các thao tác vận hành tay tại chỗ nhiều khi lại tỏ ra không hợp lý, nhất là trong những trường hợp hệ thống xảy ra sự cố Bất hợp lý thể hiện ở chỗ ngoài việc chậm trễ khi cử nhân viên kỹ thuật đến hiện trường khắc phục sự cố, còn có những vấn đề khó khăn trong việc chẩn đoán lỗi và các hỏng hóc xảy ra cho hệ thống Điều này làm kéo dài thời gian khắc phục sự cố, gây thiệt hại nhiều cho khách hàng, do đó
mà chất lượng dịch vụ giảm xuống Khả năng thực hiện các thao tác vận hành từ xa
và đảm bảo cho các thao tác đó đúng theo yêu cầu cho phép tiết kiệm được nhiều chi phí trong vận hành hệ thống
Những nguyên nhân chính đó đã trở thành động lực để hệ thống SCADA phát triển
SCADA là thuật ngữ viết tắt của Supervisory Control And Data Acquisition
SCADA chỉ những hệ thống thu thập dữ liệu từ nhiều cảm biến khác nhau của một quá trình hay quy trình sản xuất hoặc của nhiều trạm ở xa, sau đó gửi những dữ liệu này về máy tính trung tâm để quản lý và điều khiển dữ liệu
Hệ SCADA được sử dụng không chỉ trong các quy trình sản xuất công nghiệp như chế tạo sắt thép, sản xuất và phân phối điện năng (gồm cả điện năng thông
Trang 2thường và điện hạt nhân), dược phẩm, mà nó còn được dùng trong cả những ứng dụng mang tính thử nghiệm như phân rã hạt nhân Các hệ SCADA có thể có kích cỡ khoảng từ vài ngàn cho đến vài chục ngàn ngõ vào ra
Cụm từ "Supervisory Control and Data Acquisition" được sử dụng đầu tiên
trong ngành điện năng tại hội nghị PICA (Power Industry Computer Applications),
năm 1973 Theo nghĩa cổ điển, SCADA là các hệ thu thập dữ liệu và giám sát tập trung từ xa với chức năng chủ yếu là quan sát, ít có điều khiển Trước khi có sự phát triển như hôm nay, hệ thống SCADA trước kia chỉ đơn thuần là hệ thống truyền tin
và báo tín hiệu, với điển hình là hệ thống giám sát, thu thập thông tin từ các cảm biến theo kiểu đấu dây trực tiếp từ tất cả các cảm biến về bảng điện trung tâm gồm
có đồng hồ đo, đèn báo, dụng cụ ghi lại và vẽ biểu đồ
SCADA ban đầu có nhiệm vụ thuần túy là thu thập dữ liệu từ các trạm ở xa và truyền tải về khu trung tâm để xử lý Trong những hệ thống như vậy, hệ truyền thông và phần cứng được quan tâm nhiều hơn
Hệ SCADA cổ điển có những lợi điểm sau:
– Đơn giản, không cần CPU, RAM, ROM hoặc một phần mềm lập trình nào
– Cảm biến được nối trực tiếp đến các máy đo, các công tắc, các đèn trên bảng điều khiển
– Việc thêm vào các thiết bị đơn giản như công tắc, thiết bị hiển thị sẽ
dễ dàng và rẻ tiền
Nhưng hệ SCADA cổ điển cũng tồn tại rất nhiều bất lợi như:
– Khó quản lý được dây nối sau khi đã lắp đặt hàng trăm cảm biến – Số lượng dữ liệu nhỏ, loại dữ liệu thô sơ
– Việc lắp đặt thêm các cảm biến sẽ trở nên khó dần khi hệ thống mở rộng hơn
– Việc cấu hình lại hệ thống sẽ trở nên cực kỳ khó
– Việc mô phỏng với những dữ liệu thực không thể thực hiện được – Lưu trữ được ít dữ liệu và quản lý dữ liệu khó
Trang 3– Giám sát dữ liệu và các báo động không thực hiện được tại chỗ
– Những người vận hành phải theo dõi các thiết bị hiển thị, các máy đo trong 24 giờ một ngày
Hiện nay, sự phát triển vượt bậc của công nghệ truyền thông và công nghệ phần mềm đã đem lại nhiều khả năng và giải pháp mới nên trọng tâm của công việc thiết kế hệ SCADA là lựa chọn công cụ phần mềm để thiết kế giao diện và các giải pháp tích hợp hệ thống Ngày nay, hệ SCADA đã được sử dụng để điều khiển giám sát và thu thập dữ liệu theo đúng như tên gọi của nó Có thể nói hệ SCADA đang phát triển và có khuynh hướng phát triển trong hầu hết các lĩnh vực của công nghiệp
1.1.2 Giới thiệu về hệ SCADA hiện đại
Hiện nay, những dây chuyền sản xuất và công nghiệp hiện đại, công nghiệp
mỏ, các công trình công cộng và cá nhân, thường cần phải kết nối với những thiết bị và những hệ thống cách xa nhau Khoảng cách này có thể từ vài mét cho đến
hàng ngàn kilomet Phép đo từ xa (telemetry ) được sử dụng để gởi các lệnh, các
chương trình và nhận về thông tin giám sát từ các vị trí ở xa này Hệ SCADA hiện đại là hệ thống điều khiển và thu thập dữ liệu, cho phép người vận hành giám sát và điều khiển quá trình được phân tán ra nhiều vị trí ở xa
SCADA dựa trên sự kết hợp phép đo từ xa với thu thập dữ liệu SCADA bao gồm việc thu thập các thông tin, truyền nó về vị trí trung tâm, thực hiện các phép phân tích hoặc điều khiển cần thiết và sau đó hiển thị các thông tin lên các màn hình vận hành hoặc màn hình hiển thị Những hoạt động điều khiển được yêu cầu sẽ được truyền trở lại quy trình
Ban đầu, các rơ le logic được sử dụng trong việc thu thập dữ liệu của các hệ thống sản xuất của các xí nghiệp Sau đó, với sự phát triển của các CPU và các thiết
bị điện tử, các nhà sản xuất đã kết hợp điện tử số vào trong các thiết bị rơ le logic Các PLC vẫn là một trong những thiết bị điều khiển được sử dụng rộng rãi nhất trong công nghiệp Khi cần giám sát và điều khiển nhiều thiết bị hơn ( xí nghiệp đã
Trang 4được mở rộng), các PLC được phân tán và hệ thống trở nên thông minh hơn PLC
và DCS (Distributed Control System) được sử dụng như hình 1.1 bên dưới
Bus trường
PLC / DCS
Cảm biến / Cơ cấu chấp hành
Hình 1.1: Nối giữa PC với PLC hoặc DCS và các cảm biến qua bus trường Các hệ thống SCADA hiện đại đã khắc phục được những nhược điểm của hệ SCADA cổ điển và có nhiều đặc tính tiên tiến như: máy tính có thể ghi và lưu trữ một lượng dữ liệu lớn, dữ liệu có thể hiển thị theo bất cứ cách nào mà người dùng yêu cầu, hàng ngàn cảm biến trên một khu vực rộng có thể kết nối đến hệ thống, người vận hành có thể liên kết việc mô phỏng dữ liệu kiểu thực vào hệ thống, nhiều
loại dữ liệu có thể được thu thập từ các RTU (Remote Terminal Unit), dữ liệu có thể
được xem ở bất cứ nơi nào chứ không phải chỉ ở hiện trường, hệ thống được giám sát rất trực quan và sinh động nhờ giao diện đồ họa với người sử dụng GUI
(Graphic User Interface) hay giao diện người/máy HMI (Human Machine Interface) Phần sau sẽ đề cập chi tiết về cấu trúc, chức năng, hệ truyền thông,
.của các hệ thống SCADA hiện đại
1.2 Kiến trúc phần cứng của một hệ SCADA
1.2.1 Kiến trúc hệ thống
Một hệ SCADA gồm nhiều thành phần, những thành phần cơ bản thường thấy là: các ngõ vào ra, các bộ điều khiển, giao diện người máy, các thiết bị truyền
Trang 5thông, hệ thống mạng và phần mềm Trên hết, thuật ngữ SCADA là để chỉ đến toàn
bộ hệ thống điều khiển trung tâm Hệ điều khiển trung tâm thường giám sát dữ liệu
từ nhiều cảm biến khác nhau, các cảm biến này có thể nằm gần hoặc xa trung tâm điều khiển, khoảng cách này có thể là hàng kilomet
Một hệ điều khiển và đo lường công nghiệp bao gồm một trạm trung tâm hay
còn gọi là trạm chủ (Master station) hoặc đơn vị điều khiển trung tâm MTU (Master Terminal Unit); một hoặc nhiều trạm điều khiển và thu thập dữ liệu từ xa hay gọi là đơn vị điều khiển từ xa RTU (Remote Terminal Unit); và một loạt các
phần mềm tiêu chuẩn hoặc tùy chọn được dùng để điều khiển và giám sát các dưc liệu từ xa Các hệ SCADA hiện nay thường chủ yếu thể hiện các tính chất của hệ điều khiển vòng hở và thường truyền thông với khoảng cách xa, tuy nhiên một vài tính chất điều khiển vòng kín và truyền thông ở khoảng cách gần vẫn có thể xuất hiện
Một hệ thống SCADA hiện đại có kiến trúc hệ thống được mô tả như hình 1.2
Hình 1.2: Kiến trúc cơ bản của một hệ SCADA
Trang 6Trong hệ thống điều khiển giám sát, các cảm biến và cơ cấu chấp hành đóng vai trò làm giao diện giữa thiết bị điều khiển với quá trình kỹ thuật Còn hệ thống điều khiển giám sát đóng vai trò là giao diện giữa người và máy Các thiết bị và các
bộ phận của hệ thống được ghép nối với nhau theo kiểu điểm – điểm (point to point) hoặc qua mạng truyền thông Tín hiệu thu được từ cảm biến và cơ cấu chấp
hành có thể là tín hiệu nhị phân, tín hiệu số hoặc tương tự
Như vậy, các thành phần chính trong kiến trúc của một hệ SCADA gồm: – Giao diện quá trình: Là giao diện giữa các thiết bị điều khiển với quá trình kỹthuật thông qua các cảm biến, các thiết bị đo lường, thiết bị chuyển đổi và truyền động
– Thiết bị điều khiển tự động: Gồm các bộ điều khiển chuyên dụng, các
bộ điều khiển logic khả trình PLC (Programmable Logic Controller), các máy tính
PC với các phần mềm điều khiển tương ứng
– Hệ thống điều khiển giám sát: Các thiết bị và phần mềm giao diện người máy HMI, các trạm kỹthuật, các trạm vận hành, giám sát và điều khiển cao cấp
– Hệ thống truyền thông: Có thể là truyền thông theo kiểu ghép nối điểm-điểm hoặc bằng bus cảm biến/chấp hành, bus trường, bus hệ thống
– Hệ thống bảo vệ: Gồm các thiết bị bảo vệ và cơ chế thực hiện chức năng an toàn hệ thống
Hiện nay các hệ SCADA thế hệ mới được xây dựng theo kiến trúc phân tán Trong kiến trúc phân tán, các máy tính điều khiển được nối mạng với nhau và với một hoặc nhiều máy tính giám sát trung tâm qua hệ thống bus Trong hệ SCADA xây dựng theo kiến trúc phân tán, công suất của máy chủ được phân bố trên một số
bộ xử lý được nối cùng với nhau bằng mạng cục bộ (LAN) Trong đó mỗi bộ xử lý
có một trách nhiệm nhất định như : thu thập và xử lý, tạo hiển thị, giám sát báo động, thiết lập báo cáo v.v… và một số bộ xử lý dùng để dự phòng Kiến trúc phân tán có thể mô tả như hình 1.3
Trang 7I /O BUS TRƯỜNG
.
QUÁ TRÌNH KỸ THUẬT
Hình 1.3: Hệ SCADA có kiến trúc phân tán
Hệ SCADA thiết kế theo kiến trúc phân tán có những ƣu điểm nổi trội nhƣ sau:
– Thời gian lắp đặt hệ thống nhanh chóng và tiết kiệm dây dẫn do sự thay đổi cách nối điểm – điểm bằng mạng truyền thông với hệ thống bus
– Cấu trúc hệ thống đơn giản nên dễ dàng chẩn đoán các lỗi và hƣ hỏng,
– Độ linh hoạt cao hơn, dễ dàng mở rộng, phát triển hệ thống và kết nối với hệ thống thông tin ở cấp trên
Trang 81.2.2 Các thành phần cơ bản của một hệ SCADA
Một hệ thống SCADA bao gồm một số các thiết bị đầu cuối từ xa RTUs
(remote terminal units) thu thập các dữ liệu trường và gửi các dữ liệu đó trở về trạm
chủ MTU thông qua một hệ thống truyền thông Trạm chủ sẽ hiển thị các dữ liệu đã được thu thập và cho phép người vận hành thực hiện các nhiệm vụ điều khiển từ xa
Sự chính xác và kịp thời của dữ liệu cho phép hoạt động của xí nghiệp và dây chuyền trở nên tối ưu Những lợi ích khác bao gồm hoạt động của xí nghiệp, dây chuyền sẽ hiệu quả hơn, đáng tin cậy hơn, và quan trọng nhất là an toàn hơn
Nếu không kể đến các thiết bị trường thì các thành phần cơ bản của một hệ SCADA có thể được mô tả như hình 1.4
Hình 1.4: Các thành phần cơ bản của một hệ SCADA (Nguồn : Bài giảng “Supervisory control and Data acquisition” (2008)
– Trương Đình Châu) Như vậy, những phần tử chính của hệ thống SCADA bao gồm: người vận
hành (operator), các thiết bị đầu cuối chính MTU (Master Terminal Unit), hệ thống truyền thông liên lạc CS (Communication System)và các thiết bị đầu cuối ở xa RTU (Remote Terminal Unit)
- Các trạm chủ MTU (Master Terminal Unit): MTU được xem là trung
tâm điều phối, thực hiện công việc xữ lý dữ liệu và điều khiển ở mức cao ở chế độ
Trang 9thời gian thực mềm Một trong những chức năng cơ bản của MTU là cung cấp giao diện giữa con người – quan sát viên với hệ thống MTU có thể bằng những dạng khác nhau, từ một máy tính đơn lẽ với các thiết bị cũ cho đến hệ thống máy tính lớn bao gồm các Server và Client Trong một hệ SCADA, MTU có nhiệm vụ là khởi động tất cả các công việc: truyền thông liên lạc, thu thập dữ liệu, lưu trữ thông tin, gửi thông tin đến các hệ thống khác, và giao tiếp với người điều hành MTU khởi động ảo tất cả các truyền thông bằng lập trình giữa nó và con người Hầu hết tất cả các truyền thông được thực hiện bởi MTU MTU cũng liên lạc với các thiết bị ngoại
vi khác như: monitor, máy in hoặc các hệ thống thông tin khác Thành phần giao tiếp cơ bản với người điều hành là màn hình giao diện người/ máy HMI mà trong đó hiển thị các lưu đồ công nghệ, hình ảnh máy móc, các đồ thị, các cửa sổ báo động, Khi dữ liệu đến thay đổi thì màn hình được cập nhật Hình 1.5 biểu diễn các thành phần nhập xuất của MTU
Hình 1.5: Các thành phần nhập xuất của MTU
- Các trạm từ xa RTU (Remote Terminal Unit): Một RTU là một đơn
vị điều khiển và thu thập dữ liệu độc lập, thông thường xây dựng dựa trên một vi xử
lý giám sát và điều khiển các thiết bị ở các vị trí xa từ trạm trung tâm Nhiệm vụ chính của RTU là điều khiển và thu thập dữ liệu từ các thiết bị của quy trình ở xa và truyền dữ liệu này trở về trạm trung tâm RTU cũng có khả năng nhận biết được cấu
MTU Tín hiệu đến các thiết bị khác
Tín hiệu từ người vận hành
Tín hiệu đến RTU Tín hiệu từ RTU
Trang 10hình và chương trình điều khiển của nó được tải về từ một số trạm trung tâm Đó là khả năng được cấu hình một cách cục bộ bởi một vài đơn vị lập trình RTU Mặc dù các RTU thường truyền thông về một số trạm trung tâm nhưng nó vẫn có khả năng
truyền thông theo kiểu ngang quyền (peer-to-peer)với các RTU khác
Các RTU kích cỡ nhỏ thường có ít hơn 10 đến 20 tín hiệu tương tự và số, các RTU cỡ trung bình thường có từ 100 ngõ vào số và 30 đến 40 ngõ vào tương tự Các RTU có sức chứa lớn hơn có thể được xếp vào loại lớn Cấu hình một RTU điển hình được chỉ ra trong hình 1.6 bên dưới
Kênh ngõ
ra tương tự
Kênh ngõ vào số
Kênh ngõ
ra số
MODEM
Bộ thu / phát tín hiệu Radio
Trang 11ngõ vào bộ đếm, các ngõ vào số, các ngõ ra số, các giao diện truyền thông, nguồn cấp, vỏ bọc và các thanh gắn RTU
RTU thu thập thông tin ở xa từ nhiều thiết bị nhập như các valve, bơm, báo
động (alarm), đồng hồ đo (meter)…Chủ yếu dữ liệu dạng analog (số thực), digital
(on/off), hoặc dữ liệu xung (như đếm số vòng xung của các meter) Nhiều RTU giữ thông tin thu thập được trong bộ nhớ và đợi yêu cầu từ MTU để truyền dữ liệu Các RTU hiện đại hơn có các máy vi tính và các PLCs nên có thể điều khiển trực tiếp qua địa điểm từ xa không cần định hướng của MTU Hình 1.7 sau mô tả các thành phần xuất nhập của RTU:
Hình 1.7: Các thành phần xuất nhập của RTU
- Hệ thống truyền thông CS (Communication System): Hệ thống truyền
thông (kênh liên kết) là môi trường cần thiết để truyền dữ liệu từ các địa điểm ở nơi
xa từ RTU đến MTU và truyền tín hiệu điều khiển đến RTU Hệ thống truyền thông cung cấp một đường truyền để truyền thông giữa trạm chủ và các vị trí ở xa Hệ thống truyền thông này có thể là dây dẫn, cáp quang, sóng vô tuyến, đương dây điện thoại, vi sóng và thậm chí có thể là vệ tinh Trong hệ thống truyền thông, các giao thức cụ thể và hệ thống phát hiện lỗi được sử dụng để việc tryền dữ liệu được hiệu quả và thuận lợi
RTU Tín hiệu đến thiết bị khác
Tín hiệu từ các thiết bị khác
Tín hiệu đến MTU Tín hiệu từ MTU
Trang 12- Vai trò của người vận hành (operator) trong hệ SCADA: Trong hệ
SCADA, người vận hành thực hiện các chức năng khá quan trọng Để vận hành hệ thống hoạt động đúng, ổn định, nhịp nhàng, người vận hành cần phải hiểu biết về hệ thống và kỹ thuật Người vận hành là người gán các thao tác điều khiển, các thông
số ban đầu hoặc thay đổi các thông số quá trình khi cần thiết để hệ thống có thể hoạt động Người vận hành cũng là người dự kiến các thao tác cần thiết và lập chương trình cho các bước thực hiện tiếp theo của hệ thống Khi hệ thống xảy ra sự cố, người vận hành có vai trò can thiệp vào quá trình để giải quyết sự cố đó Qua quá trình làm việc, người vận hành sẽ thu nhận những kinh nghiệm về hệ thống, những kinh nghiệm này rất cần thiết trong việc sửa chữa, cải tiến, mở rộng hệ thống
mở khi nó có những tính năng như: có khả năng tương tác, hợp tác giữa các thành phần của một hệ thống và giữa các hệ thống với nhau; có khả năng thay thế, mở rộng hệ thống bởi các sản phẩm do chính bản thân người sử dụng lựa chọn; có thể chuẩn hóa các giao diện quá trình (OPC là một ví dụ tiêu biểu); có khả năng kết hợp các thiết bị của các nhà sản xuất khác nhau trong cùng một hệ thống
Hiện nay, trên thị trường có nhiều gói phần mềm mở, Citect và WonderWare chỉ là hai trong các gói phần mềm mở có sẵn trong thị trường hệ thống SCADA Bảng 1.1 sau đây liệt kê một vài phần mềm SCADA trên thế giới
Trang 13Bảng 1.1: Các phần mềm SCADA trên thế giới
(Nguồn : Bài giảng “Supervisory control and Data acquisition” (2008)
– Trương Đình Châu) Các phần mềm SCADA có những đặc trưng chính bao gồm: Giao diện người dùng, các hình ảnh đồ họa hiển thị trên màn hình giao diện người – máy, các báo động, các sơ đồ và biểu đồ, giao diện RTU (và PLC), truy xuất dữ liệu, cơ sở dữ liệu, nối mạng, cơ chế dự phòng,
Các đặc trưng của một phần mềm SCADA có thể mô tả như trong hình 1.8
Hình 1.8: Cấu trúc phần mềm SCADA
Trang 14* Cơ sở dữ liệu:
Trong các đặc trưng của phần mềm SCADA, ta thấy cơ sở dữ liệu giữ vai trò trung tâm Trong hệ SCADA, dữ liệu được lưu trữ không những là dữ liệu đo đạc từ
xa, được tính toán mà còn có các thông số về các sự kiện và các cảnh báo Những
dữ liệu mà cơ sở dữ liệu của một hệ SCADA lưu trữ gồm: dữ liệu quá trình, dữ liệu tình trạng hệ thống, dữ liệu quá khứ, dữ liệu cảnh bảo, dữ liệu vận hành
Cơ sở dữ liệu trong các hệ SCADA thường có các chế độ bảo mật đặc biệt mục đích của việc bảo mật là nhằm hạn chế và kiểm soát các quyền trong những việc như: sửa đổi chương trình và chẩn đoán hệ thống, truy nhập màn hình, truy nhập dữ liệu, điều khiển hệ thống, xác nhận và xóa các cảnh báo, Các chế độ bảo mật thường được chia theo nhiều tiêu chí Việc chia này có thể hiểu như phân quyền truy nhập hệ thống việc phân quyền có thể là theo trạm vận hành hoặc trạm kỹ thuật, theo người hoặc nhóm ngời sử dụng, theo từng phân đoạn của hệ thống, theo từng trang màn hình, Các biện pháp bảo mật có thể là biện pháp phần cứng hoặc biện pháp phần mềm Đối với biện pháp phần cứng, người ta thường sử dụng các khóa an toàn, còn đối với phần mềm, người ta thường dùng các tên đăng nhập kèm với mật khẩu
* Giao diện người-máy:
Trên các giao diện người-máy người ta thường xây dựng các sơ đồ khối, các lưu đồ công nghệ, các giao diện máy móc, nhằm hiển thị tình trạng các thiết bị, máy móc, hiển thị các giá trị quá trình, các hình ảnh động minh họa, các phím điều khiển, Ngoài ra, trên giao diện người-máy còn có các đồ thị thời gian thực, đò thị quá khứ, các cửa sổ báo động, cửa sổ chỉ dẫn,
* Chức năng cảnh báo/báo động:
Chức năng cảnh báo báo động là một chức năng trọng tâm của hệ SCADA Chức năng này được xây dựng nhằm phát hiện các cảnh báo, các báo động và hiển thị cho người vận hành biết để can thiệp, nhằm đảm bảo sự hoạt động đúng và tính
an toàn của hệ thống Các cảnh báo, báo động thường được sắp xếp theo mức ưu tiên, tính cấp thiết của báo động, theo thời gian xảy ra báo động, theo loại cảnh báo,
Trang 15báo động Các cảnh báo báo động thường được hiển thị với các màu sắc nổi trội khác nhau và các hiệu ứng nhấp nháy, các âm thanh báo động dừng kèm để cảnh báo đến con người
1.4 Chức năng cơ bản của hệ SCADA
1.4.1 Mô hình phân cấp chức năng của SCADA:
Để hiểu rõ về chức năng của một hệ SCADA, người ta thường chia toàn bộ
hệ thống điều khiển giám sát thành các cấp chức năng như hình minh họa 1.9 bên dưới
Hình 1.9: Mô hình phân cấp chức năng của hệ SCADA Với loại mô hình này, các chức năng được phân thành nhiều cấp khác nhau,
từ dưới lên trên Càng ở những cấp dưới thì các chức năng càng mang tính cơ bản hơn, đòi hỏi yêu cầu cao hơn về độ nhanh nhạy, thời gian phản ứng Một chức năng
ở cấp trên được thực hiện dựa trên các chức năng ở cấp dưới nhưng ngược lại lượng thông tin cần trao đổi và xử lý của cấp trên lại lớn hơn nhiều
Việc phân cấp chức năng sẽ tiện lợi cho việc thiết kế hệ thống và lựa chọn thiết bị tùy thuộc vào mức độ tự động hóa và cấu trúc hệ thống cụ thể mà ta có mô hình phân cấp chức năng khác nahu Trong đó, chức năng của từng cấp như sau:
Trang 16– Cấp chấp hành: Các chức năng chính của cấp chấp hành là đo lường, dẫn động và chuyển đổi tín hiệu trong trường hợp cần thiết Thực tế, đa số các thiết
bị cảm biến hay chấp hành cũng có phần điều khiển riêng cho việc thực hiện đo lường/truyền động được chính xác và nhanh nhạy Các thiết bị thông minh (có bộ vi
xử lý riêng) cũng có thể đảm nhận việc xử lý và chuẩn bị thông tin trước khi đưa lên cấp trên điều khiển
– Cấp điều khiển: Nhiệm vụ chính của cấp điều khiển là nhận thông tin
từ các bộ cảm biến, xử lý các thông tin đó theo một thuật toán nhất định và truyền đạt lại kết quả xuống các bộ chấp hành Máy tính đảm nhận việc theo dõi các công
cụ đo lường, tự thực hiện các thao tác như ấn nút mở/đóng van, điều khiển cần gạt, núm xoay, đặc tính nổi bật của cấp điều khiển là xử lý thông tin Cấp điều khiển và
cấp chấp hành hay được gọi chung là cấp trường (Field level) chính vì các bộ điều
khiển, cảm biến và chấp hành được cài đặt trực tiếp tại hiện trường gần kề với hệ thống kỹ thuật
– Cấp điều khiển giám sát: Có chức năng giám sát và vận hành một quá trình kỹ thuật, có nhiệm vụ hỗ trợ người sử dụng trong việc cài đặt ứng dụng, thao tác theo dõi, giám sát vận hành và xử lý nhành tình huống bất thường Ngoài ra trong một số trường hợp, cấp này còn thực hiện các bài toán điều khiển cao cấp như điều khiển phối hợp, điều khiển trình tự và điều khiển theo công thức Việc thực hiện các chức năng ở cấp điều khiển và giám sát thường không đòi hỏi phương tiện, thiết bị phần cứng đặc biệt ngoài máy tính thông thường
– Cấp điều hành sản xuất và quản lý công ty: Thông thường người ta chỉ coi ba cấp dưới thuộc phạm vi của một hệ thống điều khiển và giám sát Tuy nhiên, hai cấp trên cùng (quản lý công ty và điều hành sản xuất) sẽ giúp ta hiểu thêm một mô hình lý tưởng cho cấu trúc chức năng tổng thể cho các công ty sản xuất công nghiệp Gần đây, do nhu cầu tự động hóa tổng thể kể cả ở các cấp điều hành sản xuất và quản lý công ty, việc tích hợp hệ thống và loại bỏ các cấp trung gian không cần thiết trong mô hình chức năng trở nên cần thiết Cũng vì thế, ranh giới giữa cấp điều hành sản xuất và quản lý công ty nhiều khi không rõ ràng, hình
Trang 17thành xu hướng hội nhập hai cấp này thành một cấp duy nhất gọi chung là cấp điều hành
1.4.2 Các dịch vụ được cung cấp từ hệ SCADA:
Nhìn chung, mỗi hệ SCADA thường cung cấp những dịch vụ sau:
– Thứ nhất là thu thập từ xa các số liệu về sản xuất và tổ chức việc lưu giữ trong nhiều loại cơ sở dữ liệu khác nhau
– Thứ hai là dùng các dữ liệu trên để cung cấp dịch vụ về phân tích, giám sát hệ sản xuất Việc theo dõi, giám sát chủ yếu là do máy tính thực hiện, con người chỉ đóng vai trò phụ Vai trò giám sát của con người chỉ thật sự quan trọng khi hệ thống xảy ra những biến cố lớn, nguy hiểm đến hệ thống sản xuất Những trục trặc nhỏ hay những sai lệch thường xuyên gặp phải sẽ đưa những cảnh báo đến con người và thường được máy tính sửa chữa theo chương trình được cài sẵn
– Thứ ba là hiển thị báo cáo tổng kết về quá trình sản xuất Khi nhận biết được những thông tin về hoạt động của hệ thống từ các bộ phận cảm biến gửi
về, máy tính sẽ phân tích những tín hiệu đó và so sánh với những tín hiệu chuẩn, với những tín hiệu yêu cầu từ các tập tin về cấu hình hoạt động của hệ thống sản xuất, hay các bảng cơ sở dữ liệu về sản phẩm, quy trình sản xuất, các thông số công nghệ của các máy công tác(dữ liệu tham khảo) Sau khi thực hiện so sánh, máy tính thông báo cho người giám sát biết được các thông tin về tiến trình hoạt động sản xuất, các thông số kỹ thuật ,số lượng sản phẩm… Các thông báo này thường được trình bày dưới dạng các trang màn hình, trang đồ thị, trang sự kiện, trang báo động, trang báo cáo sản xuất,
– Thứ tư là kểm tra và đảm bảo chất lượng sản phẩm: Nhờ các thiết bị cảm ứng, các thiết bị đo lường được gắn trên máy mà ta có thể đo, kiểm tra sản phẩm, loại bỏ các phế phẩm, nhờ đó mà chất lượng sản xuất được nâng cao và giảm bớt chi phí sản xuất và kịp thời phát hiện, báo động những biến cố xảy ra
– Thứ năm là điều khiển từ xa quá trình sản xuất Ngoài các chức năng truyền thống là so sánh để điều khiển cơ cấu tác động, ta còn có thể cho hệ thống hoạt động theo một chương trình đã lập từ trước Nhờ có bộ vi xử lý, ta có thể lập
Trang 18trình cho hệ thống hoạt động theo những chu trình phức tạp, máy tính sẽ đọc chương trình và xuất tín hiệu điều khiển cho các cơ cấu hoạt động theo chương trình Việc thay đổi chu trình hoạt động của máy tính hay thay đổi kích thước mẫu mã sản phẩm chỉ là việc thay đổi chương trình
– Thứ sáu là thực hiện các dịch vụ về truyền số liệu trong hệ và ra ngoài
Hệ SCADA cho phép kết nối, trao đổi cơ sở dữ liệu với các hệ thống SCADA
tương tự khác trên một mạng TCP/IP (Transfer Control Protocol/Intenet Protocol), cho phép máy tính được ghép mạng Internet sang máy tính khác) Điều
này cho phép các hệ thống có thể truy xuất dữ liệu cũng như xuất ra tín hiệu điều khiển lẫn nhau Hệ thống SCADA còn có khả năng liên kết với các hệ thống thương mại có cấp độ cao hơn, cho phép đọc /viết theo cơ sở dữ liệu chuẩn ODBC như Oracle , Access , Microsoft SQL…
1.5 Giới thiệu hệ SCADA trên nền web
SCADA là hệ thống điều khiển giám sát và thu thập dữ liệu Những hệ thống này vừa thu thập dữ liệu vừa điều khiển các thiết bị từ xa Tất cả các dữ liệu sẽ được truyền đến giao diện người máy HMI để hiển thị HMI được dùng để hiển thị các dây chuyền hay sơ đồ của các vị trí ở xa, các báo động, bật các đồ thị, các báo cáo
và để điều khiển các thiết bị
Ngày nay, internet đã trở thành một kênh truyền thông quan trọng để trao đổi
dữ liệu, điều này dẫn đến nhu cầu về một hệ SCADA trên nền web cho phép người dùng có thể truy cập từ xa để có được các dữ liệu thời gian thực của dây chuyền sản xuất Hệ SCADA khi được tích hợp với công nghệ Web tạo thành hệ SCADA trên nền web Trong đó, mỗi máy khách kết nối vào mạng đều có thể truy cập vào hệ SCADA bằng một trình duyệt web nào đó Trình duyệt web có thể được sử dụng để vào hệ SCADA xem và sử dụng các tính năng của nó Máy chủ SCADA có thể gửi thư điện tử hoặc các thông báo, báo cáo đến những người dùng đặc biệt Không cần cài đặt phần mềm, không cần mua máy chủ, không cần đến kỹ sư để đưa hệ thống vào hoạt động, người dùng chỉ cần một trình duyệt web và một kết nối mạng internet là đủ Hệ SCADA trên nền web cho phép người dùng cấu hình và giám sát
Trang 19hệ thống sản xuất thông qua mạng internet Qua đó, người dùng không chỉ xem được điều gì đang xảy ra cho hệ thống mà còn có thể thao tác với hệ thống giống như đang ngồi ngay tại hiện trường vậy Cụ thể là người dùng có thể thực hiện những thao tác như :
– Khởi động và dừng hệ thống
– Reset lại các báo động
– Bật tắt các động cơ
– Chuyển các động cơ từ chế độ tự động sang chế độ tay
Cấu hình của SCADA trên nền web cho phép người dùng dễ dàng xây dựng
và nhân bản các trạm điều khiển từ xa chỉ trong khoảng thời gian rất ngắn so với SCADA truyền thống Do đó, SCADA trên nền web là giải pháp tiết kiệm nhất cho những người sở hữu hệ thống SCADA
Hiện tại có một vài cấu trúc SCADA trên nền web như sau :
– Cấu trúc đầu tiên là PLC với một web server được nhúng trực tiếp trong đó Loại thiết bị này phù hợp cho những hệ thống độc lập mà không cần một
bộ điều khiển lớn nhưng lại cần truy xuất từ xa qua mạng Internet PLC được kết nối trực tiếp với mạng Internet và có trang web được cấu hình trước và được lưu trong web server nhúng trong nó Trang web này sau đó sẽ được truy cập bởi người dùng thông qua một trình duyệt web chuẩn nào đó Những loại PLC này chỉ phù hợp với các ứng dụng nhỏ, nó không được sử dụng cho những hệ thống lớn hơn do
sự hạn chế và thiếu linh hoạt trong việc cấu hình trang web
– Kiến trúc cao hơn loại PLC có nhúng sẵn web server là hệ thống trên nền web được mô tả như là một hệ máy chủ SCADA Với hệ thống này, một công
ty sẽ thuê lại một nhà cung cấp dịch vụ SCADA Nhà cung cấp này sẽ cung cấp việc truyền dữ liệu thông qua mạng Internet giữa máy khách và web server của chính họ Web server này sẽ làm tất cả các việc như xử lý dữ liệu và hiển thị giao diện đồ họa HMI cho người dùng khi họ truy cập bằng trình duyệt web
Trang 20Hình 1.10 : Cấu trúc hệ SCADA trên nền web (Nguồn : Cipher for Internet-based Supervisory Control and Data Acquisition
Architecture, Martin Drahansky and Maricel Balitanas)
Hệ SCADA trên nền web có những vấn đề phát sinh so với hệ SCADA truyền thống Những vấn đề này phải được xác định ngay từ khi mới thiết kế hệ thống Có những vấn đề có thể được giải quyết bằng cách lựa chọn công nghệ và phương pháp thiết kế, nhưng có những vấn đề khác gần như là thuộc tính tự nhiên của mạng Internet Những vấn đề thuộc về thuộc tính tự nhiên của mạng chỉ có thể hạn chế bớt trong một vài tình huống nhưng không thể giải quyết một cách hoàn toàn
Truyền dẫn dữ liệu tiềm ẩn nhiều nguy cơ không thể đoán trước được, và do
đó cần phải có các biện pháp giảm bớt những nguy cơ này để đạt được hiệu suất truyền chấp nhận được Mạng internet chia sẻ tài nguyên cho rất nhiều người dùng cùng một lúc Khi số lượng truy cập cùng lúc gia tăng thì tốc độ truyền dữ liệu sẽ bị giảm bớt Đây là vấn đề không mong muốn trong một hệ thống được thiết kế để truyền dữ liệu thời gian thực Nhưng ngay cả khi hệ thống đã được thiết kế rất cẩn thận thì lỗi này vẫn có thể xảy ra khi số dữ liệu được truyền đi tăng lên
Bảo mật là một vấn đề khác liên quan đến sử dụng hệ SCADA trên nền web Việc tồn tại những người dùng không mong muốn làm gia tăng số lượng truy cập
Trang 21vào các thông tin nhạy cảm của hệ SCADA cũng như làm gia tăng lượng truy cập thực tế vào điều khiển hệ SCADA Nguy cơ xuất hiện điều này có thể giảm bớt bằng cách thực hiện các biện pháp bảo mật hợp lý như tường lửa, mật mã, giấy chứng nhận số, Việc sử dụng giao thức HTTPS (secure hypertext transfer protocol) cũng có thể được sử dụng để bảo mật khi truyền dữ liệu trên Internet
Trang 22CHƯƠNG 2 : TRUYỀN THÔNG QUA MẠNG INTERNET
2.1 Tổng quan về mạng Internet :
2.1.1 Thế nào là một mạng ?
Một mạng là một nhóm các thiết bị được kết nối vật lý với nhau nhằm mục đích là chia sẻ thông tin, các tài nguyên và một môi trường truyền dẫn chung Một mạng thường có những thành phần căn bản như: các máy tính, máy in, các card giao diện mạng, các driver phần mềm hỗ trợ mạng, các cáp nối mạng, các giao thức mạng Hình 2.1minh họa các thành phần cơ bản của một mạng
Hình 2.1: Một mạng cơ bản
* Các loại mạng cơ bản: Trong mạng truyên thông công nghiệp, có những
loại mạng cơ bản sau đây:
– Mạng chủ / tớ (master / slave): Đặc điểm của các mạng chủ / tớ là:
điều khiển và giám sát tập trung, xử lý thông tin tập trung, hỏi tuần tự các trạm
Trang 23Hình 2.2: Mô hình mạng chủ / tớ – Mạng ngang hàng (peer to peer): Đặc điểm của các mạng ngang hàng
là:giám sát phân tán, xử lý thông tin độc lập, môi trường truyền dẫn được phân chia
Hình 2.3: mô hình mạng ngang hàng – Mạng chủ / khách (Client / Server): mạng giám sát phân tán, dòng
thông tin được điều khiển, xử lý thông tin độc lập, môi trường truyền dẫn được phân chia
Hình 2.4: Mô hình mạng chủ / khách
Trang 24Mạng Internet mang lại rất nhiều tiện ích hữu dụng cho người sử dụng, một trong các tiện ích phổ thông của Internet là hệ thống thư điện tử (email), trò chuyện trực tuyến (chat), công cụ tìm kiếm (search engine), các dịch vụ thương mại và chuyển ngân và các dịch vụ về y tế giáo dục như là chữa bệnh từ xa hoặc tổ chức các lớp học ảo Chúng cung cấp một khối lượng thông tin và dịch vụ khổng lồ trên Internet
Nguồn thông tin khổng lồ kèm theo các dịch vụ tương ứng chính là hệ thống các trang Web liên kết với nhau và các tài liệu khác trong WWW (World Wide Web) Worl Wide Web hay Web là một tập hợp các tài liệu liên kết với nhau bằng các siêu liên kết (hyperlink) và các địa chỉ URL và nó có thể được truy nhập bằng cách sử dụng Internet thông qua một trình duyệt web Đặc biệt trong thập kỷ đầu của thế kỷ 21 nhờ sự phát triển của các trình duyệt web và hệ quản trị nội dung nguồn mở đã khiến cho website trở nên phổ biến hơn, thế hệ web 2.0 cũng góp phần đẩy cuộc cách mạng web lên cao trào, biến web trở thành một dạng phần mềm trực tuyến hay phần mềm như một dịch vụ Các cách thức thông thường để truy cập Internet là quay số, băng rộng, không dây, vệ tinh và qua điện thoại cầm tay
Về mặt cấu trúc, mạng internet là một mạng liên kết các mạng con với nhau,
để liên kết được các mạng này thì đòi hỏi các mạng con này phải được kết nối với nhau về mặt vật lý và chúng phải bắt tay với nhau về giao thức truyền tin Chính vì
vậy mà giữa các mạng con phải có các dây cáp nối, các cổng nối internet (Gateway)
và các bộ định tuyến (Router)
Trang 25NETWORK 2 NETWORK 1
ROUTER
Hình 2.5 : Cấu trúc mạng internet đơn giản Khi kết nối đã trở nên phức tạp hơn, các máy gateway cần phải biết về sơ đồ kiến trúc của các mạng kết nối Ví dụ trong hình 2.6 cho thấy nhiều mạng được kết nối bằng 2 router
NETWORK 3 NETWORK 1
3 Với kích thước lớn như mạng internet, việc các router làm sao có thể quyết định về việc chuyển các gói thông tin cho các máy nằm trong các mạng sẽ trở nên phức tạp hơn Để các router có thể thực hiện được công việc chuyển một số lớn các gói thông tin thuộc
các mạng khác nhau người ta đề ra quy tắc là: các router chuyển các gói thông tin dựa trên địa chỉ mạng của nơi đến, chứ không phải dựa trên địa chỉ mạng của máy nhận Như vậy, dựa trên địa chỉ mạng nên tổng số thông tin mà router phải lưu trữ
về sơ đồ kiến trúc mạng sẽ tuân theo số mạng trên internet chứ không phải là số máy trên internet Trên internet, tất cả các mạng đều có quyền bình đẳng cho
dù chúng có tổ chức hay số lượng máy rất chênh lệch nhau Giao thức TCP/IP của internet hoạt động tuân theo quan điểm là tất các các mạng con trong Internet như là Ethernet, một mạng diện rộng như NSFNET hay một liên kết điểm-điểm giữa hai máy duy nhất đều được coi như là một mạng Điều này xuất phát từ quan điểm đầu tiên khi thiết kế giao thức TCP/IP là để có thể liên kết giữa
Trang 26các mạng có kiến trúc hoàn toàn khác nhau, khái niệm "mạng" đối với TCP/IP bị ẩn
đi phần kiến trúc vật lý của mạng Đây chính là điểm giúp cho giao thức TCP/IP tỏ ra rất mạnh
Như vậy, người dùng trong internet hình dung internet là một mạng thống nhất và bất kỳ hai máy nào trên Internet đều được nối với nhau thông qua một mạng duy nhất Hình 2.7 mô tả kiến trúc tổng thể của Internet
NETWORK 1
NETWORK 1
NETWORK 1
NETWORK 1 NETWORK 1
ROUTER
ROUTER
ROUTER ROUTER
Hình 2.7: Kiến trúc tổng thể của mạng internet
2.2 Mô hình OSI:
Trên thực tế, khó có thể xây dựng được một mô hình thống nhất về chuẩn giao thức và dịch vụ cho tất cả các hệ thống truyền thông, nhất là khi các hệ thống rất đa dạng và tồn tại độc lập Chính vì vậy, năm 1983 tổ chức tiêu chuẩn hóa quốc
tế ISO đã đưa ra một kiến trúc giao thức với chuẩn ISO 7498, được gọi là mô hình
Trang 27quy chiếu OSI (Open System Interconnection-Reference Model), nhằm hỗ trợ việc
xây dựng các hệ thống truyền thông có khả năng tương tác
Mô hình ISO/OSI hoàn toàn không phải là một chuẩn thống nhất về giao thức, cũng không phải là một chuẩn chi tiết về dịch vụ truyền thông Có thể thấy, chuẩn này không đưa ra bất kỳ một quy định nào về cấu trúc một bức điện, cũng như không định nghĩa bất cứ một chuẩn dịch vụ cụ thể nào OSI chỉ là một mô hình kiến trúc phân lớp với mục đích phục vụ việc sắp xếp và đối chiếu các hệ thống truyền thông có sẵn, trong đó có cả việc so sánh, đối chiếu các giao thức và dịch vụ truyền thông, cũng như cơ sở cho việc phát triển các hệ thống mới
Theo mô hình OSI, chức năng hay dịch vụ của một hệ thống truyền thông được chia thành bảy lớp, tương ứng với mỗi lớp dịch vụ là một lớp giao thức
Lớp vật lý Lớp liên kết dữ liệu Lớp mạng
Lớp vận chuyển Lớp kiểm soát nối Lớp biểu diễn dữ liệu Lớp ứng dụng
Các lớp phần mềm
Các lớp phần cứng
Hình 2.8: Mô hình OSI Các lớp trong mô hình OSI có thể do phần cứng hoặc phần mềm thực hiện Một lớp trên thực hiện dịch vụ của mình trên cơ sở sử dụng các dịch vụ ở một lớp phía dưới và theo đúng giao thức quy định tương ứng Thông thường các dịch vụ cấp thấp do phần cứng (các vi mạch điện tử ) thực hiện, trong khi các dịch vụ cấp cao do phần mềm (hệ điều hành, phần mềm điều khiển, phần mềm ứng dụng) đảm nhiệm
Trang 28Việc phân lớp không những có ý nghĩa trong việc mô tả, đối chiếu các hệ thống truyền thông, mà còn giúp ích cho việc thiết kế các thành phần giao diện mạng Một lớp bất kỳ trong bảy lớp có thể thay đổi trong cách thực hiện mà không ảnh hưởng tới các lớp khác, chừng nào nó giữ nguyên giao diện với lớp trên và lớp dưới nó Vì đây là một mô hình quy chiếu có tính chất dùng để tham khảo, không phải hệ thống truyền thông nào cũng thực hiện đầy đủ cả bảy lớp đó Ví dụ, vì lý do hiệu suất trao đổi thông tin và giá thành thực hiện, đối với các hệ thống bus trường thông thường chỉ thực hiện các lớp 1, 2 và 7 Trong các trường hợp này, có thể một
số lớp không thực sự cần thiết hoặc chức năng của chúng được ghép với một lớp khác (ví dụ với lớp ứng dụng)
Một mô hình quy chiếu tạo ra cơ sở , nhưng không đảm bảo khả năng tương tác giữa các hệ thống truyền thông, các thiết bị truyền thông khác nhau Với việc định nghĩa bảy lớp, OSI đưa ra một mô hình trừu tượng cho các quá trình giao tiếp phân cấp Nếu hai hệ thống thực hiện cùng các dịch vụ và trên cơ sở một giao thức giống nhau ở một lớp, thì có nghĩa là hai hệ thống có khả năng tương tác ở lớp đó
Mô hình OSI có thể coi như một công trình khung , hỗ trợ việc phát triển và đặc tả các chuẩn giao thức
Chức năng của các lớp trong mô hình OSI được mô tả sơ lược dưới đây: – Lớp ứng dụng( application layer ): Lớp ứng dụng là lớp trên cùng
trong mô hình OSI, có chức năng cung cấp các dịch vụ cao cấp (trên cơ sở các giao thức cao cấp ) cho người sử dụng và chương trình ứng dụng Các dịch vụ thuộc lớp ứng dụng hầu hết được thực hiện bằng phần mềm Thành phần phần mềm này có thể được nhúng sẵn trong các linh kiện giao diện mạng, hoặc dưới dạng phần mềm điều khiển (drivers) có thể nạp lên khi cần thiết, và một thư viện cho ngôn ngữ lập trình chuyên dụng hoặc ngôn ngữ lập trình phổ thông
– Lớp biểu diễn dữ liệu ( presentation layer ): Trong một mạng truyền
thông, ví dụ mạng máy tính, các trạm máy tính có thể có kiến trúc khác nhau, sử dụng các hệ điều hành khác nhau và vì vậy cách biểu diễn dữ liệu của chúng cũng
có thể rất khác nhau Sự khác nhau trong cách biểu diễn dữ liệu có thể là độ dài
Trang 29khác nhau cho một kiểu dữ liệu, hoặc cách sắp xếp các byte khác nhau trong một kiểu nhiều byte, hoặc sử dụng bảng mã ký tự khác nhau Chức năng của lớp biểu diễn dữ liệu là chuyển đổi các dạng biểu diễn dữ liệu khác nhau về cú pháp thành một dạng chuẩn, nhằm tạo điều kiện cho các đối tác truyền thông có thể hiểu được mặc dù chúng sử dụng các kiểu dữ liệu khác nhau Nói một cách khác, lớp biểu diễn
dữ liệu giải phóng sự phụ thuộc của lớp ứng dụng vào các phương pháp biểu diễn
dữ liệu khác nhau Ngoài ra lớp này còn cung cấp một số dịch vụ bảo mật dữ liệu,
ví dụ qua phương pháp sử dụng mã khoá Nếu như cách biểu diễn dữ liệu được thống nhất, chuẩn hoá, thì chức năng này không nhất thiết phải tách riêng thành một nhóm độc lập, mà có thể kết hợp thực hiện trên lớp ứng dụng để đơn giản hoá và nâng cao hiệu suất của việc xử lý giao thức Đây chính là một đặc trưng trong các
hệ thống bus trường
– Lớp kiểm soát nối (session layer ): Một quá trình truyền thông, ví dụ
trao đổi dữ liệu giữa hai chương trình ứng dụng thuộc hai nút mạng, thường được tiến hành thành nhiều giai đoạn Cũng như việc giao tiếp giữa hai người cần có việc
tổ chức mối quan hệ, giữa hai đối tác truyền thông cần có sự hỗ trợ tổ chức mối liên kết Lớp kiểm soát nối có chức năng kiểm soát nối liên kết truyền thông giữa các chương trình ứng dụng, bao gồm các việc tạo lập, quản lý và kết thúc các đường nối giữa các ứng dụng đối tác Mối liên kết giữa các chương trình ứng dụng mang tính chất logic; thông qua một mối liên kết vật lý (giữa hai trạm , giữa hai nút mạng ) có thể tồn tại song song nhiều đường nối logic Thông thường , kiểm soát nối thuộc chức năng của hệ điều hành Để thực hiện các đường nối giữa hai ứng dụng đối tác,
hệ điều hành có thể tạo các quá trình tính toán song song Như vậy, nhiệm vụ đồng
bộ hoá các quá trình tính toán này đối với việc sử dụng chung một giao diện mạng cũng thuộc chức năng của lớp kiểm soát nối Chính vì thế, lớp này còn có tên là lớp đồng bộ hoá
– Lớp vận chuyển (transport layer ): Bất kể bản chất của các ứng dụng
cần trao đổi dữ liệu, điều cần thiết là dữ liệu phải được trao đổi một cách tin cậy Khi một khối dữ liệu được chuyển đi thành từng gói, cần phải đảm bảo tất cả các
Trang 30gói đều đến đích và theo đúng trình tự chúng được chuyển đi Chức năng của lớp vận chuyển là cung cấp các dịch vụ cho việc thực hiện vận chuyển dữ liệu giữa các chương trình ứng dụng một cách tin cậy, bao gồm cả trách nhiệm khắt phục lỗi và điều khiển lưu thông Nhờ vậy mà các lớp trên có thể thực hiện được các chức năng cao cấp mà không cần quan tâm tới cơ chế vận chuyển dữ liệu cụ thể Để thực hiện việc vận chuyển một cách hiệu quả, tin cậy, một dữ liệu cần chuyển đi có thể được chia thành nhiều đơn vị vận chuyển có đánh số thứ tự kiểm soát trước khi bổ sung các thông tin kiểm soát lưu thông Do các đặc điểm riêng của mạng truyền thông công nghiệp, một số nhiệm vụ cụ thể của lớp vận chuyển trở nên không cần thiết, ví
dụ việc dồn kênh hoặc kiểm soát lưu thông Một số chức năng còn lại được dồn lên kết hợp với lớp ứng dụng để tiện việc thực hiện và tạo điều kiện cho người sử dụng
tự chọn phương án tối ưu hóa và nâng cao hiệu suất truyền thông
– Lớp mạng (network layer ): Một hệ thống mạng diện rộng (ví dụ
Internet hay mạng viễn thông) là sự liên kết của nhiều mạng tồn tại độc lập Mỗi mạng này đều có một không gian địa chỉ và có một cách đánh giá địa chỉ riêng biệt ,
sử dụng công nghệ truyền thông khác nhau Một bức điện đi từ đối tác A sang một đối tác B ở một mạng khác có thể qua nhiều đường khác nhau, thời gian, quãng đường vận chuyển và chất lượng đường truyền vì thế cũng khác nhau Lớp mạng có trách nhiệm tìm đường đi tối ưu (routing) cho việc vận chuyển dữ liệu, giải phóng
sự phụ thuộc của các lớp bên trên vào phương thức chuyển giao dữ liệu và công nghệ chuyển mạch dùng để kết nối các hệ thống khác nhau Tiêu chuẩn tối ưu ở đây hoàn toàn dựa trên yêu cầu của các đối tác, ví dụ yêu cầu về thời gian, quãng đường, về giá thành dịch vụ hay yêu cầu về chất lượng dịch vụ Việc xây dựng và huỷ bỏ các quan hệ liên kết giữa các nút mạng cũng thuộc trách nhiệm của lớp mạng
– Lớp liên kết dữ liệu (data link layer): Lớp liên kết dữ liệu có trách
nhiệm truyền dẫn dữ liệu một cách tin cậy thông qua liên kết vật lý , trong đó bao gồm việc điều khiển việc truy nhập môi trường truyền dẫn và bảo toàn dữ liệu Tương ứng với hai chức năng nói trên, lớp liên kết dữ liệu cũng thường được chia
Trang 31thành hai lớp con: Lớp điều khiển truy nhập môi trường( medium access control , MAC) và lớp điều khiển liên kết logic (logical link control LLC) Trong một hệ
thống, lớp liên kết dữ liệu có thể đảm nhiệm thêm các chức năng khác như kiểm soát lưu thông và đồng bộ hoá việc chuyển giao các khung dữ liệu Để thực hiện chức năng bảo toàn dữ liệu, thông tin nhận được từ lớp phía trên được đóng gói thành các bức điện có chiều dài hợp lý (frame) Các khung dữ liệu này chứa các thông tin bổ sung phục vụ mục đích kiểm soát lỗi, kiểm soát lưu thông và đồng bộ hoá Lớp liên kết dữ liệu bên phía nhận thông tin sẽ dựa vào các thông tin này để xác định tính chính xác của dữ liệu, sắp xếp các khung lại theo đúng trình tự và khôi phục lại thông tin để chuyển tiếp lên lớp trên nó
– Lớp vật lý (physical layer ): Lớp vật lý là lớp dưới cùng trong mô
hình phân lớp chức năng truyền thông của một trạm thiết bị Lớp này đảm nhiệm toàn bộ công việc truyền dẫn dữ liệu bằng phương tiện vật lý Lớp vật lý cần được chuẩn hoá sao cho một hệ thống truyền thông có sự lựa chọn giữa một vài khả năng khác nhau Trong các hệ thống bus trường , sự lựa chọn này không quá lớn, hầu hết dựa trên một vài chuẩn và kỹ thuật cơ bản
2.3 Bộ giao thức TCP/IP
2.3.1 Tổng quan về bộ giao thức TCP/IP
TCP/IP là bộ giao thức cho phép kết nối các hệ thống mạng không đồng nhất với nhau Ngày nay, TCP/IP được sử dụng rộng rãi trong các mạng cục bộ cũng như trên mạng Internet toàn cầu
TCP/IP được xem là giản lược của mô hình tham chiếu OSI với bốn tầng như sau:
- Tầng liên kết mạng (Network Access Layer)
- Tầng Internet (Internet Layer)
- Tầng giao vận (Host-to-Host Transport Layer)
- Tầng ứng dụng (Application Layer)
* Tầng liên kết: Tầng liên kết (còn được gọi là tầng liên kết dữ liệu hay là
tầng giao tiếp mạng) là tầng thấp nhất trong mô hình TCP/IP, bao gồm các thiết bị
Trang 32giao tiếp mạng và chương trình cung cấp các thông tin cần thiết để có thể hoạt
động, truy nhậ đường truyền vật lý qua thiết bị giao tiếp mạng đó
*Tầng Internet: Tầng Internet (còn gọi là tầng mạng) xử lý qua trình truyền
gói tin trên mạng Các giao thức của tầng này bao gồm: IP (Internet Protocol), ICMP (Internet Control Message Protocol), IGMP (Internet Group Messages
Protocol)
*Tầng giao vận: Tầng giao vận phụ trách luồng dữ liệu giữa hai trạm thực
hiện các ứng dụng của tầng trên Tầng này có hai giao thức chính: TCP
(Transmission Control Protocol) và UDP (User Datagram Protocol) TCP cung cấp
một luồng dữ liệu tin cậy giữa hai trạm, nó sử dụng các cơ chế như chia nhỏ các gói tin của tầng trên thành các gói tin có kích thước thích hợp cho tầng mạng bên dưới, báo nhận gói tin, đặt hạn chế thời gian time-out để đảm bảo bên nhận biết được các gói tin đã gửi đi Do tầng này đảm bảo tính tin cậy, tầng trên sẽ không cần quan tâm
đến nữa UDP cung cấp một dịch vụ đơn giản hơn cho tầng ứng dụng nó chỉ gửi
các gói dữ liệu từ trạm này tới trạm kia mà không đảm bảo các gói tin đến được tới
đích Các cơ chế đảm bảo độ tin cậy cần được thực hiện bởi tầng trên
*Tầng ứng dụng: Tầng ứng dụng là tầng trên cùng của mô hình TCP/IP bao gồm các tiến trình và các ứng dụng cung cấp cho người sử dụng để truy cập mạng
Cũng tương tự như trong mô hình OSI, khi truyền dữ liệu, quá trình tiến hành từ tầng trên xuống tầng dưới, qua mỗi tầng dữ liệu được thêm vào một thông tin điều khiển được gọi là phần header Khi nhận dữ liệu thì quá trình xảy ra ngược lại, dữ liệu được truyền từ tầng dưới lên và qua mỗi tầng thì phần header tương ứng được lấy đi và khi đến tầng trên cùng thì dữ liệu không còn phần header nữa
* TCP/IP với OSI: Mỗi tầng trong TCP/IP có thể là một hay nhiều tầng của
OSI Hình sau chỉ rõ mỗi tương quan giữa các tầng trong mô hình TCP/IP với OSI
Trang 33Lớp vật lý Lớp liên kết dữ liệu Lớp mạng
Lớp vận chuyển Lớp kiểm soát nối Lớp biểu diễn dữ liệu Lớp ứng dụng
Lớp liên kết dữ liệu Lớp Internet
Lớp vận chuyển Lớp ứng dụng
Hình 2.9 : So sánh giữa mô hình OSI và TCP/IP Như vậy, sự khác nhau giữa TCP/IP và OSI chỉ là:
- Tầng ứng dụng trong mô hình TCP/IP bao gồm luôn cả 3 tầng trên của mô hình OSI
- Tầng giao vận trong mô hình TCP/IP không phải luôn đảm bảo độ tin cậy của việc truyền tin như ở trong tầng giao vận của mô hình OSI mà cho phép thêm một lựa chọn khác là UDP
2.3.2 Giao thức liên mạng IP ( Internet Protocol):
Giao thức liên mạng IP là một trong những giao thức quan trọng nhất của bộ giao thức TCP/IP Mục đích của giao thức liên mạng IP là cung cấp khả năng kết nối các mạng con thành liên mạng để truyền dữ liệu IP là giao thức cung cấp dịch
vụ phân phát datagram theo kiểu không liên kết và không tin cậy nghĩa là không cần
có giai đoạn thiết lập liên kết trước khi truyền dữ liệu, không đảm bảo rằng IP datagram sẽ tới đích và không duy trì bất kỳ thông tin nào về những datagram đã gửi đi
* Địa chỉ IP: Địa chỉ IP ( IPv4) có độ dài 32 bit và được tách thành 4 vùng,
mỗi vùng ( mỗi vùng 1 byte) thường được biểu diễn dưới dạng thập phân và được cách nhau bởi dấu chấm (.) Ví dụ: 203.162.7.92
Trang 34Địa chỉ ( IPv4) được chia thành 5 lớp A, B, C, D, E; trong đó 3 lớp địa chỉ A, B, C được dùng để cấp phát Các lớp này được phân biệt bởi các bit đầu tiên trong địa chỉ Cụ thể như sau:
– Lớp A (0) cho phép định danh tới 126 mạng với tối đan 16 triệu trạm trêm mỗi mạng Lớp này thường được dùng cho các mạng có số trạm cực lớn ( thường dành cho các công ty cấp dịch vụ lớn tại Mỹ) và rất khó được cấp
– Lớp B (10) cho phép định danh tới 16384 mạng với tối đa 65534 trạm trên mỗi mạng Lớp địa chỉ này phù hợp với nhiều yêu cầu nên được cấp phát nhiều nên hiện nay đã trở nên khan hiếm
– Lớp C ( 110) cho phép định danh tới 2 triệu mạng với tối đa 254 trạm trêm mỗi mạng Lớp này được dùng cho các mạng có ít trạm
– Lớp D (1110) dùng để gửi gói tin IP đến một nhóm các trạm trên
mạng ( còn được gọi là lớp địa chỉ multicast)
Ngoài ra, còn một số địa chỉ được quy định dùng riêng ( private address)
Các địa chỉ này có ý nghĩa trong mạng của từng tổ chức nhất định mà không được định tuyến trên Internet Việc sử dụng các địa chỉ này không cần phải xin cấp phép
Ví dụ: 192.168.0.0 – 192.168.255.255
* Mặt nạ địa chỉ mạng con: Bên cạnh địa chỉ IP, một trạm cũng cần được
biết việc định dạng địa chỉ mạng con: bao nhiêu bit trong trường hostid (trường cuối
cùng của địa chỉ IP) được dùng cho phần địa chỉ mạng con (subnetid) Thông tin này được chỉ ra trong mặt nạ địa chỉ mạng con (subnet mask) Subnet mask cũng là một số 32 bit với các bit tương ứng với phần netid và subnetid được đặt bằng 1 còn
Trang 35các bit còn lại được đặt bằng 0.Như vậy, địa chỉ thực của một trạm sẽ là hợp của địa chỉ IP và subnet mask
Ví dụ với địa chỉ lớp C: 203.162.7.92, trong đó: 203.162.7 là địa chỉ mạng,
còn 92 là địa chỉ IP của trạm Nếu dùng 3 bit đầu của trường hostid để đánh subnet
thì subnet mask sẽ là: 11111111.11111111.11111111.11100000 = 255.255.255.224 Địa chỉ của subnet sẽ là hợp của 11001011.10100010.00000111.01011100 (địa chỉ IP) với 11111111.11111111.11111111.11100000 (địa chỉ của subnet mask) Kết quả, ta được địa chỉ thực của trạm là 11001011.10100010.00000111.01000000, tức
là dịa chỉ 203.162.7.64
* Giao thức TCP: (Transmission Control Protocol): TCP và UDP là 2 giao
thức ở tầng giao vận và cùng sử dụng giao thức IP trong tầng mạng Nhưng không
giống như UDP, TCP cung cấp dịch vụ liên kết tin cậy và có liên kết
Có liên kết ở đây có nghĩa là 2 ứng dụng sử dụng TCP phải thiết lập liên kết với nhau trước khi trao đổi dữ liệu Sự tin cậy trong dịch vụ được cung cấp bới TCP được thể hiện như sau:
– Dữ liệu từ tầng ứng dụng gửi đến được TCP chia thành các segment
có kích thước phù hợp nhất để truyền đi
– Khi TCP gửi 1 segment, có duy trì một thời lượng để chờ phúc đáp từ trạm nhận Nếu trong khoảng thời gian đó phúc đáp không tới được trạm gửi thì segment đó được truyền lại
– Khi TCP trên trạm nhận nhận dữ liệu từ trạm gửi nó sẽ gửi tới trạm gửi 1 phúc đáp tuy nhiên phúc đáp không được gửi lại ngay lập tức mà thường trễ một khoảng thời gian
– TCP duy trì giá trị tổng kiểm tra (checksum) trong phần header của dữ liệu để nhận ra bất kỳ sự thay đổi nào trong quá trình truyền dẫn Nếu 1 segment bị lỗi thì TCP ở phía trạm nhận sẽ loại bỏ và không phúc đáp lại để trạm gửi truyền lại segment bị lỗi đó
Giống như IP datagram, TCP segment có thể tới đích một cách không tuần
tự Do vậy TCP ở trạm nhận sẽ sắp xếp lại dữ liệu và sau đó gửi lên tầng ứng dụng
Trang 36đảm bảo tính đúng đắn của dữ liệu.Khi IP datagram bị trùng lặp TCP tại trạm nhận
sẽ loại bỏ dữ liệu trùng lắp đó TCP cũng cung cấp khả năng điều khiển luồng Mỗi đầu của liên kết TCP có vùng đệm (buffer) giới hạn do đó TCP tại trạm nhận chỉ cho phép trạm gửi truyền một lượng dữ liệu nhất định (nhỏ hơn không gian buffer còn lại) Điều này tránh xảy ra trường hợp trạm có tốc độ cao chiếm toàn bộ vùng đệm của trạm có tốc độ chậm hơn
mã số thiết bị thì cung cấp cho thiết bị một nhận dạng trên mạng
Trong ví dụ cụ thể này, ba số dầu tiên (gọi là octet) đều là 255, con số cuối cùng là 0 Số 255 chỉ ra rằng tất cả các bit trong vị trí tương ứng của địa chỉ IP là một phần của mã số mạng Số 0 cuối cùng ám chỉ không có bit nào trong vị trí tương ứng của địa chỉ IP là một phần của địa chỉ mạng Do đó chúng thuộc về mã
số thiết bị
Giả sử ta có một mạng có địa chỉ là 192.168.1.x Tất cả các thiết bị trong mạng (hoặc cụ thể là trên phân đoạn mạng) đều chia sẻ một mã số mạng chung Nếu 192.168.1.x là số mạng gắn với các máy tính kết nối với router thì địa chỉ IP cho bốn máy tính viên có thể là: 192.168.1.1 hoặc 192.168.1.2 hoặc 192.168.1.3 hoặc 192.168.1.4 Ta thấy, mỗi máy tính trên mạng cục bộ đều chia sẻ cùng một địa chỉ mạng, còn mã số thiết bị thì khác nhau Khi một máy tính cần liên lạc với máy tính khác, nó thực hiện bằng cách tham chiếu tới địa chỉ IP của máy tính đó Chẳng hạn, trong trường hợp cụ thể này, máy tính có địa chỉ 192.168.1.1 có thể gửi dễ dàng các
Trang 37gói dữ liệu tới máy tính có địa chỉ 192.168.1.3 vì cả hai máy này đều là một phần trong cùng một mạng vật lý
Cổng vào mặc định (default gateway) là một phần của cấu hình TCP/IP trong một máy tính Đó là cách cơ bản để nói với máy tính rằng nếu không biết chỗ gửi gói dữ liệu ở đâu thì hãy gửi nó tới địa chỉ cổng vào mặc định đã được chỉ định Địa chỉ của cổng vào mặc định là địa chỉ IP của một router Trong trường hợp này địa chỉ IP của router được chọn là 192.168.1.0 Chú ý rằng địa chỉ IP của router chia sẻ cùng một địa chỉ mạng như các máy khác trong mạng cục bộ Sở dĩ phải như vậy để
nó có thể truy cập tới các máy trong cùng mạng Mỗi router có ít nhất hai địa chỉ IP Một dùng cùng địa chỉ mạng của mạng cục bộ, còn một do ISP của bạn quy định Địa chỉ IP này dùng cùng một địa chỉ mạng của mạng ISP Công việc của router khi
đó là chuyển các gói dữ liệu từ mạng cục bộ sang mạng ISP ISP của bạn có các router riêng hoạt động cũng giống như mọi router khác, nhưng định tuyến đường đi cho gói dữ liệu tới các phần khác của Internet
2.4 Tổng quan về giao thức HTTP :
HTTP là chữ viết tắt từ HyperText Transfer Protocol (giao thức truyền tải
siêu văn bản) thuộc lớp ứng dụng trong mô hình bảy lớp OSI HTTP là giao thức cơ
bản để truyền tải dữ liệu trong World Wide Web HTTP xác định cách các thông
điệp (các file văn bản, hình ảnh đồ hoạ, âm thanh, video, và các multimedia khác) được định dạng và truyền tải ra sao, và những hành động nào mà các Web server (máy chủ Web) và các trình duyệt Web (browser) phải làm để đáp ứng các lệnh rất
đa dạng HTTP là 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).Như vậy, HTTP cung cấp cách để trình duyệt web (Web Browser) truy xuất Web server và yêu cầu các văn bản hypermedia được tạo bởi
HTML (Ngôn ngữ đánh dấu siêu văn bản) Các văn bản HTML có thể chứa các siêu
kiên kết (hyperlink) đến các nơi khác nhau, có thể trong cùng một văn bản, một văn
bản khác cùng một Web site hay một văn bản trên một Web site khác Nói chung, HTTP có nhiệm vụ xử lý các liên kết này và cung cấp giao thức truyền tin giữa máy chủ và máy khách
Trang 38Cho đến nay, giao thức HTTP gồm có ba phiên bản sau :
– Phiên bản đầu tiên là HTTP 0.9, được Hiệp hội web toàn cầu (World Wide Web - W3C) công bố năm 1991 Đây là giao thức đơn giản để truyền dữ liệu
thô trên Internet
– Phiên bản thứ hai là HTTP 1.0, được định nghĩa tại RFC 1945 vào
năm 1996 (RFC - Request for Comments, là những tài liệu kỹ thuật và tổ chức về
Internet, bao gồm những tài liệu đặc tả kỹ thuật và chính sách được tổ chức IETF
(Internet Engineering Task Force – Nhóm chuyên trách kỹ thuật Internet) phát
hành), cho phép thông điệp định dạng kiểu giao thức mở rộng thư Internet đa chức
năng (Multipurpose Internet Mail Extensions - MIME), như kiểu văn bản phi cấu
trúc (Text), kiểu hình ảnh (Image), kiểu âm thanh (Audio), kiểu phim (Video), kiểu ứng dụng (Application), chứa các thông tin mô tả về dữ liệu được truyền và các tham số chỉnh sửa theo yêu cầu/đáp ứng Tuy nhiên, phiên bản này không tác động nhiều đến các proxy phân cấp, bộ nhớ đệm, nhu cầu kết nối liên tục hay đến các máy chủ lưu trữ ảo Proxy là một chương trình trung gian hoạt động vừa như một máy chủ và vừa như một máy khách nhằm mục đích thực hiện các yêu cầu thay cho các máy khách khác
– Phiên bản thứ ba là HTTP 1.1, lần đầu tiên được công bố tại RFC
2608 vào tháng 01 năm 1997 và sau đó được cập nhật tại RFC 2616 vào tháng 07 năm 1999 HTTP 1.1 có các yêu cầu nghiêm ngặt hơn HTTP 1.0 để đảm bảo tính tin cậy khi thực hiện các tính năng của nó
HTTP cho phép một tập các phương thức hoặc câu và các tiêu đề mở-đóng
để chỉ ra mục đích của một yêu cầu HTTP được xây dựng trên nguyên tắc tham
chiếu được cung cấp bởi định danh tài nguyên thống nhất (Uniform Resource Identifier - URI), hoặc định vị tài nguyên thống nhất (Uniform Resource Locator - URL) hay tên tài nguyên thống nhất (Uniform Resource Name - URN), nhằm chỉ ra
nguồn tài nguyên áp dụng phương thức Thông điệp được gửi theo định dạng tương
tự với định dạng sử dụng thư Internet theo quy định của MIME
Trang 39HTTP cũng được sử dụng như một giao thức chung để truyền thông giữa tác
nhân người dùng (User Agent - UA) và các proxy, gateway (Một máy chủ hoạt
động như một điểm trung gian đối với máy chủ khác, tiếp nhận các yêu cầu từ máy khách với vai trò như một máy chủ gốc) đến các hệ thống Internet khác, gồm cả các
hệ thống hỗ trợ giao thức truyền thư đơn giản (Simple Mail Transfer Protocol – SMTP), giao thức truyền tin tức liên mạng (Network News Transfer Protocol – NNTP), giao thức truyền tệp tin (File Tranfer Protocol – FTP), giao thức Gopher
(được thiết kế chính để tìm kiếm và lưu trữ tài liệu phân tán) và WAIS (hệ thống tìm kiếm theo mô hình khách – chủ sử dụng tiêu chuẩn ANSI Z39.50) Bằng cách này, HTTP cho phép truy cập siêu phương tiện đến các tài nguyên sẵn có từ các ứng dụng đa dạng
Giao thức HTTP là một giao thức có dạng yêu cầu/đáp ứng Khi một máy khách gửi một yêu cầu đến máy chủ gồm phương thức yêu cầu (gồm GET, POST, HEAD,…), URI, phiên bản giao thức, kèm với thông điệp kiểu MIME gồm các tham số chỉnh sửa của yêu cầu, thông tin máy khách và nội dung chính thông qua kết nối đến máy chủ Máy chủ sẽ đáp ứng bằng dòng trạng thái, gồm phiên bản giao thức thông điệp và mã thông báo thành công hay lỗi, kèm với thông điệp kiểu MIME có chứa thông tin về máy chủ, các thông tin thêm về đối tượng và nội dung chính của đối tượng
HTTP Server HTTP Client
HTTP request
HTTP response
Hình 2.10: Giao thức HTTP Hầu hết giao tiếp HTTP được khởi tạo từ UA và một yêu cầu sử dụng nguồn tài nguyên trên máy chủ gốc (Origin Server - O) Trong trường hợp đơn giản nhất,
Trang 40giao tiếp này có thể được thực hiện thông qua một kết nối duy nhất (v) giữa UA và
O
Chuỗi yêu cầu - >
UA - -v - O
< -Chuỗi đáp ứng Hình 2.11: Mô hình HTTP đơn giản (Nguồn : RFC 2616, HyperText Transfer Protocol ) Tình huống phức tạp hơn xảy ra khi có một hoặc nhiều điểm trung gian trong chuỗi yêu cầu/đáp ứng Có ba dạng trung gian phổ biến như: proxy, gateway và tunnel (Một chương trình trung gian hoạt động như một điểm trung chuyển giữa hai kết nối) Proxy là một điểm chuyển tiếp, nhận các yêu cầu cho một URI, viết lại tất
cả hoặc một phần của thông điệpvà chuyển tiếp yêu cầu đã định dạng lại về phía máy chủ xác định bởi URI Ở đây, gateway hoạt động như một lớp phía trên của máy chủ khác và nếu cần thiết, biên dịch các yêu cầu tới giao thức máy chủ cơ sở Tunnel hoạt động như một điểm trung chuyển giữa hai kết nối mà không cần thay đổi thông điệp, các tunnel được sử dụng khi giao tiếp cần phải đi qua một điểm trung gian (như tường lửa) ngay cả khi điểm trung gian này không hiểu được nội dung của thông điệp
Chuỗi yêu cầu - >
UA -v -A -v -B -v -C -v -O
< -Chuỗi đáp ứng
Hình 2.12: Mô hình HTTP phức tạp (Nguồn : RFC 2616, HyperText Transfer Protocol ) Hình 2.12 mô tả ba điểm trung gian (A, B và C) giữa tác nhân người dùng và máy chủ gốc Một thông điệp yêu cầu/đáp ứng sẽ truyền qua toàn bộ các điểm này