Phần cứng mạng máy tính
Phân loại mạng máy tính theo kỹ thuật truyền tin
Dựa theo kỹ thuật truyền tải thông tin, người ta có thể chia mạng thành hai loại là Mạng quảng bá (Broadcast Network) và mạng điểm nối điểm (Point – to – point Network)
Mạng quảng bá
Trong hệ thống mạng quảng bá chỉ tồn tại một kênh truyền được chia sẻ cho tất cả các máy tính. Khi một máy tính gởi tin, tất cả các máy tính còn lại sẽ nhận được tin đó. Tại một thời điểm chỉ cho phép một máy tính được phép sử dụng đường truyền.
Mạng điểm nối điểm
Trong hệ thống mạng này, các máy tính được nối lại với nhau thành từng cặp. Thông tin được gởi đi sẽ được truyền trực tiếp từ máy gởi đến máy nhận hoặc được chuyển tiếp qua nhiều máy trung gian trước khi đến máy tính nhận.
Phân loại mạng máy tính theo phạm vị địa lý
Trong cách phân loại này người ta chú ý đến đại lượng Đường kính mạng chỉ khoảng cách của hai máy tính xa nhất trong mạng. Dựa vào đại lượng này người ta có thể phân mạng thành các loại sau:
Mạng cục bộ
Đây là mạng thuộc loại mạng quảng bá, sử dụng một đường truyền có tốc độ cao, băng thông rộng, có hình trạng (topology) đơn giản như mạng hình bus, mạng hình sao (Star topology), mạng hình vòng (Ring topology).
Mạng hình bus
Tất cả các máy tính được nối lại bằng một dây dẫn (Cáp đồng trục gầy hoặc đồng trục béo). Khi một trong số chúng thực hiện truyền tin, tín hiệu sẽ lan truyền đến tất cả các máy tính còn lại. Nếu có hai máy tính truyền tin cùng một lúc thì sẽ dẫn đến tình trạng đụng độ và trạng thái lỗi xẩy ra.
Mạng hình sao
Các máy tính được nối trực tiếp vào một Bộ tập trung nối kết, gọi là Hub. Dữ liệu được chuyển qua Hub trước khi đến các máy nhận. Hub có nhiều cổng (port), mỗi cổng cho phép một máy tính nối vào. Hub đóng vai trò như một bộ khuyếch đại (repeater). Nó khuyếch đại tín hiệu nhận được trước khi truyền lại tín hiệu đó trên các cổng còn lại.
Ưu điểm của mạng hình sao là dễ dàng cài đặt, không dừng mạng khi nối thêm vào hoặc lấy một máy tính ra khỏi mạng, cũng như dễ dàng phát hiện lỗi. So với mạng hình Bus, mạng hình sao có tín ổn định cao hơn.
Tuy nhiên nó đòi hỏi nhiều dây dẫn hơn so với mạng hình bus. Toàn mạng sẽ bị ngưng hoạt động nếu Hub bị hư. Chi phí đầu tư mạng hình sao cao hơn mạng hình Bus.
Mạng hình vòng
Tồn tại một thẻ bài (token: một gói tin nhỏ) lần lượt truyền qua các máy tính. Một máy tính khi truyền tin phải tuân thủ nguyên tắc sau:
- Chờ cho đến khi token đến nó và nó sẽ lấy token ra khỏi vòng tròn.
- Gởi gói tin của nó đi một vòng qua các máy tính trên đường tròn.
- Chờ cho đến khi gói tin quay về
- Đưa token trở lại vòng tròn để nút bên cạnh nhận token
Mạng đô thị
Mạng MAN được sử dụng để nối tất cả các máy tính trong phạm vi toàn thành phố. Ví dụ như mạng truyền hình cáp trong thành phố.
Mạng diện rộng
Mạng LAN và mạng MAN thông thường không sử dụng các thiết bị chuyển mạch, điều đó hạn chế trong việc mở rộng phạm vi mạng về số lượng máy tính và khoảng cách. Chính vì thế mạng diện rộng được phát minh.
Trong một mạng WAN, các máy tính (hosts)được nối vào một mạng con (subnet) hay đôi khi còn gọi là đường trục mạng (Backbone), trong đó có chứa các bộ chọn đường (routers) và các đường truyền tải (transmission lines).
Các Routers thông thường có nhiệm vụ lưu và chuyển tiếp các gói tin mà nó nhận được theo nguyên lý cơ bản sau: Các gói tin đến một router sẽ được lưu vào trong một hàng chờ, kế đến router sẽ quyết định nơi gói tin cần phải đến và sau đó sẽ chuyển gói tin lên đường đã được chọn.
Mạng không dây
Nếu phân biệt mang theo tiêu chí hữu tuyến hay vô tuyến thì ta có thêm các loại mạng không dây sau:
Nối kết hệ thống (System interconnection)
Mạng này nhằm mục đích thay thế hệ thống cáp nối kết các thiết bị cục bộ vào máy tính như màn hình, bàn phím, chuột, phone, loa ,....
Mạng cục bộ không dây (Wireless LANs):
Tất cả các máy tính giao tiếp với nhau thông qua một trạm cơ sở (Base Station) được nối bằng cáp vào hệ thống mạng.
Mạng diện rộng không dây (Wireless WANs):
Thông thường mạng điện thoại di động số thuộc dạng này. Với các công nghệ mới cho phép băng thông mạng có thể đạt đến 50 Mbps với khoảng cách vài kilomet
Trong hình (a ) các máy tính sử dụng công nghệ mạng vô tuyến để nối kết với router. Ngược lại trong hình (b), các máy tính được nối bằng đường dây hữu tuyến với một router, để từ đó router sử dụng kỹ thuật vô tuyến để liên lạc với các router khác.
Liên mạng (Internetwork)
Thông thường một mạng máy tính có thể không đồng nhất ( homogeneous), tức có sự khác nhau về phần cứng và phần mềm giữa các máy tính. Trong thực tế ta chỉ có thể xây dựng được các mạng lớn bằng cách liên nối kết (interconnecting) nhiều loại mạng lại với nhau. Công việc này được gọi là liên mạng (Internetworking).
Ví dụ:
- Nối kết một tập các mạng LAN có kiểu khác nhau như dạng Bus với dạng vòng của một công ty.
- Nối các mạng LAN lại với nhau nhờ vào một mạng diện rộng, lúc đó mạng WAN đóng vai trò là một Subnet.
- Nối các mạng WAN lại với nhau hình thành mạng WAN lớn hơn. Liên mạng lớn nhất hiện nay là mạng toàn cầu Internet.
Phần mềm mạng
Đây là thành phần quan trọng thật sự làm cho mạng máy tính vận hành chứ không phải là phần cứng. Phần mềm mạng được xây dựng dựa trên nền tảng của 3 khái niệm là giao thức (protocol), dịch vụ (service) và giao diện (interface).
- Giao thức (Protocol): Mô tả cách thức hai thành phần giao tiếp trao đổi thông tin với nhau.
- Dịch vụ (Services): Mô tả những gì mà một mạng máy tính cung cấp cho các thành phần muốn giao tiếp với nó.
- Giao diện (Interfaces): Mô tả cách thức mà một khách hàng có thể sử dụng được các dịch vụ mạng và cách thức các dịch vụ có thể được truy cập đến.
Cấu trúc thứ bậc của giao thức
Nền tảng cho tất cả các phần mềm làm cho mạng máy tính hoạt động chính là khái niệm kiến trúc thứ bậc của giao thức (protocol hierachies). Nó tổ chức các dịch vụ mà một mạng máy tính cung cấp thành các tầng/lớp (layers)
Hai thành phần bộ phận ở hai máy tính khác nhau, nhưng ở cùng cấp, chúng luôn luôn thống nhất với nhau về cách thức mà chúng sẽ trao đổi thông tin. Qui tắc trao đổi thông tin này được mô tả trong một giao thức (protocol).
Một hệ mạng truyền tải dữ liệu thường được thiết kế dưới dạng phân tầng. Để minh họa ý nghĩa của nó ta xem xét mô hình hoạt động của hệ thống gởi nhận thư tín thế giới.
Hai đối tác A ở Paris và B ở Thành phố Cần Thơ thường xuyên trao đổi thư từ với nhau. Vì A không thể nói tiếng Việt và B không thể nói tiếng Pháp, trong khi đó cả hai có thể hiểu tiếng Anh, cho nên nó được chọn là ngôn ngữ để trao đổi thư từ, văn bản giữa A và B. Cả hai gởi thư từ cơ quan của họ. Trong công ty có bộ phận văn thư lãnh trách nhiệm tập hợp và gởi tất cả các thư của công ty ra bưu điện.
Tiến trình A gởi cho B một lá thư diễn ra như sau:
- A viết một lá thư bằng tiếng Pháp bằng bút máy của anh ta.
- A đưa lá thư cho thư ký, biết tiếng Anh để thông dịch lá thư ra tiếng Anh, sau đó bỏ lá thư vào bao thư với địa chỉ người nhận là địa chỉ của B.
- Nhân viên của bộ phận văn thư chịu trách nhiệm thu thập thư của công ty ghé qua văn phòng của A để nhận thư cần gởi đi.
- Bộ phận văn thư thực hiện việc phân loại thư và dán tem lên các lá thư bằng một máy dán tem.
- Lá thư được gởi đến bưu điện ở Paris.
- Lá thư được ô tô chuyển đến trung tâm phân loại ở Paris.
- Những lá thư gởi sang Việt Nam được chuyển đến sân bay ở Paris bằng tàu điện ngầm.
- Lá thư gởi sang Việt nam được chuyển đến sân bay Tân Sơn Nhất (Thành Phố Hồ Chí Minh) bằng máy bay.
- Thư được ô tô chở đến trung tâm phân loại thư của Thành Phố Hồ Chí Minh.
- Thư cho cơ quan của B được chuyển về Bưu điện Cần Thơ bằng ô tô.
- Thư cho cơ quan của B được chuyển đến công ty của B bằng ô tô.
- Bộ phận văn thư của công ty của B tiến hành phân loại thư.
- Thư được phát vào một giờ đã định đến các người nhận, trong trường hợp này có văn phòng của B.
- Thư ký của B mở thư ra và dịch nội dung lá thư gởi cho B sang tiếng Việt.
- B đọc lá thư của A đã gởi cho anh ta.
Ta có thể tóm tắt lại tiến trình trên bằng một mô hình phân tầng với các nút của mạng thư tín này như sau:
Trong mô hình trên,mỗi tầng thì dựa trên tầng phía dưới. Ví dụ, các phương tiện của giao thông của tầng như ô tô, tàu hỏa, máy bay (của tầng liên kết dữ liệu) tầng vận chuyển thì cần hạ tầng cơ sở như đường ô tô, đường sắt, sân bay (của tầng vật lý).
Đối với mỗi tầng, các chức năng được định nghĩa là các dịch vụ cung cấp cho tầng phía trên nó. Các đường thẳng màu đỏ trong sơ đồ xác định các dịch vụ được cung cấp bởi các tầng khác nhau. Thêm vào đó, các chức năng của từng tầng tương ứng với các luật được gọi là các giao thức (Protocols).
Ví dụ về cấu trúc thứ bậc của giao thức
Xem xét một ví dụ khác liên quan đến hệ thống truyền tập tin từ máy tính X sang máy Y. Hai máy này được nối với nhau bởi một dây cáp tuần tự. Chúng ta xem xét một mô hình gồm 3 tầng:
- Người sử dụng muốn truyền một tập tin sẽ thực hiện một lời gọi đến tầng A nhờ vào một hàm đã được định nghĩa sẵn, send_file(fileName, destination). Trong đó fileName là tập tin cần truyền đi, destination là điạ chỉ của máy tính nhận tập tin.
- Tầng A phân chia tập tin thành nhiều thông điệp và truyền từng thông điệp nhờ lệnh send_message(MessageNo, destination) do tầng B cung cấp.
- Tầng B quản lý việc gởi các thông điệp, đảm nhiệm việc phân chia các thông điệp thành nhiều đơn vị truyền tin, gọi là các khung (frame); gởi các khung giữa X và Y tuân theo luật đã định trước (protocol) như tần suất gởi, điều khiển luồng, chờ báo nhận của bên nhận, điều khiển lỗi.
A : Tầng ứng dụng |
B : Tầng quản lý thông điệp |
C : Tầng vật lý |
- Tầng B giao cho tầng C một chuỗi các bit mà chúng sẽ được truyền lên đường truyền vật lý, không quan tâm gì về ý nghĩa của các bit, để đến nơi nhận.
Thông tin được truyền trên một kênh truyền đơn giản hoặc phức tạp và được định hướng đến nơi nhận. Bên nhận thực hiện ngược lại tiến trình của bên gởi. Cả bên nhận và bên gởi cùng có số lần gởi/nhận giống nhau.
Ta cũng chú ý rằng, kích thước của các đơn vị truyền tin trong từng tầng là khác nhau. Ở tầng A đơn vị là một tập tin. Tầng B, đơn vị truyền tin là các khung theo một cấu trúc đã được định nghĩa. Tầng C, đơn vị truyền tin là các tín hiện được truyền trên đường truyền vật lý.
Dịch vụ mạng
Hầu hết các tầng mạng đều cung cấp một hoặc cả hai kiểu dịch vụ: Định hướng nối kết và Không nối kết.
- Dịch vụ định hướng nối kết (Connection-oriented): Đây là dịch vụ vận hành theo mô hình của hệ thống điện thoại. Đầu tiên bên gọi phải thiết lập một nối kết, kế đến thực hiện nhiều cuộc trao đổi thông tin và cuối cùng thì giải phóng nối kết.
- Dịch vụ không nối kết (Connectionless): Đây là dịch vụ vận hành theo mô hình kiểu thư tín. Dữ liệu của bạn trước tiên được đặt vào trong một bao thư trên đó có ghi rõ địa chỉ của người nhận và địa chỉ của người gởi. Sau đó sẽ gởi cả bao thư và nội dung đến người nhận.
Một số những dịch vụ thường được cung cấp ở mỗi tầng mạng cho cả hai loại có nối kết và không nối kết được liệt kê ở bảng dưới đây:
Mỗi loại dịch vụ được cung cấp với chất lượng khác nhau. Các loại dịch vụ có nối kết thường đảm bảo thứ tự đến nơi của thông tin như thứ tự chúng đã được gởi đi, cũng như đảm bảo dữ liệu luôn đến nơi. Hai điều này thường không được đảm bảo trong các dịch vụ loại không nối kết.
Các phép toán của dịch vụ
Một dịch vụ thường được mô tả bằng một tập hợp các hàm cơ bản (primitives) hay đôi khi còn gọi là các tác vụ (operations) sẵn có cho các khách hàng sử dụng. Một số các hàm cơ bản thường có cho một dịch vụ định hướng nối kết như sau:
Hàm cơ bản | Chức năng |
LISTEN | Nghẽn để chờ một yêu cầu nối kết gởi đến |
CONNECT | Yêu cầu thiết lập nối kết với bên muốn giao tiếp |
RECIEVE | Nghẽn để chờ nhận các thông điệp gởi đến |
SEND | Gởi thông điệp sang bên kia |
DISCONNECT | Kết thúc một nối kết |
Quá trình trao đổi thông tin giữa Client, người có nhu cầu sử dụng dịch vụ và server, người cung cấp dịch vụ được thực hiện bằng cách sử dụng các hàm cơ sở trên được mô tả như kịch bản sau:
Sự khác biệt giữa dịch vụ và giao thức
Giao thức và dịch vụ là hai nền tảng rất quan trọng trong việc thiết kết và xây dựng một hệ thống mạng. Cần hiểu rõ ý nghĩa và phân biệt sự khác biệt giữa chúng.
- Dịch vụ: là một tập các phép toán mà một tầng cung cấp cho tầng phía trên của nó gọi sử dụng.
- Giao thức: là một tập các luật mô tả khuôn dạng dữ liệu, ý nghĩa của các gói tin và thứ tự các gói tin được sử dụng trong quá trình giao tiếp.
- Chú ý: Cùng một service có thể được thực hiện bởi các protocol khác nhau; mỗi protocol có thể được cài đặt theo một cách thức khác nhau ( sử dụng cấu trúc dữ liệu khác nhau, ngôn ngữ lập trình là khác nhau, vv...)
Mô hình tham khảo OSI
Để dễ dàng cho việc nối kết và trao đổi thông tin giữa các máy tính với nhau, vào năm 1983, tổ chức tiêu chuẩn thế giới ISO đã phát triển một mô hình cho phép hai máy tính có thể gởi và nhận dữ liệu cho nhau. Mô hình này dựa trên tiếp cận phân tầng (lớp), với mỗi tầng đảm nhiệm một số các chức năng cơ bản nào đó.
Để hai máy tính có thể trao đổi thông tin được với nhau cần có rất nhiều vấn đề liên quan. Ví dụ như cần có Card mạng, dây cáp mạng, điện thế tín hiệu trên cáp mạng, cách thức đóng gói dữ liệu, điều khiển lỗi đường truyền vv... Bằng cách phân chia các chức năng này vào những tầng riêng biệt nhau, việc viết các phần mềm để thực hiện chúng trở nên dễ dàng hơn. Mô hình OSI giúp đồng nhất các hệ thống máy tính khác biệt nhau khi chúng trao đổi thông tin. Mô hình này gồm có 7 tầng:
Tầng 7: Tầng ứng dụng (Application Layer)
Đây là tầng trên cùng, cung cấp các ứng dụng truy xuất đến các dịch vụ mạng. Nó bao gồm các ứng dụng của người dùng, ví dụ như các Web Browser (Netscape Navigator, Internet Explorer ), các Mail User Agent (Outlook Express, Netscape Messenger, ...) hay các chương trình làm server cung cấp các dịch vụ mạng như các Web Server (Netscape Enterprise, Internet Information Service, Apache, ...), Các FTP Server, các Mail server (Send mail, MDeamon). Người dùng mạng giao tiếp trực tiếp với tầng này.
Tầng 6: Tầng trình bày (Presentation Layer)
Tầng này đảm bảo các máy tính có kiểu định dạng dữ liệu khác nhau vẫn có thể trao đổi thông tin cho nhau. Thông thường các mày tính sẽ thống nhất với nhau về một kiểu định dạng dữ liệu trung gian để trao đổi thông tin giữa các máy tính. Một dữ liệu cần gởi đi sẽ được tầng trình bày chuyển sang định dạng trung gian trước khi nó được truyền lên mạng. Ngược lại, khi nhận dữ liệu từ mạng, tầng trình bày sẽ chuyển dữ liệu sang định dạng riêng của nó.
Tầng 5: Tầng giao dịch (Session Layer)
Tầng này cho phép các ứng dụng thiết lập, sử dụng và xóa các kênh giao tiếp giữa chúng (được gọi là giao dịch). Nó cung cấp cơ chế cho việc nhận biết tên và các chức năng về bảo mật thông tin khi truyền qua mạng.
Tầng 4: Tầng vận chuyển (Transport Layer)
Tầng này đảm bảo truyền tải dữ liệu giữa các quá trình. Dữ liệu gởi đi được đảm bảo không có lỗi, theo đúng trình tự, không bị mất mát, trùng lắp. Đối với các gói tin có kích thước lớn, tầng này sẽ phân chia chúng thành các phần nhỏ trước khi gởi đi, cũng như tập hợp lại chúng khi nhận được.
Tầng 3: Tầng mạng (Network Layer)
Tầng này đảm bảo các gói tin dữ liệu (Packet) có thể truyền từ máy tính này đến máy tính kia cho dù không có đường truyền vật lý trực tiếp giữa chúng. Nó nhận nhiệm vụ tìm đường đi cho dữ liệu đến các đích khác nhau trong mạng.
Tầng 2: Tầng liên kết dữ liệu (Data-Link Layer)
Tầng này đảm bảo truyền tải các khung dữ liệu (Frame) giữa hai máy tính có đường truyền vật lý nối trực tiếp với nhau. Nó cài đặt cơ chế phát hiện và xử lý lỗi dữ liệu nhận.
Tầng 1: Tầng vật ký (Physical Layer)
Điều khiển việc truyền tải thật sự các bit trên đường truyền vật lý. Nó định nghĩa các tín hiệu điện, trạng thái đường truyền, phương pháp mã hóa dữ liệu, các loại đầu nối được sử dụng.
Về nguyên tắc, tầng n của một hệ thống chỉ giao tiếp, trao đổi thông tin với tầng n của hệ thống khác. Mỗi tầng sẽ có các đơn vị truyền dữ liệu riêng:
- Tầng vật lý: bit
- Tầng liên kết dữ liệu: Khung (Frame)
- Tầng Mạng: Gói tin (Packet)
- Tầng vận chuyển: Đoạn (Segment)
Trong thực tế, dữ liệu được gởi đi từ tầng trên xuống tầng dưới cho đến tầng thấp nhất của máy tính gởi. Ở đó, dữ liệu sẽ được truyền đi trên đường truyền vật lý. Mỗi khi dữ liệu được truyền xuống tầng phía dưới thì nó bị "gói" lại trong đơn vị dữ liệu của tầng dưới. Tại bên nhận, dữ liệu sẽ được truyền ngược lên các tầng cao dần. Mỗi lần qua một tầng, đơn vị dữ liệu tương ứng sẽ được tháo ra.
Đơn vị dữ liệu của mỗi tầng sẽ có một tiêu đề (header) riêng.
OSI chỉ là mô hình tham khảo, mỗi nhà sản xuất khi phát minh ra hệ thống mạng của mình sẽ thực hiện các chức năng ở từng tầng theo những cách thức riêng. Các cách thức này thường được mô tả dưới dạng các chuẩn mạng hay các giao thức mạng. Như vậy dẫn đến trường hợp cùng một chức năng nhưng hai hệ thống mạng khác nhau sẽ không tương tác được với nhau. Hình dưới sẽ so sánh kiến trúc của các hệ điều hành mạng thông dụng với mô hình OSI.
Để thực hiện các chức năng ở tầng 3 và tầng 4 trong mô hình OSI, mỗi hệ thống mạng sẽ có các protocol riêng:
- UNIX: Tầng 3 dùng giao thức IP, tầng 4 giao thức TCP/UDP
- Netware: Tầng 3 dùng giao thức IPX, tầng 4 giao thức SPX
- Microsoft định nghĩa giao thức NETBEUI để thực hiện chức năng của cả tầng 3 và tầng 4
Nếu chỉ dừng lại ở đây thì các máy tính UNIX, Netware và NT sẽ không trao đổi thông tin được với nhau. Với sự lớn mạnh của mạng Internet, các máy tính cài đặt các hệ điều hành khác nhau đòi hỏi phải giao tiếp được với nhau, tức phải sử dụng chung một giao thức. Đó chính là bộ giao thức TCP/IP, giao thức của mạng Internet.
- Giáo trình mạng