Chơng II .Giao thứctruyềnthông và Cácmôhình tham chiếu I. Giaothứctruyềnthông Để cácmáytí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ứctruyềnthông (protocol) là tập quy tắc quy định phơng thứctruyền nhận thông tin giữa cácmáytính trên mạng. Các mạng máytí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ácgiaothứ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áytí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ốngmở (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ềnthô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ứctruyề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 giaothứ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 giaothứ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ềnthô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ứctruyề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 giaothức chung. Một tầng không định nghĩa một giaothức đơn, nó định nghĩa một chức năng truyềnthô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 giaothức cung cấp một dịch vụ phù hợp cho chức năng của tầng. Ví dụ cả giaothứctruyền file (File Transfer Protocol - FTP) vàgiaothứ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ứctruyềnthông (sự bổ xung của cácgiaothứ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, giaothứ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ờ giaothứ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ềnthô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ácmáy bằng kênh truyềnthô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ácthô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 giaothứ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ácthự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ácmáy khác nhau thiết lập, duy trì, huỷ bỏ, đồng bộ phiên truyềnthô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ácmá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ácthô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ácgiaothứ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àgiaothứ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 giaothứ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áytí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 giaothứ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 giaothứ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: * Giaothứ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. * Giaothứ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ácgiaothứ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 giaothứ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 giaothứ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ácmá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. Khi một máy client khởi động, nó phát một request để hỏi xem server gần nhất ở đâu. Agent trên máy router địa phơng tiếp nhận yêu cầu này, kiểm tra CSDL về server, lựa chọn server phù hợp gửi lại thông tin cho client. Từ thời điểm đó, Client có thể thiết lập kết nối NCP với server và sử dụng các dịch vụ của server. Trong quá trình kết nối, client và server thoả thuận với nhau về chiều dài cực đại của dữ liệu, trong quá trình sử dụng, client có thể tra cứu CSDL của server để biết thông tin của các server khác. . 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,. 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