Chơng II .Giao thức truyền thông và Các mô hình tham
chiếu
I. Giao thức truyền thông
Để các máy tính trên mạng có thể trao đổi thông tin với nhau, chúng cần có một bộ những phần mềm cùng
làm việc theo một chuẩn nào đó. Giao thức truyền thông (protocol) là tập quy tắc quy định phơng thức truyền
nhận thông tin giữa các máy tính trên mạng.
Các mạng máy tính hiện đại đợc thiết kế bằng cách phân chia cấu trúc ở mức độ cao nhằm làm giảm sự
phức tạp khi thiết kế. Các giao thức mạng thờng đợc chia làm các tầng (layer), mỗi tầng đợc xây để dựng
dựa trên dịch vụ của tầng dới nó và cung cấp dịch vụ cho tầng cao hơn.
II.Mô hình tham chiếu OSI
II.1. Giới thiệu mô hình OSI
Mô hình mạng máy tính do tổ chức tiêu chuẩn hoá quốc tế (International Standard Organization - ISO) đa ra
năm 1983 đợc gọi là mô hình tham chiếu các hệ thống mở (Open Systems Interconect referent model -
OSI). Các điều khoản mô tả trong mô hình đợc sử dụng rộng rãi trong lý thuyết truyền thông, do đó, trong
thực tế khó có thể nói về truyền thông mà không sử dụng thuật ngữ của OSI.
Mô hình tham chiếu OSI chứa 7 tầng mô tả chức năng của giao thức truyền thông. Mỗi tầng của mô hình
OSI miêu tả một chức năng đợc thực hiện khi dữ liệu di chuyển giữa các ứng dụng giữa các mạng.
* Tầng ứng dụng bao gồm các trình ứng dụng sử dụng mạng.
* Tầng trình diễn tiêu chuẩn hoá dữ liệu cung cấp cho tầng ứng dụng.
* Tầng phiên quản trị các phiên làm việc giữa các ứng dụng.
* Tầng giao vận cung cấp kết nối trạm-trạm, xử lý lỗi.
* Tầng mạng quản trị việc kết nối qua mạng cho các tầng trên.
* Tầng liên kết dữ liệu cung cấp phân phát dữ liệu tin cậy qua đờng truyền vật lý.
* Tầng vật lý định rõ các đặc thù của thiết bị mạng.
Các lớp giao thức đợc xếp chồng lớp nọ trên lớp kia. Chính sự xuất hiện của nó, cấu trúc thờng đợc gọi là
stack hoặc giao thức xếp chồng.
Việc phân tầng của OSI tuân theo một số nguyên tắc sau
* Một lớp đợc tạo ra khi cần đến mức trừu tợng hoá tơng ứng.
* Mỗi lớp cần thực hiện các chức năng đợc định nghĩa rõ ràng.
* Việc chọn chức năng cho mỗi lớp cần chú ý tới việc định nghĩa các quy tắc chuẩn hoá quốc tế.
* Ranh giới các mức cần chọn sao cho thông tin đi qua là ít nhất (tham số cho chơng trình con là ít).
* Số mức phải đủ lớn để các chức năng tách biệt không nằm trong cùng một lớp và đủ nhỏ để mô
hình không quá phức tạp. Một mức có thể đợc phân thành các lớp nhỏ nếu cần thiết. Các mức con
có thể lại bị loại bỏ.
Hai hệ thống khác nhau có thể truyền thông với nhau nếu chúng bảo đảm những nguyên tắc chung (cài đặt
cùng một giao thức truyền thông). Các chức năng đợc tổ chức thành một tập các tầng đồng mức cung cấp
chức năng nh nhau. Các tầng đồng mức phải sử dụng một giao thức chung.
Một tầng không định nghĩa một giao thức đơn, nó định nghĩa một chức năng truyền thông có thể đợc thi
hành bởi một số giao thức. Do vậy, mỗi tầng có thể chứa nhiều giao thức, mỗi giao thức cung cấp một dịch
vụ phù hợp cho chức năng của tầng. Ví dụ cả giao thức truyền file (File Transfer Protocol - FTP) và giao
thức th điện tử (Simple Mail Transfer Protocol - SMTP) đều cung cấp dịch vụ cho ngời dùng và cả hai đều
thuộc tầng ứng dụng. Mỗi mức ngang hàng giao thức truyền thông (sự bổ xung của các giao thức cùng
mức tơng đơng trên hệ thống khác). Mỗi mức phải đợc chuẩn hoá để giao tiếp với mức tơng đơng với nó.
Trên lý thuyết, giao thức chỉ biết đến những gì liên quan tới lớp của nó mà không quan tâm tới mức trên hoặc
dới của nó. Tuy nhiên phải có sự thoả thuận để chuyển dữ liệu giữa các tầng trên một máy tính, bởi mỗi
tầng lại liên quan tới việc gửi dữ liệu từ ứng dụng tới một ứng dụng tơng đơng trên một máy khác. Tầng cao
hơn dựa vào tầng thấp hơn để chuyển dữ liệu qua mạng phía dới. Dữ liệu chuyển xuống ngăn xếp từ tầng
này xuống tầng thấp hơn cho tới khi đợc truyền qua mạng nhờ giao thức của tầng vật lý. ở đầu nhận, dữ liệu
đi lên ngăn xếp tới ứng dụng nhận. Những tầng riêng lẻ không cần biết các tầng trên và dới nó xử lý ra sao,
nó chỉ cần biết cách chuyển nhận thông tin từ các tầng đó. Sự cô lập các hàm truyền thông trên các tầng
khác nhau giảm thiểu sự tích hợp công nghệ của đầu vào mỗi bộ giao thức. Các ứng dụng mới có thể thêm
vào mà không cần thay đổi tầng vật lý của mạng, phần cứng có thể đợc bổ sung mà không cần viết lại các
phần mềm ứng dụng.
II.2. Các tầng của mô hình OSI
II.2.1. Tầng vật lý (Physical layer)
* Tầng vật lý liên quan tới việc truyền dòng bit giữa các máy bằng kênh truyền thông vật lý, ở đây, cấu
trúc của dữ liệu không đợc quan tâm đến.
* Việc thiết kế tầng vật lý cần quan tâm đến các vấn đề về ghép nối cơ khí, điện tử, thủ tục và môi tr-
ờng truyền tin bên dới nó ví dụ mức điện áp tơng ứng với bit 0 - 1, thời gian tồn tại của xung...
II.2.2. Tầng liên kết dữ liệu (Data link layer)
* Liên kết, thiết lập, duy trì, huỷ bỏ các liên kết dữ liệu là nhiệm vụ của tầng data link.
* Ngoài ra tầng data link còn kiểm soát lỗi đờng truyền, thông lợng.
Tầng này thực hiện việc đóng gói thông tin gửi thành các frame, gửi các frame một cách tuần tự đi trên
mạng, xử lý các thông báo xác nhận (Acknowledgement frame) do bên nhận gửi về. Xác định ranh giới giữa
các frame bằng cách ghi một số byte đặc biệt vào đầu và cuối frame. Giải quyết vấn đề thông lợng truyền
giữa bên gửi và bên nhận (Vấn đề này có thể đợc giải quyết bởi một số lớp trên).
II.2.3. Tầng mạng (Network layer)
* Vấn đề chủ chốt của tầng mạng là dẫn đờng, định rõ các gói tin (packet) đợc truyền theo những con
đờng nào từ nguồn đến đích. Các con đờng này có thể cố định, ít bị thay đổi, đợc thiết lập khi bắt
đầu liên kết hay động (dynamic) thay đổi tuỳ theo trạng thái tải của mạng.
* Nếu có nhiều gói tin truyền trên mạng có thể xảy ra tình trạng tắc nghẽn, tầng mạng phải giải quyết
vấn đề này.
* Thực hiện chức năng giao tiếp với các mạng bao gồm việc đánh lại địa chỉ, cắt hợp gói tin cho phù
hợp với các mạng.
Ngoài ra tầng mạng còn thực hiện một số chức năng kế toán, ví dụ, một số Firewall (packet filtering) đợc cài
đặt trên tầng này để thống kê số lợng các gói tin truyền qua mạng hay ngăn cấm hoặc cho phép các gói tin
của giao thức nào đó.
II.2.4. Tầng giao vận (Transport layer)
* Kiểm soát việc truyền tin từ nút tới nut (end-to-end): Bắt đầu từ tầng này, các thực thể đã có thể nói
chuyện một cách logic với nhau.
* Thực hiên việc ghép kênh và phân kênh: Mỗi ứng dụng có thể gửi dữ liệu đi theo nhiều con đờng,
một đờng truyền lại có thể đợc nhiều ứng dụng sử dụng, phân kênh/hợp kênh giải quyết vấn đề
phân chia dữ liệu cho các ứng dụng.
* Khắc phục sai sót trong quá trình truyền tin: Việc khắc phục sai sót đợc thực hiện trên nhiều tầng
khác nhau, nhng hiệu quả nhất là ở các tầng cao, việc khắc phục sai sót làm ở tầng giao vận là hợp
lý nhất.
II.2.5. Tầng phiên (Session layer)
* Tầng này cho phép ngời sử dụng trên các máy khác nhau thiết lập, duy trì, huỷ bỏ, đồng bộ phiên
truyền thông giữa họ. Cung cấp một số dịch vụ hữu ích cho ngời sử dụng nh cho phép ngời dùng
logon vào hệ thống chia sẻ thời gian, truyền tệp giữa các máy tính.
* Quản lý token: cơ chế thẻ bài đợc tầng phiên cung cấp để tránh hiện tợng tranh chấp đờng truyền
trên mạng.
* Thực hiện đồng bộ (Synchronization): thực hiện đối với những dữ liệu lớn bằng cách thêm vào các
thông tin kiểm tra, sửa lỗi.
II.2.6. Tầng trình diễn (Presentation layer)
* Giải quyết vấn đề liên quan tới cú pháp và ngữ nghĩa của thông tin nh chuyển đổi thông tin theo một
chuẩn nào đó đợc cả hai bên sử dụng (mã ASCII - EDBCDIC).
* Nén/giãn dữ liệu để giảm số lợng bit truyền trên mạng.
* Mã hoá dữ liệu để thực hiện quyền truy cập.
II.2.7. Tầng ứng dụng (Application layer)
* Tầng ứng dụng cung cấp giao diện sử dụng cho ngời dùng và môi trờng truyền tin.
* Thực hiện chức năng chuyển file trong đó có giải quyết vấn đề không tơng thích nh cách đặt tên file
hay các mã điều khiển trong một tệp văn bản...
* Cung cấp các dịch vụ Electronic mail, Remote login, Directory lookup...
II.3. Những vấn đề về OSI
Bản thân OSI không phải là một kiến trúc mạng bởi vì nó không chỉ ra chính xác các dịch vụ và các nghi
thức đợc sử dụng trong mỗi tầng. Mô hình này chỉ ra mỗi tầng cần thực hiện nhiệm vụ gì. ISO đã đa ra các
tiêu chuẩn cho từng tầng, nhng các tiêu chuẩn này không phải là một bộ phận của mô hình tham chiếu.
Mô hình OSI ra đời sau khi các giao thức TCP/IP (TCP/IP sẽ đợc trình bày ở phần sau) đã đợc sử dụng rộng
rãi, nhiều công ty đã đa ra các sản phẩm TCP/IP, vì vậy, mô hình OSI chỉ đợc sử dụng trong thực tế nh một
chuẩn về lý thuyết.
Trong mô hình OSI, một số chức năng nh điều khiển thông lợng, kiểm tra lỗi xuất hiện lặp lại trong một số
tầng. Điều này có nguyên nhân do mô hình OSI đợc chia làm các tầng khác nhau, mỗi tầng tơng ứng với
một đối tợng độc lập (có dữ liệu và các phơng thức riêng của nó, độc lập với các đối tợng khác).
Mô hình OSI không có các dịch vụ và giao thức không hớng kết nối mặc dù hầu hết các mạng đều có sử
dụng. Mô hình quá phức tạp cho việc cài đặt làm cho OSI khó có thể ứng dụng rộng rãi trên thực tế.
III. Kiến trúc giao thức IPX/SPX
Một hệ thống mạng máy PC đợc sử dụng phổ biến nhất trên thế giới trong thời gian vừa qua là mạng Novell
Netware. Nó đợc thiết kế cho các công ty, để chuyển từ việc sử dụng máy tính lớn (Mainframe) sang sử dụng
PC. Mỗi PC làm chức năng khách hàng (client), một số máy mạnh hoạt động nh máy phục vụ (Server),
chúng cung cấp các dịch vụ file, các dịch vụ CSDL và các dịch vụ khác cho một nhóm khách hàng. Nói cách
khác, Novell Netware hoạt động theo mô hình file-server.
III.1. Kiến trúc giao thức IPX/SPX
Application SAP File server
Transport NCP SPX
Network IPX
Datalink Ethernet Token ring ARCnet
Physical Ethernet Token ring ARCnet
Novell Netware sử dụng chồng giao thức IPX/SPX dựa trên một hệ thống mạng cũ của hãng Xerox-XNS
TM
nhng có một số thay đổi. Novell Netware ra đời trớc OSI và không dựa trên mô hình này.
* Tầng vật lý và tầng Data link có thể đợc chọn trong số nhiều chuẩn công nghiệp khác nhau bao
gồm Ethernet, IBM token ring và ARCnet.
* Tầng mạng không định hớng nối kết, không bảo đảm (unreliable connectionless) có tên là IPX
(Internet Packet eXchange). Nó chuyển các packet từ nguồn tới đích một cách trong suốt với ngời
dùng ngay cả khi nguồn và đích nằm ở các mạng khác nhau. IPX sử dụng địa chỉ 12 byte.
* Tầng giao vận:
* Giao thức NCP (Network Core Protocol) cung cấp nhiều dịch vụ khác ngoài việc vận chuyển dữ liệu
của ngời sử dụng, nó chính là trái tim của Novell Netware.
* Giao thức thứ hai của tầng này là SPX (Sequenced Packet eXchange). Nó chỉ thực hiện việc vận
chuyển.
Các ứng dụng có thể lựa chọn sử dụng một trong các giao thức của tầng này ví dụ hệ thống file sử dụng
NCP, Lotus Note sử dụng SPX.
* Tầng Application nằm trên cùng, có nhiều giao thức khác nhau cung cấp cho ngời sử dụng các dịch
vụ nh đã trình bày ở trên.
III.2. Gói tin IPX
Điểm mấu chốt của kiến trúc IPX/SPX là gói tin IPX có cấu trúc nh sau
Offset Field Length (byte)
0 Checksum 2
2 Packet length 2
4 Transport control 1
5 Packet type 1
6 Destination Address 12
18 Source Address 12
30 ?
* Checksum: ít khi sử dụng vì tầng Data link bên dới đã cung cấp checksum
* Packet length: chứa chiều dài của packet tính cả header và data
* Packet type: đánh dấu các packet điều khiển khác nhau.
* Destination Address: địa chỉ đích của gói tin.
* Source Address: địa chỉ nguồn của gói tin.
* Data: Chiếm phần cuối của gói, có độ dài phụ thuộc vào trờng paket length trên.
III.3. Cơ chế hoạt động của Novell Netware
Cứ khoảng mỗi phút một lần, mỗi server lại phát đi (broadcast) một packet, cho biết địa chỉ của chính nó và
các dịch vụ mà nó cung cấp. Việc này sử dụng giao thức SAP (Service Advertising Protocol). Các packet
này đợc tiến trình dịch vụ (special agent process) chạy trên các máy router nhận và thu thập. Các agent sử
dụng thông tin chứa trong đó để xây dựng CSDL về các server.