Hãy cho biết mục Forward lookup Zone trong DNS manager là gì trong các phương án sau đây

51cần một con trỏ trỏ đến miền con này để tham chiếu khi có các truy vấn. Khôngphải một miền luôn luôn tổ chức miền con và ủy quyền toàn bộ cho các miền connày, có thể chỉ có vài miền con được ủy quyền. Ví dụ miền hcmuns.edu.vn củaTrường ĐHKHTN chia một số miền con như csc.hcmuns.edu.vn (Trung Tâm TinHọc), fit.hcmuns.edu.vn (Khoa CNTT) hay math.hcmuns.edu.vn (Khoa Toán),nhưng các máy chủ phục vụ cho toàn trường thì vẫn thuộc vào miền hcmuns.edu.vn.3.1.3.4. Forwarders Là kỹ thuật cho phép Name Server nội bộ chuyển yêu cầu truy vấn cho cácName Server khác để phân giải các miền bên ngoài. Ví dụ: Trong Hình 1.8, ta thấy khi Internal DNS Servers nhận yêu cầu truyvấn của máy trạm nó kiểm tra xem có thể phân giải được yêu cầu này hay không,nếu không thì nó sẽ chuyển yêu cầu này lên Forwarder DNS server (multihomed) đểnhờ name server này phân giải giùm, sau khi xem xét xong thì Forwarder DNSserver (multihomed) sẽ trả lời yêu cầu này cho Internal DNS Servers hoặc nó sẽ tiếptục forward lên các name server ngoài Internet. Hình 3-7: Forward DNS queries3.1.3.5. Stub zone Là zone chứa bảng sao cơ sở dữ liệu DNS từ master name server, Stub zonechỉ chứa các resource record cần thiết như: A, SOA, NS, một hoặc vài địa chỉ củamaster name server hỗ trợ cơ chế cập nhật Stub zone, cơ chế chứng thực name52server trong zone và cung cấp cơ chế phân giải tên miền được hiệu quả hơn, đơngiản hóa công tác quản trị. Hình 3-8: Stub zone3.1.4. Các bước cài đặt DNS trong Window 2003 Server Xem trong phần hướng dẫn cài đặt và cấu hình3.1.5. Quản lý DNS Server Chúng ta sẽ tìm hiểu một số thuật ngữ, khái niệm cơ bản trong DNS server  Primary Server: Được tạo khi ta add một Primary Zone mới thông qua New Zone Wizard.Thông tin về tên miền do nó quản lý được lưu trữ tại đây và sau đó có thể đượcchuyển sang cho các Secondary Server. Các tên miền do Primary Server quản lý thì được tạo và sửa đổi tại PrimaryServer và được cập nhật đến các Secondary Server.  Secondary Server: DNS được khuyến nghị nên sử dụng ít nhất là hai DNS Server để lưu chomỗi một Zone. Primary DNS Server quản lý các Zone và Secondary Server sử dụngđể lưu trữ dự phòng cho Primary Server. Secondary DNS Server được khuyến nghịdùng nhưng không nhất thiết phải có.53 Secondary Server được phép quản lý những dữ liệu về tên miền (domain),nhưng Secondary Server không tạo ra các bản ghi về tên miền (domain) mà nó lấyvề từ Primary Server. Khi lượng truy vấn Zone tăng cao tại Primary Server thì nó sẽ chuyển bớt tảisang cho Secondary Server. Hoặc khi Primary Server gặp sự cố không hoạt độngđược thì Secondary Server sẽ hoạt động thay thế cho đến khi Primary Server hoạtđộng trở lại. Primary Server thường xuyên thay đổi hoặc thêm vào các Zone mới nênDNS Server sử dụng cơ chế cho phép Secondary lấy thông tin từ Primary Server vàlưu trữ nó. Có hai giải pháp lấy thông tin về các Zone mới là lấy toàn bộ (full) hoặcchỉ lấy phần thay đổi (incremental).  Caching-only Server: Tất cả các DNS Server đều có khả năng lưu trữ dữ liệu trên bộ nhớ cache củamáy để trả lời truy vấn một cách nhanh chóng, nhưng hệ thống DNS còn có mộtloại Caching-only Server. Loại này chỉ sử dụng cho việc truy vấn, lưu giữ câu trả lời dựa trên thông tincó trên cache của máy và cho kết quả truy vấn. Chúng không hề quản lý mộtdomain nào và thông tin mà nó chỉ giới hạn những gì được lưu trên cache củaServer. Lúc ban đầu khi Server bắt đầu chạy thì nó không lưu thông tin nào trongcache. Thông tin sẽ được cập nhật theo thời gian khi các Client Server truy vấn dịchvụ DNS. Nếu sử dụng kết nối mạng WAN tốc độ thấp thì việc sử dụng caching-onlyDNS Server là giải pháp hữu hiệu cho phép giảm lưu lượng thông tin truy vấn trênđường truyền. Caching-only có khả năng trả lời các câu truy vấn đến Client nhưng khôngchứa Zone nào và cũng không có quyền quản lý bất kì domain nào. Nó sử dụng bộ54cache của mình để lưu các truy vấn của DNS của Client. Thông tin sẽ được lưutrong cache để trả lời các truy vấn đến Client.  Stub Server: Là DNS Server chỉ chứa danh sách các DNS Server đã được xác thực từPrimary DNS. Sử dụng stub có thể tăng tốc độ phân giải tên và dễ quản lý.  DNS Zone: DNS Zone là tập hợp các ánh xạ từ host đến địa chỉ IP và từ IP đến host củamột phần liên tục trong một nhánh của domain. Thông tin của DNS Zones là những record gồm tên Host và địa chỉ IP đượclưu trong DNS Server, DNS Server quản lý và trả lời những yêu cầu từ Client liênquan đến DNS Zones này. Hệ thống tên miền (DNS) cho phép phân chia tên miền để quản lý và nó chiahệ thống tên miền thành Zone và trong Zone quản lý tên miền được phân chia đó.Các Zone chứa thông tin về miền cấp thấp hơn, có khả năng chia thành các Zonecấp thấp hơn và phân quyền cho các DNS Server khác quản lý. Zone file: Lưu thông tin của Zone, có thể ở dạng text hoặc trong ActiveDirectory. Có 2 loại DNS Zone: Standard Primary Zone và Active Directory IntegratedZones.  Standard Primary Zone: Được sử dụng trong các single domain, không có Active Directory. Tất cả những thay đổi trong Zone sẽ không ảnh hưởng đến các Zone khác.Tuy nhiên nếu ta tạo thêm một Zone (Secondary Zone), thì Zone này sẽ bị ảnhhưởng từ Primary Zone. Secondary Zone sẽ lấy thông tin từ Primary Zone.55 Quá trình chuyển thông tin từ Primary Zone đến Secondary Zone được gọi làZone Transfer. Sau một khoảng thời gian nhất định, Secondary Zone sẽ cập nhật cácrecords từ Primary Zone, quá trình này được gọi là synchronized (đồng bộ hóa). Khi Primary và Secondary Zones được tạo, các tập tin về Zone sẽ được lưutrên ổ đĩa cứng C:\Windows\System32\Dns. Active Directory Integrated Zones: Mặc định sẽ được tạo khi máy tính chạy DNS Server được nâng cấp thànhDomain Controller. Active Directory Integrated Zones thực chất là Zone được nângcấp lên từ Standard Primary Zone khi lên Domain Controller. DNS Zones được lưu như một đối tượng trong cơ sở dữ liệu của ActiveDirectory. Thông tin về DNS Zones đều chứa trên tất cả Domain Controller. Cho phépviệc cập nhật tự động cơ sở dữ liệu DNS Zones bảo mật (secure updates). Resource Records: Là hệ thống cơ sở dữ liệu của DNS, được sử dụng để phục vụ cho quá trìnhtrả lời các truy vấn từ DNS Client. Bảng 3-4: Các loại Record trong DNSRecord Type Mục đíchA Host – Phân giải tên máy thành địa chỉ IP (IPv4).MX Mail exchange – Chỉ đến mail Server trong domain.CNAME (Alias) Canonical name – Cho phép một host có thể có nhiều tên.NS Name Server – Chứa địa chỉ IP của DNS Server cùng với các thông tin về domain đó.SOA Start of Authority – Bao gồm các thông tin về domain trên DNS Server.SRV Service – Được sử dụng bởi Active Directory để lưu thông tin về vị trí của Domain Controllers.AAAA Host – Phân giải tên máy thành địa chỉ IP (IPv6).PTR Pointer – Phân giải địa chỉ IP thành tên máy.56  Zone Transfer: Do đề phòng rủi ro khi DNS Server không hoạt động hoặc kết nối bị đứtngười ta khuyên nên dùng nhiều hơn một DNS Server để quản lý một Zone nhằmtránh trục trặc đường truyền. Do vậy ta phải có cơ chế chuyển dữ liệu các Zone vàđồng bộ giữa các DNS Server khác nhau. Để cấu hình Zone Transfer, ta chọn Zone, chọn tiếp Properties, chọn tabZone Transfer, gõ vào địa chỉ IP của DNS Server.3.1.6. Cấu hình DNS Server Xem trong phần hướng dẫn cài đặt và cấu hình3.1.7. nslookup Giao thức DNS đã được đưa vào sử dụng cách đây khá lâu và vẫn đang làmột giao thức ổn định và tin cậy. Tuy vậy, DNS đôi khi vẫn có một số vấn đề xảyra. Các vấn đề này có thể bắt nguồn từ sự mất kết nối, một bản ghi DNS lỗi hoặcmột số các vấn đề khác. Khi máy chủ DNS hoạt động không bình thường thì chúngta có thể dùng NSLOOKUP để kiểm tra sự hoạt động của DNS Server. Tiện íchNSLOOKUP có sẵn trong Windows và UNIX. Hình 3-9: Kết quả khi NSLOOKUP truy vấn miền bên ngoài57 Khi sử dụng lệnh NSLOOKUP, NSLOOKUP mặc nhiên truy vấn tên miềncục bộ trên mạng nội bộ của mình trước khi truy vấn một tên miền bên ngoài. Ví dụnếu brienposey.com là một miền bên ngoài và thực hiện NSLOOKUP đối vớibrienposey.com, thì NSLOOKUP sẽ trả về các thông tin như được thể hiện tronghình 3-20. Hình 3-9 cho chúng ta sẽ thấy có một thông báo lỗi. Điều đó có nghĩa làDNS Server tìm kiếm tên miền brienposey.com trong hệ thống DNS nội bộ khôngcó tên miền brienposey.com. Sau đó DNS Server truy vấn hệ thống DNS bên ngoàiđể yêu cầu phân giải địa chỉ IP của tên miền brienposey.com. Khi có kết quả DNSServer trả kết quả cho client. Cú pháp của lệnh NSLOOKUP:nslookup [-option] [hostname] [server] option: tham số để chỉ rõ thông tin cần truy vấn hostname: host cần truy vấn server: DNS server để gởi yêu cầu truy vấn (nếu không có tham số này thì chương trình sẽ lấy DNS server đã được khai báo). Ví dụ: truy vấn hostname vnexpress.netC:\>nslookup vnexpress.netServer: UnKnownAddress: 192.168.1.1Non-authoritative answer:Name: vnexpress.netAddress: 111.65.248.132 Truy vấn hostname vnexpress.net sử dụng DNS Server của GoogleC:\>nslookup vnexpress.net 8.8.8.8Server: google-public-dns-a.google.comAddress: 8.8.8.8Non-authoritative answer:Name: vnexpress.netAddress: 111.65.248.132 Truy vấn MX Record sử dụng option -query=mxC:\>nslookup -query=mx google.com58Server: UnKnownAddress: 192.168.1.1Non-authoritative answer:google.com MX preference = 50, mail exchanger =alt4.aspmx.l.google.comgoogle.com MX preference = 30, mail exchanger =alt2.aspmx.l.google.comgoogle.com MX preference = 10, mail exchanger =aspmx.l.google.comgoogle.com MX preference = 20, mail exchanger =alt1.aspmx.l.google.comgoogle.com MX preference = 40, mail exchanger =alt3.aspmx.l.google.comTruy vấn NS Record (name server record) sử dụng -query=nsC:\>nslookup -query=ns google.comServer: UnKnownAddress: 192.168.1.1Non-authoritative answer:google.com nameserver = ns3.google.comgoogle.com nameserver = ns4.google.comgoogle.com nameserver = ns2.google.comgoogle.com nameserver = ns1.google.comGoogle có 4 name server.Truy vấn SOA Record sử dụng -query=soaC:\>nslookup -query=soa google.comServer: UnKnownAddress: 192.168.1.1Non-authoritative answer:google.com primary name server = ns1.google.com responsible mail addr = dns-admin.google.com serial = 2013051500 refresh = 7200 (2 hours) retry = 1800 (30 mins) expire = 1209600 (14 days) default TTL = 300 (5 mins) Hiển thị tất cả available DNS Record sử dụng option -query=anyC:\>nslookup -query=any google.comServer: UnKnown59Address: 192.168.1.1Non-authoritative answer:google.comprimary name server = ns1.google.comresponsible mail addr = dns-admin.google.comserial = 2013051500refresh = 7200 (2 hours)retry = 1800 (30 mins)expire = 1209600 (14 days)default TTL = 300 (5 mins)google.com MX preference = 20, mail exchanger =alt1.aspmx.l.google.comgoogle.com MX preference = 50, mail exchanger =alt4.aspmx.l.google.comgoogle.com MX preference = 40, mail exchanger =alt3.aspmx.l.google.comgoogle.com MX preference = 10, mail exchanger =aspmx.l.google.comgoogle.com MX preference = 30, mail exchanger =alt2.aspmx.l.google.comgoogle.com internet address = 74.125.135.102google.com internet address = 74.125.135.100google.com internet address = 74.125.135.139google.com internet address = 74.125.135.101google.com internet address = 74.125.135.113google.com internet address = 74.125.135.138google.com nameserver = ns4.google.comgoogle.com nameserver = ns3.google.comgoogle.com nameserver = ns2.google.comgoogle.com nameserver = ns1.google.comReverse DNS lookupC:\>nslookup 8.8.8.8Server: UnKnownAddress: 192.168.1.1Name: google-public-dns-a.google.comAddress: 8.8.8.8 Chúng ta có thể xem danh sách các tham số và cú pháp bằng lệnh nslookupsau đó nhập ?C:\>nslookupDefault Server: UnKnownAddress: 192.168.1.160>?Commands: (identifiers are shown in uppercase, [] means optional)NAME - print info about the host/domain NAME using default serverNAME1 NAME2 - as above, but use NAME2 as serverhelp or ? - print info on common commandsset OPTION - set an option all - print options, current server and host [no]debug - print debugging information [no]d2 - print exhaustive debugging information [no]defname - append domain name to each query [no]recurse - ask for recursive answer to query [no]search - use domain search list [no]vc - always use a virtual circuit domain=NAME - set default domain name to NAME srchlist=N1[/N2/.../N6] - set domain to N1 and search list to N1,N2, etc. root=NAME - set root server to NAME retry=X - set number of retries to X timeout=X - set initial time-out interval to X seconds type=X - set query type (ex. A,AAAA,A+AAAA,ANY,CNAME,MX,NS,PTR,SOA,SRV) querytype=X - same as type class=X - set query class (ex. IN (Internet), ANY) [no]msxfr - use MS fast zone transfer ixfrver=X - current version to use in IXFR transfer requestserver NAME - set default server to NAME, using current default serverlserver NAME - set default server to NAME, using initial serverroot - set current default server to the rootls [opt] DOMAIN [> FILE] - list addresses in DOMAIN (optional: output to FILE) -a - list canonical names and aliases -d - list all records -t TYPE - list records of the given RFC record type (ex. A,CNAME,MX,NS,PTR etc.)view FILE - sort an 'ls' output file and view it with pgexit - exit the program613.2. DHCP3.2.1. Khái niệm3.2.1.1. DHCP là gì? Viết tắt của từ Dynamic Host Configuration Protocol - Giao thức cấu hìnhHost động. Giao thức cung cấp phương pháp thiết lập các thông số địa chỉ IP cầnthiết cho hoạt động của mạng, giúp giảm khối lượng công việc cho quản trị hệthống mạng. DHCP được định nghĩa trong RFC 1531 vào tháng 10/1993, là phầnmở rộng của Bootstrap Protocol (BOOTP). Nguyên nhân để cải tiến BOOTP làBOOTP đòi hỏi phải cấu hình thủ công để thêm thông tin cho từng máy client, vàkhông cung cấp cơ chế tái sử dụng lại địa chỉ IP. Với dịch vụ DHCP người quản trị mạng không cần phải thiết lập thông sốđịa chỉ IP cho từng máy client. Việc thiết lập thông số địa chỉ IP cho từng máyclient (máy chạy dịch vụ DHCP client) sẽ do DHCP Server đảm nhiệm.3.2.1.2. Ưu điểm của DHCP server  Quản lý TCP/IP tập trung: Thay vì phải quản lý địa chỉ IP và các tham số TCP/IP khác vào một cuốn sổ(đây là việc mà quản trị mạng phải làm khi cấu hình TCP/IP bằng tay) thì DHCPserver sẽ quản lý tập trung trên giao diện của nó. Giúp các nhà quản trị vừa dễ quảnlý, cấu hình, khắc phục khi có lỗi xảy ra trên các máy trạm.  Giảm gánh nặng cho các nhà quản trị hệ thống: Trước đây các nhà quản trị mạng thường phải nhập cấu hình địa chỉ IP bằngtay (gọi là IP tĩnh) nhưng nay nhờ có DHCP server nó sẽ cấp IP một cách tự độngcho các máy trạm. Nhất là trong môi trường mạng lớn thì sự cần thiết và hữu íchcủa dịch vụ mạng này mới thấy rõ ràng nhất.62  Giúp hệ thống mạng luôn được duy trì ổn định: Địa chỉ IP cấp phát cho các máy trạm lấy từ dải IP cấu hình sẵn trên DHCPserver. Các tham số (Gateway, DNS server ...) cung cấp cho tất cả các máy trạm làchính xác. Sự trùng lặp IP không bao giờ xảy ra. Các máy trạm luôn luôn có mộtcấu hình TCP/IP chuẩn làm cho hệ thống hoạt động liên tục, giảm gánh nặng chongười quản trị.  Linh hoạt và khả năng mở rộng: Người quản trị có thể thay đổi cấu hình IP một cách dễ dàng khi cơ sở hạtầng mạng thay đổi. Do đó làm tăng sự linh hoạt và khả năng mở rộng của hệ thốngmạng.3.2.1.3. Nguyên lý hoạt động của DHCP Giao thức DHCP làm việc theo mô hình client/server. Theo đó, quá trìnhtương tác giữa DHCP client và server diễn ra theo các bước sau: Khi máy client khởi động, máy sẽ gửi broadcast gói tin DHCPDISCOVERyêu cầu DHCP Server cung cấp thông tin địa chỉ IP cho máy client. Gói tin nàycũng chứa địa chỉ MAC của máy client. DHCP Server khi nhận được gói tin yêu cầu đó, nếu còn khả năng cung cấpđịa chỉ IP sẽ gửi lại cho máy Client gói tin DHCPOFFER. Gói tin DHCPOFFER sẽchứa thông tin địa chỉ IP để cung cấp cho máy client. DHCP Server sẽ không cấpphát địa chỉ IP vừa cung cấp cho máy client cho các máy khác trong một khoảngthời gian nhất định. Máy Client sẽ gửi broadcast lại gói tin DHCPREQUEST chấp nhận địa chỉIP vừa được cấp phát. DHCP Server sẽ gửi lại cho client gói tin DHCPACK để xác nhận địa chỉ IP,subnet mask và thời hạn sử dụng sẽ chính thức được áp dụng. Ngoài ra Server còngửi kèm theo những thông tin cấu hình bổ sung như địa chỉ của gateway mặc định,địa chỉ DNS Server…633.2.2. Cài đặt DHCP Xem trong phần hướng dẫn cài đặt và cấu hình3.2.3. Cấu hình DHCP Xem trong phần hướng dẫn cài đặt và cấu hình3.3. Mail server3.3.1. Giới thiệu Để gửi một bức thư, thông thường ta có thể mất một vài ngày với một bứcthư gửi trong nước và nhiều thời gian hơn để gửi bức thư đó ra nước ngoài. Do đóđể tiết kiệm thời gian, ngày nay nhiều người đã chuyển qua sử dụng thư điện tử.Thư điện tử được gửi tới người nhận rất nhanh, dễ dàng và rẻ hơn nhiều so với thưtruyền thống. Thư điện tử là một thông điệp được gửi từ máy tính này đến một máy tínhkhác trên mạng máy tính mang nội dung cần thiết từ người gửi đến người nhận. Dothư điện tử gửi qua lại trên mạng và sử dụng tín hiệu điện để truyền vì vậy tốc độtruyền rất nhanh.  Lợi ích của thư điện tử Thư điện tử có rất nhiều công dụng vì chuyển nhanh chóng và sử dụng dễdàng. Mọi người có thể trao đổi ý kiến, tài liệu với nhau trong thời gian ngắn. Thưđiện tử ngày càng đóng một vai trò quan trọng trong đời sống, khoa học, kinh tế, xãhội, giáo giục, và an ninh quốc gia. Ngày nay người ta trao đổi với nhau hàng ngàynhững ý kiến, tài liệu bằng điện thư mặc dù cách xa nhau hàng ngàn cây số. Vì thư điện tử phát triển dựa vào cấu trúc của Internet cho nên cùng với sựphát triển của Internet, thư điện tử ngày càng phổ biển trên toàn thế giới. Người takhông ngừng tìm cách để khai thác tối đa lợi ích của nó. Thư điện tử phát triển đượcbổ sung thêm các tính năng sau:64  Mỗi bức thư điện tử sẽ mang nhận dạng người gửi. Như vậy người gửi sẽ biết ai đã gửi thư cho mình một cách chính xác.  Thay vì gửi lá thư điện tử bằng chữ, người gửi có thể dùng điện thư để gửi tiếng nói. Người nhận sẽ lắng nghe được giọng nói của người gửi khi nhận được thư.  Người gửi có thể gửi một cuốn phim hoặc là những hình ảnh cho người nhận. Hình 3-10: Mô hình của hệ thống Mail server Hệ thống Mail Server cơ bản bao gồm:  Giao thức SMTP để chuyển, nhận thư giữa các máy chủ Mail server với nhau.  Giao thức SMTP để cho phép Mail Client gửi thư lên máy chủ  Giao thức POP hoặc IMAP để Mail Client nhận thư về. Sau đây chúng ta sẽ tìm hiểu các giao thức trong hệ thống mail server.653.3.2. Giao thức SMTP3.3.2.1. Giới thiệu Việc phát triển các hệ thống thư điện tử (Mail System) đòi hỏi phải hìnhthành các chuẩn chung về thư điện tử. Có hai chuẩn về thư điện tử quan trọng nhấtvà được sử dụng từ trước đến nay là X.400 và SMTP (Simple Mail TransferProtocol). SMTP thường đi kèm với chuẩn POP3. Mục đích chính của X.400 là chophép các E-mail có thể được truyền nhận thông qua các loại mạng khác nhau về cấuhình phần cứng, hệ điều hành mạng, giao thức truyền dẫn. Còn chuẩn SMTP là khiMTA (Mail Transfer Agent) hoặc MUA (Mail User Agent) gửi thư phải dùng giaothức SMTP gửi thư điện tử cho một MTA nhận thư cũng phải sử dụng SMTP. Sauđó, MUA sẽ lấy thư khi nào họ muốn dùng giao thức POP (Post Office Protocol).Ngày nay POP được cải tiến thành POP3 ( Post Office Protocol version3). Mail server Mail server POP POP POP POP Server ServerPC Maibox PCMUA Maibox MUAMailbox SMTP Mailbox MDA MDA SMTP MTA MTA SMTP Hình 3-11: Hoạt động của POP và SMTP SMTP hoạt động ở tầng ứng dụng trong mô hình 7 lớp OSI và sử dụng cổng25 để gửi thử điện tử trên mạng TCP/IP. SMTP được phát triển vào năm 1982 bởitổ chức IETF ( Internet Engineering Task Force) và được chuẩn hóa theo tiêu chuẩnRFCS 821 và 822. SMTP sử dụng cổng 25 của TCP. Ngoài ra SMTP cũng có kếthợp thêm hai giao thức khác hỗ trợ cho việc lấy thư là POP3 và IMAP4.66 Giao thức SMTP là một tập hợp các câu lệnh điều khiển việc gởi thư. Chúngta sẽ tìm hiểu các câu lệnh cỏ bản của giao thức SMTP.3.3.2.2. Ý nghĩa các lệnh SMTP  HELO Sử dụng để xác định máy gởi với máy nhận. Lệnh này với tham số là tênmáy gửi.  MAIL Lệnh này được dùng để khởi tạo quá trình trao đổi mail. Tham số gồm“FROM:” tiếp theo sau là địa chỉ email của người gửi.  RCPT (RECIPIENT) Lệnh này được sử dụng để xác định người nhận mail (hoặc nhiều người nhậncùng một nội dung mail). Tham số gồm “TO:” theo sau là các địa chỉ người nhận.  DATA Thông báo bắt đầu gửi nội dung của mail (phần thân của message). Dữ liệukết thúc bằng một dòng trống và một dấu chấm (.).  RSET (RESET) Hủy phiên gửi mail hiện hành.  VRFY (VERIFY) Sử dụng để kiểm tra người nhận mail.  SEND Lệnh này được dùng để khởi tạo quá trình gởi mail mà nội dung mail sẽ đượcgởi tới một hay nhiều người nhận.  SOML (SEND OR MAIL) Lệnh này được dùng để khởi tạo quá trình gởi mail mà nội dung mail sẽđược gởi tới một hay nhiều người nhận hoặc các hộp thư.67  HELP Yêu cầu thông tin trợ giúp.  NOOP Viết tắt của “no operation”, lệnh này không làm gì cả.  QUIT Đóng kết nối . Cú pháp của các lệnh Bảng 3-5: Các lệnh của SMTP HELO <SP> <domain> <CRLF> MAIL <SP> FROM:<reverse-path> <CRLF> RCPT <SP> TO:<forward-path> <CRLF> DATA <CRLF> RSET <CRLF> SEND <SP> FROM:<reverse-path> <CRLF> SOML <SP> FROM:<reverse-path> <CRLF> VRFY <SP> <string> <CRLF> HELP [<SP> <string>] <CRLF> NOOP <CRLF> QUIT <CRLF> Chú thích <SP> = Space bar, <CRLF> = Enter. Các lệnh bao gồm một mã lệnh theo sau là tham số của lệnh. Mã lệnh là 4 kýtự alphabetic. Không phân biệt chữ thường hoặc chữ hoa. Giữa mã lệnh và đối số làmột hoặc nhiều khoảng trắng. Tuy nhiên trong reverse-path và forward-path phânbiệt chữ hoa và chữ thường. Đặc biệt, trên một số host, tên user cũng phân biệt kiểuchữ hoa và thường. Tham số bao gồm một chuỗi ký tự kết thúc bằng “<CRLF>”.3.3.2.3. Ví dụ về một giao dịch của SMTPServer : 220 sample2 Simple Mail Transfer Service Ready Khi được kết nối qua giao thức TCP/IP, máy nhận trả lời với mã 220 để báocho máy gởi biết dịch vụ SMTP đã sẵn sàng.Client : HELO tmt01vn Bên nhận đã sẵn sàng, bên gởi gởi HELO và tên người gởi68Server : 250 helo. Trả với mã 250 báo cho biết bên nhận đã sẵn sàng

Client : MAIL FROM:<[email protected]>

Bên gởi dùng lệnh MAIL để khởi động phiên giao dịch. Cú pháp như trêncho bên nhận biết địa chỉ bên gởi ( mailbox của bên gởi ) để bên nhận gởi thông báolỗi nếu có về bên gởiServer : 250 OK Trả lời với mã 250 cho biết sẵn sàng

Client : RCPT TO:<[email protected]>

Server: 250 OK

Client : RCPT TO:[email protected]

Muốn gởi cho bao nhiêu người dùng bấy nhiêu lệnh RCPT kèm theo địa chỉnhận, bên nhận nếu đúng sẽ trả về mã 250 kèm theo OKServer : 550 No such user here Nếu trả về mã 550 cho biết không có mailbox theo địa chỉ trên.Client : DATA Báo cho bên nhận biết dữ liệu bắt đầu từ sau từ DATAServer : 354 Start mail input; end with <CRLF>.<CRLF> Mã 354 báo cho biết đã sẵn sàng nhận mail, kết thúc mail với ký tựCRLF.CRLFClient : Bắt đầu thân của mail…v..v.. (dữ liệu mail)Client : ( đến khi kết thúc nhấn CRLF.CRLF )Server : 250 OKClient : QUIT Phát lệnh báo kết thúc phiên giao dịchServer : 221 sample2 Service closing transmission channel Mã 221 đóng kết nối đã thiết lập Trong ví dụ trên, sau phiên làm việc mail được gởi tới địa chỉ mail

[email protected]

693.3.3. Giao thức POP33.3.3.1. Giới thiệu Post Office Protocol Version 3 (POP3) là một giao thức cho phép client cóthể truy xuất và lấy mail trong hộp thư trên Mail server. Sau khi client đã lấy đượcmail thì những mail đó sẽ bị xóa trong hộp thư trên mail Server. Cổng dành chodịch vụ POP3 là 110. POP3 server sẽ khởi động và lắng nghe trên cổng này. Khiclient muốn sử dụng dịch vụ POP3 thì nó sẽ thiết lập một kết nối tới cổng 110 củaPOP3 Server. Khi kết nối được thiết lập thì POP3 Server sẽ gởi tới client một lờichào. Sau đó, POP3 Client và POP3 Server trao đổi thông tin cho đến khi kết nốiđược đóng hay hủy bỏ. Các lệnh trong POP3 không phân biệt chữ thường và chữ hoa, gồm một tậpcác chữ cái (chiều dài từ 3 đến 4 ký tự), có thể có hoặc không có tham số theo sau(chiều dài của tham số có thể lên đến 40 ký tự). Các lệnh và tham số phân cáchnhau bởi khoảng trắng. Kết thúc 1 lệnh và tham số là <CRLF>. POP3 server sau khi nhận yêu cầu tử client sẽ gởi trả về cho client thông tinbao gồm phần trạng thái và có thể có các thông tin hỗ trợ theo sau. Chiều dài có thểlên tới 512 ký tự, kết thúc bằng cặp <CRLF>. Có hai loại trạng thái là: “+OK” và “-ERR”. Server sẽ gởi các trạng thái ở dạng chữ hoa.3.3.3.2. Các lệnh của POP3  USER username  Cung cấp thông tin về tên của hộp thư. Tham số username xác định tài khoản của hộp thư.  Trả lời: OK nếu hộp thư có tồn tại trên Mail server. ERR không tìm thấy hộp thư trên Mail server.70 PASS password  Cung cấp thông tin về mật mã của hộp thư. Tham số password là mật mã để truy cập vào hộp thư.  Trả lời: +OK hộp thư đã sẵn sang và cho phép truy cập. ERR password mật mã sai. STAT  Thông tin trạng thái của hộp thư, không có tham số.  Trả lời: +OK nn mm. o nn: số mail o mm: kích thước của các mail tính theo byte.  Các mail được đánh dấu xóa không được đếm trong tổng số. LIST [msg]  Liệt kê các mail có trong hộp thư không tính các message đã được đánh dấu xóa.  Tham số msg: số thứ tự của mail.  Trả lời: OK danh sách các mail. ERR không tìm thấy mail.  Danh sách các mail bao gồm các thong tin: số thứ tự của mail, kích thước của mail đó tính theo byte. RETR msg  Lấy mail có số thứ tự là msg. tham số msg là số thứ tự của mail, không tính các mail đã được đánh dấu xóa.  Trả lời: +OK nội dung của mail (nội dung của mail có thể trên nhiều dòng), ERR không tìm thấy mail tương ứng.71  DELE msg  Xóa mail có số thứ tự là msg. tham số msg là số thứ tự của mail, không tính các mail đã được đánh dấu xóa. Thực chất POP3 Server chỉ đánh dấu xoá các mail này. Tuy nhiên, quá trình xóa thật sự sẽ diễn ra ở trạng thái cập nhật (Update).  Trả lời: +OK mail đã được xóa, ERR không tìm thấy mail cần xóa.  Pop3 server sẽ đánh dấu xoá các message này. Tuy nhiên, quá trình xóa thật sự sẽ diễn ra ở trạng thái cập nhật (Update).  NOOP  Pop3 server không làm gì, chỉ hồi âm lại cho client với trả lời: “+OK”.  Trả lời: +OK  RSET  Phục hồi lại các mail đã bị đánh dấu xóa bởi POP3 Server.  Trả lời: +OK.  QUIT  Chấp nhận các thay đổi và ngắt kết nối.  Trả lời: +OK.3.3.3.3. Ví dụ về một session của Pop3  Giai đoạn 1 : Nhận dạng userCLIENT : USER abc // cho biết tên user là abcSERVER : +OK // báo thành côngCLIENT : PASS 123456 // cho biết passwordSERVER : +OK complet: maildrop has 2 messages ( 520 octets…)  Giai đoạn 2 : Trao đổiCLIENT : STAT // số mail có trong mailboxSERVER : +OK 2 520 // có 2 mail với tổng kích thước là 520CLIENT : LIST // Liệt kê các ID và kích thước các mail72SERVER : +OK 2 message ( 520 octets )SERVER : 1 110 // mail thứ 1 kích thước 110SERVER : 2 410 // mail thứ 2 kích thước 410CLIENT : LIST 1 // Cho thông tin về mail có ID là 1SERVER : +OK 1 110CLIENT : LIST 4SERVER : -ERR nosuch message, only 2 message in maildrop….v…v…  Giai đoạn 3 :CLIENT : QUIT //đóng kết nối TCP hiện hànhSERVER : +OK dhbk POP3 server signing off… Chú ý rằng các mail bị đánh dấu xóa bằng lệnh DELE thực sự chưa bị xóangay lúc đó. Ta có thể dùng lệnh RSET để phục hồi lại mail đã được đánh dấu xóa.Chúng chỉ thực sự bị xóa bỏ khỏi hộp thư khi bước vào giai đoạn Update (khi gởilệnh QUIT).3.3.4. Giao thức IMAP43.3.4.1. Giới thiệu Internet Message Access Protocol version 4 (IMAP4) cũng là một giao thứccho phép client có thể truy xuất và lấy mail trong hộp thư trên Mail server. Nhưngkhác với POP3, sau khi client đã lấy được mail thì những mail đó sẽ không bị xóatrong hộp thư trên Mail Server. Do đó người sử có thể truy xuất hộp thư từ nhiềuthiết bị khác nhau mà vẫn đảm bảo đầy đủ các mail trong hộp thư. IMAP4 hoạtđộng dựa trên mô hình client – server, cổng dành cho dịch vụ IMAP4 là 143. Đểclient và Server giao tiếp với nhau, IMAP4 cung cấp một tập lệnh để client và MailServer dùng trong quá trình trao đổi thông tin.3.3.4.2. Các lệnh của IMAP4 Tập lệnh của IMAP4 rev1 được định nghĩa trong rfc2060. Sau đây là một sốlệnh cơ bản trong bộ giao thức này.73  CAPABILITY  Đây là lệnh được thực hiện trước tiên của chương trình mail Client muốn lấy mail từ Mail Server bằng giao thức IMAP4. Mục đích lệnh này là kiểm tra version của giao thức có đáp ứng được yêu cầu hay không.  Kết quả trả về : OK - capability completed (version của giao thức đáp ứng được yêu cầu), BAD - command unknown or arguments invalid (version của giao thức không đáp ứng được yêu cầu).  Ví dụ:Client: a001 CAPABILITYServer: * CAPABILITY IMAP4rev1Server: a001 OK CAPABILITY completed  LOGIN [user name] [password ]  Lệnh này để đăng nhập vào hệ thống. Mail Server sẽ xác nhận người sử dụng có hợp pháp không? Nếu thành công thì người dùng sẽ thực hiện các thao tác lệnh tiếp theo.  Tham số: [user name] tên đăng nhập, [password ] mật mã để đăng nhập.  Kết quả trả về là: OK - login completed, now in authenticated state (đăng nhập thành công), NO - login failure: user name or password rejected, BAD - command unknown or arguments invalid (đăng nhập thất bại)  Ví dụ:Client: a001 LOGIN user01 pass123Server: a001 OK LOGIN completed  CHECK  Lệnh này dùng để kiểm tra tại thời điểm này lệnh SELECT đã thực hiện hay chưa, nếu thực hiện rồi trả về OK.  Kết quả trả về: OK - check completed, BAD - command unknown or arguments invalid.74  SELECT folder_name  Lệnh Select dùng để truy xuất thư mục của hộp thư, thông tin trả về gồm có bao nhiêu thư bao gồm thư mới, thư đã đọc và thư đã xoá. Lệnh này cho phép ta thay đổi thuộc tính của hộp thư cũng như những lá thư mà chúng lưu trữ bởi các lệnh khác trong IMAP.  Tham số: foder_name tên thư mục hộp thư.  Kết quả trả về : OK - select completed, now in selected state, NO - select failure, now in authenticated state: no such mailbox, can't access mailbox, BAD - command unknown or arguments invalid.  Ví dụ :Client: A142 SELECT INBOXServer: * 172 EXISTSServer: * 1 RECENTServer: * OK [UNSEEN 12] Message 12 is first unseenServer: * OK [UIDVALIDITY 3857529045] UIDs validServer: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)Server: * OK [PERMANENTFLAGS (\Deleted \Seen \*)] LimitedServer: A142 OK [READ-WRITE] SELECT completed. Trong ví dụ trên chúng ta quan tâm các thông số sau:  EXISTS : tổng số lá thư mà hộp thư này lưu trữ ví dụ trên là 172 lá thư.  RECENT : là số lá thư mới trong thời gian gần đây mà người sử dụng chưa đọc ví dụ trên là 1.  UNSEEN : là tổng số lá thư cũ mà người dùng chỉ nhìn thấy nhưng nội dung chưa xem qua.  UIDVALIDITY : dùng để chỉ định trạng thái của hộp thư đây là một thông số không quan trọng. Mỗi Mail Server sẽ có cách đặc tả thông số này khác nhau tùy từng mục đích sử dụng nó của các nhà quản trị mail thông số này liên quan đến lệnh UID.75  EXAMINE Folder_name  Lệnh EXAMINE giống lệnh SELECT và trả về cùng một kết quả. Tuy nhiên, thư mục được chọn sẽ được xác định là chỉ đọc.  Tham số: Folder_name tên của thư mục cần truy xuất trong hộp thư.  Kết quả trả về: OK - examine completed, now in selected state, NO - examine failure, now in authenticated state: no such mailbox, can't access mailbox, BAD - command unknown or arguments invalid  Ví dụ:Client: A932 EXAMINE InboxServer: * 17 EXISTSServer: * 2 RECENTServer: * OK [UNSEEN 8] Message 8 is first unseenServer: * OK [UIDVALIDITY 3857529045] UIDs validServer: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)Server: * OK [PERMANENTFLAGS ()] No permanent flags permittedServer: A932 OK [READ-ONLY] EXAMINE completed  CREATE folder_name  Lệnh này dùng tạo thư mục trong hộp thư.  Tham số: tên thư mục cần tạo.  Kết quả trả về: OK - create completed,NO - create failure: can't create mailbox with that name, BAD - command unknown or arguments invalid  Ví dụ:CLIENT A003 CREATE abcdSERVER A003 OK CREATE completedCLIENT A004 CREATE InboxSERVER A004 No mailbox name Exist  DELETE Folder_name  Lệnh xóa thư mục trong hộp thư.  Tham số: Folder_name tên thư mục cần xóa.76  Kết quả trả về: OK - delete completed, NO - delete failure: can't delete mailbox with that name, BAD - command unknown or arguments invalid  Ví dụ:CLIENT A683 DELETE abcdSERVER A683 OK DELETE completedCLIENT A684 DELETE abcdSERVER A684 NO Name "abcd" has inferior hierarchical names  RENAME tên_thư_mục tên_mới  Lệnh đổi tên thư mục.  Tham số: tên_thư_mục_hiện_tại tên_mới.  Kết quả: OK - rename completed, NO - rename failure: can't rename mailbox with that name, can't rename to mailbox with that name, BAD - command unknown or arguments invalid.  Ví dụ:CLIENT: A409 RENAME abcd boxSERVER: A409 OK RENAME completed  COPY  Lệnh sao chép một lá thư từ thư mục này sang thư mục khác.  Tham số: tên_lá_thư tên_thư_mục  Kết quả trả về: OK - copy completed,NO - copy error: can't copy those messages or to that name, BAD - command unknown or arguments invalid.  LIST  Liệt kê danh sách các thư mục và các thư trong thư mục hiện hành. Lệnh này giống lệnh Dir trong MS-DOS.  Tham số: tên hay những ký tự đặc trưng (*,?).77  Kết quả trả về: OK - list completed, NO - list failure: can't list that reference or name, BAD - command unknown or arguments invalid  Ví dụ:CLIENT A101 LIST "" ""SERVER * LIST (\Noselect) "/" ""SERVER A101 OK LIST CompletedCLIENT A102 LIST ab* ""SERVER * LIST (\Noselect) "/" ""SERVER A102 OK LIST CompletedCLIENT A102 LIST * *SERVER * LIST () "/*" "Inbox"SERVER * LIST () "/*" "abcd"SERVER * LIST () "/*" "itgroup"SERVER A102 OK LIST CompletedCLIENT A102 LIST abc* *SERVER * LIST () "abc*" "abcd"SERVER A102 OK LIST Complete  LUSB  Lệnh này tương tự như list nhưng chỉ khác là những thư mục nhận được phải ở trạng thái active.  Tham số: tên hay những ký tự đặc trưng.  Kết quả trả về: OK - list completed, NO - list failure: can't list that reference or name, BAD - command unknown or arguments invalid  STATUS  Lệnh này trả về trạng thái hiện tại của thư mục.  Tham số: tên thư mục (trạng thái)  Kết quả trả về: OK - status completed, NO - status failure: no status for that name, BAD - command unknown or arguments invalid  MESSAGES: số thư mới trong hộp thư  RECENT: số thư cũ.78  UIDNEXT: giá trị UID tiếp theo sẽ được gán cho một lá thư mới trong hộp thư  UIDVALIDITY: giá trị UID của hộp thư.  UNSEEN: nhưng lá thư của mà người dùng chưa xem nội dung.  Ví dụ:CLIENT A042 STATUS tuyen (MESSAGES RECENT)SERVER * STATUS tuyen (MESSAGES 23 RECENT 40)SERVER A042 OK STATUS completed  NOOP  Lệnh này không làm gì cả, mục đích để kiểm tra xem giữa mail Client và mail Server còn liên lạc với nhau không.  Kết quả trả về: OK - noop completed, BAD - command unknown or arguments invalid  Ví dụ:CLIENT a002 NOOPSERVER a002 OK NOOP completed...CLIENT a047 NOOPSERVER * 22 EXPUNGESERVER * 23 EXISTSSERVER * 3 RECENTSERVER * 14 FETCH (FLAGS (\Seen \Deleted))SERVER a047 OK NOOP completed  STORE  Thiết lập lại trạng thái của thư, mỗi lá thư có nhưng trạng thái như thư mới nhận: Recent, trạng thái chưa đọc: Unseen, đã đọc: Seen và trạng thái xóa: Deleted và một số trạng thái khác.  Nếu thêm trạng thái thì dùng lệnh với tham số tương ứng là +FLAGS <flag list> hay +FLAGS.SILENT <flag list>  Nếu loại bỏ trạng thái thì dùng lệnh với tham số tương ứng là -FLAGS <flag list> hay -FLAGS.SILENT <flag list>79  Kết quả trả về: OK - store completed, NO - store error: can't store that data, BAD - command unknown or arguments invalid  Ví dụ:CLIENT A003 STORE 2:4 +FLAGS (\Deleted)SERVER * 2 FETCH FLAGS (\Deleted \Seen)SERVER * 3 FETCH FLAGS (\Deleted)SERVER * 4 FETCH FLAGS (\Deleted \Flagged \Seen)SERVER A003 OK STORE completedCLIENT A003 STORE 2:4 +FLAGS.SILENT (\Deleted)SERVER A003 OK STORE completed  LOGOUT  Lệnh dùng để đóng kết nối sau một phiên làm việc.  Kết quả tả về: OK - logout completed, BAD - command unknown or arguments invalid3.3.5. MDaemon Mail Server3.3.5.1. Giới thiệu Hiện nay trên thị trường có rất nhiều phần mềm cho phép cài đặt và quản trịhệ thống thư điện tử và chúng đều có tính năng cơ bản tương tự nhau như:Sendmail, Qmail, Microsoft Exchange Server nhưng MDaemon là thông dụng hơnhẳn vì những lý do sau:  MDaemon là phần mềm Mail Server có giao diện thân thiện với người dùng (sử dụng giao diện đồ họa).  Chạy trên hệ điều hành của Microsoft mà hiện nay hầu hết các máy tính ở Việt Nam đều sử dụng hệ điều hành của Microsoft.  Có khả năng quản lý hàng trăm tên miền và hàng ngàn người dùng.  Yêu cầu phần cứng thấp, do đó không cần đầu tư quá nhiều vào Server.  Cung cấp nhiều công cụ quản lý cho hệ thống, đảm bảo an toàn thư điện tử.80  Hỗ trợ IMAP, SMTP và POP3.  Chức năng để nhận mail từ các mail server  Tích hợp với Microsoft Outlook (sử dụng Outlook Connector).  Hỗ trợ web mail client nhiều ngôn ngữ.  Hỗ trợ công cụ quản trị từ xa dành cho admin là WebAdmin  Chức năng chặn các thư Spam, lọc nội dung thư, danh sách thư,  Hỗ trợ hầu hết các thiết bị di động truy cập vào email, lịch, địa chỉ liên lạc.  Bảo mật cao khi sử dụng thêm tính năng SecurityPlus for MDaemon. Sử dụng kỹ thuật xác thực thư tiên tiến Vouch By Reference(VRB).  MDaemon Server hoạt động rất hiệu quả cho các hệ thống mạng vừa và nhỏ. MDaemon là phần mềm Mail Server được phát triển bởi công ty phần mềmAlt-N (http://www.altn.com/). Sản phẩm MDaemon cung cấp một sản phẩm đầy đủcho công việc thư điện tử cũng như khả năng làm việc theo nhóm với tính năngchuyên nghiệp nhưng lại rất dễ sử dụng. Cấu hình tối thiểu để cài đặt MDaemon là:  PC: Pentium III 500 MHz bộ xử lý Pentium 4 2.4 GHz  RAM: 512 MB  HDD: còn trống ít nhất 100MB  OS: Microsoft Windows XP/2000/2003/Vista/2008/7 (32 hoặc 64-bit)  Internet Explorer 5.581  Địa chỉ IP của DNS mà chúng ta truy vấn: Chúng ta có thể sử dụng DNS của các ISP hoặc có thể dùng DNS nội bộ và DNS nội bộ forward đến các DNS ISP.  Cách thức ISP chuyển mail của chúng ta đến chúng ta: Có 2 giải pháp:  ISP thiết lập domain name của chúng ta để mail chuyển thẳng đến server mail của chúng ta sử dụng SMTP. Trường hợp này chúng ta không cần sử dụng MDaemon Domain POP.  ISP chuyển tất cả thư của tên miền đến account “catch-all” POP3 trên server mail trung chuyển để chờ chúng ta lấy thư về. Trường hợp này chúng ta sẽ dùng MDaemon Domain POP. Để sử dụng chức năng này chúng ta phải biết các thông số sau: ISP POP3 server name hoặc IP; POP3 account username và POP3 account password. Cài đặt MDaemon: Xem trong phần hướng dẫn cài đặt và cấu hình3.3.5.2. Cấu hình Mail Client Xem trong phần hướng dẫn cài đặt và cấu hình3.3.5.3. Xây dựng Web mail Chương trình mail server MDaemon còn cung cấp cho chúng ta dịch vụ rấttiện lợi đó là web mail. Với dịch vụ web mail chúng ta không cần cài đặt cấu hìnhthêm bất cứ chương trình mail client nào mà chỉ cần chương trình web browser đasố đều được tích hợp sẵn trong các hệ điều hành. Ví dụ dưới đây sẽ sử dụng chươngtrình IE được tích hợp sẵn trong windows. Mở chương trình IE, tại ô address nhập: http://máycàiMDaemon:3000 trongví dụ này ta sẽ nhập: http://192.168.0.1:3000. Email Address: tài khoản email ví dụ: admin Password: mật khẩu của tài khoản: ví dụ: 123456 Sau đó bấm Sign In.82Hình 3-12: Dịch vụ webmail của MDaemon Hình 3-13: Giao diện quản lý webmail83 Chúng ta thấy tài khoản admin hiện tại có 2 email. Ngoài ra web mail còncung cấp rất nhiều chức năng khác như: Calendar, Contacts, Tasks, Notes… Cácchức năng này rất hữu ích và cần thiết cho người sử dụng.3.3.6. Quản lý Mail server Ngoài chức năng web mail, MDaemon còn cung cấp chức năng Webadmindùng để quản trị hệ thống mail server thay thế cho chương trình chính củaMDaemon. Nhờ dịch vụ này mà người quản trị hệ thống có thể sử dụng bất cứ máytính nào có kết nối đến máy có cài đặt chương trình MDaemon để quản trị hệ thốngmail server. Xem trong phần hướng dẫn cài đặt và cấu hình3.4. Web Server3.4.1. Giới thiệu World Wide Web (www) là ứng dụng phổ biến nhất hiện nay, và ngày naynó là thành phần lớn nhất của Internet dựa trên kỹ thuật biểu diễn thông tin gọi làsiêu văn bản. Trong đó các từ được chọn trong văn bản có thể được mở rộng bất cứlúc nào để cung cấp đầy đủ hơn thông tin về từ đó. Sự mở rộng ở đây có nghĩa làchúng có thể liên kết tới các tài liệu khác bao gồm văn bản, hình ảnh, âm thanh, haycác loại… có chứa thông tin bổ sung. Thuở ban đầu, Internet là hệ thống truyềnthông dựa trên văn bản, việc liên kết với những site khác có nghĩa là phải gõ nhữngđịa chỉ mã hóa dài với độ chính xác 100%. World Wide Web là giải pháp để giảiquyết vấn đề khó khăn đó. Khả năng đặt hình ảnh lên Web Site làm cho thông tintrên Web trở nên hấp dẫn hơn, lôi cuốn hơn. Ngoài ra HTTP (Hypertext TransferProtocol) cho phép trang Web kết nối với nhau qua các siêu liên kết (hyperlink),nhờ vậy mà người dùng dễ dàng chuyển qua các Web site khác một cách dễ dàng.Các trình duyệt ở các máy Client sẽ yêu cầu những tập tin HTML từ Web Serverbằng cách thiết lập một kết nối với máy web Server và đưa ra các yêu cầu tập tin84đến Server. Server nhận những yêu cầu này, lấy ra những tập tin tương ứng và gởichúng đến trình duyệt web ở Client. Web Server là dịch vụ cung cấp thông tin ở dạng siêu văn bản, được biểudiễn ở dạng trang. Các trang có chứa các liên kết tham chiếu đến các trang kháchoặc đến các tài nguyên khác trên cùng một Web Server hoặc trên một Web Serverkhác. Các trang tài liệu siêu văn bản sau khi soạn thảo sẽ được quản lý bởi chươngtrình Web Server chạy trên máy Server trong hệ thống mạng.3.4.2. Cơ chế hoạt động của Web server Web Server dùng giao thức HTTP để lấy tài nguyên trên Web xác định thôngqua URL (Uniform Resource Location). HTTP (Hyper Text Transfer Protocol) làmột giao thức ở tầng ứng dụng được thiết kế để truy cập tài nguyên Web nhanhchóng và hiệu quả. Giao thức này dựa vào mô hình request-response. Dịch vụ Webxây dựng theo mô hình client/server, trong đó Web browser đóng vai trò là clientgởi các yêu cầu dưới dạng URL đến server. Web server trả lời bằng cách trả về mộttrang HTML (Hypertext Markup Language (HTML). Trang HTML có thể là một trang thông tin tĩnh, tức là nội dung của nó đã códạng xác định và được lưu trên Web server, hoặc một trang Web động (dynamic nộidung không xác định trước) mà web server tạo ra tại thời điểm client yêu cầu để trảlời theo yêu cầu của client.  Web browser gửi yêu cầu URL đến Web server: Hình 3-14: Web browser gửi yêu cầu URL đến Web server Mỗi trang trong một intranet hoặc trên Internet có một URL (UniformResource Location) duy nhất định vị chúng. Web browser yêu cầu một trang bằng85cách gửi một URL đến một Web server. Web server sẽ dùng các thông tin trongURL để định vị và tổ chức một trang HTML để gửi về cho Web browser. Một chuỗi URL nói chung có dạng sau:<protocol>://<domain_name of Server>/<path><:port> Trong đó:  Tiền tố <protocol> chỉ ra giao thức được sử dụng cho dịch vụ, ví dụ giao thức Hypertext Transport Protocol (HTTP) được dùng cho dịch vụ Web, giao thức FTP, gopher,...  <domain_name of Server> là tên DNS (Domain Name System) của máy Web server.  <path> là đường dẫn đến thông tin được yêu cầu trên server.  <port> là số cổng của web server, mặc định nếu chúng ta không nhập thì cổng mặc định là 80. Bảng 3-6: Ví dụ về các địa chỉ URL khác nhau Protocol Domain name Pathhttp:// www.hcmuns.edu.vn /vanphong/dtao.htmhttps://(secure HTTP) www.company.com /catalog/orders.htmgopher:// gopher.college.edu /research/astronomy/index.htmftp:// orion.bureau.gov /stars/alpha quadrant/startlist.txt Web server trả lời yêu cầu của Web browser: Hình 3-15: Web server trả lời yêu cầu URL đến Web browser Web server sẽ trả một trang HTML về cho Web browser, các trang HTMLthuộc một trong 3 kiểu sau:86 Trang Web tĩnh (Static webpage): là những trang HTML được chuẩn bị sẵnvà lưu trữ trên web server. Web server chỉ đơn giản là lấy trang này gởi về cho Webbrowser mà không gọi thi hành một chương trình hay một script nào khác. ngườidùng yêu cầu một trang Web tĩnh bằng cách nhập vào một chuỗi URL hoặc clickchuột vào một siêu liên kết trỏ tới URL. Trang Web động (Dynamic webpage): là những trang Web được tạo ra tạithời điểm client gửi yêu cầu để đáp ứng yêu cầu của user. Server có thể sẽ gọi chạymột chương trình khác, sử dụng các API của server, các ngôn ngữ kịch bản CGIscript, ASP, PHP, truy vấn cơ sở dữ liệu ... tuỳ theo các thông tin mà web browsercung cấp. Danh sách liệt kê (Directory listing): Nếu user gửi yêu cầu mà không mô tảmột file cụ thể, thì có thể tạo một trang mặc nhiên cho Web site hay cho một thưmục, hoặc cấu hình web server cho phép duyệt thư mục. Nếu sử dụng trang HTMLmặc nhiên cho thư mục, thì trang này sẽ được gửi cho Web browser, còn nếu khôngcó thì một directory listing (phiên bản HTML của Windows Explorer hay FileManager chạy trên trình duyệt) được trả về cho user dưới dạng một trang HTML,trong đó mỗi file và thư mục thể hiện như một siêu liên kết. Sau đó user có thể truycập đến một file bất kỳ bằng cách click vào siêu liên kết tương ứng trong directory-listing. Hình 3-16: Mô hình hoạt động của web server873.4.3. Tìm hiểu giao thức HTTP HTTP là chữ viết tắt từ Hyper Text Transfer Protocol (giao thức truyền tảisiêu văn bản). Nó là giao thức cơ bản mà World Wide Web sử dụng. 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ácfile multimedia khác) được định dạng và truyền tải ra sao, và những hành động nàomà Web server (máy chủ Web) và trình duyệt Web (browser) phải làm để đáp ứngcác lệnh. Chẳng hạn, khi chúng ta gõ một địa chỉ URL vào trình duyệt Web, mộtlệnh HTTP sẽ được gửi tới Web Server để ra lệnh và hướng dẫn cho Web Servertìm đúng trang Web được yêu cầu và chuyển về cho trình duyệt Web. Tóm lại,HTTP là giao thức truyền tải các file giữa Web server và trình duyệt Web để ngườidùng có thể xem một trang Web trên Internet. HTTP là một giao thức ở tầng ứngdụng của bộ giao thức TCP/IP. HTTP là một giao thức “phi trạng thái” (stateless) và connectionless bởi vìmỗi lệnh đều được thực thi một cách độc lập, lệnh sau không liên quan gì đến cáclệnh đã thực hiện trước đó. Đây chính là một hạn chế, khiếm khuyết của HTTP vàsự hạn chế này đang được các nhà phát triển khắc phục trong các công nghệ mớinhư ActiveX, Java, JavaScript và cookies. Phiên bản mới nhất của HTTP là 1.1. So với phiên bản đầu tiên (HTTP 1.0),phiên bản mới này truyền tải các trang Web nhanh hơn và giảm tình trạng tắcnghẽn. Giao thức HTTP khá đơn giản gồm một số lệnh cơ bản sau đây:  GET: Yêu cầu web server cung cấp tài liệu được chỉ định. Lệnh GET chỉ yêu cầulấy dữ liệu cần thiết.  HEAD: Yêu cầu web server cung cấp thông tin phần tiêu đề của tài liệu, nhưngkhông yêu cầu cung cấp nội dung của tài liệu.88  POST: Yêu cầu web server nhận những thông tin kèm theo trong yêu cầu đượcchuyển lên từ web browser. Ví dụ: thông số về username/password để đăng nhập hệthống, hoặc là phần thông tin cần được cập nhật vào cơ sở dữ liệu …  PUT: Yêu cầu web server nhận những dữ liệu kèm theo trong yêu cầu được chuyểnlên từ web browser. Ví dụ: chuyển file tài liệu lên web server…  DELETE: Yêu cầu web server xóa phần tài nguyên được chỉ định.  TRACE: Lặp lại yêu cầu của web browser để kiểm tra xem những gì thay đổi hoặc bổsung đã được thực hiện bởi Web Server.  OPTIONS: Trả về những lệnh của HTTP mà web server hỗ trợ cho địa chỉ được chỉđịnh. Lệnh này có thể được sử dụng để kiểm tra chức năng của web server bằng yêucầu '*' thay vì một tài liệu cụ thể.  CONNECT: Chuyển đổi các yêu cầu kết nối tới một transparent TCP/IP tunnel, có thểhiểu đơn giản hơn là để tạo điều kiện kết nối thông tin liên lạc được mã hóa SSL(HTTPS) thông qua một proxy HTTP không được mã hóa.  PATCH: Được sử dụng để áp dụng các thay đổi. Web Server được yêu cầu phải thựchiện các phương thức GET và HEAD. Ví dụ về các lệnh của HTTP: Client request:89GET /index.html HTTP/1.1Host: www.example.com Server response:HTTP/1.1 200 OKDate: Mon, 23 MAY 2012 22:38:34 GMTServer: Apache/1.3.3.7 (Unix) (Red-Hat/Linux)Last-Modified: Wed, 08 Jan 2003 23:11:55 GMTEtag: "3f80f-1b6-3e1cb03b"Content-Type: text/html; charset=UTF-8Content-Length: 131Connection: close<html><head><title>An Example Page</title></head><body>Hello World, this is a very simple HTML document.</body></html>3.4.4. Cài đặt Web server Xem trong phần hướng dẫn cài đặt và cấu hình3.4.5. Quản lý Web server Xem trong phần hướng dẫn cài đặt và cấu hình3.5. SNMP Hệ thống quản lý mạng nói chung được gọi là NMS (Network ManagementSystem) bao gồm:  WMI (Web management interface)  CLI (Command Line Interface)  SNMP (Simple Network Management Protocol) Trong đó, SNMP là phương pháp được sử dụng rộng rãi nhất. Công nghệSNMP Simple Network Management Protocol là dựa trên TCP/IP protocol dùngtrong việc quản lý các thiết bị trên hệ thống mạng. Những thiết bị thông thường90dùng SNMP quản lý bao gồm router, switch, firewall, printer… kể cả những thiết bịkhông có CPU hay thiết bị có những bộ vi xử lý phức tạp, thậm chí cả PC và haycác server. Nếu chúng ta sử dụng WinXP chúng ta có thể mở các chức năng SNMPcủa máy chúng ta lên sau đó từ 1 máy khác chúng ta có thể đọc được các thông tincủa máy chúng ta thông qua SNMP. Không phải tất cả các thiết bị như là switch,router hay printer nào cũng có thể sử dụng SNMP, chỉ có những thiết bị nào có hỗtrợ mới có thể sử dụng SNMP để quản lý nó. Chức năng quản lý này bao gồm truy cập thông tin, thay đổi cấu hình, vàthông báo những sự cố và trục trặc của thiết bị. Trên các thiết bị này thường có 1chương trình theo dõi, kiểm soát và điều khiển hoạt động của thiết bị. Nếu nó pháthiện ra có sự cố thì có thể gởi các message thông qua SNMP TrapAgent. Người tathường chạy các SNMP agent để lắng nghe các SNMP packet (UDP packet) đến từport 161. Khi nhận được request từ các máy khác, thì agent này sẽ trả lời lại dựatrên bảng thông tin MIB (management information block) hay nó sẽ chạy cácprogram thích hợp để xử lý yêu cầu đó. SNMP là một tập hợp các lệnh đơn giản để giúp nhà quản trị mạng có thểquản lý, theo dõi, thay đổi trạng thái của mạng. Ví dụ chúng ta có thể dùng SNMPđể tắt một interface nào đó trên router, theo dõi hoạt động của card Ethernet, hoặckiểm soát nhiệt độ trên switch và cảnh báo khi nhiệt độ quá cao. SNMP còn có thể dùng để quản lý các hệ thống Unix, Window, máy in,nguồn điện… Nói chung, tất cả các thiết bị có thể chạy các phần mềm cho phép lấyđược thông tin SNMP đều có thể quản lý được. Không chỉ các thiết bị vật lý mớiquản lý được mà cả những phần mềm như web server, database cũng có thể sử dụngSNMP để quản lý, theo dõi.3.5.1. Mô hình SNMP SNMP (Simple Network Management Protocol): là giao thức được sử dụngrất phổ biến để giám sát, theo dõi và điều khiển thiết bị mạng như switch, router,bridge... Với những văn phòng nhỏ chỉ có vài thiết bị mạng và đặt tập trung một nơi91thì có lẽ chúng ta không thấy được lợi ích của SNMP. Nhưng với các hệ thốngmạng lớn, thiết bị phân tán nhiều nơi và chúng ta cần phải ngồi một chỗ mà có thểquản lý tất cả thiết bị, chúng ta mới thấy được lợi ích của SNMP. MicrosoftWindows Server 2003 cung cấp phần mềm SNMP agent để có thể làm việc vớiphần mềm quản lý SNMP từ nhà cung cấp thứ 3 nhằm giám sát các trạng thái củathiết bị quản lý và các ứng dụng. SNMP là giao thức quản lý phổ biến để thu thập thông tin từ những thiết bịtrên mạng. Mỗi thiết bị chạy một chương trình con thu thập thông tin và cung cấpthông tin đó cho bộ phận quản lý. Hiện tại SNMP bao gồm 3 phiên bản:  SNMP version 1: Chuẩn của giao thức SNMP được định nghĩa trong RFC 1157 và là mộtchuẩn đầy đủ của IETF. SNMP v1 không được bảo mật, nó cho bất kỳ một ứngdụng nào đó dựa trên SNMP đều có thể truy cập vào các thiết bị quản lý. Có 3 tiêuchuẩn trong SNMP v1: read-only, read-write và trap. SNMP version1: hoạt động với các tính năng sau:  Get: Được sử dụng bởi các NMS, để lấy các giá trị của một hay nhiều đối tượng từ Agent  Get next: Được sử dụng bởi các NMS, để lấy các giá trị của các đối tượng kế tiếp ví dụ trong một bảng hoặc một trong một danh sách các Agent  Set: Được sử dụng bởi các NMS để đặt giá trị của các đối tượng trong một trường đại lý.  Trap: Được sử dụng bởi các Agent để thông báo cho NMS biết các sự kiện xảy ra.92  SNMP version 2: Phiên bản này dựa trên các chuỗi “community”. Do đó phiên bản này đượcgọi là SNMPv2c, được định nghĩa trong RFC 1905, 1906, 1907, và đây chỉ là bảnthử nghiệm của IETF. Mặc dù chỉ là thử nghiệm nhưng nhiều nhà sản xuất đã đưanó vào thực nghiệm. SNMP version 2 hoạt động với các tính năng sau:  GetBulk: Được sử dụng bởi các NMS để lấy một khối lượng dữ liệu lớn từ các Agent một cách hiệu quả.  Inform : Cho phép một NMS để gửi thông tin đến một trap.  SNMP version 3 Là phiên bản tiếp theo được IETF đưa ra và là bản đầy đủ. Nó được khuyếnnghị sử dụng và được định nghĩa trong RFC 1905, RFC 1906, RFC 1907, RFC2571, RFC 2572, RFC 2573, RFC 2574 và RFC 2575. SNMP version 3 hỗ trợ giaotiếp bảo mật và có xác nhận giữa các thiết bị. SNMP version 3 có tính năng bảo mật: chặn người dùng dựa trên mô hìnhbảo mật USM (User-based Security Model) dựa trên Access Control Model(VACM: View-based Access Control Model) để kiểm soát truy cập. SNMP sử dụng giao thức UDP. Giao thức UDP nhanh hơn, nhưng không tincậy. Tuy nhiên nó cung cấp nhiều chức năng cho phép 1 trạm quản lý tập trung cóthể liên lạc với agent từ xa được đặt ở bất kì thiết bị được quản lý nào mà nó có thểliên lạc. Ngoài ra việc sử dụng UDP sẽ giảm độ trễ trong mạng so với việc sử dụngTCP. Có hai nhân tố chính trong SNMP: manager và agent:  Manager: là một server có chạy các chương trình có thể thực hiện một số chức năng quản lý mạng. Manager có thể xem như là NMS (Network Manager Stations). NMS có khả năng thăm dò và thu thập các cảnh báo từ93 các Agent trong mạng. Các cảnh báo của agent là cách mà agent báo với NMS khi có sự cố xảy ra. Cảnh bảo của agent được gửi một cách không đồng bộ, không nằm trong việc trả lời truy vấn của NMS. NMS dựa trên các thông tin trả lời của agent để có các phương án giúp mạng hoạt động hiệu quả hơn. Ví dụ khi đường dây T1 kết nối tới Internet bị giảm băng thông nghiêm trọng, router sẽ gửi một thông tin cảnh báo tới NMS. NMS sẽ có một số hành động, ít nhất là lưu lại giúp ta có thể biết việc gì đã xảy ra. Các hành động này của NMS phải được cài đặt trước. Agent: là một phần trong các chương trình chạy trên các thiết bị mạng cần quản lý. Nó có thể là một chương trình độc lập như các daemon trong Unix, hoặc được tích hợp vào hệ điều hành như IOS của Cisco trên router. Ngày nay, đa số các thiết bị hoạt động tới lớp IP và được cài đặt SMNP agent. Các nhà sản xuất ngày càng muốn phát triển các agent trong các sản phẩm của họ để giúp công việc của người quản lý hệ thống hay quản trị mạng đơn giản hơn. Các agent cung cấp thông tin cho NMS bằng cách lưu trữ các hoạt động khác nhau của thiết bị. Một số thiết bị thường gửi một thông báo “tất cả đều bình thường” khi nó chuyển từ một trạng thái xấu sang một trạng thái tốt. Điều này giúp xác định khi nào một vấn đề được giải quyết. Mô hình hoạt động giữa Manager và Agent Hình 3-17: Mô hình hoạt động giữa Manager và Agent94 SNMP sử dụng UDP (User Datagram Protocol) là một trong những giao thứccốt lõi của giao thức TCP/IP. Dùng UDP, chương trình trên mạng có thể gởi nhữngdữ liệu ngắn được gọi là datagram tới máy khác. UDP không tin cậy và đảm bảo thứtự truyền nhận như là TCP. Các gói dữ liệu có thể đến không đúng thứ tự hoặc bịmất mà không có thông báo. Tuy nhiên UDP nhanh và hiệu quả hơn đối với cácmục tiêu như kích thước nhỏ và yêu cầu khắt khe về thời gian. Và UDP là phươngthức truyền mà trong đó hai đầu thông tin không cần thiết lập kết nối trước khi dữliệu được trao đổi (connectionless), việc này phù hợp trong điều kiện mạng gặp trụctrặc, hư hỏng v.v. SNMP có các phương thức quản lý nhất định và các phương thức này đượcđịnh dạng bởi các gói tin PDU (Protocol Data Unit). Các manager và agent sử dụngPDU để trao đổi với nhau.3.5.2. SNMP message Hình 3-18: Mô hình hoạt động SNMP953.5.2.1. Get Get được gửi từ NMS tới agent. Agent nhận yêu cầu và xử lý với khả năngtốt nhất có thể. Nếu một thiết bị nào đó đang bận và không có khả năng trả lời yêucầu thì nó sẽ hủy yêu cầu này. Nếu agent tập hợp đủ thông tin cần thiết cho yêu cầu,nó sẽ gửi lại cho NMS một “get-response”. Để agent hiểu được NMS cần tìm thông tin gì, nó dựa vào một mục trong“get” là “variable binding” hay varbind. Varbind là một danh sách các đối tượngcủa MIB mà NMS muốn lấy từ agent. Agent hiểu câu hỏi theo dạng: OID=value đểtìm thông tin trả lời.$snmpget cisco.ora.com public .1.3.6.1.2.1.1.6.0 system.sysLocation.0 = "" Đây là một câu lệnh “snmpget” trên Unix. “cisco.ora.com” là tên của thiết bị,“public” là chuỗi chỉ đây là yêu cầu chỉ đọc (read-only), “.1.3.6.1.2.1.1.6.0” là OID.“.1.3.6.1.2.1.1” chỉ tới nhóm “system” trong MIB. “.6” chỉ tới một trường trong“system” là “sysLocation”. Trong câu lệnh này ta muốn hỏi Cisco router rằng việcđịnh vị hệ thống đã được cài đặt chưa. Câu trả lời system.sysLocation.0 = "" tức làchưa cài đặt. Câu trả lời của “snmpget” theo dạng của varbind: OID=value. Cònphần cuối trong OID ở “snmpget”; “.0” nằm trong quy ước của MIB. Khi hỏi mộtđối tượng trong MIB ta cần chỉ rõ 2 trường “x.y”, ở đây là “.6.0”. “x” là OID thựctế của đối tượng. Còn “.y” được dùng trong các đối tượng có hướng như một bảngđể hiểu hàng nào của bảng, với trường hợp đối tượng vô hướng như trường hợp này“y” = “0”. Các hàng trong bảng được đánh số từ số 1 trở đi. Câu lệnh “get” hữu ích trong việc truy vấn một đối tượng riêng lẻ trong MIB.Khi muốn biết thông tin về nhiều đối tượng thì “get” tốn khá nhiều thời gian. Câulệnh “get-next” giải quyết được vấn đề này.3.5.2.2. Get-next Get-next đưa ra một dãy các lệnh để lấy thông tin từ một nhóm trong MIB.Agent sẽ lần lượt trả lời tất cả các đối tượng có trong câu truy vấn của “get-next”96tương tự như “get”, cho đến khi nào hết các đối tượng trong dãy. Ví dụ ta dùng lệnh“snmpwalk”. “snmpwalk” tương tự như “snmpget” nhưng không chỉ tới một đốitượng mà chỉ tới một nhánh nào đó:$snmpwalk cisco.ora.com public system system.sysDescr.0 = "Cisco Internetwork Operating System Software IOS (tm) 2500 Software (C2500-I-L), Version 11.2(5), RELEASE SOFTWARE (fc1)..Copyright (c) 1986-1997 by cisco Systems, Inc...Compiled Mon 31-Mar-97 19:53 by ckralik" system.sysObjectID.0 = OID: enterprises.9.1.19 system.sysUpTime.0 = Timeticks: (27210723) 3 days, 3:35:07.23 system.sysContact.0 = "" system.sysName.0 = "cisco.ora.com" system.sysLocation.0 = "" system.sysServices.0 = 6 Ở đây ta muôn lấy thông tin của nhóm “system”, agent sẽ gửi trả toàn bộthông tin của “system” theo yêu cầu. Quá trình tìm nhóm “system” trong MIB thựchiện theo cây từ gốc, đến một nút nếu có nhiều nhánh thì chọn nhánh tìm theo chỉ sốcủa nhánh từ nhỏ đến lớn:3.5.2.3. Get-bulk Get-bulk được định nghĩa trong SNMPv2. Nó cho phép lấy thông tin quản lýtừ nhiều phần trong bảng. Dùng “get” có thể làm được điều này. Tuy nhiên, kíchthước của câu hỏi có thể bị giới hạn bởi agent. Khi đó nếu nó không thể trả lời toànbộ yêu cầu, nó gửi trả một thông điệp lỗi mà không có dữ liệu. Với trường hợp dùngcâu lệnh “get-bulk”, agent sẽ gửi càng nhiều trả lời nếu nó có thể. Do đó, việc trả lờimột phần của yêu cầu là có thể xảy ra. Hai trường cần khai báo trong “get-bulk” là:“nonrepeaters” và “max-repetitions”. “nonrepeaters” báo cho agent biết N đối tượngđầu tiên có thể trả lời lại như một câu lệnh “get” đơn. “mã-repeaters” báo cho agentbiết cần cố gắng tăng lên tối đa M yêu cầu “get-next” cho các đối tượng còn lại:$snmpbulkget -v2c -B 1 3 linux.ora.com public sysDescr ifInOctets ifOutOctets system.sysDescr.0 = "Linux linux 2.2.5-15 #3 Thu May 27 19:33:18 EDT 1999 i686" interfaces.ifTable.ifEntry.ifInOctets.1 = 70840 interfaces.ifTable.ifEntry.ifOutOctets.1 = 70840 interfaces.ifTable.ifEntry.ifInOctets.2 = 143548020 interfaces.ifTable.ifEntry.ifOutOctets.2 = 111725152 interfaces.ifTable.ifEntry.ifInOctets.3 = 097 interfaces.ifTable.ifEntry.ifOutOctets.3 = 0 Ở đây, ta hỏi về 3 varbind: sysDescr, ifInOctets, và ifOutOctets. Tổng sốvarbind được tính theo công thức: N + (M * R) N: nonrepeater, tức số các đối tượng vô hướng M: max-repeatition R: số các đối tượng có hướng trong yêu cầu chỉ có sysDescr là vô hướng N = 1 M có thể đặt cho là 3 , tức là 3 trường cho mỗi ifInOctets và ifOutOctets. Có2 đối tượng có hướng là ifInOctets và ifOutOctets R = 2. Tổng số có 1 + 3*2 = 7varbind. Còn trường “–v2c” là do “get-bulk” là câu lệnh của SNMPv2 nên sử dụng“-v2c” để chỉ rằng sử dụng PDU của SNMPv2. “-B 1 3” là để đặt tham số N và Mcho lệnh.3.5.2.4. Set Bảng 3-7: Thông báo lỗi của SNMPv1SNMPv1 Error Message Ý nghĩanoError(0) Không có lỗitooBig(1) Yêu cầu quá lớn để có thể dồn vào một câu trả lờinoSuchName(2) OID yêu cầu không tìm thấy, tức không tồn tại ở agentbadValue(3) Câu lệnh “set” dùng không đúng với các object “read-write” hay “write-only”readOnly(4) Lỗi này ít dùng. Lỗi “noSuchName” tương đương với lỗi nàygenErr(5) Dùng cho tất cả các lỗi còn lạiĐể thay đổi giá trị của một đối tượng hoặc thêm một hàng mới vào bảng. Đốitượng này cần phải được định nghĩa trong MIB là “read-write” hay “write-only”.NMS có thể dùng “set” để đặt giá trị cho nhiều đối tượng cùng một lúc:$snmpget cisco.ora.com public system.sysLocation.0 system.sysLocation.0 = ""$snmpset cisco.ora.com private system.sysLocation.0 s Atlanta, GA" system.sysLocation.0 = "Atlanta, GA"$snmpget cisco.ora.com public system.sysLocation.0 system.sysLocation.0 = "Atlanta, GA"98 Bảng 3-8: Thông báo lỗi của SNMPv2 SNMPv2 Error Ý nghĩa Message Lỗi khi lệnh “set” cố gắng xâm nhập vào một biến cấmnoAccess(6) xâm nhập. Khi đó, biến đó có trường “ACCESS” là “not- accessible”wrongType(7) Lỗi xảy ra khi lệnh “set” đặt một kiểu dữ liệu khác với kiểu định nghĩa sẵn của đối tượng. Ví dụ khi “set” đặt giá trị kiểu string cho một đối tượng kiểu số nguyênwrongLength(8) INTEGERwrongEncoding(9) Lỗi khi lệnh “set” đưa vào một giá trị có chiều dài lớn hơn chiều dài tối đa của đối tượng Lỗi khi lệnh “set” sử dụng cách mã hóa khác với cách đối tượng đã định nghĩa.wrongValue(10) Một biến được đặt một giá trị mà nó không hiểu. Khi mộtnoCreation(11) biến theo kiểu liệt kê “enumeration” được đặt một giá trị không theo kiểu liệt kê.undoFailed(15)authorizationError(16) Lỗi khi cố đặt một giá trị cho một biến không tồn tại hoặc tạo một biến không có trong MIB inconsistentValue Một biến MIB ở trạng thái không nhất quán, và nó không chấp nhận bất cứ câu lệnh “set” nào.resourceUnavailable(13) Không có tài nguyên hệ thống để thực hiện lệnh “set”commitFailed(14) Đại diện cho tất cả các lỗi khi lệnh “set” thất bại Một lệnh “set” không thành công và agent không thể phục hồi lại trạng thái trước khi lệnh “set” bắt đầu thất bại. Một lệnh SNMP không được xác thực, khi một người nào đó đưa ra mật mã không đúng.notWritable(17) Một biến không chấp nhận lệnh “set”inconsistentName(18) Cố gắng đặt một giá trị, nhưng việc cố gắng thất bại vì biến đó đang ở tình trạng không nhất quán.Câu lệnh đầu là dùng “get” để lấy giá trị hiện tại của “system.sysLocation”.Trong câu lệnh “snmpset” các trường “cisco.ora.com” và “system.sysLocation.0”có ý nghĩa giống với “get”. “private” để chỉ đối tượng “read-write”, và đặt giá trịmới bằng: “s "Atlanta, GA"”. “s” tức là đặt giá trị của “system.sysLocation.0” thànhstring, và giá trị mới là "Atlanta, GA" . Varbind này được định nghĩa trong RFC1213 là kiểu string tối đa 255 ký tự: sysLocation OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255))99 ACCESS read-write STATUS mandatory DESCRIPTION "The physical location of this node (e.g., 'telephone closet,3rd floor')."::= { system 6 } Có thể cài đặt nhiều đối tượng cùng lúc, tuy nhiên nếu có một lệnh bị lỗi,toàn bộ sẽ bị hủy bỏ. Các loại lỗi của SNMPv1 mang tính chất chung, không rõ ràng. Do đóSNMPv2 đưa ra thêm một số loại lỗi như trong Bảng 3-8.3.5.2.5. SNMP Traps Trap là cảnh báo của agent tự động gửi cho NMS để NMS biết có tình trạngxấu xảy ra ở agent. Khi nhận được một “trap” từ agent, NMS không trả lời lại bằng “ACK”. Dođó agent không thể nào biết được là lời cảnh báo của nó có tới được NMS haykhông. Khi nhận được một “trap” từ agent, nó tìm xem “trap number” để hiểu ýnghĩa của “trap” đó. Bảng 3-9: Ý nghĩa của các SNMP trapSố và tên kiểu trap Định nghĩacoldStart (0) Thông báo agent vừa khởi động lại. Tất cả các biến quản lý sẽ được reset, các biến kiểu “Counters” và “Gauges” được đặt về 0. “coldStart” dùng để xác định một thiết bị mới gia nhập vào mạng. Khi một thiết bị khởi động xong, nó gửi một “trap” tới NMS. Nếu địa chỉ NMS là đúng, NMS có thể nhận được và xác định xem có quản lý thiết bị đó hay không.warmStart (1) Thông báo agent vừa khởi tạo lại, không có biến nào bị reset.linkDown (2) Gửi đi khi một interface trên thiết bị chuyển sang trạng thái “down”.linkUp (3) Gửi đi khi một interface trở lại trạng thái “up”.authenticationFailure Cảnh báo khi một người nào đó cố truy cập vào agent đó mà(4) không được xác thực.egpNeighborLoss Cảnh báo một EGP lân cận bị “down”(5)enterpriseSpecific Đây là một “trap” riêng, chỉ được biết bởi agent và NMS tự(6) định nghĩa riêng chúng. NMS sử dụng phương pháp giải mã đặc biệt để hiểu được thông điệp này.1003.5.3. MIB MIB là một file dữ liệu tập hợp đầy đủ các đối tượng được quản lý trongmạng. Ở đây, đối tượng đơn giản là các biến lưu giữ thông tin về trạng thái của mộtvài quá trình thực thi trên thiết bị hay những thông tin (dạng text) về tên và mô tảthiết bị. Thông tin này được định nghĩa rất nghiêm ngặt để cho những hệ thốngquản lý khác có thể truy cập và sử dụng. Một thiết bị thường có nhiều đối tượng mô tả nó. Có nhiều nhóm đối tượngnhư hệ thống, giao diện, IP, TCP. Hệ thống là một nhóm MIB chứa các biến đốitượng lưu giữ thông tin như tên thiết bị, vị trí, và các thông tin mô tả khác. Nhómgiao diện giữ những thông tin về card mạng và theo dõi những số liệu thống kê nhưsố byte truyền đi và nhận được qua giao diện. Nhóm IP gồm các đối tượng theo dõidòng dữ liệu, sự phân đoạn gói dữ liệu và những thông tin tương tự. Nhóm TCPgồm các đối tượng theo dõi sự kết nối. MIB có thể xem như là một cơ sở dữ liệu của các đối tượng quản lý đượcagent lưu trữ. Bất kỳ thông tin nào mà NMS có thể truy cập đều được định nghĩatrong MIB.3.6. Các dịch vụ ứng dụng khác3.6.1. FTP File Transfer Protocol (FTP): FTP là một giao thức truyền và tải file trênmạng dựa trên TCP nên rất đáng tin cậy. FTP là công cụ dùng để quản lý file và thưmục giữa các máy. FTP dùng 2 cổng TCP. TCP cổng 20 là kênh dữ liệu, và cổng 21 là kênhlệnh. FTP khác với các ứng dụng TCP/IP là phải dùng 2 kênh, cho phép truyền tảilệnh và dữ liệu của FTP trên 2 kênh. Nó cũng khác các giao thức khác ở một chứcnăng quan trọng: FTP truyền tải files ở foreground, so với giao thức khác ởbackground. Hay nói cách khác, FPT không dùng spoolers hay queues, do vậy việc

truyền tải thực hiện bằng thời gian thực.