Tài liệu Bài tiểu luận-tìm hiểu về giao thứ telnet.

  • Số trang: 23 |
  • Loại file: PDF |
  • Lượt xem: 461 |
  • Lượt tải: 0
quangtran

Đã đăng 3721 tài liệu

Mô tả:

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA CÔNG NGHỆ THÔNG TIN  TIỂU LUẬN MÔN: Hệ thống thông tin quản lý & Thương mại điện tử Giảng viên Sinh viên Lớp : Phạm Thế Quế : Nguyễn Xuân Hiếu : D10HTTT2 Hà Nội,Ngày 29 tháng 4 năm 2014 1 Mục lục Tìm hiểu về giao thứ Telnet.................................................................................... 3 Chương 1: Tổng quan về mạng Internet ................................................................. 4 1.1 Giới thiệu về mạng máy tính toàn cầu Internet .................................................................... 4 1.1.1 Mạng máy tính................................................................................................................ 4 1.1.2 Mạng Internet................................................................................................................. 4 1.1.3 Giao thức truyền thông và mô hình tham chiều OSI ...................................................... 5 1.2 Bộ giao thức TCP/IP ............................................................................................................... 7 1.2.1 Giao thức chuyển địa chỉ ARP......................................................................................... 7 1.2.2 Giao thức điều khiển truyền tin (Internet Control Message Protocol - ICMP)............... 8 1.2.3 Giao thức không kết nối (UDP) ....................................................................................... 8 1.2.4 Giao thức điều khiển truyền tin (Transmission Control Protocol - TCP) ........................ 8 1.2.5 Giao thức truyền tệp ...................................................................................................... 8 Chương 2: Giao thức Telnet ....................................................................................... 9 2.1 Giao thức Telnet .................................................................................................................... 9 2.2 Các dịch vụ của giao thức Telnet........................................................................................... 9 2.3 Hoạt động của Telnet trong những hệ thống không đồng nhất ......................................... 10 2.3.1 Trạm ảo (Network Virtual Terminal-NVT). .................................................................... 11 2.3.2 Các lựa chọn Telnet ....................................................................................................... 11 2.3.3 Cấu trúc lệnh Telnet ...................................................................................................... 12 Mobile Agent........................................................................................................... 14 Chương 1: Tổng quan về Agent ............................................................................... 15 1.1 Giới thiệu............................................................................................................................. 15 1.2 Tính năng của Agent............................................................................................................ 15 1.3 Phân loại Agent ................................................................................................................... 15 1.4 Kết luận ............................................................................................................................... 16 Chương 2: Mobile Agent và nguyên lý hoạt động .............................................. 17 2.1 Khái niệm Mobile Agent ...................................................................................................... 17 2.2 Tính chất Mobile Agent ....................................................................................................... 18 2.3 Nguyên lý hoạt động ........................................................................................................... 18 2.4 Lợi ích Mobile Agent ........................................................................................................... 18 2.5 Các ứng dụng của Mobile Agent ......................................................................................... 19 2.6 Một số hệ thống Mobile Agent ........................................................................................... 10 2.7 Các tính năng hỗ trợ của hệ thống Mobile Agent. .............................................................. 22 2.8 Kết luận ............................................................................................................................... 23 2 Hệ thống thông tin quản lý Tìm hiểu về giao thức TELNET 3 Chương 1. Tổng quan về mạng Internet 1.1 Giới thiệu về mạng máy tính toàn cầu Internet. 1.1.1 Mạng máy tính. Mạng máy tính là hệ thống các máy tính độc lập được kết nối với nhau. Hai máy tính được gọi là được kết nối với nhau nếu chúng có khả năng trao đổi thông tin. Sự kết nối có thể thông qua dây dẫn, tia Laser, sóng điện từ hay vệ tinh viễn thông... Việc kết nối các máy tính có những ưu điểm sau đây: - Sử dụng chung tài nguyên: Dữ liệu, chương trình và các thiết bị có thể được dùng chung bởi người dùng từ các máy tính trên mạng. - Tăng độ tin cậy của hệ thống thông tin: Nếu một máy tính hay một đơn vị dữ liệu nào đó bị hỏng thì luôn có thể sử dụng một máy tính khác hay một bản sao khác của dữ liệu, nhờ đó, khả năng mạng bị ngừng sử dụng được giảm thiểu. - Tạo ra môi trường truyền thông mạnh giữa nhiều người sử dụng trên phạm vi địa lý rộng: Mục tiêu này ngày càng trở nên quan trọng nhất là khi mạng máy tính đã phát triển trên phạm vi toàn cầu như ngày nay. - Tiết kiệm chi phí: Do tài nguyên được dùng chung, hệ thống tin cậy hơn nên chi phí thiết bị và bảo dưỡng của mạng máy tính thấp hơn so với trường hợp máy tính riêng lẻ. Liên mạng máy tính (Internetworking hay Internet) là một công nghệ được đưa ra nhằm kết nối các mạng thành một thể thống nhất. Công nghệ Internet che dấu đi kiến trúc vật lý của mạng và cho phép máy tính truyền thông một cách độc lập với liên kết vật lý của mạng. Một liên mạng đã khá quen thuộc với chúng ta là mạng Internet. 1.1.2 Mạng Internet. Internet là một tổ hợp hàng triệu máy được kết nối với nhau thông qua giao thức TCP/IP để có thể chia sẻ thông tin với nhau, trong đó có đủ loại máy tính, và chúng sử dụng nhiều hệ điều hành khác nhau.Thông tin trên Internet gồm đủ loại từ thư điện tử (Email), các File đồ hoạ đến Video và còn nhiều thông tin khác được cung cấp bởi những người sử dụng Internet. Những máy chủ (Host) mạnh thường sử dụng những hệ điều hành đa nhiệm, ví dụ như UNIX, để người sử dụng kết nối vào. Những máy chủ được định vị tại các điểm như thư viện, các trường đại học, các tổ chức, các đại lý, các công ty trên toàn thế giới. Những máy chủ này được kết nối với nhau qua đường điện thoại và chỉ mất khoảng 640/1000 giây để bắt đầu nhận thông báo từ Bắc Mỹ tới Nam cực. 1.1.2.1 Các dịch vụ mức ứng dụng trên Internet. - - - Thư điện tử (Electronic mail) Cho phép người dùng ngồi trước máy tính tại nhà mình gửi E-mail tới bất cứ ai ở đâu trên thế giới nếu họ có địa chỉ E-mail. Họ có thể tham gia các nhóm thảo luận (Discussion group) về những đề tài khác nhau hay bắt đầu một nhóm mới về những chủ đề mà họ ưa thích. Truyền file (File Transfer) Nếu cần một chương trình phần mềm mới như các tiện ích nén file, các chương trình diệt virus, một phần mềm trò chơi, hình ảnh hay âm thanh, người dùng có thể tải xuống bất cứ lúc nào với File Transfer. Truy nhập từ xa (Remote login) Có lẽ điều thú vị nhất trong các ứng dụng của Internet là Remote login, nó cho phép người dùng kết nối vào một máy tính ở xa như một trạm cuối để sử dụng máy tính đó. 1.1.2.2 Dịch vụ mức mạng của Internet. Một lập trình viên viết chương trình ứng dụng trên Internet cần có một cái nhìn khác với người chỉ đơn giản sử dụng dịch vụ Internet. Ở tầng mạng, Internet cung cấp 2 kiểu dịch vụ mà các ứng dụng của Internet thường dùng đó là: 4 - - Dịch vụ truyền không kết nối (Connectionless Paket Delivery Service) là một phương thức truyền dữ liệu mà các mạng chuyển mạch gói cung cấp. Điều này chỉ đơn giản là mạng Internet chuyển các gói tin từ máy này sang máy khác dựa vào thông tin địa chỉ của gói đến đích của nó. Việc chia nhỏ gói tin truyền này có một ưu điểm là nếu một đường đi bị bận hoặc bị đứt, thì các gói có thể được truyền theo một đường khác. Dịch vụ truyền tin cậy (Reliable Stream Transport Service) Phần lớn các ứng dụng đòi hỏi nhiều dịch vụ hơn chỉ truyền thông không kết nối bởi vì chúng cần tự động sửa lỗi, kiểm tra tính toàn vẹn của thông tin truyền đi trên mạng. Giao thức truyền thông và mô hình tham chiếu OSI 1.1.3.1 Giao thức truyền thông. 1.1.3 Các máy tính trên mạng có thể trao đổi thông tin với nhau thông qua một bộ những phần mềm cùng làm việc theo một chuẩn nào đó. Giao thức truyền thông (Protocol) là tập hợp các quy tắc quy định phương thức truyền nhận thông tin giữa các máy tính trên mạng. Các mạng máy tính hiện đại được thiết kế bằng cách phân chia cấu trúc ở mức độ cao nhằm làm giảm sự phức tạp khi thiết kế. Các giao thức mạng thường được chia làm các tầng (Layer), mỗi tầng được xây để dựng dựa trên dịch vụ của tầng dưới nó và cung cấp dịch vụ cho tầng cao hơn. 1.1.3.2 Mô hình tham chiếu OSI (Open Systems Interconect Referent model) Mô hình mạng máy tính do tổ chức tiêu chuẩn hoá quốc tế (International Standard Organization - ISO) đưa ra năm 1983 được gọi là mô hình tham chiếu các hệ thống mở (Open Systems Interconect referent model - OSI). Mô hình tham chiếu OSI chứa 7 tầng mô tả chức năng của giao thức truyền thông. Mỗi tầng của mô hình OSI miêu tả một chức năng được thực hiện khi dữ liệu di chuyển giữa các ứng dụng giữa các mạng. Hình 1-1-3-2. Mô hình tham chiếu OSI Các lớp giao thức được xếp chồng lớp nọ trên lớp kia. Chính sự xuất hiện của nó, cấu trúc thường được gọi là Stack hoặc giao thức xếp chồng. Hai hệ thống khác nhau có thể truyền thông với nhau nếu chúng bảo đảm những nguyên tắc chung (cài đặt cùng một giao thức truyền thông). Các chức năng được tổ chức thành một tập các tầng đồng mức cung cấp chức năng như nhau. Các tầng đồng mức phải sử dụng một giao thức chung. 5 Một tầng không định nghĩa một giao thức đơn, nó định nghĩa một chức năng truyền thông có thể được thi hành bởi một số giao thức. Do vậy, mỗi tầng có thể chứa nhiều giao thức, mỗi giao thức cung cấp một dịch vụ phù hợp cho chức năng của tầng. Ví dụ cả giao thức truyền file (File Transfer Protocol - FTP) và giao thức thư điện tử (Simple Mail Transfer Protocol - SMTP) đều cung cấp dịch vụ cho người dùng và cả hai đều thuộc tầng ứng dụng. Mỗi mức ngang hàng giao thức truyền thông (sự bổ xung của các giao thức cùng mức tương đương trên hệ thống khác). Mỗi mức phải được chuẩn hoá để giao tiếp với mức tương đương với nó. Trên lý thuyết, giao thức chỉ biết đến những gì liên quan tới lớp của nó mà không quan tâm tới mức trên hoặc dưới của nó. Tuy nhiên phải có sự thoả thuận để chuyển dữ liệu giữa các tầng trên một máy tính, bởi mỗi tầng lại liên quan tới việc gửi dữ liệu từ ứng dụng tới một ứng dụng tương đương trên một máy khác. Tầng cao hơn dựa vào tầng thấp hơn để chuyển dữ liệu qua mạng phía dưới. Dữ liệu chuyển xuống ngăn xếp từ tầng này xuống tầng thấp hơn cho tới khi được truyền qua mạng nhờ giao thức của tầng vật lý. Ở đầu nhận, dữ liệu đi lên ngăn xếp tới ứng dụng nhận. Những tầng riêng lẻ không cần biết các tầng trên và dưới nó xử lý ra sao, nó chỉ cần biết cách chuyển nhận thông tin từ các tầng đó. Sự cô lập các hàm truyền thông trên các tầng khác nhau giảm thiểu sự tích hợp công nghệ của đầu vào mỗi bộ giao thức. Các ứng dụng mới có thể thêm vào mà không cần thay đổi tầng vật lý của mạng, phần cứng có thể được bổ sung mà không cần viết lại các phần mềm ứng dụng. a) Tầng vật lý (Physical layer). - Tầng vật lý liên quan tới việc truyền dòng bit giữa các máy bằng kênh truyền thông vật lý, ở đây, cấu trúc của dữ liệu không được quan tâm đến. - Việc thiết kế tầng vật lý cần quan tâm đến các vấn đề về ghép nối cơ khí, điện tử, thủ tục và môi trường truyền tin bên dưới nó, ví dụ mức điện áp tương ứng với bit 0 - 1, thời gian tồn tại của xung... b) Tầng liên kết giữ liệu (Data link layer). - Liên kết, thiết lập, duy trì, huỷ bỏ các liên kết dữ liệu là nhiệm vụ của tầng liên kết dữ liệu. - Ngoài ra tầng liên kết dữ liệu còn kiểm soát lỗi đường truyền, thông lượng. Tầng này thực hiện việc đóng gói thông tin gửi thành các frame, gửi các frame một cách tuần tự đi trên mạng, xử lý các thông báo xác nhận (Acknowledgement frame) do bên nhận gửi về. Xác định ranh giới giữa các frame bằng cách ghi một số byte đặc biệt vào đầu và cuối frame. Giải quyết vấn đề thông lượng truyền giữa bên gửi và bên nhận (Vấn đề này có thể được giải quyết bởi một số lớp trên). c) Tầng mạng (Network layer). - Vấn đề chủ chốt của tầng mạng là routing (dẫn đường), định rõ các gói tin (packet) được truyền theo những con đường nào từ nguồn đến đích. Các con đường này có thể cố định, ít bị thay đổi, được thiết lập khi bắt đầu liên kết hay động (dynamic) thay đổi tuỳ theo trạng thái tải của mạng. - Nếu có nhiều gói tin truyền trên mạng có thể xảy ra tình trạng tắc nghẽn, tầng mạng phải giải quyết vấn đề này. - Thực hiện chức năng giao tiếp với các mạng bao gồm việc đánh lại địa chỉ, cắt hợp gói tin cho phù hợp với các mạng. Ngoài ra tầng mạng còn thực hiện một số chức năng kế toán, ví dụ, một số Firewall (Packet Filtering) được cài đặt trên tầng này để thống kê số lượng các gói tin truyền qua mạng hay ngăn cấm hoặc cho phép các gói tin của giao thức nào đó. d) Tầng giao vận (Transport layer). - Kiểm soát việc truyền tin từ nút tới nút (end-to-end): Bắt đầu từ tầng này, các thực thể đã có thể nói chuyện một cách logic với nhau. - Thực hiên việc ghép kênh và phân kênh: Mỗi ứng dụng có thể gửi dữ liệu đi theo nhiều con đường, một đường truyền lại có thể được nhiều ứng dụng sử dụng, phân kênh/hợp kênh giải quyết vấn đề phân chia dữ liệu cho các ứng dụng. 6 - Khắc phục sai sót trong quá trình truyền tin: Việc khắc phục sai sót được thực hiện trên nhiều tầng khác nhau, nhưng hiệu quả nhất là ở các tầng cao, việc khắc phục sai sót thực hiện ở tầng giao vận là hợp lý nhất. e) Tầng phiên (Session layer). - Tầng này cho phép người sử dụng trên các máy khác nhau thiết lập, duy trì, huỷ bỏ, đồng bộ phiên truyền thông giữa họ. Cung cấp một số dịch vụ hữu ích cho người sử dụng như cho phép người dùng logon vào hệ thống chia sẻ thời gian, truyền tệp giữa các máy tính. - Quản lý thẻ bài (Token): cơ chế thẻ bài được tầng phiên cung cấp để tránh hiện tượng tranh chấp đường truyền trên mạng. - Thực hiện đồng bộ (Synchronization): thực hiện đối với những dữ liệu lớn bằng cách thêm vào các thông tin kiểm tra, sửa lỗi. f) - Tầng trình diễn (Presentation layer). Giải quyết vấn đề liên quan tới cú pháp và ngữ nghĩa của thông tin như chuyển đổi thông tin theo một chuẩn nào đó được cả hai bên sử dụng (mã ASCII - EDBCDIC). Nén/giãn dữ liệu để giảm số lượng bit truyền trên mạng. Mã hoá dữ liệu để thực hiện quyền truy cập. g) Tầng ứng dụng (Application layer). - Tầng ứng dụng cung cấp giao diện sử dụng cho người dùng và môi trường truyền tin. - Thực hiện chức năng chuyển file trong đó có giải quyết vấn đề không tương thích như cách đặt tên file hay các mã điều khiển trong một tệp văn bản... - Cung cấp các dịch vụ Electronic mail, Remote login, Directory lookup... 1.2 Bộ giao thức TCP/IP. 1.2.1 Giao thức chuyển địa chỉ ARP (Address Resolution Protocol) và giao thức chuyển ngược địa chỉ RARP (Reverse Address Resolution Protocol). Mọi máy tính cùng nằm trên một mạng có cùng một net id và các máy tính cùng trên một mạng vật lý có thể gửi frame vật lý trực tiếp cho nhau nên việc truyền thông tin giữa hai máy tính trong cùng một mạng vật lý không cần sử dụng Gateway. Việc dẫn đường trực tiếp chỉ sử dụng phần địa chỉ máy host id trong địa chỉ IP. Trạm gửi chỉ việc kết khối dữ liệu vào frame, chuyển địa chỉ IP của trạm đích thành địa chỉ vật lý và gửi trực tiếp frame tới máy nhận. Một cơ chế sử dụng để chuyển địa chỉ IP thành địa chỉ vật lý là ARP (Address Resolusion Protocol). Khi hai máy tính cùng nối vào một mạng vật lý, chúng biết được địa chỉ IP của nhau nhưng để truyền thông giữa hai máy, chúng phải biết được địa chỉ vật lý của nhau. ARP giải quyết vấn đề chuyển từ địa chỉ IP 32 bit sang địa chỉ Ethernet 48 bit. Người ta sử dụng hai cơ chế chuyển địa chỉ là: + Chuyển giao trực tiếp. + Chuyển gio gián tiếp. Chuyển giao trực tiếp: Địa chỉ vật lý là một hàm của địa chỉ IP, ví dụ sử dụng trên mạng Token ring proNET10 là mạng cho phép đặt địa chỉ IP và địa chỉ vật lý tùy ý. Người ta có thể đặt địa chỉ IP là 192.5.48.3 và địa chỉ vật lý là 3, khi đó ta có PA=f(IA). Với PA là địa chỉ vật lý, IA là địa chỉ Internet và f là hàm chuyển đổi. Chuyển giao gián tiếp Chuyển giao địa chỉ động được thực hiện bằng cách máy tính gửi thông tin gửi một thông báo tới toàn bộ các máy tính trên mạng, trong thông báo đó có chứa địa chỉ IP của máy tính nó cần liên lạc, mọi máy sẽ nhận được thông báo và máy nào thấy địa chỉ IP của mình thì trả lại một thông báo chứa địa chỉ vật lý, khi đó, hai máy tính có thể “nói chuyện” với nhau. 7 1.2.2 Giao thức điều khiển truyền tin (Internet Control Message Protocol - ICMP) Việc dẫn đường qua các mạng sử dụng giao thức điều khiển truyền tin (Internet Control Message Protocol - ICMP) được định nghĩa trong RFC 792. ICMP sử dụng gói tin IP để chuyển thông báo của nó. ICMP gửi các thông báo làm các công việc: Điều khiển, thông báo lỗi và chức năng thông tin cho TCP/IP… Thông thường ICMP được gửi khi một gói tin không thể đi tới đích, một gateway không còn đủ chỗ nhớ để nhận thêm gói tin hay một gateway hướng dẫn máy tính sử dụng gateway khác để truyền thông tin theo một con đường tối ưu hơn. 1.2.3 Giao thức không kết nối (User Datagram Protocol – UDP). UDP cho phép chương trình ứng dụng truy cập trực tiếp đến gói tin của dịch vụ chuyển giao giống như dịch vụ mà giao thức IP cung cấp. Nó cho phép ứng dụng trao đổi thông tin qua mạng với ít thông tin điều khiển nhất. UDP là giao thức không kết nối, kém tin cậy vì nó không có cơ chế kiểm tra tính đúng đắn của dữ liệu truyền. 1.2.4 Giao thức điều khiển truyền tin (Transmission Control Protocol - TCP). Một số ứng dụng đòi hỏi giao thức giao vận cung cấp dịch vụ chuyển giao thông tin tin cậy sử dụng TCP bởi nó cung cấp dịch vụ kiểm tra đúng đắn và dữ liệu được truyền với một sự phối hợp thích hợp. Một số đặc điểm của dịch vụ tin cậy mà TCP cung cấp là: - Hướng dòng (Stream Orientation): TCP coi dữ liệu nó gửi đi là một dòng byte không phải là gói tin. Do đó, TCP đảm bảo số thứ tự của các byte gửi nhận. TCP chuẩn không bắt hệ thống phải sử dụng một số đặc biệt nào để đánh số dòng byte, mỗi hệ thống tự chọn một số mà nó sẽ dùng làm điểm bắt đầu. Mỗi trạm cuối phải biết số thứ tự mà trạm kia dùng. - Chuyển giao bộ đệm (Buffered Transfer): Để giảm số lượng truyền thông, giao thức cố gắng sử dụng số lượng tối thiểu các segment để truyền tải thông tin, do vậy, giao thức sử dụng tối đa độ dài có thể của segment. - Kết nối hai chiều (Full Duplex Connection): TCP/IP cung cấp kết nối cho cả hai đầu của liên kết. Điều này có nghĩa là tầng phía dưới cung cấp khả năng gửi trả thông báo từ trạm đích trở lại trạm nguồn. TCP là giao thức hướng kết nối. Nó thiết lập quan hệ logic giữa 2 trạm tham gia liên kết. 1.2.5 Giao thức truyền tệp. Đây là một phương pháp sao chép tệp từ một máy tính ở xa về máy tính của người dùng ta có thể ngồi tại máy tính của mình truyền hoặc lấy File trên một máy chủ nào đó 8 Chương 2. Giao thức Telnet. 2.1 Giao thức Telnet. Một trong những kỹ thuật chủ yếu sử dụng trên mạng máy tính là khả năng truy cập hệ thống từ xa. Đó là việc người sử dụng có thể thực hiện được một ứng dụng trên một máy tính từ xa. Trong các giao thức cho phép truy cập từ xa có hiệu quả, đáng chú ý nhất là giao thức Telnet. Bộ giao thức TCP/IP bao gồm một giao thức trạm làm việc ở xa đơn giản, gọi là Telnet, để cho phép người sử dụng login vào máy tính thông qua Internet. Telnet thiết lập một kết nối TCP, sau đó gửi các tín hiệu của người sử dụng đến trực tiếp máy tính ở xa y như chúng được nhập vào bàn phím trực tiếp với máy tính ở xa. Telnet cũng chuyển tải dữ liệu xuất từ máy tính ở xa ngược trở về màn hình của người sử dụng. Dịch vụ này được gọi là “trong suốt” (transparent) vì nó cho ta cảm giác như là bàn phím và màn hình của người sử dụng nối trực tiếp vào máy tính ở xa. Thông thường, phần mềm Telnet ở Client cho phép người sử dụng xác định một máy ở xa bằng cách chỉ ra tên miền hoặc địa chỉ IP của nó. Giao thức Telnet cung cấp một giao diện chuẩn, thông qua một chương trình ở một máy (Telnet Client) có thể khai thác tài nguyên ở một máy khác (Telnet Server). Ví dụ, một người sử dụng máy trạm của mạng LAN có thể kết nối với một máy trong mạng như thể là một máy trạm kết nối trực tiếp với máy đó. Hình 2-1. Sơ đồ làm việc của giao thức Telnet 2.2 Các dịch vụ của giao thức Telnet. Telnet cung cấp ba dịch vụ cơ bản. Trước hết, nó định nghĩa một trạm mạng ảo để cung cấp một giao tiếp chuẩn cho các hệ ở xa. Chương trình Client không phải hiểu chi tiết tất cả các hệ ở xa; chúng được xây dựng để sử dụng giao tiếp chuẩn. Thứ hai, Telnet bao gồm một cơ chế cho phép Client và Server thương thảo các lựa chọn, nó cung cấp một tập hợp các lựa chọn chuẩn. Cuối cùng, trong Telnet thì hai đầu của kết nối là đối xứng. Cụ thể, Telnet không bắt buộc dữ liệu nhập của Client phải đến từ bàn phím, nó cũng không bắt buộc Client phải thể hiện dữ liệu xuất ra màn hình. Như thế, Telnet cho phép một chương trình bất kỳ có thể đóng vai trò Client và hai đầu của kết nối có thể thương thảo về các lựa chọn. 9 Hình 2-2. Mô hình đối xứng của Telnet. Qua hình này chúng ta thấy, khi người sử dụng gọi Telnet, thì một chương trình ứng dụng trên máy của người sử dụng trở thành Client. Sau đó, Client này thiết lập kết nối TCP đến Server mà chúng sẽ thông tin liên lạc. Một khi kết nối đã được thiết lập, Client sẽ nhận các ký tự bàn phím của người sử dụng và gửi chúng đến Server , trong khi đó nó cũng đồng thời nhận các ký tự mà Server gửi ngược trở về và thể hiện nó lên màn hình của người sử dụng. Server phải nhận một kết nối TCP từ Client và rồi chuyển dữ liệu đi giữa kết nối TCP này và hệ điều hành cục bộ.Trong thực tế, Server phức tạp hơn nhiều so với những gì trình bày trong hình này bởi vì nó phải xử lý đồng thời nhiều kết nối. Thông thường, một tiến trình Server chủ đợi các kết nối mới và tạo ra Server phụ mới để xử lý mỗi kết nối. Như thế “Telnet Server” như trong hình thể hiện cho Server phụ để xử lý một kết nối cụ thể. Hình này không trình bày Server chủ - để lắng nghe các yêu cầu mới, nó cũng không trình bày những Server phụ để xử lý những kết nối khác. Chúng ta sử dụng khái niệm trạm làm việc ảo để mô tả đầu vào của hệ điều hành, nơi cho phép một chương trình chạy, giống như Telnet Server, truyền các ký tự dến hệ điều hành giống như là chúng được nhập từ bàn phím. Nếu hệ thống trạm làm việc ảo, thì Telnet Server có thể được cài đặt với các chương trình ứng dụng. Mỗi Server phụ kết nối một dòng TCP từ một Client đến một trạm làm việc ảo. Việc bố trí để Telnet Server là một chương trình mức ứng dụng có cả ưu điểm lẫn khuyết điểm. Ưu điểm lớn nhất là nó làm cho việc sửa đổi và kiểm soát của Server dễ hơn so với trường hợp chúng được nhúng vào trong hệ điều hành. Khuyết điểm hiển nhiên nhất là sự kém hiệu quả. Mỗi ký tự nhập từ bàn phím của người sử dụng sẽ di chuyển qua hệ điều hành để đến chương trình Client, từ chương trình Client ngược trở về hệ điều hành và đi qua Internet để đến được máy chủ. Sau khi đến được máy chủ, dữ liệu lại phải di chuyển ngược lên hệ điều hành của Server để đến chương trình ứng dụng của Server, và từ chương trình ứng dụng Server ngược trở về hệ điều hành của Server tại điểm vào của trạm làm việc ảo. Cuối cùng, hệ điều hành ở xa sẽ chuyển phát ký tự này đến chương trình ứng dụng mà người sử dụng đang chạy. Trong khi đó, kết xuất di chuyển ngược trở về từ Server đến Client theo cùng một con đường như vậy. 2.3 Hoạt động của Telnet trong những hệ thống không đồng nhất. Để cho Telnet hoạt động được trong càng nhiều hệ khác nhau càng tốt nó phải chấp nhận được các chi tiết của nhiều hệ điều hành khác nhau. Ví dụ một số hệ yêu cầu các dòng văn bản được kết thúc bởi ký tự ASCII carriage control (CR), những hệ khác lại yêu cầu ký tự ASCII linefeed (LF). Lại có những hệ yêu cầu chuỗi hai ký tự CR-LF. Thêm vào đó, hầu hết các hệ tương tác cun cấp phương tiện để người sử dụng đưa vào từ bàn phím ký hiệu ngắt một chươn trình đang chạy. Tuy nhiên, ký hiệu đặc biệt được sử dụng để ngắt một chươn trình lại khác nhau tùy vào trong hệ thống (ví dụ, một số hệ sử dụng Control – C có hệ lại sử dụng ESCAPE). Để chấp nhận được nhiều hệ khác nhau, Telnet định nghĩa cách dữ liệu và các lệnh được gửi qua Internet. Định nghĩa này được gọi là Trạm ảo (Network Virtual Terminal). Trong 10 hình dưới, phần mềm Client chuyển đổi các ký hiệu các bàn phím và chuỗi lệnh từ trạm của người sử dụng thành dạng NVT và gửi chúng tới Server. Phần mềm Server lại chuyển đổi dữ liệu và các lệnh gửi đến từ dạng NVT thành dạng mà hệ ở xa yêu cầu. Đối với dữ liệu trả về, Server chuyển đổi từ dạng của hệ ở xa thành NVT và phần mềm Client lại chuyển từ dạng NVT thành dạng của máy cục bộ. Hình 2-3. Sơ đồ kết nối TCP trên Internet. 2.3.1 Trạm ảo (Network Virtual Terminal-NVT). NVT gồm một màn hình và một bàn phím. Bàn phím thực hiện việc gửi dữ liệu thông qua kết nối Telnet. Màn hình nhận dữ liệu gửi về. Đặc trưng cơ bản của mỗi NVT, nếu nó không bị thay đổi bởi những thoả thuận chung là: - Biểu diễn dữ liệu là tập hợp ký tự ASCII chuẩn 7 bit hoặc là tập hợp ký tự 8 bit. - NVT là một thiết bị xử lý đồng thời. - NVT cung cấp một bộ phận báo hiệu lại (Local echo function). Định nghĩa của dạng NVT tương đối đơn giản. Mọi thông tin liên lạc đều sử dụng các byte - 8bit. Tập hợp ký tự ASCII chuẩn gồm 95 ký tự in được và 33 mã điều khiển. Chuẩn NVT định nghĩa ý nghĩa của các ký tự điều khiển như sau: Command Null (NUL) Bell (BEL) Backspace(BS) Horizontal (HT) Line Feed (LF) Vertical Tab(VT) Form Feed (FF) Carridge Return (CR) Other control ASCII Action 0 No operation 7 Sound audible/visible signal(no motion) 8 Move left one character position 9 Move right to the next horizontal tab stop 10 Move down(vertically) to the next line 11 Move down to the next vertical tab stop 12 Move to the top of the next page 13 Move to the left margin on the current line No operation (has no effect on output) Hình 2-3-1. Các ký tự điểu khiển NVT. 2.3.2 Các lựa chọn Telnet. Telnet bao gồm một cơ chế cho phép Client và Server thương thảo các lựa chọn, nó cung cấp một tập hợp lựa chọn chuẩn (ví dụ, một trong những lựa chọn này là để điều khiển việc truyền dữ liệu qua kết nối sẽ sử dụng tập hợp ký tự ASCII chuẩn 7 bit hoặc là tập hợp kýtự 8 bit). Trong Telnet, ta có thể thương thảo các chọn lựa, điều này giúp cho Client và Server có thể cấu hình lại kết nối của chúng. Ví dụ, thông thường dòng dữ liệu chuyển đi dữ liệu 7 bit và sử dụng các octet có bit thứ 8 được lập để gửi đi thông tin điều khiển như lệnh ngắt tiến trình. Tuy nhiên, Telnet cũng cung cấp một lựa chọn để cho phép Client và Server gửi đi dữ liệu 8 bit. Để thực hiện quá trình đó, Client và Server phải thương thảo với nhau và cả hai cùng phải thống nhất truyền dữ liệu 8 bit trước khi bắt đầu việc truyền dữ liệu. Telnet cung cấp rất nhiều lựa chọn cho người sử dụng. Ví dụ, giao thức được thiết kế trong môi trường 11 một chiều (half-duplex), là nơi hệ thống cần thông báo cho đầu kia “bắt đầu tiến hành” trước khi có thể gửi dữ liệu. Một trong lựa chọn là điều khiển hoạt động của Telnet trong chế độ halfduplex hoặc full-duplex. Có lựa chọn khác cho phép Server trên máy ở xa xác định kiểu trạm làm việc của người sử dụng. Name Transmit Binary Echo Suppress - GA Status Timing-Mark Code 0 1 3 5 6 RFC 856 857 858 859 860 Terminal-Type 24 884 End-of-Record Linemode 25 34 885 1116 Meaning Change transmision to 8 bit binary Allow one side to echo data it receives Suppress Go-ahead signal after data Request for status of a Telnet option from remote site Request timing mark be inserted in return stream to Synchronize two ends of a connection Exchange information about the make and model of a Terminal being used Terminate data sent with EOR code Use local editing and send complete lines instead of Individual characters Hình 2-3-2. Một số lựa chọn thông dụng của Telnet Việc thương thảo các lựa chọn trong Telnet. Trong một số lựa chọn cụ thể, Server thường là phía khởi động việc thương thảo. Vì thế, các giao thức được thiết kế sao cho đầu nào cũng có thể đưa ra yêu cầu. Giao thức này được gọi là đối xứng với tiến trình chọn lựa. Nơi nhận có thể đáp ứng lại yêu cầu bằng việc chấp nhận hoặc từ chối. Trong thuật ngữ của Telnet, yêu cầu là WILL X, có nghĩa là “bạn đồng ý để tôi sử dụng lựa chọn X” và lời đáp có thể là DO X hay DON’T, có nghĩa là “tôi đồng ý để bạn sử dụng lựa chọn X” hay là “tôi không đồng ý để bạn sử dụng lựa chọn X”. Như vậy. chúng ta có thể tóm tắt như sau: Telnet sử dụng một cơ chế thương thảo chọn lựa đối xứng để cho phép Client và Server cấu hình lại các tham số điều khiển việc tương tác giứa chúng. Bới vì, tất cả các phần mềm Telnet hiểu giao thức cơ bản của NVT, Client và Server có thể hợp tác với nhau ngay cả khi một bên hiểu được sự lựa chọn còn bên kia thì không. 2.3.3 Cấu trúc lệnh Telnet Việc giao tiếp giữa Client và Server được thực hiện bởi các lệnh bên trong mà người sử dụng không thể truy cập. Tất cả các lệnh Telnet bao gồm 2-3 byte liên tiếp, tuỳ theo loại lệnh. Telnet NVT chấp nhận các chức năng điều khiển bằng việc định nghĩa cách chúng được chuyển từ Client đến Server. Về mặt khái niệm chúng ta xem như NVT nhập dữ liệu từ bàn phím, có thể phát sinh nhiều hơn 128 ký tự. Giả định bàn phím của người sử dụng có những phím ảo tương ứng với những chức năng được sử dụng cho việc điều khiển. Trong thực tế, hầu hết các bàn phím không cung cấp thêm các phím để thực hiện các lệnh. Thay vào đó, từng hệ điều hành hoặc trình biên dịch lệnh có những cách khác nhau để tạo ra chúng. Một trong những kỹ thuật thông dụng nhất : liên kết từng ký tự ASCII với chức năng điều khiển để khi người sử dụng gõ một phím, hệ điều hành sẽ thực hiện thao tác thích hợp thay vì nhận ký tự đó làm nhập dữ liệu. NVT được thiết kế để các lệnh tách rời khỏi tập ký tự ASCII thông thường, vì hai lý do. Trước hết, việc định nghĩa các chức năng điều khiển riêng biệt làm cho Telnet làm việc uyển chuyển hơn. Nó có thể truyền tất cả ký tự ACSII giữa Client và Server, cũng như các chức năng điều khiển có thể có. Thứ hai, bằng việc tách rời các tín hiệu khỏi dữ liệu thông thường, NVT cho phép Client xác định các tín hiệu một cách chính xác rằng ký tự nhập vào là dữ liệu hay chức năng điều khiển. Để gửi chức năng điều khiển qua kết nối TCP, Telnet mã hoá chúng theo kiểu chuỗi escape. Chuỗi escape sử dụng octet ngược để chỉ rằng tiếp theo sau là các octet mã điều khiển. Trong Telnet, octet ngược để bắt đầu một chuỗi escape được gọi là octet IAC(interrupt as command) 12 Command SB SE WILL WON’T DO DON’T NOP EOR Code 249 240 251 252 253 254 241 239 Meaning Start of option sub-negotiation End of option sub-negotiation Agreement to perform specified option Refusal to perform specified option Approval to allow specified option Denial of request to perform specified option No operation End of record Hình 2-3-3. Cấu trúc lệnh Telnet. Để có thể thực hiện việc thương thảo các lựa chọn Telnet sử dụng các lệnh bên trong. Các lựa chọn có thể được thương thảo bằng các mã lệnh: WILL, DO, DON’T, WON’T. Ngoài ra, một số lựa chọn còn có các lựa chọn phụ: nếu cả hai bên đồng ý với lựa chọn, chúng sử dụng lệnh SB và SE để quản lý lựa chọn phụ. Một ví dụ đơn giản, việc thương thảo các lựa chọn được thực hiện như sau: Send DO transmit binary DO window size SB window size DO terminal type SB terminal type SE DO echo Reply WILL transmit binary WILL window size WILL terminal type SB terminal type IBM=3278-2 SE WON’T echo Meaning Can we negotiate window size? Specify window size Can we negotiate terminal type? My terminal is a 3278-2 Một số lệnh cơ bản của Telnet. Mục đích chính của giao thức Telnet là cung cấp giao diện chuẩn cho các host trên mạng. Telnet định nghĩa một biểu diễn chuẩn qua các chức năng để cho phép kết nối được bắt đầu: IP Interrupt Process (terminate running program) AO Abort Output (discard any buffered output) AYT Are You There(test if server is respondùng) EC Earse Character (delete the previous character) EL Earse Line (delete the entire current line) SYNCH Synchronize (clear data path until TCP urgent data point) 13 Thương mại điện tử Mobile Agent 14 Chương 1. Tổng quan về Agent. 1.1 Giới thiệu. Có nhiều định nghĩa cho software agent, ta có thể tham khảo một số định nghĩa sau: Một agent là một thành phần phần mềm và/hoặc phần cứng mà có khả năng hoat động chính xác để hoàn thành nhiệm vụ thay mặt chủ nhân của agent. (Nwana, 1996) Trên mạng Internet, một agent (có khi được gọi là intelligent agent) là một chương trình thu thập thông tin hoặc thực thi một số dịch vụ khác mà không cần người điều khiển và hoạt động theo thời gian đã được lên lịch sẵn. Một agent đôi khi được gọi là 1 bot ( viết tắt của robot ). Một ví dụ về agent là chương trình Infogate. Chương trình này có chức năng thu thập các tin tức mới về lãnh vực người dùng quan tâm và tự động gửi thông báo đến người dùng khi có tin mới 1.2 Tính năng của Agent. - Tính tự trị (autonomous). Agent có khả năng tự kiểm soát những hoạt động của chính nó và làm việc, thi hành các tác vụ độc lập với người dùng cũng như các tác nhân khác - Tính thích nghi và tự học hỏi (adaptive/learning). Agent biết cách học và tự thay đổi các hành vi của nó theo các kinh nghiệm thu được. - Bền vững trong quá trình hoạt động (persistent). Tự tồn tại và thích nghi trong môi trường hoạt động, chỉ bị hủy khi đã hoàn thành nhiệm vụ - Hoạt động hướng đích (goal driven). Mỗi agent được tạo ra đều có một mục đích và nó hành động theo mục đích này cho đến khi mục đích được thỏa mãn. - Giao tiếp và cộng tác (communicative/collaborative). Agent có khả năng liên lạc, giao tiếp và phối hợp hoạt động với các agent của cùng môi trường khác hay các loại đối tượng khác trong các loại môi trường khác. - Linh hoạt (flexible). Agent có thể hoạt động trong nhiều môi trường, hệ điều hành khác nhau. - Tính di độn (mobility). Là khả năng di chuyển từ môi trường thi hành này sang môi trường khác của một agent. 1.3 Phân loại Agent. Các agent thường được phân loại theo tính năng và mục đích.  Phân loại theo tính năng. - - Agent tĩnh (Stationary agent). + Đặc tính: chỉ làm việc trên một hệ thống, nơi mà agent bắt đầu vòng đời. + Nếu Stationary agent cần thông tin ở một hệ thống khác hoặc muốn tương tác với agent nằm ở hệ thống khác thì chúng phải sử dụng một trong các cơ chế truyền thông khác như RPC, RMI, DCOM... Agent động. + Không lệ thuộc vào hệ thống nơi chúng bắt đầu làm việc. + Có khả năng di chuyển tù nơi này đến nơi khác trong hệ thống mạng máy tính tại những thời điểm và vị trí do agent lựa chọn. + Khi mobile agent di chuyển, nó có thể mang theo mình trạng thái và mã chương trình.  Phân loại theo mục đích. 15 Hình 1-3. Phân loại Agent theo mục đích - Collaborative agent. Collaborative agent là một chương trình giúp người dùng giải quyết vấn đề, đặc biệt trong những trường hợp phức tạp không quen thuộc, bằng cách sửa lỗi, đề nghị nên làm gì tiếp theo và chú ý đến những vấn đề ở cấp thấp. Một Collaborative agent có thể được thêm vào một giao diện người dùng có sẵn,ví dụ các chương trình giả lập hoặc tích hợp vào thiết kế của một ứng dụng phần cứng mới như đồ gia dụng. - Interface agent. Interface agent là một chương trình có thể ảnh hưởng đến giao diện trực tiếp, nhưng không có sự hướng dẫn trực tiếp từ người dùng. Interface agent đọc dữ liệu người dùng nhập vào giao diện và nó có thể tạo ra sự thay đổi tới đối tượng người dùng thấy trên màn hình, mặc dù có thể sự thay đổi đó không phải diễn ra ngay ứng với ứng dụng của người dùng. Interface agent có thể quan sát nhiều tham số nhập vào của người dùng trong một khoảng thời gian nào đó trước khi quyết định thực hiện một hành động. - Smart/Intelligents Có đầy đủ cả 3 mục đích: giao tác , tự động và dễ thích nghi 1.4 Kết luận. Trong chương này chúng ta đã giới thiệu về software agent, đó là một phương pháp lập trình mới, ta cũng đưa ra một vài định nghĩa về agent. Giới thiệu tính năng của agent như: tính tự trị, tính thích nghi và học hỏi, hoạt động hướng đích, giao tiếp và cộng tác, linh hoạt, di động,... Ta cũng phân loại agent theo mục đích và tính năng. 16 Chương 2. Mobile Agent và nguyên lý hoạt động. Những hệ thống phân tán truyền thống được xây dựng trên những chương trình tĩnh, chuyển dữ liệu đi về trên mạng. Còn mobile agent (gọi tắt là MA) thì ngược lại. 2.1 Khái niệm Mobile Agent. Theo truyền thống, một ứng dụng phân tán có cấu trúc xây dựng trên mô hình clientserver sẽ thực hiện việc giao tiếp thông qua cơ chế truyền thông điệp hoặc các lời gọi hàm từ xa (RPCs). Các mô hình giao tiếp này thường phải đồng bộ, nghĩa là phía client tạm ngưng hoạt động của mình trong thời gian gởi yêu cầu đến server và đợi đến khi nhận được kết quả trả về từ server. Một kiến trúc tiến bộ hơn là Remote Evaluation (REV) do Stamos và Gifford [STA-90] đưa ra vào năm 1990. Trong mô hình REV, thay vì yêu cầu thực hiện các hàm từ xa thì client chỉ việc gởi mã nguồn các hàm của nó đến server và yêu cầu server thực hiện rồi trả về kết quả. Một số hệ thống gần đây cũng đã giới thiệu khái niệm thông điệp chủ động (active messages) có thể di trú giữa các vị trí trên mạng, mang theo mã của chương trình để thực thi tại những vị trí này. Mobile agents là mô hình tiến hóa tiên tiến nhất so với các mô hình trước đó. Mobile agent là danh từ ghép giữa agent (tác tử) và mobile (di động). Định nghĩa: Mobile agent là những thành phần phần mềm, bao gồm mã chương trình, dữ liệu và trạng thái hoạt động và có thể tự mình di chuyển từ nơi này sang nơi khác. Nội dung agent mang theo trong quá trình di trú bao gồm các thành phần của agent, tên cơ sở tri thức, bảng lưu nội dung các câu hỏi và câu trả lời theo ngôn ngữ COKB-ONT. Mobile agent chính là một dạng của mobile code. (Mobile code là những chương trình chuyển mã đến client và thực thi ở đó. Ví dụ cho mobile code: chương trình applet có thể gây nguy hiểm cho máy tính do trong applet có thể chứa những đoạn code không đáng tin cậy, gây hại). Mobile agent ngoài những tính năng cơ bản của mobile code còn có thể : mang theo mình dữ liệu và trạng thái thực thi, di trú trong mạng dưới sự kiểm soát của chính nó. Vì vậy, có thể nói mobile agent an toàn hơn mobile code nhiều. Khi di chuyển, các tác tử di động đóng gói mã nguồn, dữ liệu và cả trạng thái thi hành, nhờ vậy tác tử di động có thể dừng việc thi hành đang thực hiện tại máy này, di chuyển sang máy khác và khôi phục lại sự thi hành tại máy đích. Tác tử di động chính là một dạng của mã di động (mã di động là những chương trình chuyển mã đến client và thực thi ở đó). Hình dưới cho thấy sự khác biệt của Mobile agents so với RPC và REV. 17 2.2 Tính chất Mobile Agent. - Có khả năng di trú từ nơi này sang nơi khác. Liên lạc được với nhau, nhân bản, nhập lại, tổng hợp tính toán. Một số agent có khả năng cung cấp dịch vụ hoặc interface cho các ứng dụng kế thừa. Có kích thước nhỏ. Có khả năng xác định và dùng những tài nguyên trên các máy tính đang chứa nó. 2.3 Nguyên lý hoạt động. 2.3.1 Vòng đời của một tác tử di động (mobile agent). Mọi mobile agent đều thực hiện tuần tự theo logic: Đầu tiên, tác tử được tạo ra, di trú từ host này sang host khác theo lịch trình, thực hiện các nhiệm vụ được giao và cuối cùng bị huỷ sau khi đã hoàn thành nhiệm vụ. Hình 2-3-1. Vòng đời của một tác tử di động 2.3.2 Cơ chế di chuyển của Mobile Agent. Agent sẽ tự quyết định đóng gói và di trú đến môi trường khác để thực thi là đặc điểm nổi bật của mobile agent. Khi có nhu cầu di trú agent sẽ tạm dừng thực thi mã, thực hiện lưu trạng thái của đối tượng (có thể có khả năng lưu lại cả trạng thái thi hành). Sau khi mã hoá dữ liệu agent sẽ được truyền đi trên hệ thống mạng. Khi đến đích, agent sẽ thực hiện các bước ngượi lại với bên gửi để khôi phục lại trạng thái của agent và tiếp tục thực hiện nhiệm vụ. 2.3.3 Kiến trúc hệ thống Mobile Agent. Hình 2-3-3. Kiến trúc của một hệ thống Mobile Agent. 2.3.4 Các điều kiện Agent phải thỏa mãn.  Có một mã xác nhận duy nhất.  Xác định được những agent khác đang thực thi trong cùng host.  Có khả năng nhận và gửi thông điệp cho những agent khác. 2.4 Lợi ích của Mobile Agent. Những lợi ích mobile agent mang lại là: 18  Giảm tải mạng. Kỹ thuật mobile agents cho phép người dùng đóng gói cuộc trao đổi, gởi nó đến máy đích và thực hiện xử lý dữ liệu, trao đổi cục bộ tại đó. Như thế sẽ góp phần làm giảm những dòng dữ liệu thô trên mạng và như thế, tải mạng sẽ giảm đáng kể. Phương châm thực hiện của kỹ thuật mobile agents là: mang xử lý đến nơi chứa dữ liệu hơn là mang dữ liệu về chỗ xử lý.  Khắc phục sự trễ mạng. Việc điều khiển các hệ thống với quy mô lớn thông qua mạng sẽ phải chấp nhận một sự trễ hạn nhất định. Nhưng điều đó lại không được phép xảy ra trong các hệ thống thời gian thực như điều khiển robot, quy trình sản xuất ...Khi đó, giải pháp mobile agents tỏ ra hữu ích trong việc khắc phục độ trễ nhờ vào việc các agent có thể được gửi đi từ một trung tâm điều khiển và hành động cục bộ, tự trị, trực tiếp thi hành các chỉ dẫn của người điều khiển.  Đóng gói các giao thức. Khi dữ liệu được trao đổi trong hệ thống phân tán, việc truyền và nhận dữ liệu phải được mã hóa bởi các giao thức cần thiết. Các giao thức này được sở hữu bởi mỗi máy trong hệ thống. Tuy nhiên, một khi các giao thức phải tiến hóa để phù hợp với những yêu cầu mới về sự bảo mật hoặc tính hiệu quả, chúng bắt đầu trở nên cồng kềnh, nặng nề và trở thành vấn đề nan giải. Riêng với giải pháp mobile agents, các agents có thể mang trên mình các giao thức thích hợp và di chuyển tới các máy ở xa để thiết lập các kênh truyền nhận thông tin tương ứng.  Thi hành không đồng bộ và tự trị Thông thường, các thiết bị di động thường phụ thuộc vào các kết nối mạng đắt tiền nhưng rất yếu ớt. Vì thế, những tác vụ cần có kết nối liên tục giữa thiết bị di động và mạng cố định có thể sẽ không có tính kinh tế hoặc không khả thi về mặt kỹ thuật. Giải pháp mobile agents giải quyết vấn đề này bằng cách nhúng tác vụ cần thực hiện vào agent, rồi gửi lên mạng. Sau khi được gửi đi, agent trở nên độc lập thi hành không đồng bộ và có khả năng tự trị. Các thiết bị di động sau đó có thể kết nối trở lại để đón agent về.  Thích ứng nhanh. Các agent có khả năng cảm nhận những thay đổi của môi trường thi hành và tác động trở lại những thay đổi ấy một cách tự động.  Khắc phục tính trạng không đồng nhất. Việc xử lý tính toán trên mạng cơ bản là không đồng nhất vì sự đa dạng về phần cứng và phần mềm được sử dụng. Do mobile agent độc lập với máy tính (phần cứng và hệ điều hành) và tầng vận chuyển, chỉ phụ thuộc vào môi trường thi hành, nên chúng cung cấp một điều kiện tối ưu cho việc liên kết các hệ thống không liên quan gì lại với nhau.  Mạnh mẽ và có khả năng chế ngự lỗi cao. Với khả năng phản ứng năng động với các sự kiện và những thay đổi bất lợi, mobile agents giúp cho việc xây dựng hệ thống mạnh mẽ và chịu lỗi cao được dễ dàng hơn. 2.5 Các ứng dụng của Mobile Agent. Hiện nay, theo các nghiên cứu về agents, chưa có một ứng dụng nào có thể được xem như là ứng dụng đặc trưng dành cho công nghệ tác tử di động. Tất cả những kết quả đạt được hiện nay với tác tử di động cũng đều bằng những công nghệ truyền thống. Tuy nhiên, trong một vài trường hợp, tác tử di động có thể là giải pháp tối ưu. Tác tử di động có thể được áp dụng trong nhiều lĩnh vực như:  Thương mại điện tử. 19 Các ứng dụng thương mại điện tử cho phép người dùng thực hiện các giao dịch trong kinh doanh trên mạng. Một giao dịch có thể bao gồm sự thương lượng với các thực thể ở xa và có thể đòi hỏi truy cập nguồn thông tin liên tục thay đổi. Từ thực tế đó nảy sinh nhu cầu thay đổi hành vi của các thực thể để đạt được một nghi thức chung trong việc thương lượng. Hơn nữa, việc di chuyển các thành phần của ứng dụng tiến gần đến nguồn thông tin thích hợp cho giao dịch cũng được quan tâm. Vì thế công nghệ tác tử di động là một giải pháp rất hấp dẫn cho lĩnh vực này.  Thu thập thông tin phân tán. Trong trường hợp có nhu cầu truy vấn phức tạp, chuyên biệt và liên qua đến nhiều nguồn dữ liệu phân tán, không đồng nhất, việc cử các tác tử di động di chuyển đến các nguồn tin để khai thác tại chỗ và cuối cùng là quay về với những thông tin cần thiết sẽ cho phép giảm tải mạng và giải quyết tốt hơn bài toán tương thích  Theo dõi và thông báo tin cập nhật. Ứng dụng cổ điển này làm nổi bật bản chất không đồng bộ của các tác tử di động. Các agent có thể được gởi đi, đến nơi có nguồn tin và hoạt động theo dõi nguồn tin ngay cả khi người dùng ngắt kết nối. Sau đó, khi nguồn tin có sự thay đổi , agent sẽ quay về báo cho chủ nhân. Những đại diện của loại ứng dụng này Weather Alarm - một chương trình dùng để dự báo thời tiết trên và JobFinder (findjobs.com) - website việc làm và tuyển dụng. Các agent có thể được gửi đi để chờ một dạng thông tin nào đó xuất hiện, rồi sau đó báo cho người dùng biết hoặc tự nó có những hành động thích hợp đối với thông tin đó.  Giám sát và phổ biến thông tin. Các tác tử di động là một minh họa cho mô hình Internet push. Các agent có thể phổ biến tin tức và cập nhật phần mềm tự động cho các nhà sản xuất. Các agent mang các phần mềm thành phần cũng như các thủ tục cần thiết đến các máy cá nhân của khách hàng và tự cập nhật phần mềm trên máy đó. Mô hình này giúp cho nhà sản xuất chủ động hơn trong việc phục vụ khách hàng để bảo đảm chất lượng dịch vụ của mình. Mặc khác, các ứng dụng thuộc loại này cũng tỏ ra hiệu quả đối với các mạng cục bộ hay các chương trình quản lý qui trình hoạt động, sản xuất…để giúp người quản trị giám sát các hệ thống con.  Xử lý song song. Vì các tác tử di động có thể tạo ra nhiều bản sao của nó trên mạng nên ứng dụng đầy tiềm năng của tác tử di động là quản trị các tác vụ song song. Một ứng dụng đòi hỏi quá nhiều tài nguyên bộ xử lý có thể được phân bố cho các tác tử di động mang đi thực hiện trên nhiều máy tính khác nhau để tận dụng các tài nguyên rảnh rỗi và cân bằng tải. Hệ tác tử di động không đồng nhất là một minh họa khai thác ưu điểm này của mô hình tác tử di động.  Quản trị hệ thống mạng. Đối với những hệ thống mạng lớn, việc chuẩn đoán lỗi, duy trì sự ổn định của hệ thống là các công việc rất khó khăn. Việc ứng dụng tác tử di động vào việc quản trị mạng sẽ giúp cho các công việc chẩn đoán lỗi và duy trì từ xa sự ổn định của hệ thống được dễ dàng hơn.  Hỗ trợ các thiết bị di động. Do đặc điểm tài nguyên hạn chế và không kết nối thường xuyên, việc xây dựng các ứng dụng dựa trên tác tử di động với khả năng di chuyển đến các máy tính có cấu hình mạnh hơn để hoạt động (truy vấn cơ sở dữ liệu, tìm tin…) rồi trả kết quả về sẽ là một giải pháp tốt cho người dùng các thiết bị di động. 2.6 Một số hệ thống Moblie Agent.  Aglets. Aglets được xây dựng và phát triển bởi D. B. Lange và IBM Tokyo Research Laboratory. Hiện nay, bộ Aglets Software Development Kit (ASDK) do IBM phát triển đã dừng lại ở phiên bản 1.1 Beta3 trên nền JDK1.1. Phiên bản mới nhất của ASDK là 2.0.2 do SourceForge phát triển trên nền JDK1.3. Aglets là những đối tượng Java có thể di chuyển từ host này sang host khác trên môi trường mạng. Khi aglets di chuyển, nó mang theo mình cả mã chương trình lẫn dữ liệu. Trong mô hình đối tượng aglets, một mobile agent là một đối tượng di động có luồng 20
- Xem thêm -