Bảng tra cứu các chữ viết tắt AON All Optical Network Mạng toàn quang CORBA Common object Request Broker Architecture Chuẩn giao tiếp dùng đối tượng trung gian, gọi là chuẩn CORBA DCOM D
Trang 1-
Trần Minh Tú
NGHIÊN CỨU PHƯƠNG PHÁP XÂY DỰNG VÀ PHÁT TRIỂN HỆ THỐNG THÔNG TIN ỨNG DỤNG TRONG CÁC MÔ HÌNH DOANH NGHIỆP
Chuyên ngành: ĐIỆN TỬ-VIỄN THÔNG
LUẬN VĂN THẠC SĨ ĐIỆN TỬ - VIỄN THÔNG
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS, TS Nguyễn Thị Việt Hương
Hà Nội - 2004
Trang 2chia sẻ sâu sắc Với lòng biết ơn sâu sắc, tôi xin được gửi đến Cô giáo- PGS,TS Nguyễn Thị Việt Hương, người đã trực tiếp hướng dẫn tôi hoàn thành cuốn luận văn này , lời cảm ơn chân thành nhất Đồng thời tôi cũng chân thành cảm ơn đến
các thầy cô trong Khoa Điện tử-Viễn Thông đã mang đến cho tôi một kiến thức hiểu biết sâu về chuyên môn, gửi đến Trung tâm đào tạo sau đại học đã tạo điều kiện giúp đỡ tôi các công việc thủ tục hành chính, và gửi đến các bạn & các đồng nghiệp
đã chia sẻ những khó khăn trong suốt quá trình học tập và thực hiện luận văn tại Trường Đại học Bách khoa Hà nội
Hà nội, tháng 10/2004
Học viên Trần Minh Tú
Trang 3MỤC LỤC
LỜI CẢM ƠN 1
Bảng tra cứu các chữ viết tắt 4
LỜI NÓI ĐẦU 5
CHƯƠNG 1: LÝ THUYẾT CƠ BẢN CỦA MẠNG MÁY TÍNH 7
1.1.Mô hình hệ thống mở OSI (Open Systems Interconnection) 7
1.1.1 Tổng quan mô hình hệ thống mở 7
1.1.2 Các chức năng chủ yếu của các tầng của mô hình OSI 8
1.2.Giao thức truyền thông mạng TCP/IP 14
1.2.1 Giao thức TCP 15
1.2.2 Giao thức UDP 19
1.2.3 Các giao thức tầng mạng: 19
1.3 Kỹ thuật mạng LAN 21
1.3.1 Tổng quan mạng Ethernet (LAN) 21
1.3.2 Các thiết bị dùng cho mạng Ethernet 23
1.4 Các dịch vụ ứng dụng mạng cơ bản 24
1.4.1.Dịch vụ Web 24
1.4.2 Dịch vụ truyền file 26
1.4.3 Dịch vụ E-mail 26
1.4.4 Dịch vụ mạng Giao thức DNS, DHCP 28
1.5 Kiến trúc ứng dụng Client/ Server 29
1.6 Các giao thức xử lý truyền tin của các ứng dụng mạng 34
1.6.1 Sử dụng giao thức RPC 34
1.6.2 Phương pháp sử dụng giao thức hướng thông điệp 35
1.6.3 Sử dụng phương pháp giao tiếp dùng socket 36
1.7 Hệ quản trị CSDL 37
1.7.1 Hệ quản trị CSDL 37
1.7.2 Giao tiếp truy cập CSDL 38
CHƯƠNG II: PHƯƠNG PHÁP PHÁT TRIỂN MỞ RỘNG MẠNG 40
2.1 Tổng quan kiến trúc mạng WAN 40
2.2 Công nghệ xử lý truyền dẫn trên mạng diện rộng 43
2.3 Thiết bị tích hợp mạng diện rộng 46
2.4 Phương tiện truyền dẫn trong mạng diện rộng 49
2.4.1 Công nghệ đường dây thuê bao số xDSL 49
2.4.2 Công nghệ ISDN 51
2.4.3 Frame relay 52
2.4.4 Công nghệ ATM: 56
2.4.5 Đường thuê bao kênh riêng(leased line): 59
2.5 Kiến trúc hệ thống máy chủ cung cấp ứng dụng, dịch vụ mạng 60
2.5.1 Hệ thống ghép nối phân cung (clustering) 60
Trang 42.5.2 Hệ thống kết nối mạng SAN 64
CHƯƠNG III: AN NINH MẠNG 69
3.1 Tổng quan an ninh mạng 69
3.2 An ninh trên hạ tầng cơ sở 70
3.2.1 Dùng PKI (Public Key Infrastructure) 70
3.2.2 Dùng RSA 73
3.2.3 Dùng SSL (Secure Socket Layers) 76
3.2.4 Dùng Firewall 78
3.2.5 Dùng IDS (Intrusion Detection Systems ) 81
3.2.6 Dùng VLAN 82
3.3 Mạng VPN và Kiến trúc xây dựng VPN (Virtual Private network) 84
3.3.1 Khái niệm VPN 84
3.3.2 Tính bảo mật của VPN: 87
3.3.3 Các kỹ thuật sử dụng trong VPN 90
3.3.4 Kỹ thuật Tunneling 90
CHƯƠNG IV: PHÁT TRIỂN NGN TRONG MÔ HÌNH DOANH NGHIỆP 93
4.1 Khái niệm mạng NGN (Next Generation Network) 93
4.2 Đặc điểm NGN 95
4.3 Triển khai NGN 98
4.4 Các thành phần của NGN chuẩn 100
4.5 Các công nghệ và các giao thức 101
CHƯƠNG V: THIẾT KẾ, XÂY DỰNG HỆ THỐNG THÔNG TIN 106
5.1 Giới thiệu 106
5.2 Phân tích yêu cầu 107
5.2 Thiết kế, xây dựng hạ tầng thông tin 110
5.3 Thiết kế, xây dựng dịch vụ quản lý và ứng dụng mạng 115
5.3.1 Dịch vụ quản lý mạng 115
5.3.2 Cài đặt, và quản lý dịch vụ E-mail 116
KẾT LUẬN VÀ KIẾN NGHỊ 118
TÀI LIỆU THAM KHẢO 120
PHỤ LỤC 01.
Trang 5Bảng tra cứu các chữ viết tắt
AON All Optical Network Mạng toàn quang
CORBA Common object Request
Broker Architecture
Chuẩn giao tiếp dùng đối tượng trung gian, gọi là chuẩn CORBA DCOM Distributed Component
Object Model
Mô hình các đối tượng thành phần phân tán
DDL Data Definition Language Ngôn ngữ định nghĩa dữ liệu
DML Data Manipulation Language Ngôn ngữ thao tác dữ liệu
FC Fibre Channel Đường truyền dùng cáp quang IDS Intrusion Detection Systems Hệ thống phát hiện xâm nhập bất
hợp pháp IPSec Internet Protocol Security
OUI Organizationally Unique
Identifier
Định danh độc quyền dải địa chỉ MAC
OXC Optical Switching Chuyển mạch tín hiệu quang
PKI Public Key Infrastructure Kiến trúc bảo mật dùng khoá chung PON Passive Optical Networks Mạng quan thụ động
RPC Remote Procedure Call Giao thức trao đổi thông tin dùng
thủ tục gọi lệnh từ xa RSA Ron Rivest, Adi Shamir,
Leonard Adleman
Một tên của mã hoá bảo mật mới đang được nghiên cứu ứng dụng SAN Storage Area Network Hệ thống lưu trữ mạng
SSL/TLS Secure Sockets Layer/
Transport Layer Security
Giao thức bảo mật mạng IP lớp giao vận/ an ninh lớp giao vận
VPDN Virtual Private Dial-up
Network
Mạng riêng ảo được tạo bởi các kết nối quay số Dial-up dùng Modem
Trang 6LỜI NÓI ĐẦU
Tri thức nhân loại không ngừng tiến bộ, điển hình rõ nét bởi ứng dụng thực tế nhất là trong lĩnh vực Công nghệ thông tin (CNTT) Phạm trù này rất rộng, không
có giới hạn khi ý thức khai thác CNTT như công cụ cho các lĩnh vực xã hội Ngày nay, khi mà CNTT đã là một chủ đề trở nên quen thuộc với mọi người, thì mọi người luôn được tận hưởng với những công nghệ mới, những phát minh mới được đưa vào ứng dụng trong các lĩnh vực Kinh tế, Khoa học, Quân sự, Y học, do thám, tình báo
Các công nghệ truyền dẫn không ngừng cho ra đời các thế hệ mới, hiện nay đang tập trung nghiên cứu khai thác thế hệ thứ 3 với một môi trường liên thông giữa mạng máy tính và mạng viễn thông dựa trên giao thức truyền gói tin IP, và các nhà khoa học dự báo cho ra đời thế hệ thứ 4 cung cấp điểm truy nhập dịch vụ multimedia hứa hẹn một băng thông rộng cho khai thác truy nhập của người dùng, thông qua một kiến trúc hạ tầng mạng NGN (New Generation Network)
Các dịch vụ ứng dụng trên môi trường mạng luôn phát triển song song cùng với hạ tầng truyền dẫn thông tin, nhu cầu truy cập dịch vụ luôn đòi hỏi sự gia tăng băng thông rộng, sự mềm dẻo tuỳ biến để cung cấp các dịch vụ của người dùng Không dừng lại bởi các dịch vụ cung cấp truyền thống như Web , Mail, dịch vụ nội dung, một thế hệ tiếp theo ra đời đó là NGN (Next Generation Network) làm mở rộng một môi trường giao tiếp dịch vụ giữa các mạng viễn thông truyền thống với các mạng máy tính hứa hẹn cung cấp một môi trường hướng dịch vụ hoàn hảo đến người dùng
Xây dựng và khai thác hiệu quả hệ thống thông tin đáp ứng khai thác dịch vụ của người dùng hoàn toàn phụ thuộc vào tri thức của con người, điều kiện tài chính của doanh nghiệp, và những công nghệ hiện có Chính vì thế mà khi chọn đề tài này trong khuôn khổ luận văn này trình bày tổng quát một khối lượng kiến thức lớn có thể tham khảo khi thiết kế xây dựng HTTT, không thể đi sâu chi tiết tập trung vào
Trang 7ứng dụng cụ thể nào, nêu bật hết những thành phần cốt lõi của mạng cũng như những công nghệ mới tập trung vào phát triển hạ tầng cơ sở của mạng
Bố cục của luận văn với đề tài “nghiên cứu phương pháp xây dựng và phát triển hệ thống thông tin ứng dụng trong các mô hình doanh nghiệp” gồm 5 chương,
có kiến trúc sắp xếp thứ tự từ HTTT ứng dụng cho mô hình nhỏ đến lớn, từ dịch vụ truyền thống đến dịch vụ ứng dụng công nghệ mới, phần cuối cùng mô tả tương đối chi tiết một HTTT được thiết kế, xây dựng, và được triển khai ứng dụng cụ thể Chương 1: Đưa ra những kiến thức, thành phần cơ bản cần quan tâm khi thiết
kế xây dựng một hệ thống thông tin cho các doanh nghiệp nhỏ, và là cơ sở để phát triển mở rộng lên đến các HTTT cho các doanh nghiệp phát triển mở rộng được chi tiết ở chương 2
Chương 2: Tập trung vào khai thác các công nghệ truyền dẫn phát triển mở rộng các dịch vụ cung cấp trên mạng WAN thông qua hạ tầng viễn thông, các công nghệ cho máy chủ hoạt động “fine nices, 99,999 %”
Chương 3: Đề cập đến lĩnh vực an ninh mạng, chi tiết các công nghệ mới nhất
có thể khai thác ứng dụng trong các mô hình doanh nghiệp
Chương 4: Đề cập đến một kiến trúc mạng thế hệ mới, mở ra một hướng mới khi phát triển mở rộng mạng, khai thác các ứng dụng viễn thông, các ứng dụng multimedia mềm dẻo, tin cậy
Chương 5: Tập trung chi tiết các bước thiết kế xây dựng mạng, các thành phần
cơ bản cần quan tâm khi xây dựng một HTTT
Phần Phụ lục của luận văn định nghĩa một số công nghệ mạng tiêu biểu giúp cho người đọc tập trung kiến thức một cách nhanh nhất khi định hướng khai thác các ứng dụng công nghệ mới
Trang 8CHƯƠNG I
LÝ THUYẾT CƠ BẢN CỦA MẠNG MÁY TÍNH
1.1.Mô hình hệ thống mở OSI (Open Systems Interconnection)
1.1.1 Tổng quan mô hình hệ thống mở
Việc nghiên cứu OSI được bắt đầu bởi ISO (International Organization for Standardization) từ năm 1971 với mục đích dễ dàng giao tiếp kết nối các sản phẩm công nghệ mạng của các hãng sản xuất khác nhau Ưu điểm chính của OSI
là xây dựng được các giải pháp xử lý truyền thông giữa các mạng máy tính không đồng nhất Hai hệ thống, dù có khác nhau đều có thể truyền thông với nhau một các hiệu quả nếu chúng đảm bảo những điều kiện chung sau đây:
• Chúng cài đặt cùng một tập các chức năng truyền thông
• Các chức năng đó được tổ chức thành cùng một tập các tầng các tầng đồng mức phải cung cấp các chức năng tương tự nhau
• Các tầng đồng mức khi trao đổi với nhau sử dụng chung một giao thức
• Mô hình OSI phân tách tương đối thành bảy tầng Mô hình OSI định rõ các chức năng hoạt động và tiêu chuẩn mạng khác nhau Vì vậy, theo một nghĩa nào đó, mô hình OSI là một loại tiêu chuẩn của các chuẩn
Nguyên tắc sử dụng khi định nghĩa các tầng hệ thống mở:
Sau đây là các nguyên tắc mà ISO quy định dùng trong quá trình xây dựng
Trang 9• Tạo ranh giới các tầng mà ở đó cần có những mức độ trừu tượng khác nhau trong việc sử dụng số liệu
• Cho phép thay đổi các chức năng hoặc giao thức trong tầng không ảnh hưởng đến các tầng khác
• Tạo các ranh giới giữa mỗi tầng với tầng trên và dưới nó
Hình sau là mô hình hoá hai hệ thống máy tính kết nối trong mạng, kiến trúc các thành phần được phân tách dựa vào mô hình OSI
1.1.2 Các chức năng chủ yếu của các tầng của mô hình OSI
Tầng 1: Tầng Vật lý (Physical Layer)
Tầng vật lý là tầng dưới cùng của mô hình OSI đặc tả các tính chất, đặc tính kết nối vật lý, tính chất điện của thiết bị trên mạng như: Các loại cáp được dùng
Hình 1.1 Mô hình OSI
Trang 10để nối các thiết bị, các loại tín hiệu được dùng khi chuyển dữ liệu trên cáp kết nối mạng, các kỹ thuật nối mạch điện, và tốc độ truyền dẫn dữ liệu trên cáp truyền dẫn Phân loại các thiết bị mạng thuộc tầng này là HUB, MultiPlexer, Repeater
Tầng 2: Liên kết dữ liệu (Datalink Layer)
Tầng LKDL (Liên kết dữ liệu) là tầng thường được dùng để định nghĩa dòng thông tin ở dạng ‘khung’ khi truyền giữa các điểm vật lý trên mạng Tầng LKDL quy định được các dạng thức, kích thước của khung ‘frame’ thông tin
được truyền (ví dụ, khung ethernet)
Tầng LKDL cung cấp cơ chế phát hiện và sửa lỗi bit cơ bản (thường dùng phương pháp sửa lỗi CRC) Trong trường hợp có lỗi không sửa được, tầng liên kết dữ liệu còn có cơ chế xác nhận truyền lại gói tin lỗi
Các giao thức tầng LKDL chia làm 2 loại chính là các giao thức hướng ký
tự và các giao thức hướng bit Các giao thức hướng ký tự được xây dựng dựa trên các ký tự đặc biệt của một bộ mã chuẩn nào đó (như ASCII hay EBCDIC), trong khi đó các giao thức hướng bit lại dùng các cấu trúc nhị phân (kiểu chuỗi bit) để xây dựng các phần tử của giao thức (đơn vị dữ liệu, các thủ tục.) và khi nhận, dữ liệu sẽ được tiếp nhận lần lượt từng bit một
Để dễ dàng phân tách chức năng giao tiếp với tầng trên nó và dưới nó, tầng LKDL được chia thành hai tầng con: tầng con LLC (Logic Link Control) và tầng MAC (Media Access Control) Tầng MAC định nghĩa duy nhất thiết bị phần
cứng trên mạng dựa vào địa chỉ MAC, có chức năng ghép/ tách khung thông tin
từ luồng dữ liệu bit nhận được theo một tiêu chuẩn nhất định phù hợp với kiểu mạng đang được sử dụng
Địa chỉ MAC: là địa chỉ vật lý của thiết bị xử lý đầu cuối của mạng (máy
tính, router) được thiết lập cứng, không thay đổi, và không trùng lập với các thiết
bị đầu cuối khác MAC có độ dài 6 bytes (48bit), thường được viết ở dạng Hex, (ví dụ, 0060.978F.4F86) Trong đó 3 byte đầu gọi là OUI (Organizationally Unique Identifier) do IEEE cấp cho các nhà sản xuất, 3 byte cuối là do nhà sản xuất (vendor) tự ghi vào, và họ phải đảm bảo là không bị trùng lặp Do 2^24 =
Trang 1116777216 là rất lớn, IEEE cho rằng không thể có quá nhiều nhà sản xuất như thế Mỗi nhà sản xuất sẽ được một vài số OUI Như Cisco có khoảng 66 OUI (tính đến năm 2001-số liệu lấy trong Cisco LAN Switching): 00000C, 00067C, 0006C1 00E0F7, 00E0F9, 00E0FE
Tầng 3: Tầng Mạng (Network Layer)
Tầng mạng có chức năng giao tiếp truyền thông tin trong mạng, trên các
mạng với nhau bằng cách định hướng (routing) cho các gói tin đi từ mạng này đến mạng khác được thực hiện bởi giao thức định tuyến
Gói tin (Packet) được hiểu như là một đơn vị thông tin trao đổi trên mạng
Theo quan điểm phân tầng, bên máy nguồn khi nhận được dữ liệu ở tầng trên nó
sẽ thực hiện đóng thâm thông tin header vào dữ liệu nhận được trước khi chuyển xuống tầng dưới nó, bên máy nhận sẽ xử lý ngược lại Header của nó bao gồm
các thông tin như: yêu cầu phục vụ, các thông tin điều khiển định tuyến
Giao thức định tuyến: Là giao thức định nghĩa phương pháp vận chuyển
gói tin trên mạng từ thiết bị gửi đến thiết bị nhận
Các giao thức định tuyến gói tin trên mạng có 3 nhóm: Link-state,
Distance-vector, và link-state + Distance-vector
• distance-vector: Như RIP, IGRP, hoạt động theo nguyên tắc liên kết kề cận ,
nghĩa là mỗi router sẽ gửi bảng định tuyến của chính mình cho tất cả các Hình 1.2 Mô phỏng giao thức định tuyến giữa hai router
Trang 12router được nối trực tiếp với mình Các router đó sau đó so sánh với bảng định tuyến mà mình hiện có và kiểm tra tuyến của mình (là đường đi của gói tin đi qua nó) và tuyến mới nhận được, tuyến nào tốt hơn sẽ được cập nhật Các trạng thái cập nhật sẽ được gửi theo định kỳ Do đó, khi có sự thay đổi trong mạng, các router sẽ biết được để thay đổi bảng định tuyến cho phù hợp
• Link-state: Có giao thức OSPF của Cisco Link-state không gửi bảng định
tuyến, mà chỉ gửi tình trạng [state] của các cái kết nối trong database của mình đi cho các router khác, để rồi tự mỗi router sẽ chạy giải thuật shortest path first (bởi vậy mới có OSPF - open shortest path first) để tự xây dựng bảng định tuyến cho mình
linkstate-Trong thực tế, các mạng máy tính loại nhỏ thường dùng các giao thức định tuyến RIP Trong môi trường mạng WAN và Internet thường dùng các giao thức OSPF, EIGRP bởi vì sự phức tạp khi cấu hình các giao thức link-state
Như trên đã nói tầng mạng cung các các phương thức để truyền các gói tin qua các loại mạng khác nhau, hay qua một mạng của mạng (điển hình như Internet) Bởi vậy nó cần phải đáp ứng với nhiều kiểu mạng và nhiều kiểu dịch
vụ cung cấp bởi các mạng khác nhau Hai chức năng chủ yếu của tầng mạng là chọn đường (routing) và chuyển tiếp (relaying) Tầng mạng là quan trọng nhất khi liên kết hai loại mạng khác nhau:Ví dụ, khi kết nối mạng Ethernet với mạng Token Ring, là hai loại mạng định nghĩa giao thức thuộc tầng LKDL (tầng 2)
khác nhau khi đó thiết bị định tuyến (router) cần có một phương pháp diễn dịch
gói tin để chuyển các gói tin từ mạng này sang mạng khác và ngược lại
Hiện nay khi nhu cầu truyền thông đa phương tiện (tích hợp dữ liệu văn bản, đồ hoạ, hình ảnh, âm thanh) ngày càng phát triển đòi hỏi các công nghệ truyền dẫn tốc độ cao nên việc phát triển các hệ thống chọn đường tốc độ cao đang rất được quan tâm
Tầng 4: Tầng Giao vận (Transport layer)
Đây là tầng đảm bảo dữ liệu của dịch vụ ứng dụng mạng được truyền giữa các điểm kết nối logic trên mạng Như vậy,nó định nghĩa các dịch vụ ứng dụng
Trang 13cho các tầng trên nó (ví dụ, TCP của dịch vụ www là 80) thông qua số hiệu cổng, kết kợp với các tầng dưới nó để thiết lập phương thức truyền dữ liệu tin cậy Trong mô hình OSI, trên tầng giao vận thường xét đến hai loại giao thức chính được các dịch vụ ứng dụng sử dụng: Giao thức có liên kết (connection - oriented) và giao thức không liên kết (connectionless)
• Giao thức có liên kết: trước khi truyền dữ liệu hai tầng đồng mức cần thiết
lập một liên kết logic và các gói tin được trao đổi thông qua liên kết này, quá trình thiết lập kết nối theo ba bước sau:
▪ Thiết lập liên kết (logic): hai thực thể đồng mức ở hai hệ thống thương lượng với nhau về tập các tham số sẽ sử dụng trong giai đoạn sau (truyền dữ liệu)
▪ Truyền dữ liệu: dữ liệu được truyền với các cơ chế kiểm soát và quản
lý kèm theo (như kiểm soát lỗi, kiểm soát luồng dữ liệu, cắt/hợp dữ liệu ) để tăng cường độ tin cậy và hiệu quả của việc truyền dữ liệu
▪ Hủy bỏ liên kết (logic): giải phóng tài nguyên hệ thống đã được cấp phát cho liên kết để dùng cho liên kết khác
• Giao thức không liên kết: trước khi truyền dữ liệu không thiết lập liên kết
logic và mỗi gói tin được truyền độc lập với các gói tin trước hoặc sau nó Đối với giao thức không liên kết thì chỉ có duy nhất một giai đoạn xử lý truyền các segment mà thôi
Tầng 5: Tầng phiên (Session Layer)
Tầng phiên thiết lập "các phiên giao dịch" giữa các ứng dụng trên máy tính mạng Các phiên truyền mang thông tin về tên của máy tính tham gia thực hiện phiên truyền, khối lượng dữ liệu cần truyền Tầng phiên đảm bảo cho các giao dịch được thiết lập và duy trì theo đúng qui định của từng loại dịch vụ dữ liệu Các giao thức lớp phiên như SQL, NFS, RPC các chức năng xử lý hoàn thành một phiên truyền khi ứng dụng thuộc tầng trên nó yêu cầu SQL là giao thức để máy trạm truy vấn dữ liệu trên một máy chủ CSDL ở xa NFS có chức năng cung tài nguyên dùng trên mạng (dịch vụ chia sẻ file mạng )
Trang 14Tầng phiên còn cung cấp cho người sử dụng các chức năng cần thiết để quản trị các giao dịnh ứng dụng của họ, cụ thể là:
• Điều phối việc trao đổi dữ liệu giữa các ứng dụng bằng cách thiết lập và giải phóng (một cách lôgic) các phiên (hay còn gọi là các hội thoại - dialogues)
• Cung cấp các điểm đồng bộ để kiểm soát việc trao đổi dữ liệu
• Áp đặt các qui tắc cho các tương tác giữa các ứng dụng của người sử dụng
• Cung cấp cơ chế "lấy lượt" (nắm quyền) trong quá trình trao đổi dữ liệu Trong trường hợp mạng là hai chiều luân phiên thì nẩy sinh vấn đề: hai người sử dụng luân phiên phải "lấy lượt" để truyền dữ liệu Tầng phiên duy trì tương tác luân phiên bằng cách báo cho mỗi người sử dụng khi đến lượt họ được truyền dữ liệu Vấn đề đồng bộ hóa trong tầng phiên cũng được thực hiện như cơ chế kiểm tra/phục hồi, dịch vụ này cho phép người sử dụng xác định các điểm đồng bộ hóa trong dòng dữ liệu đang chuyển vận và khi cần thiết có thể khôi phục việc hội thoại bắt đầu từ một trong các điểm đó
Ở một thời điểm chỉ có một người sử dụng đó quyền đặc biệt được gọi các dịch vụ nhất định của tầng phiên, việc phân bổ các quyền này thông qua trao đổi thẻ bài (token) Ví dụ: Ai có được token sẽ có quyền truyền dữ liệu, và khi người giữ token trao token cho người khác thi cũng có nghĩa trao quyền truyền dữ liệu cho người đó
Tầng 6: Tầng Trình bày (Presentation Layer)
Trong giao tiếp giữa các ứng dụng thông qua mạng với cùng một dữ liệu có thể có nhiều cách biểu diễn khác nhau Thông thường dạng biểu diễn dùng bởi ứng dụng nguồn và dạng biểu diễn dùng bởi ứng dụng đích có thể khác nhau do các ứng dụng được chạy trên các hệ thống hoàn toàn khác nhau (như hệ máy Intel và hệ máy Motorola) Tầng trình bày (Presentation layer) phải chịu trách nhiệm chuyển đổi dữ liệu gửi đi trên mạng từ một loại biểu diễn này sang một loại khác Để đạt được điều đó nó cung cấp một dạng biểu diễn chung dùng để truyền thông và cho phép chuyển đổi từ dạng biểu diễn cục bộ sang biểu diễn chung và ngược lại
Trang 15Tầng trình bày cũng có thể được dùng kĩ thuật mã hóa để xáo trộn các dữ liệu trước khi được truyền đi và giải mã ở đầu đến để bảo mật Ngoài ra tầng biểu diễn cũng có thể dùng các kĩ thuật nén sao cho chỉ cần một ít byte dữ liệu để thể hiện thông tin khi nó được truyền ở trên mạng, ở đầu nhận, tầng trình bày diẽn dịch trở lại để được dữ liệu ban đầu
Tầng 7: Tầng Ứng dụng (Application layer)
Tầng ứng dụng (Application layer) là tầng cao nhất của mô hình OSI, nó định nghĩa giao diện giữa người sử dụng và ứng dụng mạng Giải quyết các kỹ thuật mà các chương trình ứng dụng dùng để giao tiếp với mạng
Để cung cấp phương tiện truy nhập môi trường OSI cho các tiến trình ứng dụng, Người ta thiết lập các thực thể ứng dụng (AE), các thực thể ứng dụng sẽ gọi đến các phần tử dịch vụ ứng dụng (Application Service Element - viết tắt là ASE) của chúng Mỗi thực thể ứng dụng có thể gồm một hoặc nhiều các phần tử dịch vụ ứng dụng Các phần tử dịch vụ ứng dụng được phối hợp trong môi trường của thực thể ứng dụng thông qua các liên kết (association) gọi là đối tượng liên kết đơn (Single Association Object - viết tắt là SAO) SAO điều khiển việc truyền thông trong suốt vòng đời của liên kết đó cho phép tuần tự hóa các sự kiện đến từ các ASE thành tố của nó
1.2.Giao thức truyền thông mạng TCP/IP
TCP/IP là tập các giao thức truyền thông tin trên mạng theo chuẩn công nghiệp được DoD (Department of Defense) thiết kế và ứng dụng, đảm bảo dữ liệu truyền trên mạng được an toàn, quá trình truyền thông tin qua môi trường mạng thông qua kết nối logic (kết nối ảo, chỉ tồn tại trong quá trình truyền thông tin) Hình sau so sánh sự tương ứng giữa mô hình OSI với mô hình mạng TCP/IP
Trang 16Mô hình TCP/IP được phân chia làm 4 tầng, mục đích chủ yếu là đáp ứng được các yêu cầu truyền dữ liệu trên mạng Internet dùng TCP/IP Tầng ứng dụng của DoD tương ứng với 3 tầng trên cùng của mô hình OSI Tầng giao vận của OSI ứng với tầng host-to-host, tầng mạng của OSI ứng với tầng Internet, và tầng cuối cùng của DoD ứng với 2 tần còn lại của OSI Ví dụ, khi ta xét SQL thuộc tầng ứng dụng của DoD, hoặc tầng phiên của OSI
Mô hình OSI cho ta thấy sự phân tầng tương đối chi tiết đối với một ứng dụng
cụ thể trên mạng máy tính, nó khác với mô hình DoD chỉ cho ta thấy chức năng xử
lý truyền thông tin trên mạng dùng tập giao thức TCP/IP
1.2.1 Giao thức TCP:
TCP là viết tắt của Transmission Control Protocol tạm dịch là Cách thức điều khiển truyền TCP đảm trách việc nhận đúng dữ liệu và gửi dữ liệu đó đến đúng chương trình cần nhận
Hình 1.3 So sánh mô hình OSI với mô hình DoD
Trang 17TCP thuộc lớp 4 của OSI, chức năng chủ yếu của nó là tiếp nhận khối lượng thông tin từ lớp bên trên nó và phân thành các phần dữ liệu (segments) theo một trật tự logic để chuyển xuống lớp bên dưới nó Các segment khi chuyển xuống lớp bên dưới được phân thành các gói tin Các gói tin sẽ được định danh
để truyền trên môi trường mạng TCP có các chức năng kiểm tra và sửa lỗi thông qua việc đồng bộ hoá (synchronize) thông tin 2 đầu truyền dữ liệu và lời nhận biết (acknowledgement) từ phía nhận dữ liệu
Trước khi khởi tạo quá trình truyền tin, TCP thiết lập một mạch ảo hướng kết nối theo một cơ chế hand-shake, mạch ảo tồn tại trong suốt thời gian thực hiện phiên truyền Mạch ảo được tạo dựa vào các thông số mạng như cổng TCP (giao thức TCP/IP phiên bản 4 định nghĩa 16 bit cho giá trị cổng), địa chỉ IP của máy gửi và máy nhận Đối với các nhà lập trình thì người ta gọi là socket Trên mỗi socket được tạo đảm nhận truyền dữ liệu theo hai hướng, có cơ chế xác định báo nhận
Tính chất TCP:
• Có tính kết nối (connection oriented) với giao tiếp 3 lượt (3-way handshake)
• Phát hiện và sửa lỗi (error detection & recovery)
TCP là một giao thức có tính kết nối Điều này có nghĩa là mọi kết nối đều
có sự thông tin trước Ví dụ A muốn kết nối tới B thì A phải thông báo cho B biết trước và đợi trả lời đồng ý từ B Sự thông tin này diễn ra theo 3 bước (3-way handshake) như sau:
Bước1 A gửi thông điệp muốn kết nối tới B (SYN)
Bước 2 B gửi thông điệp đồng ý kết nối lại cho A (ACK, SYN)
Bước 3 A gửi thông điệp đã nhận được sự đồng ý lại cho B (ACK) SYN: synchronize, đồng bộ hoá kết nối
ACK: acknowledgement, sự nhận biết
TCP có tính phát hiện lỗi vì mọi thông điệp gửi theo TCP đều được kiểm tra thông qua một số nguyên 32 bit cho biết giá trị CRC (Cyclic Redundant
Trang 18Check) của thông điệp được gửi Bên gửi sẽ tính giá trị CRC và gửi kèm trong thông điệp Bên nhận sẽ tính lại giá trị đó và so sánh với giá trị do bên gửi gửi đi Nếu không đúng có nghĩa là đã có sự sai sót xảy ra TCP có tính sửa lỗi vì khi phát hiện ra sai sót, bên nhận sẽ gửi thông điệp báo sai tới bên gửi, đề nghị gửi lại thông điệp bị sai
Không phải sau mỗi một thông điệp được gửi đi thì đều có một thông điệp thông báo đã nhận được từ bên nhận gửi trả về Có thể sau 10 thông điệp được gửi đi thì mới có một thông điệp thông báo nhận được gửi trả Đó gọi là khả năng gửi không cần nhận biết
Ví dụ: A gửi cho B 6 lượt, mỗi lượt 1000 bytes, khả năng gửi không cần nhận biết của A là 3, B nhận được thông điệp đầu hoàn chỉnh, thông điệp thứ 2 bị sai, các thông điệp sau bình thường Quá trình đó sẽ diễn ra như sau:
b1 A gửi cho B 3 thông điệp lần lượt
b2 B gửi lại cho A ACK message với giá trị 2000 Nếu B nhận được tất cả các thông điệp hoàn chỉnh, B sẽ gửi lại cho A một ACK message với giá trị
4000 (là giá trị kế tiếp mà A có thể gửi)
b3 A gửi lại cho B message thứ 2 (từ vị trí 2000 đến vị trí 2999) và chờ Lúc này A hy vọng rằng B nhận được thông điệp thứ nhất và thông điệp thứ
ba hoàn chỉnh, A sẽ không phải gửi lại toàn bộ các thông điệp từ chỗ bị sai
mà chỉ gửi thông điệp bị sai
b4 B gửi lại cho A ACK message với giá trị 4000 cho biết B nhận được 3 thông điệp đầu hoàn chỉnh và A có thể gửi tiếp các thông điệp sau, bắt đầu
từ vị trí 4000
b5 A gửi cho B thông điệp thứ 4, 5 và 6
b6 B gửi trả ACK message với giá trị 7000
Giả sử trong khi gửi thông điệp 4, 5, 6, A chưa kịp gửi thông điệp thứ 5 thì
đã nhận được ACK message từ B với giá trị 5000 thì lúc đó window của A sẽ được sửa thành giá trị 3 Nếu A đã gửi thông điệp 4, 5 và nhận được ACK message của B với giá trị 5000 thì window của A được sửa thành 2, A có thể gửi
Trang 19tiếp 2 thông điệp 6 và 7 Có nghĩa là tối đa A có thể gửi ‘window’ lần số thông điệp Mỗi lần gửi, giá trị window giảm cho đến khi bằng 0 Khi nhận được ACK message, giá trị đó sẽ thay đổi, tăng lên cho đến khi số thông điệp đã gửi đi mà chưa nhận được ACK message bằng giá trị window chính)
Trong quá trình truyền tín hiệu như vậy, nếu bên B cảm thấy có thể nhận được tín hiệu nhanh hơn thì bên B sẽ gửi SYN message lại cho A, thông báo muốn tăng giá trị window lên (giảm thời gian và số ACK message được gửi đi) Bên A sẽ gửi trả ACK message và tự tăng giá trị window lên theo yêu cầu của bên B Ngược lại, B sẽ đề nghị A giảm giá trị window xuống Ngoài ra, số lượng thông tin được gửi đi trong mỗi thông điệp cũng có thể thay đổi tuỳ vào đường truyền Với TCP, lượng thông tin này được đo bằng đơn vị byte MTU (maximum transmission unit) là số transmission unit (đơn vị truyền) (với TCP được tính là byte) tối đa mỗi thông điệp có thể chứa Nói tóm lại, sự liên lạc bằng TCP có tính phát hiện và sửa lỗi, cũng như có sự can thiệp một cách tự động của lớp TCP phụ thuộc vào điều kiện đường truyền
TCP phân biệt các thông điệp gửi cho chương trình này và thông điệp gửi cho chương trình khác thông qua socket Socket là một khái niệm để chỉ 2 giá trị cần thiết khi khởi tạo kết nối Đó là địa chỉ IP (IP address) của máy và cổng (port) Giả sử B chạy một server, nhận kết nối ở cổng 80, có địa chỉ IP là 1.1.1.1
A là máy khách, chạy 2 chương trình client để kết nối tới B, A có địa chỉ là 1.1.1.2 Client đầu tiên dùng port 1024, client thứ 2 dùng port 1025 Khi B nhận tín hiệu kết nối từ client thứ 1, B hiểu rằng tín hiệu đó từ địa chỉ IP 1.1.1.2 và từ port 1024 Tương tự, B hiểu client thứ 2 từ socket khác Như vậy, khi B trả lời A,
B sẽ gửi thông tin tới socket tương ứng với client 1 hay 2 của A Khi A gửi cho
B, B cũng biết thông tin đó từ client 1 hay 2 gửi cho mình thông qua việc nhận biết thông tin đó xuất phát từ socket của client 1 hay 2 Quá trình chuyển thông tin cho lớp ứng dụng này được gọi là multiplexing
Trang 201.2.2 Giao thức UDP (Unreliable Datagram Protocol) :
Giao thức UDP cũng thuộc tập giao thức TCP/IP tham gia vào môi trường truyền thông để phát triển các ứng dụng dịch vụ có độ tin cậy không cao và trao đổi dữ liệu nhanh vì nó đơn giản, không dùng những cơ chế báo nhận , không kiểm tra lỗi UDP cũng truyền thông tin đến đích dựa trên cổng và địa chỉ IP nhưng không thiết lập mạch ảo giống TCP Tuy vậy, ta vẫn thường thấy rất nhiều dịch vụ dùng giao thức UDP kết hợp với TCP, hoặc UDP trên nền TCP
1.2.3 Các giao thức tầng mạng:
Trong mô hình DoD, ý nghĩa của giao thức tầng mạng là định tuyến gói tin,
và cung cấp giao tiếp mạng cho các tầng cao hơn Chức năng định tuyến của tầng mạng đóng vai trò quan trọng nhất và nó cũng là công việc phức tạp nhất mà tầng mạng đảm nhận Tất cả các phương thức giao tiếp truyền thông trên tầng mạng đều dựa trên giao thức IP
Giao thức IP tiếp nhận các phân đoạn dữ liệu nhận được từ tầng trên và phân mảnh nó thành các gói tin (packet, hay datagram) Bên nhận sẽ ghép các gói tin lại nguyên dạng ban đầu Mỗi gói tin được gán địa chỉ IP của bên nhận và bên gửi Mỗi router khi tiếp nhận gói tin đều đọc địa chỉ IP đích để xác định đường di tiếp theo của gói tin
Địa chỉ IP: (IP ver4)
Trang 21Địa chỉ IP là địa chỉ logic 32 bít sử dụng để xác nhận máy tính trên mạng dùng giao thức TCP/IP Địa chỉ IP gồm hai phần: Phần định danh cho mạng và phần định danh cho máy tính
• Định danh mạng dùng để nhận diện các máy trên cùng mạng logic
• Định danh máy tính: nhận diện một máy trên mạng
Như vậy, mỗi máy tính khi kết nối vào mạng đều có một địa chỉ duy nhất,
đó chính là địa chỉ IP Địa chỉ này dùng để phân biệt máy tính đó với các máy khác còn lại trên mạng
Toàn bộ địa chỉ IP được chia vào 5 lớp khác nhau (A,B,C,D,E) và loopback Mỗi lớp sẽ có cách xác định địa chỉ network và địa chỉ host khác nhau
Lớp
mạng
Giá trị Octet đầu tiên
Số lượng mạng Số lượng máy tính
Trang 22255.0.0.0, lớp B là 255.255.0.0, và lớp C là 255.255.255.0 Tuỳ theo kiến trúc mạng và cách sử dụng địa chỉ IP để định danh các subnet mask không chuẩn
Loopback: địa chỉ vòng lặp, 127.0.0.1, là địa chỉ IP kiểm tra vòng lặp giao
tiếp mạng
1.3 Kỹ thuật mạng LAN
1.3.1 Tổng quan mạng Ethernet (LAN)
Ethernet là mạng cục bộ do các công ty Xerox, Intel và Digital equipment xây dựng và phát triển Ethernet là mạng thông dụng nhất đối với các mạng nhỏ hiện nay Ethernet LAN được xây dựng theo chuẩn 7 lớp trong cấu trúc mạng của ISO, mạng truyền số liệu Ethernet cho phép các loại máy tính khác nhau sử dụng chuẩn giao tiếp Ethernet tham gia truyền thông trên môi trường mạng
Ethernet có các đặc tính kỹ thuật chủ yếu sau đây:
• Ethernet dùng cấu trúc mạng bus logic mà tất cả các nút trên mạng đều được kết nối với nhau một cách bình đẳng Mỗi gói dữ liệu gửi đến nơi nhận dựa theo các địa chỉ quy định trong các gói Ethernet dùng phương thức CSMA/CD ( Carrier Sense Multiple Access with Collision Detection ) để xử
lý việc truy cập đồng thời vào mạng
• Các yếu tố hạn chế kích thước mạng chủ yếu là mật độ lưu thông trên mạng
Hình 1.5 So sánh lớp 1, và 2 của mô hình OSI và LAN
Trang 23từ trạm này qua trạm khác Một trạm chỉ có thể gửi đi bó dữ liệu khi nó nhận được mã không bận
Hình 1.6 Mô phỏng kiến trúc mạng Token Ring
Trang 241.3.2 Các thiết bị dùng cho mạng Ethernet
Repeater: Thiết bị được dùng khi có nhu cầu khuếch đại tín hiệu trên
đường truyền dài Khi tín hiệu được truyền tải trên mạng sẽ có suy hao do trở kháng của dây dẫn, dẫn đến khả năng truyền đi trên đường truyền dài vược mức quy định là khó đảm bảo chất lượng Do vậy, ta cần có repeater (ví dụ, cáp CAT5 cho phép truyền tố đa 100 met, khi đường truyền vượt quá 100 mét ta cần có giải pháp dùng repeater ở vị trí phù hợp) Công nghệ ngày nay không có repeater hỗ trợ tốt cho đường truyền tốc độ Gbps Để khắc phục hạn chế này, ta phải dùng công nghệ cáp quang với modul quang xử lý ở hai đầu đường truyền
Hub: Về một khía cạnh xử lý truyền dẫn thì nó như một bộ ghép nối nhiều
repeater, nó có nhiều cổng (4,8 hay thậm chí 24 port) Hub được dùng để xây dựng mạng Lan theo chuẩn Ethernet (mạng hình sao) Nhược điểm của HUB là tốc độ xử lý truyền tin thấp (10Mbps), dễ gây ra tắc nghẽn, xung đột mạng Hiện nay, xu hướng dùng thiết bị fastHUB đạt được tốc độ 100Mbps, nhưng đối với những mạng lớn kiểu kiến trúc phân tầng thì dùng HUB/fastHUB là một hạn chế đối với tốc độ truyền tin trên mạng
Bridge: Công nghệ này ưu điểm hơn HUB ở chỗ nó có thể xử lý thông tin
truyền dẫn trên mạng, nó làm việc tại tầng 2 của OSI nên có thể đọc được địa chỉ vật lý (MAC addres) của khung tin Như vậy bridge sẽ thông minh hơn HUB khi
mà nó có thể hiểu được khung tin truyền trên mạng được gửi từ máy tính nào, và máy tính nào sẽ nhận gói tin đó dẫn đến giảm được xung đột mạng, tăng tốc độ truyền tin Căn cứ vào kiểu địa chỉ MAC, nó sẽ có các chế độ xử lý khung tin
nhận được Nếu là khung tin gửi “broadcast” thì địa chỉ MAC là FFFF.FFFF.FFFF, nếu là gửi “multicast” thì MAC là 0100.5exx.xxxx (ba byte
cuối là các giá trị multicast cần gán)
Switch: Thiết bị này có thể hiểu là một bridge nhiều cổng, và ưu điểm khác
Bridge là nó được xử lý bằng mạch cứng Switch có thể đọc được địa chỉ MAC của khung tin nên các nhà sản xuất đã phát triển ưu điểm này thiết kế cho switch
Trang 25có thể cấu hình bằng phần mềm khi có nhu cầu phân tách mạng tạo các mạng LAN riêng (VLAN)
1.4 Các dịch vụ ứng dụng mạng cơ bản
1.4.1.Dịch vụ Web
Dịch vụ Web cung cấp thông tin để người dùng truy cập dịch vụ dưới dạng World Wide Web (www) www cung cấp tài nguyên đơn giản chỉ bằng “định vị trí và kích chuột” Thông tin nhận được hiển thị ở dạng các trang Web, là thông tin được lưu trữ trên máy chủ cung cấp dịch vụ Web, nó chứa đựng rất nhiều dạng thông tin gồm hình ảnh, âm thanh, văn bản …Hơn thế nữa, trên chính các trang web lại có những vị trí định vị để dẫn đường đến những trang thông tin khác
Rất nhiều các dịch vụ ngày nay phát triển dựa trên nền Web bởi sự tiện lợi của nó là không phụ thuộc vào các thành phần phần cứng hay hệ điều hành, sự tương thích với những giao thức mạng khác như FTP (File Transfer Protocol), NNTP (Network News Transfer Protocol), Gopher, và Telnet
Kiến trúc hoạt động của dịch vụ Web gồm có hai thành phần: Web server,
là máy tính cài đặt dịch vụ Web và lưu trữ thông tin dưới dạng các trang Web để xuất bản trên mạng; Web client, là máy tính cài đặt trình duyệt web để truy xuất
và hiển thị thông tin dưới dạng các trang Web Phần mềm cài đặt Web server có thể là Apache (thường được cài đặt trên HĐH Linux), hay IIS (Internet Information Server) trên dòng HĐH Windows Trình duyệt web thường được dùng là IE (Internet Explorer), hay Netscap Navigator
Thông tin trên trang Web được lưu trữ ở dạng các tài liệu viết bằng ngôn ngữ HTML (Hypertexxt markup Language), và trình duyệt Web phải hiểu được ngôn ngữ này để diễn dịch thành trang Web Để trình duyệt Web có thể yêu cầu truy xuất và trao đổi thông tin với Web server thì nó dùng giao thức HTTP (Hyper text Transfer Protocol) Các tài liệu và vị trí lưu trữ của nó trên web server được định nghĩa bởi URL (Unform Resource Locator)
Trang 26
Các giao thức dùng cho cung cấp dịch vụ Web:
Giao thức truyền siêu văn bản HTTP (Hyper Text Transfer Protocol): định
nghĩa cách thức giao tiếp giữa Client (máy trạm cài đặt trình duyệt web) và Server (máy chủ cung cấp dịch vụ Web ) của dịch vụ Web HTTP là một giao thức hướng đối tượng chung, hoạt động dựa trên nguyên lý kết nối có hướng, nghĩa là một phiên truyền của dịch vụ Web bao gồm các giai đoạn như sau:
• Connection: Web Client thiết lập kết nối đến Web Server
• Request: Web Client gửi các thông điệp yêu cầu đến Web Server
• Response: Web Server đáp trả lời (tài liệu HTML) đến Web Client
• Close: Kết nối được đóng lại bởi Web Client
Giao thức XML (Extended Markup Language): XML được hiểu là ngôn
ngữ đánh dấu siêu văn bản mở rộng, nó được tổ chức 3C phát triển để khắc phục những điểm yếu mà HTML gặp phải Bắt nguồn từ hạn chế của HTML khi dùng các thẻ ‘tags’ để định nghĩa các tài liệu phức tạp, cú pháp của XML có thể tự định nghĩa các loại ‘tag’ để định nghĩa nhiều loại dữ liệu phức tạp, và nhiều đặc điểm mở rộng khác như:
• Định nghĩa lược đồ CSDL
Hình 1.7 Kiến trúc dịch vụ Web
Trang 27• Kết nối các đối tượng hay các phần tử có liên hệ với nhau
• Hỗ trợ kết nối hai hướng
1.4.2 Dịch vụ truyền file
Dịch vụ truyền file dược phát triển vào thời kỳ đầu tiên của mạng được dùng để truyền các dạng file nhị phân (images, executable programs, compressed ZIP files) và các file ASCII trên môi trường mạng Dịch vụ WWW tích hợp dịch
vụ truyền file để hỗ trợ người dùng đăng tải (download/upload) thông tin
Các thành phần của dịch vụ FTP gồm FTP server, và FTP client FTP server quản lý tài nguyên, giám sát người dùng truy cập dịch vụ FTP Client yêu cầu truy nhập dịch vụ trên FTP server kiểu hand-shake và dùng tập các lệnh như (Get, Put, Quit,…) dựa trên nền giao thức TCP/IP để đảm bảo truyền file tin cậy
1.4.3 Dịch vụ E-mail
Dịch vụ truyền thư điện tử trên mạng máy tính được phát triển để đáp ứng nhu cầu truyền thông tin kiểu bản tin, file nhị phân, file văn bản dưới dạng thư tín Kiến trúc thư tín có địa chỉ người gửi, địa chỉ người nhận, thông tin cần truyền dạng file đính kèm hoặc dạng văn bản soạn thảo ngay ở phần nội dung của thư Kiến trúc dịch vụ thư điện tử gồm có: CSDL lưu trữ người dùng E-mail, CSDL xử lý lưu trữ E-mail dạng các hộp mail của người dùng, và giao thức trao đổi E-mail
SMTP server
POP Server
IMAP Server user
Mail box
Xử lý dịch vụ
POP Client IMAP Client
Hình 1.8 Kiến trúc dịch vụ E-mail
Trang 28Dịch vụ E-mail gồm E-mail Server là phần mềm cung cấp dịch vụ E-mail,
và phần mềm E-mail Client thường dùng để duyệt E-mail Các phần mềm E-mail Server hiện có trên thị trường là MDEAMON tiện lợi dễ dùng, Microsoft Exchange chuyên nghiệp hơn ứng dụng cho môi trường doanh nghiệp vừa và lớn,
và Lotus Domino là giải pháp phần mềm tích hợp với ứng dụng chủ yếu là cung cấp dịch vụ E-mail Các phần mềm E-mail Client sẵn có như Microsoft Outlook, Outlook Express,…
Giao thức truyền E-mail SMTP, (Simple Mail Transfer Protocol): là giao
thức được dùng để xử lý truyền (đẩy) E-mail từ Client lên E-mail Server hoặc từ E-mail Server này đến E-mail Server khác Nó là một giao thức tầng ứng dụng chạy trên nền giao thức TCP/IP, thực hiện phiên truyền tin dùng cơ chế mở socket (có cổng TCP là 25) thông qua một tập lệnh chuẩn , mỗi câu lệnh được kết thúc bằng ký tự đặc biệt <CRTF> Các lệnh cơ bản như HELO, MAIL, RCPT,…
POP (Post Office Protocol): Giao thức POP là giao thức ứng dụng cung
cấp dịch vụ E-mail trên nền giao thức TCP/IP, nó được Client sử dụng mỗi khi
mở socket (cổng TCP là 110) kết nối đến Mail Server để tải E-mail về ổ đĩa lưu trữ trên Client Sau khi socket được mở, dịch vụ E-mail có thể tiếp nhận và xử lý các lệnh của POP Các lệnh của POP đều được kết thúc bằng ký tự đặc biệt
<CRTF> Những lệnh cơ bản như USER, PASS, LIST, …
Giao thức IMAP (Internet Message Access Protocol): là phương pháp truy
cập dịch vụ E-mail hoặc các bản tin được lưu trong thư mục dùng chung trên Mail Server mặt khác, nó cho phép các chương trình E-mail Client truy cập đến các bản tin được lưu trữ trên Mail Server qua mạng diện rộng Ví dụ, e-mail được lưu trên một IMAP server có thể được đọc bởi một máy tính khác thông qua mạng mà không cần phải trao đổi trên mạng toàn bộ nội dung của cả file, bản tin, hay của e-mail
Khả năng của E-mail dùng IMAP là truy nhập bản tin (soạn thảo và lưu trữ)
từ trên các máy tính mạng tiện lợi, tin cậy Các E-mail hoàn toàn không phải tải
về Client, và mọi thao tác được gửi đến E-mail Server xử lý Đặc điểm này thì
Trang 29dịch vụ POP không đáp ứng được Khi ta dùng POP, các E-mail sẽ được tải hết
về Client, như vậy trên Server hoàn toàn không lưu thông tin gì nữa, và nếu như khi dùng một máy tính khác để truy cập E-mail thì những E-mail trước đó sẽ không còn nữa Sự khác nhau này có những ảnh hưởng đến sự bảo mật, an toàn nội dung E-mail của doanh nghiệp Dịch vụ POP chủ yếu cho phép người dùng
có thể làm việc ở chế độ “offline”
Đặc điểm chính của IMAP là:
• Tương thích với các hệ thống truyền E-mail chuẩn khác như MIME
• Cho phép sửdụng dịch vụ E-mail từ trên nhiều máy tính trên mạng
• Sử dụng dịch vụ E-mail trên môi trường truyền tin kém tin cậy, kém hiệu quả
• Hỗ trợ các chế độ "online", "offline", and "disconnected"
• hỗ trợ truy nhập đồng thời đến các hộp mail dùng chung
• Phần mềm Client không cần biết đến dạng lưu trữ file của Server
IMAP được phát triển vào năm 1986 của Đại học Stanford, nó không được chú ý đến trong dịch vụ ứng dụng E-mail, và không được quan tâm nhiều như POP Chỉ khi dịch vụ Web Mail phát triển mới thấy những ưu điểm của IMAP khi tích hợp ứng dụng lên giao diện Web
1.4.4 Dịch vụ mạng Giao thức DNS, DHCP
Dịch vụ DNS (Domain Name System): là dịch vụ mạng sử dụng cả giao
thức TCP (Transmission Control Protocol) và UDP (User Datagram Protocol), là một hệ cơ sở dữ liệu phân tán dùng để ánh xạ giữa các tên miền và các địa chỉ IP DNS đưa ra một phương pháp đặc biệt để duy trì và liên kết các ánh xạ này trong một thể thống nhất Trong phạm vi lớn hơn, các máy tính kết nối với internet sử dụng DNS để tạo địa chỉ liên kết dạng URL (Universal Resource Locators) Theo phương pháp này, mỗi máy tính sẽ không cần sử dụng địa chỉ IP cho kết nối Các tên DNS tạo ra theo định dạng sau <tên miền>.<kiểu tên miền>, ví dụ www.hut.edu.vn Trong khi danh sách các kiểu tên DNS được thiết kết lại bởi ICANN (Công ty quản lý dịch vụ tên miền), một số các kiểu thông thường bao
Trang 30gồm: edu (dạng các website giáo dục) , mil (các website cho quân đội), org (thuộc dạng các tổ chức phi thương mại) com (các tổ chức kinh tế), Và cũng
có các kiểu tên miền chỉ định theo tên nước, ví dụ ie (Ireland), jp (Japan), de (Germany)
Khi một máy tính (một DNS client) muốn tìm kiểm một URL, nó đưa yêu cầu (GetHostByName) tới DNS server của nó DNS client sử dụng một DNS resolver để định vị DNS server Nếu DNS server không xác định được tên miền cần tìm, hay DNS server không có chút thông tin gì về URL đó trong vùng nhớ đệm của nó, nó sẽ không thể trả lời yêu cầu của client ngay lập tức Thay vào đó, DNS server sẽ hoặc sử dụng một DNS forwarder hoặc tạo lại một yêu cầu theo quy tắc đệ quy, cho tới khi có được thông tin cụ thể về tên miền cần truy vấn Nếu tên miền là không có trong các CSDL của DNS thì DNS Client sẽ nhận được thông báo kiểu “không xác định tên miền này trên mạng” Nếu tìm thấy tên miền, khi đó kết quả trả về DNS Client là địa chỉ IP của máy chủ đó
Dịch vụ DHCP (Dynamic Host Configuration Protocol): DHCP là dịch vụ
mạng gồm có DHCP Client và DHCP Server DHCP Server dùng để quản lý địa chỉ IP của mạng, gán địa chỉ IP cho các DHCP Client (là những máy tính dùng địa chỉ IP gán động) Dịch vụ DHCP kết hợp với dịch vụ DNS sẽ đơn giản cho
công việc quản trị mạng
1.5 Kiến trúc ứng dụng Client/ Server
Trong kiến trúc Client-server, các thành phần phần mềm giao tiếp với nhau tạo nên một dịch vụ ứng dụng Client có ý nghĩa là một đối tượng yêu cầu sử dụng tài nguyên, Server là đối tượng cung cấp tài nguyên Client và Server có thể cùng trên một hệ thống máy tính, nhưng trong thực tế thì Server thường được đứng riêng biệt, các Client là các máy tính mạng sử dụng dịch vụ ứng dụng mà server cung cấp Kiến trúc Client/ Server có thể mô hình hoá như sau:
Trang 31
Khi xem xét ứng dụng CSDL dùng mô hình Client/ Server, Client quản lý giao diện người dùng và logic ứng dụng (được hiểu là các thành phần phần mềm xử lý thông tin phía Client) Client nhận các yêu cầu truy vấn dữ liệu từ phía người dùng, kiểm tra cú pháp, và tạo một truy vấn SQL hoặc dạng ngôn ngữ truy vấn khác tương ứng với logic ứng dụng (như XML) Sau đó nó truyền thông điệp đến Server, chờ đợi sự trả lời, xư lý kết quả trả lại cho người dùng Quá trình bao gồm kiểm tra, toàn vẹn dữ liệu, duy trì System Catalog, và các quá trình truy vấn/cập nhật dữ liệu Hơn nữa, nó điều khiển đồng bộ, khôi phục dữ liệu
Các thuận lợi của mô hình Client/server như sau:
• Cho phép nhiều Client (máy tính) dùng chung CSDL
• Tăng khả năng thực thi: Như khi Client và Server được cấu hình trên hai máy tính riêng biệt, khi đó các CPU có thể xử lý các ứng dụng đồng thời
• Giá thành phần cứng cho hệ thống giảm, vì chỉ cần tập trung RAM, ổ cứng, CPU cho máy chủ
• Môi trường truyền thông chỉ cần băng thông đủ để truyền tải các yêu cầu truy vấn, và các kết quả phản hồi
Hình 1.9 Kiến trúc giao tiếp ứng dụng Client/ server
Trang 32• Đảm bảo toàn vẹn dữ liệu, vì khi đó dữ liệu được lưu trữ tại một nơi, trên máy chủ
• Dễ dàng thiết kế theo chuẩn mở
Với kiến trúc Client/ server được mở rộng, khi đó có thể xử lý phân tán dữ liệu, hoặc phân lớp kiến trúc theo mô hình hai lớp: Kiến trúc client/server phân tách các chức năng thành phần của một ‘fat’ Client thành hai phần Trong kiến trúc 3 lớp, ‘thin’ Client chỉ quản lý giao diện người dùng và lớp trung gian xử lý logic ứng dụng, lớp thứ ba vẫn là Server quản lý CSDL Kiến trúc ba lớp đã được nghiên cứu ứng dụng trong nhiều môi trường, như Internet và các Intranet, các Client được gọi là các trình duyệt Web
Kiến trúc hai lớp Client-Server truyền thống: Các ứng dụng doanh nghiệp
dùng mô hình dữ liệu tập trung gồm có bốn thành phần chính như sau: CSDL, logic
xử lý các giao dịch, logic ứng dụng, và giao diện người dùng.VớI kiến trúc xử lý tập trung sẽ kết hợp 4 thành phần trên vào cùng một Mainframe
Để xây dựng được mô hình doanh nghiệp không tập trung đáp ứng nhu cầu gia tăng của dịch vụ, kiến trúc Client-server được ứng dụng Kiến trúc Client-Server
Hình 1.10 Mô hình 2 lớp kiến trúc phần mềm giao tiếp CSDL
Trang 33truyền thống sẽ phân lập các chức năng công việc Client (thuộc tier 1) ứng với công việc hiển thị dữ liệu người dùng, Server (tier 2) ứng với việc cung cấp các dịch
vụ dữ liệu cho Client Các dịch vụ hiển thị quản lý các hoạt động giao diện của người dùng, và các logic ứng dụng chính của doanh nghiệp Các dịch vụ dữ liệu cung cấp logic ứng dụng doanh nghiệp có giới hạn Điển hình là xác định rằng Client không thể thực hiện bởi vì sự thiếu hụt thông tin, và truy cập đến các dữ liệu cần có tuỳ thuộc vào vị trí của nó dữ liệu có thể là của DBMS quan hệ, DBMS hướng đối tượng, hoặc các hệ thống quản lý truy cập dữ liệu bất kỳ khác Điển hình
là, Client có thể chạy trên desktop của người dùng và giao tiếp với CSDL tập trung thông qua môi trường mạng
• Sự phức tạp đối với yêu cầu quản trị trên máy tính Client
• Vào khoảng 1995, kiến trúc mới được đề xuất thay thế cho kiến trúc server, là kiến trúc ba lớp Kiến trúc này cho thấy các ứng dụng chạy độc lập tương đối với kiến trúc phần cứng của các máy tính trên mạng
Client-• Lớp giao diện người dùng, chạy trên máy tính của người dùng cuối (Client)
• Lớp xử lý dữ liệu và xử lý các đối tượng ứng dụng thành phần (business logic), lớp này được gọi là lớp giữa chạy trên nền server và được gọi là application server
• Một DBMS, lưu trữ dữ liệu phục vụ cho các yêu cầu của lớp trung gian, lớp này có thể chạy trên Server riêng biệt được gọi là Database Server
Trang 34Như được mô tả hình trên, Client chỉ còn một chức năng là xử lý giao diện người dùng, và có thể thực hiện một số các đối tượng đơn giản của ứng dụng, như xác nhận đầu vào, và nó gọi là Thin Client Xử lý đối tượng lõi của ứng dụng đặt trên một lớp riêng biệt, kết nối vật lý đến Client và Database Server qua mạng Lan hoặc qua mạng diện rộng Ứng dụng Server được thiết kế để cùng lúc xử lý cho nhiều Client truy nhập Mô hình 3 lớp có nhiều ưu điểm hơn hai lớp ở chỗ:
• Thin Client cần ít tài nguyên phần cứng
• Tập trung xử lý các đối tượng ứng dụng phần mềm trên một Server Như vậy
Trang 35• Phân tách lõi ứng dụng phần mềm với giao tiếp CSDL giúp cho dễ dàng hơn khi thực hiện cân bằng tải
Ứng dụng của mô hình ba lớp nổi bật ở chỗ nó được ứng dụng trong các dịch
vụ WEB, Trình duyệt Web là Thin Client, Web Server là Application Server Kiến trúc ba lớp có thể mở rộng đến kiến trúc ‘n’ lớp Như vậy, các lớp khác thêm vào làm cho hệ thống dễ nâng cấp, tuỳ biến tốt hơn Ví dụ, lớp trung gian của kiến trúc
3 lớp có thể phân thành hai lớp con, một lớp là Web Server và một lớp là Application Server
1.6 Các giao thức xử lý truyền tin của các ứng dụng mạng
1.6.1 Sử dụng giao thức RPC
RPC (remote procedure call), là một loại giao thức cho phép một chương
trình trên một máy tính (máy trạm) kết nối đến một chương trình chạy trên máy chủ Sử dụng RPC, một nhà phát triển hệ thống không cần phát triển các thủ tục riêng biệt cho server Một chương trình Client gửi thông điệp đến server thông qua các đối số tương xứng, và server đáp trả lời một thông điệp chứa kết quả của chương trình đã thực hiện được
Hai phương pháp lập trình hướng đối tượng mới nhất hiện được sử dụng cho các ứng dụng tính toán trên mạng là CORBA và DCOM, đều hỗ trợ tốt các công cụ lập trình dùng giao thức RPC
Sơ lược giao thức RPC: Giao thức RPC được thiết kế để làm tăng thêm
khả năng dùng IP bởi một phương pháp khác hơn TCP Trong khi TCP tập trung vào cách thức xử lý truyền những luồng ‘streams’ dữ liệu lớn (như download file), RPC được thiết kế để lập trình mạng, cho phép một chương trình thiết lập một lời gọi thủ tục đến một máy tính khác trên mạng Hầu hết các ứng dụng quan trọng của RPC là giao thức chia sẻ file NFS (network file system)
Đặc điểm của RPC:
• Request-reply RPC là giao thức hoạt động kiểu thiết lập yêu cầu-trả lời yêu
cầu (request-reply)
Trang 36• Giao vận dùng UDP hoặc TCP RPC có thể hoạt động trên nền giao
thứcTCP hoặc UDP RPC/UDP là một giao thức không duy trì trạng thái và kết nối không có hướng RPC/TCP được xử lý chậm hơn, nhưng có độ tin cậy cao hơn, là giao thức kết nối có hướng
• Chuẩn hoá dữ liệu hiển thị RPC mã hoá dữ liệu của nó dùng giao thức
XDR (eXternal Data Representation) Giao thức XDR chuẩn hoá các dạng biến số nguyên, số thực, chuỗi, … cho phép mở rộng giao tiếp thông tin với nhiều loại máy tính khác nhau
• Authentication RPC hỗ trợ kiểm tra giám sát các lời gọi thủ tục của chương
trình trên một máy tính đến một máy tính khác Như kiểm tra dựa vào định danh của người dùng, dựa vào phân quyền truy nhập file…
1.6.2 Phương pháp sử dụng giao thức hướng thông điệp
Phương pháp xử lý hướng thông điệp hiện đang là một phương pháp nổi trội dùng để phát triển các ứng dụng mới, và các ứng dụng ưu tiên xử lý an ninh thông tin Một mô hình phát triển ứng dụng phương pháp này là MOM (Message Oriented Middleware)
MOM là một phương pháp xử lý phân tán dùng lớp giao tiếp trung gian, trao đổi thông tin xử lý giữa các ứng dụng server và client dựa vào các thông điệp kiểu như các thư điện tử xử lý điều khiển không đồng thời, nghĩa là nó hoạt động dựa trên nguyên lý hàng đợi hoặc kiểu chuyến tiếp, ứng dụng của MOM là tích hợp các giải pháp phần mềm doanh nghiệp trên các môi trường phần cứng khác nhau MOM hỗ trợ người dùng và các nhà phát triển trao đổi mã lệnh, dữ liệu giữa các hệ thống, các tiến trình thông qua các giao diện được định nghĩa sẵn
Thuận lợi của lớp trung gian hướng thông điệp là giao tiếp giữa các ứng dụng không đồng bộ, khả năng quản lý hệ thống, tự động thời gian thực, xử lý các giao dịch phân tán MOM cho phép truyền thông tin tin cậy giữa các mạng không đồng nhất và các ứng dụng trên các mạng, phân phát bản tin an toàn, các
Trang 37bản tin được xử lý có trật tự, khả năng truyền bản tin tin cậy, điều khiển truy cập, thông điệp được mã hoá , và các thông điệp được xử lý riêng biệt và bảo mật
Phương pháp hoạt động của hàng đợi thông điệp: Các ứng dụng truyền
các thông điệp đến lớp trung gian Các thông điệp có thể là tập các dữ liệu hoặc các yêu cầu dịch vụ Những dữ liệu đó được lưu trữ ở các kiểu hàng đợi trên lớp trung gian, nó không nhất thiết phải kết nối ứng dụng server với client ở tại cùng một thời điểm Các chương trình trên nhiều nền phần cứng có thể truy nhập và xử
lý cùng một kiểu loại hàng đợi Khi cần dùng các thông điệp thì các ứng dụng có thể lấy lại các thông điệp từ hàng đợi thông điệp
1.6.3 Sử dụng phương pháp giao tiếp dùng socket
Trong các chương trình ứng dụng trên môi trường mạng, các thành phần ứng dụng giao tiếp trao đổi thông tin cho nhau theo mô hình Client/Server Những ứng dụng viết cho Server có chức năng tiếp nhận, xử lý các yêu cầu phục
vụ và cung cấp thông tin Các ứng dụng viết cho Client có chức năng khởi tạo các yêu cầu phục vụ, tiếp nhận xử lý thông tin, hiển thị kết quả thông qua giao diện giao tiếp với người dùng mạng
Trước khi thực hiện công việc, quá trình kết nối được thiết lập và nó được gọi là socket (cơ chế ổ cắm) nếu kết nối thành công, nghĩa là socket được mở thì giao tiếp Client/ Server bắt đầu quá trình xử lý thông tin
Trên một máy tính có thể có cùng lúc nhiều ứng dụng Server hoạt động (nhiều cổng TCP được mở và ở trạng thái Listening khi đang lắng nghe kết nối, hoặc Established khi đang ở trạng thái kết nối ) Một ứng dụng Client khi kết nối đến ứng dụng Server cần biết rõ cụ thể cổng TCP của nó Theo chuẩn quốc tế định nghĩa là các cổng TCP cho các ứng dụng chủ từ 1-1023, các cổng tiếp theo
từ 1024-65535 cho các ứng dụng Client tự gán Các cổng TCP của ứng dụng Web Server là 80, FTP là 21…
Trang 381.7 Hệ quản trị CSDL
1.7.1 Hệ quản trị CSDL
Khi thiết kê hệ thống thông tin, người ta thường phải tập trung thiết kế hai phần công việc chính, đó là hạ tầng cơ sở thông tin, và hệ thống quản lý dữ liệu
• Hạ tầng cơ sở thông tin là hệ thống các thành phần phần cứng của mạng
• Hệ thống quản lý dữ liệu gồm có cơ sở dữ liệu CSDL (Database) và hệ quản trị dữ liệu DBMS (Database management System)
CSDL: Được hiểu là dữ liệu lưu trữ thông tin của một doanh nghiệp như thông tin về sản phẩm kinh doanh, thông tin về lưu trữ hàng hoá, thông tin khách hàng …Những thông tin này thường được chuẩn hoá và lưu trữ dạng các bản ghi hoặc các dạng đối tượng CSDL được quản lý chặt chẽ sao cho không có sự trùng lặp dữ liệu, đảm bảo toàn vẹn dữ liệu, xử lý các phép toán thao tác dữ liệu (như INSERT, DELETE, UPDATE…) Tất cả dữ liệu của một tổ chức doanh nghiệp
có mục đích thiết kế để dụng chung, và được quản lý bởi một hệ thống phần mềm quản trị dữ liệu (như Oracle, Microsoft SQL, ) CSDL được lưu trữ trên nhiều máy chủ (CSDL phân tán), hoặc trên một máy chủ (CSDL tập trung)
DBMS: hệ quản trị CSDL là một phần mềm có chức năng xử lý giao tiếp giữa các chương trình phần mềm ứng dụng của người dùng với CSDL DBMS cho phép người dùng định nghĩa, tạo lập, bảo trì CSDL và cáp quyền truy nhập đến CSDL DBMS gồm hai thành phần chính là DDL (Data Definition Language) và DML (Data manipulation Language)
• DDL Cho phép người dùng định nghĩa các loại dữ liệu, cấu trúc dữ liệu, và các ràng buộc dữ liệu được lưu trữ trong CSDL (như trong CSDL quan hệ, khi thiết kế CSDL, khi phân tích các quan hệ dữ liệu ta dùng đến các chuẩn
NF để chuẩn hoá dữ liệu Định nghĩa các bảng quan hệ dữ liệu với các khoá chính, khoá ngoại lai Định nghĩa các kiểu loại dữ liệu dạng số nguyên, dạng text…)
Trang 39• DML cho phép người dùng chèn (INSERT), cập nhật (UPDATE), xoá bỏ (DELETE), và khôi phục dữ liệu Chức năng này thường được gọi là truy vấn CSDL (Như trong quản lý sử dụng CSDL quan hệ ta có các công cụ SQL)
1.7.2 Giao tiếp truy cập CSDL
Khi thiết kế các phần mềm ứng dụng sử dụng CSDL, nó cần có cơ chế giao tiếp để mở kết nối truy cập đến CSDL từ chương trình phần mềm, như vậy ta cần phải có một giao tiếp trung gian để xử lý các truy vấn CSDL của chương trình ứng dụng Giao tiếp trung gian có các tên gọi là adapter, driver Có các loại driver như JDBC, ODBC, ADO…
JDBC:
Đối với hầu hết các ứng dụng CSDL được viết bằng ngôn ngữ Java đều sử dụng JDBC JDBC định nghĩa API (Application Programming Interface) hỗ trợ truy cập dữ liệu chuẩn SQL và tương thích với nhiều loại CSDL khác nhau Java được
sử dụng như một ngôn ngữ chính yếu để viết các ứng dụng CSDL dùng JDBC Các API mức cao hơn có thể được xây dựng, là mức trên cùng của JDBC
Hình 1.12: Kiến trúc kết nối DBMS dùng Adapter
Trang 40JDBC API gồm hai giao diện chính: Một API cho những người viết ứng dụng,
và một driver API mức thấp hơn cho người viết driver Các ứng dụng có thể truy nhập CSDL khi dùng JDBC API với driver JDBC thuần Java, hoặc dùng ODBC driver và thư viện CSDL Client hiện có
(1) Driver JDBC thuần Java kết nối CSDL thực hiện chuyển đổi trực tiếp các lời gọi JDBC sang giao thức mạng được dùng trực tiếp bởi DBMS, cho phép lời gọi trực tiếp từ máy Client đến Server DBMS Giải pháp này thường ứng dụng thực tiễn cho truy nhập CSDL trên mạng Intranet
(2) JDBC driver thuần Java viết cho giao tiếp lớp trung gian CSDL chuyển đổi các lời gọi JDBC sang giao thức của nhà cung cấp Middleware, trên lớp trung gian chuyển đối sang giao thức DBMS Lớp trung gian hỗ trợ kết nối đến nhiều loại CSDL khác nhau
(3) Cầu nối JDBC-ODBC cung cấp phương thức truy nhập JDBC dùng ODBC drivers Mã nhị phân ODBC (và trong nhiều trường hợp phần mềm CSDL Client) phải được tải trên mỗi máy tính Client để sử dụng driver này
Thuận lợi của việc sử dụng ODBC driver là nó là phương pháp chuẩn tắc cho PC truy cập CSDL, và nó hỗ trợ rất nhiều loại DBMS