Giáo trình Mạng máy tính 1 Chương 1 NHẬP MÔN MẠNG MÁY TÍNH Ngày nay, nhu cầu sử dụng máy tính không ngừng được tăng lên về cả số lượng và ứng dụng, đặc biệt là sự phát triển hệ thống mạ
Trang 1Giáo trình Mạng máy tính 1
Chương 1 NHẬP MÔN MẠNG MÁY TÍNH
Ngày nay, nhu cầu sử dụng máy tính không ngừng được tăng lên về cả số lượng và ứng dụng, đặc biệt là sự phát triển hệ thống mạng máy tính, kết nối các máy tính lại với nhau thông qua môi trường truyền tin để cùng nhau chia sẻ tài nguyên trên mạng góp phần làm tăng hiệu quả của các ứng dụng trong tất cả các lĩnh vực khoa học kỹ thuật, kinh tế, quân sự, văn hoá Sự kết hợp của máy tính với hệ thống truyền thông (communication) đặc biệt là viễn thông (telecommunication) đã tạo ra một sự chuyển biến có tính cách mạng trong vấn đề tổ chức khai thác và sử dụng các hệ thống máy tính Từ đó đã hình thành các môi trường trao đổi thông tin tập trung, phân tán, cho phép đồng thời nhiều người cùng trao đổi thông tin với nhau một cách nhanh chóng và hiệu quả từ những vị trí địa lý khác nhau Các hệ thống như thế được gọi là mạng máy tính (computer networks)
Mạng máy tính trở thành lĩnh vực nghiên cứu, phát triển rất quan trọng bảo đảm truyền tin đáng tin cậy, chính xác, phù hợp tốc độ và đảm bảo an toàn thông tin trên mạng
1 ý nghĩa của mạng máy tính
1.1 Lịch sử phát triển của mạng máy tính
Trước những năm 1970 đã bắt đầu hình thành các máy tính nối với nhau thành mạng và các thiết bị đầu cuối dữ liệu đã kết nối trực tiếp vào máy tính trung tâm để tận dụng tài nguyên chung, khai thác dữ liệu, giảm giá thành truyền số liệu, sử dụng tiện lợi
và nhanh chóng hơn Cùng với thời gian xuất hiện các máy tính Mini Computer và máy tính cá nhân (Personal Computer) đã tăng yêu cầu truyền số liệu giữa máy tính - trạm đầu cuối (Terminal) và ngược lại hình thành nhiều mạng cục bộ, mạng diện rộng trong phạm vi lớn Do đó mạng máy tính ngày càng được phát triển để đáp ứng với nhu cầu của người sử dụng Sự hình thành của mạng máy tính được mô tả như sau:
Ban đầu là sự kết nối các thiết bị đầu cuối trực tiếp đến máy tính lớn, tiếp theo do
sự phát triển ngày càng nhiều các trạm nên chúng được kết nối thành từng nhóm qua bộ tập trung rồi nối đến máy chủ trung tâm Trong giai đọan này máy tính trung tâm có chức năng quản lý truyền tin qua các tấm ghép nối điều khiển cứng đó để tăng sức mạnh quản lý toàn hế thống trước khi dữ liệu được đưa đến máy tính trung tâm người ta thay thế các tấm ghép nối, quản lý đường truyền bằng máy tính MINI Bộ tiền xử lý gắn chặt với trung tâm, các xử lý ngọai vi đưa vào máy chủ trong những trạm đầu cuối thông minh
Trong giai đọan cuối đưa vào mạng truyền tin cho phép xây dựng mạng máy tính rộng lớn
Trang 2Giáo trình Mạng máy tính 2
Mạng truyền tin bao gồm các nút truyền tin và các đường dây truyền tin nối giữa các nút để đảm bảo vận chuyển tin Các thiết bị đầu cuối, thiết bị tập trung, bộ tiền xử lý
và các máy tính được ghép nối vào các nút mạng
Trong giai đọan này xuất hiện các trạm đầu cuối thông minh mà nó ngày càng liên kết với các máy Mini
Chức năng của máy tính trung tâm:
- Xử lý các chương trình ứng dụng, phân chia tài nguyên và ứng dụng
- Quản lý hàng đợi và các trạm đầu cuối
Chức năng của bộ tiền xử lý :
- Điều khiển mạng truyền tin (Đường dây, lưu trữ tập tin, trạm đầu cuối)
- Điều khiển chuyển ký tự lên đường dây, bổ sung hay bỏ đi những ký tự đồng bộ Chức năng của bộ tập trung: Quản lý truyền tin, các đầu cuối Tiền xử lý, lưu trữ
số liệu, điều khiển giao dịch
Chức năng của thiết bị đầu cuối:
- Quản lý truyền tin, thủ tục truyền tin, ghép nối với người sử dụng
- Điều khiển truy nhập số liệu và lưu trữ số liệu
Do số lượng các trạm đầu cuối ngày càng tăng, nếu nối trực tiếp với máy tính trung tâm, tốn vật liệu nối ghép, quản lý nặng nề, không tương xứng với nhiệm vụ của máy tính, hiệu suất thấp nên đưa ra bộ tập trung để khắc phục những nhược điểm trên
1.2 ý nghĩa của mạng máy tính
Mạng máy tính mang lại cho xã hội những lợi ích vô cùng to lớn, nhưng chung quy việc kết nối các máy tính thành mạng nhằm vào các mục đích chính sau:
- Chia sẻ tài nguyên
- Cho phép trao đổi thông tin giữa các máy tính cách xa nhau
- Tăng hiệu quả khai thác, xử lý thông tin và độ tin cậy của hệ thống
Trang 3Tất cả các tín hiệu truyền giữa các máy tính có dạng sóng điện từ và có tần số trãi
từ tần số cực ngắn đến tia hồng ngoại Tùy theo tần số của sóng điện từ mà có thể dùng các đường truyền vật lý khác nhau để truyền Đường truyền vật lý có những đặc trưng
cơ bản sau: Giải thông, thông lượng, độ suy hao, độ nhiễu từ
+ Giải thông (bandwidth) của đường truyền là độ đo phạm vi tần số mà nó có thể
đáp ứng được
+ Thông lượng (throughput) của một đường truyền chính là tốc độ truyền dữ liệu
trên đường truyền đó, tính bằng số bit/giây
+ Độ suy hao là độ đo độ suy yếu của tín hiệu trên đường truyền Cáp càng dài thì
độ suy hao càng lớn
+ Độ nhiễu điện từ làm nhiễu tín hiệu trên đường truyền
Hiện nay cả hai loại đường truyền hữu tuyến và vô truyến đều được sử dụng trong việc kết nối mạng máy tính
* Các loại đường truyền hữu tuyến
+ Cáp xoắn đôi (twisted pair): đôi dây cáp được xoắn vào nhau và được bọc trong
lớp vỏ chống nhiễu Tùy thuộc vào khả năng chống nhiễu mà cáp xoắn đôi có thông lượng từ 64Kbps đến vài chục Mbps
+ Cáp đồng trục (coaxial cable): là cáp truyền thông tin chuyên dụng cho các tín
hiệu có phổ rộng và thích nghi tốt với yêu cầu cao tốc Thông lượng cực đại cho loại đường truyền này là hàng chục Mbps
+ Cáp quang học (fiber optic cable): là cáp sợi thủy tinh dùng để dẫn ánh sáng
Thông lượng tối đa có thể đạt đến 1000Mbps
* Các loại đường truyền vô tuyến
Chủ yếu sử dụng các loại sóng sau đây
Trang 4Theo kiểu điểm - điểm, các đường truyền nối từng cặp nút với nhau và mỗi nút đều
có trách nhiệm lưu trữ tạm thời sau đó chuyển tiếp dữ liệu đi cho tới đích Do cách thức làm việc như thế nên mạng kiểu này còn được gọi là mạng “Lưu và chuyển tiếp” (store and forward) Hình 1.2 cho một số dạng Topo mạng Điểm - Điểm:
Theo kiểu quảng bá, tất cả các nút phân chia chung một đường truyền vật lý Dữ liệu được gữi đi từ một nút nào đó có thể được tiếp nhận bởi tất cả các nút còn lại, bởi vậy cần chỉ ra địa chỉ đích của dữ liệu để mỗi nút căn cứ vào đó kiểm tra xem dữ liệu có phải của mình hay không
* Giao thức mạng(Protocol)
Việc trao đổi thông tin, cho dù là đơn giản nhất, cũng đều phải tuân theo những quy tắc nhất định Việc truyền tín hiệu trên mạng cần phải có những quy tắc, quy ước về nhiều mặt, từ khuôn dạng (cú pháp, ngữ nghĩa) của dữ liệu cho tới các thủ tục gửi, nhận
dữ liệu, kiểm soát hiệu quả, chất lượng truyền tin và xử lý các lỗi Yêu cầu về xử lý và trao đổi thông tin của người sử dụng càng cao thì các quy tắc càng nhiều và phức tạp hơn Tập hợp tất cả những quy tắc, quy ước đó được gọi là giao thức (Protocol) của mạng Rõ ràng là các mạng có thể sử dụng các giao thức khác nhau tùy sự lựa chọn của người thiết kế, tuy nhiên các tổ chức chuẩn hóa quốc tế đã đưa ra một số giao thức chuẩn được dùng trong nhiều mạng khác nhau để thuận lợi cho việc kết nối chung
Hình 1.2: Cấu hình mạng kiểu điểm - điểm
Hình 1.3: Cấu hình mạng kiểu điểm - nhiều điểm
Trang 5Giáo trình Mạng máy tính 5
2.2 Phân loại mạng máy tính
Có nhiều cách phân loại mạng khác nhau, tùy theo yếu tố chính được chọn để làm chỉ tiêu phân loại
2.2.1 Phân loại mạng theo khoảng cách địa lý
Nếu lấy “khoảng cách địa lý” để làm yếu tố chính để phân loại thì ta có 4 loai như sau:
+ Mạng cục bộ (LAN: Local Area Network): là mạng được cài đặt trọng một
phạm vi tương đối nhỏ (ví dụ trong một cơ quan, công ty, trường học )
+ Mạng đô thị (MAN: Metropolitan Area Network): là mạng được cài đặt trong
phạm vi một thành phố, một trung tâm kinh tế, phạm vi địa lý là hàng trăm Km
+ Mạng diện rộng (WAN: Wide Area Network): phạm vi hoạt động của mạng có
thể vượt qua biên giới một quốc gia, có thể cả một khu vực
+ Mạng toàn cầu (VAN: Vast Area Network): phạm vi của mạng trải rộng khắp
lục địa của trái đất
Khoảng cách địa lý có tính chất tương đối đặc biệt trong thời đại ngày nay những tiến bộ và phát triển của công nghệ truyên dẫn và quản lý mạng nên ranh giới khoảng cách địa lý giữa các mạng là mờ nhạt
Tuy nhiên về sau người ta thường quan niệm chung bằng cách đồng nhất 4 lọai thành 2 lọai sau:
WAN là mạng lớn trên diện rộng, hệ mạng này có thể truyền thông và trao đổi dữ liệu với một phạm vi lớn có khỏang cách xa như trong một quốc gia hay quốc tế
LAN là mạng cục bộ được bố trí trong phạm vi hẹp như một cơ quan, một Bộ, Nghành Một số mạng LAN có thể nối lại với nhau để tạo thành một mạng LAN lớn hơn
2.2.2 Phân loại mạng theo kỹ thuật chuyển mạch
Nếu lấy kỹ thuật chuyển mạch làm yếu tố chính để phân loại thì có thể phân chia mạng ra thành: Mạng chuyển mạch kênh, mạng chuyển mạch thông báo, mạng chuyển mạch gói
* Mạng chuyển mạch kênh (Cirucuit - Switched - Network)
Đây là mạng giữa hai thực thể muốn liên lạc với nhau thì giữa chúng tạo ra một kênh cứng, cố định được duy trì liên tục cho đến khi một trong hai thực thể ngắt liên lạc như mạng điện thoại Phương pháp chuyển mạch này có hai nhược điểm chính:
+ Hiệu xuất sử dụng đường truyền không cao vì có khi kênh bị bỏ không
+ Tiêu tốn thời gian cho việc thiết lập kênh cố định giữa hai thực thể
S6
S4 S2
Hình 1.4: Mô hình mạng chuyển mạch kênh
Trang 6Giáo trình Mạng máy tính 6
* Mạng chuyển mạch thông báo (Message Switched Network)
Các nút của mạng căn cứ vào địa chỉ đích của “thông báo” để chọn nút kế tiếp trên đường dẫn tới đích Như vậy các nút cần lưu trữ tạm thời và đọc tin nhận được, quản lý việc chuyển tiếp thông báo đi Tùy thuộc vào điều kiện mạng mà các thông báo khác nhau có thể được gửi trên các con đường khác nhau Phương pháp chuyển mạch thông báo có những ưu điểm sau:
+ Hiệu suất sử dụng đường truyền cao vì không bị chiếm dụng độc quyền mà được phân chia giữa nhiều thực thể
+ Mỗi nút mạng có thể lưu trữ thông báo cho tới khi kênh truyền rỗi mới chuyển thông báo đi, do đó giảm tình trạng tắc nghẽn trên mạng
+ Có thể điều khiển truyền tin bằng cách sắp xếp mức độ ưu tiên của các thông báo Trong mạng chuyển mạch thông báo ta có thể tăng hiệu suất sử dụng giải thông của mạng bằng cách gán địa chỉ quảng bá cho các thông báo để gửi nó đồng thời đến nhiều đích khác nhau
Nhược điểm chủ yếu là trong trường hợp một thông báo có kích thước lớn bị lỗi, phải truyền thông báo này lại nên hiệu suất không cao Phương pháp này thích hợp với phương pháp truyền thư tín điện tử (Electronic mail)
* Mạng chuyển mạch gói (Packet Switched Network)
Trong trường hợp này một thông báo có thể chia ra thành nhiều gói tin (Packet) khác nhau, độ dài khoảng 256 byte, có khuôn dạng quy định Các gói tin chứa thông tin điều khiển, trong đó có địa chỉ nguồn và địa chỉ đích Các gói tin của một thông báo có thể gửi đi bằng nhiều đường khác nhau
+ Mạng chuyển mạch gói có hiệu suất cao hơn mạng chuyển mạch thông báo vì kích thước của gói tin là hạn chế sao cho các nút mạng có thể xử lý toàn bộ gói tin trong
bộ nhớ mà không cần lưu trữ tạm thời trên đĩa, do đó mạng chuyển các gói tin nhanh hơn
+ Mỗi đường truyền chiếm thời gian rất ngắn vì có thể dùng bất kỳ đường nào để
đi đến đích và khả năng đồng bộ bit rất cao
+ Tuy nhiên, thời gian truyền tin rất ngắn nên nếu thời gian chuyển mạch lớn thì tốc dộ truyền không cao vì nó đòi hỏi thời gian chuyển mạch cực ngắn
+ Việc tập hợp các gói tin để tạo lại để thông báo là khó khăn, đặc biệt là trong trường hợp các gói được truyền đi theo nhiều đường khác nhau
S6 S4
Trang 7Giáo trình Mạng máy tính 7
Do có nhiều ưu điểm là mềm dẽo và hiệu suất cao nên chuyển mạch gói được dùng phổ biến hiện nay Việc tổ hợp hai kỹ thuật chuyển mạch kênh và chuyển mạch gói trong cùng một mạng thống nhất gọi tắc là ISDN (Intergrated Service Digital Network) đang là xu hướng phát triển hiện nay, đó chính là mạng dịch vụ tích hợp số
2.2.3 Phân loại mạng theo kiến trúc mạng
Nếu lấy kiến trúc mạng làm yếu tố chính để phân loại thì có thể phân chia mạng ra thành: Mạng điểm - điểm và mạng điểm - nhiều điểm
Mạng điểm - điểm: mạng hình sao, hình chu trình, hình cây và đầy đủ
Mạng điểm - nhiều điểm: mạng hình Bus, hình Ring và vệ tinh hoặc Radio
* Ngòai ra, ta có thể phân lọai theo cách “Khai thác dữ liệu” trong mạng
Nếu xem xét mạng theo cách khai thác dữ liệu trong mạng thì mạng chia thành hai kiểu
- Mạng ngang hàng (peer to peer): trong kiểu này các máy tính được nối lại với
nhau, máy này có thể sử dụng tài nguyên của các máy kia và ngược lại, không có máy nào được coi là máy chủ
- Mạng chủ/khách (server/client): ít nhất một máy gọi là máy chủ (server), đó là
máy trên đó có cài đặt các phần mềm hệ điều hành mạng (NETWARE SYSTEM), máy này có chức năng điều khiển và phân chia việc khai thác tài nguyên theo yêu cầu của máy khác
Thuật ngữ CLIENT được dùng để chỉ các máy của người khai thác hệ thống mạng Mỗi người khai thác mạng phải sử dụng một máy tính nào đó có nối với máy chủ để khai thác mạng, máy này gọi là client
3 Kiến trúc phân tầng và mô hình OSI
3.1 Kiến trúc phân tầng
* Ý nghĩa của kiến trúc phân tầng
Để giảm phức tạp của việc thiết kế và cài đặt mạng, hầu hết các mạng máy tính đều phân tích, thiết kế theo quan điểm phân tầng (layering) Sự phân tầng giao thức rất quan trọng vì nó cung cấp sự hiểu biết sâu sắc về các thành phần giao thức khác nhau cần thiết cho mạng Kiến trúc phân tầng của mạng máy tính có ý nghĩa đặc biệt và thể hiện trong các vấn đề nêu ra sau đây:
+ Dễ dàng trong công tác thiết, xây dựng và cài đặt các mạng máy tính, trong đó mỗi hệ thống thành phần được coi như là một cấu trúc đa tầng
+ Mỗi tầng được xây dựng trên cơ sở tầng kế liền trước đó Như vậy, tầng dưới được hiểu là tầng cung cấp các dịch vụ cho tầng trên
S6 S4
S3 S2
Trang 8
Tầng 2 Giao thức tầng 2 Tầng 2 Tầng 1 Giao thức tầng 1 Tầng 1
Mô hình tổng quát này là công cụ cho phép hình dung một cách bao quát và cơ bản nhất về kiến trúc phân tầng của mạng máy tính và các hệ thống mở
Trong mô hình trên, giả sử máy A là hệ thống gởi và máy B là hệ thống nhận thì quá trình truyền thông tin từ A sang B qua các tầng theo chiều như sau:
Tầng N A > > Tầng 1 A > Đường truyền vật lý > Tầng 1 B > > Tầng N B
Giữa hai tầng đồng mức (ngang nhau) của hai hệ thống A và B phải tồn tại một tập các giao thức và thủ tục, giữa hai tầng liền kề nhau trong một hệ thống được đặc trưng bởi các giao diện (Interfaces)
3.2 Mô hình OSI (Open System Interconnection)
Trước đây, các nhà thiết kế tự do lựa chọn các kiến trúc mạng riêng của mình, từ
đó dẫn đến tình trạng không tương thích giữa các mạng như: phương pháp truy cập đường truyền khác nhau, sử dụng họ giao thức khác nhau, v.v Vì vậy, các mạng máy tính khác nhau không thể trao đổi thông tin với nhau được Khi nhu cầu trao đổi thông tin càng lớn thì trở ngại đó không thể chấp nhận được
Do đó, cần phải xây dựng một khung chuẩn về kiến trúc mạng làm căn cứ cho các nhà nghiên cứu và thiết kế mạng tạo ra các sản phẩm mở về mạng để dễ sản xuất và sử dụng Như vậy, một loại máy tính của một hãng nào đó đều có thể ghép nối với các loại máy tính của các hãng khác và đồng thời mở ra khả năng có thể chọn lựa các loại thiết
bị của nhiều hãng khác nhau
Vì vậy, tổ chức tiêu chuẩn hóa quốc tế (International Organization for Standardization, viết tắt là ISO) đã xây dựng Mô hình tham chiếu cho việc kết nối các
hệ thống mở (Reference Model for Open Systems Interconnection hay gọn hơn là: OSI Reference Model) Mô hình OSI được dùng làm cơ sở để kết nối các hệ thống mở phục
vụ cho các ứng dụng phân tán
Đường truyền vật lý
Trang 9Giáo trình Mạng máy tính 9
Để xây dựng mô hình OSI, ISO cũng xuất phát từ kiến trúc phân tầng ở trên và dựa trên các nguyên tắc chủ yếu sau đây:
+ Giới hạn số lượng tầng ở mức cần thiết
+ Mô tả dịch vụ tầng càng đơn giản càng tốt
+ Chức năng và công nghệ khác nhau được tách biệt, các chức năng gióng nhau cùng nằm chung 1 tầng
+ Khi hiệu chỉnh chức năng hay giao thức của một tầng, các tầng khác không bị ảnh hưởng theo
+ Có thể chia tầng thành nhiều tầng con hay huỷ bỏ các tầng con
Kết quả là mô hình OSI gồm có 7 tầng, đôi khi còn gọi là mô hình 7 tầng Mỗi tầng được đặc trưng bởi tên gọi và số hiệu tầng Ví dụ: Tầng 2 của mô hình là tầng Liên kết
dữ liệu
6 Presentation Giao thức tầng 6 Trình diễn 6
2 Data Link Giao thức tầng 2 Liên kết dữ liệu 2
* Chức năng khái quát của các tầng trong mô hình OSI
- Tầng vật lý: Cung cấp phương tiện truyền tin, thủ tục khởi động, duy trì, hủy bỏ
các liên kết vật lý cho phép truyền các dòng dữ liệu ở dòng bit Nói cách khác ở mức Vật lý đảm bảo cho các yêu cầu về thiết bị như máy tính, thiết bị đầu cuối, bus truyền tin
- Tầng liên kết dữ liệu: Thiết lập, duy trì, hủy bỏ các liên kết dữ liệu, kiểm sóat
luồng dữ liệu, khắc phục sai sót
Ví dụ: Giao thức BSC/Basic Mode, HDLC, SDLC, LAPB, LAPD
- Tầng mạng: Định rỏ các thủ tục cho các chức năng như định tuyến, điều khiển
độ lưu lượng, thiết lập cuộc gọi và kết thúc các thông tin người sử dụng mạng, cắt hợp
dữ liệu nếu cần
Ví dụ: Giao thức IPX ,X.25PLP, IP
- Tầng giao vận: Thực hiện việc truyền dữ liệu, kiểm soát lỗi và luồng dữ liệu
giữa hai đầu nút (end to end) Thực hiện ghép kênh và cắt/hợp dữ liệu nếu cần
Trang 10Giáo trình Mạng máy tính 10
- Tầng phiên: Định rõ thông tin từ quá trình này đến quá trình kia, khôi phục lỗi,
đồng bộ phiên Lớp phiên có nhiệm vụ thiết lập (và hủy bỏ) một kênh thông tin (đối thoại) giữa hai thực thể giao thức lớp ứng dụng đang thông tin trong một giao dịch mạng đầy đủ
- Tầng trình diễn: liên quan đến việc biểu diễn (cú pháp) của số liệu khi chuyển đi
giữa hai tiến trình ứng dụng đang thông tin Để có được một kết nối các hệ thống mở đúng nghĩa, một số dạng cú pháp dữ liệu trừu tượng phổ biến được định nghĩa để các tiến trình ứng dụng sử dụng cùng với những cú pháp chuyển dữ liệu có liên quan Một chức năng khác của lớp trình bày liên quan đến vấn đề an tòan dữ liệu
- Tầng ứng dụng: Là mức cao nhất của mô hình OSI, cung cấp phương tiện để
người sử dụng có thể truy cập được vào môi trường OSI đồng thời cung cấp dịch vụ thông tin phân tán, thông thường là một chương trình/tiến trình ứng dụng - một loạt các dịch vụ thông tin phân tán trên khắp mạng Các dịch vụ này bao gồm quản lý và truy cập việc chuyển file, các dịch vụ trao đổi thông báo và tài liệu chung như thư tín điện tử
* Mô hình OSI theo quan điểm hệ thống
Mô hình OSI xét theo quan điểm hệ thống cho phép khai thác khía cạnh mới của lý thuyết xây dựng mạng máy tính và các hệ thống mở Đó là tính chất thêm vào và bớt đi thông tin trong quá trình kết nối và truyền từ nguồn tới đích
Trong đó:
H: Header của Message, phần chứa thông tin điều khiển
Data Unit: Nội dung của thông điệp
Các dòng bit không có cấu trúc
Hình 1.7: Mô hình OSI theo quan điểm hệ thống
Trang 11Giáo trình Mạng máy tính 11
Ở mỗi tầng, dữ liệu không thể truyền trực tiếp đến tầng tương ứng ở hệ thống khác
mà phải chuyển xuống tầng dưới để truyền qua bằng tầng thấp nhất (tầng vật lý)
Khi xuống đến tầng (N-1) thì dữ liệu của tầng N được xem như là một đơn vị dữ liệu của tầng (N-1)
Phần thông tin điều khiển của tầng (N-1) được thêm vào đầu của dữ liệu để tạo thành đơn vị dữ liệu của tầng (N-1)
Trong trường hợp dữ liệu của tầng (N-1) quá dài thì nó được chia nhỏ thành nhiều đoạn, mỗi đoạn được thêm vào phần thông tin điều khiển ở đầu để hình thành các đơn vị
Các tầng kề nhau có thể tương tác được với nhau nhờ vào việc thực hiện các hàm nguyên thuỷ Có 4 hàm nguyên thuỷ sau đây:
+ Request (đề nghị): dùng để tạo một yêu cầu
+ Indication (chỉ báo): dùng để chỉ báo cho đối tượng tiếp nhận thông tin
+ Response (trả lời): dùng để trả lời cho một yêu cầu
+ Confirm (xác nhận): dùng để xác nhận trả lời cho một yêu cầu trước đó
+ Thiết lập liên kết: hai thực thể đồng mức ở hai hệ thống sẽ 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: thực hiện việc truyền dữ liệu với các cơ chế kiểm soát và quản lý kèm theo để tăng cường độ tin cậy và hiệu quả của việc truyền tin
Trang 12vụ và giao thức chuẩn theo mô hình OSI
* Phương thức không liên kết
Phương thức không liên kết chỉ có một giai đọan duy nhất là truyền dữ liệu, không cần thiết lập liên kết logic Các gói dữ liệu được truyền độc lập với nhau theo địa chỉ đích đã đặt trong mỗi gói dữ liệu
3.4 Các tổ chức thực hiện việc chuẩn hóa
Mô hình tham chiếu ISO chỉ đơn giản là một mô hình cho cấu trúc của một hệ thống con thông tin, nó làm chỗ dựa cho các hoạt động chuẩn hóa liên quan đến từng lớp Nó không có nghĩa là phải có một giao thức chuẩn cho mỗi lớp Đúng hơn là mỗi lớp phải có một tập hợp các chuẩn, mỗi chuẩn cung ứng các mức chức năng khác nhau Như vậy, đối với một môi trường kết nối các hệ thống nhất định, ta phải xác định một tập hợp các chuẩn có chọn lựa để tất cả các hệ thống trong môi trường đó sử dụng Các
tổ chức có vai trò quan trọng trong việc chuẩn hóa mạng máy tính như:
* ISO (International Organization for Standardization):
Thành lập năm 1977 dưới sự bảo trợ của liên hợp quốc, các thành viên là các cơ quan tiêu chuẩn của các quốc gia ISO đã xây dựng hơn 500 chuẩn ở tất cả các lĩnh vực ISO được chia thành các ủy ban kỹ thuật (Technical Committee - TC) TC97 đảm bảo lĩnh vực chuẩn hóa xử lý tin Mỗi TC lại chia thành nhiều tiểu ban (SubCommitee - SC)
và mỗi SC lại chia thành nhiều nhóm làm việc khác nhau, đảm nhiệm các nhiệm vụ khác nhau
Các chuẩn do tổ chức ISO ban hành xem như là các chuẩn quốc tế chính thức
* CCITT (Commité Consultatif International pour Télégraphe et Téléphone)
Tổ chức tư vấn quốc tế về điện tín và điện thoại, hoạt động dưới sự bảo trợ của liên hiệp quốc, các thành viên chủ yếu là các cơ quan bưu chính - viễn thông của các quốc gia và tư nhân CCITT đã đưa ra các khuyến nghị loại V liên quan đến truyền dữ liệu, các khuyến nghị loại X liên quan đến mạng truyền dữ liệu công cộng và loại I dành cho các mạng ISDN (Integrated Services Digital Networks)
* IEEE (Institute of Electrical and Electronics Engineers)
Trang 13Giáo trình Mạng máy tính 13
Đây là viện nghiên cứu các vấn đề về kỹ thuật điện và điện tử của Mỹ IEEE là đơn
vị từng đi đầu trong công tác nghiên cứu và chuẩn hóa mạng cục bộ
ISO, IEEE và CCITT là ba tổ chức Quốc tế chính tích cực tạo ra các chuẩn cho thông tin máy tính Về cơ bản, ISO và IEEE đưa ra các chuẩn để sử dụng cho các nhà sản xuất máy tính, trong khi đó CCITT định nghĩa các chuẩn dùng cho việc kết nối các thiết bị vào các kiểu mạng công cộng Quốc gia và Quốc tế khác nhau Tuy nhiên, khi mức độ xen phủ lên nhau giữa công nghiệp máy tính và công nghiệp viễn thông tăng lên thì mức độ cộng tác và mức độ chung nhau giữa các chuẩn được đưa ra bởi các tổ chức này cũng tăng lên
Ngoài ra, trên thế giới còn có các tổ chức khác như ECMA (European Computer Manufactuers Association), ANSI (American National Standards Institute), là những
tổ chức đã có nhiều đóng góp trong chuẩn hóa mạng
4 Hệ điều hành mạng
Cùng với việc ghép nối các máy tính thành mạng, cần thiết phải có các hệ điều hành trên phạm vi toàn mạng có chức năng quản lý dữ liệu và tính toán, xử lý một cách
thống nhất Các hệ thống như vậy được gọi chung là hệ điều hành mạng (Network
Operating Systems - viết tắt là NOS)
Để thiết kế và cài đặt một hệ điều hành mạng, có thể có 2 cách tiếp cận khác nhau (1) Tôn trọng tính độc lập của các hệ điều hành cục bộ đã có trên các máy tính của mạng Lúc đó, hệ điều hành mạng được cài đặt như một tập các chương trình tiện ích chạy trên các máy khác nhau của mạng Tuy không được “đẹp” nhưng giải pháp này dễ cài đặt và không vô hiệu hóa các phần mềm đã có
(2) Bỏ qua các hệ điều hành cục bộ đã có trên các máy và cài một hệ điều hành thuần nhất trên toàn mạng mà người ta còn gọi là hệ điều hành phân tán (disrtributed operating system) Rõ ràng là giải pháp này “đẹp hơn” về phương diện hệ thống so với giải pháp trên nhưng bù lại là độ phức tạp của công việc lớn hơn nhiều Mặt khác, việc tôn trọng tính độc lập và chấp nhận sự tồn tại của các sản phẩm hệ thống đã có là một điểm hấp dẫn của cách tiếp cận thứ nhất Bởi vậy, tùy môi trrường cụ thể của mạng mà
ta chọn giải pháp nào cho phù hợp
Dưới đây chúng ta xem xét cụ thể hơn từng giải pháp nói trên
• Hệ điều hành mạng theo giải pháp (1)
Tư tưởng chủ đạo của giải pháp này là cung cấp cho mỗi người sử dụng một tiến trình đồng nhất (process) , mà ta sẽ gọi là một agent, làm nhiệm vụ cung cấp một giao diện đồng nhất với tất cả các hệ thống cục bộ đã có Agent quản lý một cơ sở dữ liệu chứa các thông tin về các hệ thống cục bộ và về các chương trình và dữ liệu của người
sử dụng Trường hợp đơn giản nhất, agent chỉ hoạt động như một bộ xử lý lệnh, dịch các lệnh của người sử dụng thành ngôn ngữ lệnh của hệ thống cục bộ rồi gửi chúng tới đó để thực hiện Trước khi mỗi chương trình bắt đầu thực hiện, agent phải đảm bảo rằng tất cả các tệp cần thiết đều khả dụng Việc cài đặt hệ điều hành mạng như vậy sẽ chốt lại 2 công việc chính: thiết kế ngôn ngữ lệnh của mạng và cài đặt agent
Như đã nói ở trên, cách tiếp cận này đơn giản và không ảnh hưởng đến các hệ thống cục bộ đã có Thậm chí các hệ thống cục bộ có thể không cần biết đến sự tồn tại của mạng Song điều không may là giải pháp này chỉ khả thi khi mà tất cả các tệp cần
Trang 14Giáo trình Mạng máy tính 14
thiết đều biết trước để agent có thể gửi tới một hệ thống cục bộ trước khi chương trình bắt đầu thực hiện Ngoài ra, rất khó thực các tương tác vào/ra mà chương trình lại không biết đến sự tồn tại của mạng Một giải pháp tổng quát hơn nhằm “bọc” tiến trình đang chạy lại bằng cách “tóm bắt” tất cả các lời gọi hệ thống (system calls) của nó để chúng
có thể được thực hiện trong bối cảnh của hệ thống quản lý tệp của mạng (network file system)
• Hệ điều hành mạng theo giải pháp (2)
Trong trường hợp này, người ta thường gọi là hệ điều hành phân tán và có thể được thiết kế theo một trong hai mô hình: mô hình tiến trình hoặc mô hình đối tượng
Trong mô hình tiến trình, mỗi tài nguyên (tệp, đĩa, thiết bị ngoài vi ) được quản lý bởi một triến trình nào đó và hệ điều hành mạng điểu khiển sự tương tác giữa các tiến trình đó Các dịch vụ của hệ điều hành tập trung truyền thống như là quản lý tệp, lập lịch cho bộ xử lý, điều khiểu terminal, được quản lý bởi các tiến trình SERVER đặc biệt có khả năng tiếp nhận các yêu cầu thực hiện dịch vụ tương ứng Trong nhiều trường hợp các SERVER có thể chạy như các tiến trình người sử dụng thông thường
Trong mô hình đối tượng, thế giới bao gồm các đối tượng khác nhau, mỗi đối tượng có một kiểu (type), một biểu diễn, và một tập các thao tác có thể thực hiện trên
nó Để thực hiện một thao tác trên một đối tượng (chẳng hạn đọc một tệp), một tiến trình người sử dụng phải có một “giấy phép” đối với đối tượng đó Nhiệm vụ cơ bản của hệ điều hành ở đây là quản lý các “giấy phép” và cấp phát các “giấy phép” đó cho các tiến trình để thực hiện các thao tác cần thiết Trong một hệ tập trung, bản thân hệ điều hành nắm giữ các “giấy phép” bên trong nó để ngăn ngừa những người sử dụng cố ý “giả mạo” chúng Trong một hệ phân tán, các “giấy phép” được lưu chuyển theo một cách nào đó để mọi tiến trình đều có cơ hội nhận được “giấy phép” và sao cho những kẻ “ma lanh” không thể tự tạo ra được chúng
Việc thiết kế điều hành phân tán theo mô hình đối tượng là một hướng đi rất triển vọng và vẫn còn tồn tại nhiều vấn đề cần giải quyết trọn vẹn hơn mà trong khuôn khổ tài liệu này không thể đề cập được Còn đối với mô hình tiến trình thì chúng ta có thể thấy
rõ nhiệm vụ then chốt chính là xây dựng cơ chế liên lạc giữa các tiến trình (InterProcess Communication - viết tắt là IPC) Để làm điều đó, người ta thường sử dụng một trong hai cách: dùng lời gọi hàm (function/procedure calls) hoặc chuyển thông báo (message passing)
Khi các lời gọi hàm (hoặc thủ tục) được dùng làm cơ chế IPC, hệ thống đầy đủ bao gồm một tập các hàm (hoặc thủ tục) được viết trong một ngôn ngữ nào đó Mã của các hàm đó được phân tán cho các bộ xử lý Để thực hiện việc truyền thông giữa các máy, một hàm trên máy này có thể gọi một hàm trên máy khác Ngữ nghĩa của lời gọi hàm ở đây cũng giống như đối với các lời gọi hàm cục bộ thông thường: hàm gọi bị “treo” cho đến khi hàm được gọi là kết thúc, tham số được truyền từ hàm gọi tới hàm được gọi, còn kết quả được chuyển theo chiều ngược lại Cách tiếp cận này dẫn đến một hệ điều hành được viết như một chương trình lớn, tuy chặt chẽ và nhất quán nhưng lại thiếu mềm dẻo Nếu dùng phương pháp chuyển thông báo cho cơ chế IPC thì các tiến trình sẽ liên lạc với nhau bằng cách chuyển thông báo Mã của các tiến trình được tách biệt và có thể được viết bằng các ngôn ngữ khác Cách tiếp cận này đòi hỏi phải giải quyết nhiều vấn
đề hơn cách tiếp cận lời gọi hàm, chẳng hạn như vấn đề địa chỉ hóa (định danh), thiết
Trang 15Giáo trình Mạng máy tính 15
lập các liên kết ảo, cắt/hợp thông báo, kiểm soát luồng dữ liệu, chuyển thông báo tới đồng thời nhiều đích (broadcasting).v.v Những vấn đề này sẽ được đề cập đến khi ta xem xét cụ thể các giao thức chuẩn ISO trong các phần sau Rõ ràng cách tiếp cận này
sẽ cho ta một hệ điều hành mềm dẻo hơn
Các hệ điều hành cho các mạng diện rộng (WAN) với nhiều hệ thống không thuần nhất thường được xây dựng theo giải pháp (1), còn cho các mạng cục bộ (LAN) thì lại hay dùng giải pháp (2)
* Bộ chuyển tiếp (Repeater)
Bộ chuyển tiếp có chức năng tiếp nhận và chuyển tiếp tín hiệu Ngoài ra, bộ chuyển tiếp có thể khuyếch đại tín hiệu Các bộ chuyển tiếp hiện đại còn có thể mở rộng phạm vi đường truyền bằng cách tăng cường chức năng khuyếch đại và tái sinh tín hiệu
* Cầu nối (Bridge)
Cầu nối là thiết bị cho phép kết nối vật lý các mạng máy tính lại với nhau Hình vẽ sau đây cho phép hình dung vai trò của cầu nối trong việc kết nối các mạng máy tính
Quá trình hoạt động của cầu nối thể hiện ở các bước sau đây:
Trang 16Giáo trình Mạng máy tính 16
+ Nhận gói tin
+ Kiểm tra địa chỉ đích trong gói
+ Tình huống: Nếu nhận từ mạng M1 mà đích thuộc mạng M1 thì bỏ qua và tương
tự như vậy đối với mạng M2 Nếu nhận từ mạng M1 mà đích thuộc mạng M2 thì chuyển tiếp cho mạng M2
Cầu nối có chức năng tương ứng với 2 tầng: vật lý và liên kết dữ liệu theo mô hình OSI
* Bộ dồn kênh (Multiplexer)
Bộ dồn kênh là thiết bị cho phép tổ hợp các tín hiệu từ các kênh dữ liệu khác nhau
để chúng có thể được truyền chung với nhau
Chức năng chủ yếu của bộ dồn kênh là: tổ hợp các tín hiệu để sử dụng chung đường truyền vật lý và phân tích thành các tín hiệu ban đầu
* Modem (Modulation/Demodulation)
Là bộ điều chế và giải điều chế để biến đổi các tín hiệu số thành tín hiệu tương tự
và ngược lại trên mạng thọai
Sơ đồ đơn giản truyền tin giữa A và B:
Tín hiệu số từ máy tính đến Modem, được Modem biến đổi thành tín hiệu tương tự
để có thể đi qua mạng thoại Tín hiệu này đến Modem ở điểm B được biến đổi ngược lại thành tín hiệu số đưa vào máy tính ở B
Các kỹ thuật điều chế cơ bản:
công cộng
Trang 17Giáo trình Mạng máy tính 17
Điều chế biến đổi biên độ (Amplitude Modulation)
Điều chế tần số (Frequency Modulation)
Điều chế Pha (Phase Modulation)
Hiện có rất nhiều modem hiện đại từ loại thấp: 300, 600, 1200, 2400bit/s đến loại
9600, 14400, 28800, 56600 bit/s Với tốc độ truyền tương đối cao trên đường biên hẹp nên đòi hỏi những điều chế phức tạp
Các phương thức truyền giữa hai điểm có thể là:
- Đơn công (Simplex): Chỉ cho phép truyền một hướng
- Bán song công (Haft - duplex): Có thể truyền theo hai hướng nhưng mỗi thời điểm chỉ truyền một hướng
- Song công (Duplex): Có thể nhận hoặc phát cùng một lúc Các Modem hiện đại đều có kiểu hoạt động ở hai chế độ song công và bán song công
Trang 18Giáo trình Mạng máy tính 18
Chương 2 KIẾN TRÚC PHÂN TẦNG OSI
Trong chương trước, chúng ta đã xem xét một cách sơ bộ kiến trúc phân tầng được thể hiện qua mô hình OSI Trong chương này, ta sẽ tìm hiểu sâu hơn về vai trò và chức năng của mô hình OSI qua việc tìm hiểu các chuẩn liên quan đến mỗi tầng, bao gồm các dịch vụ, các giao thức và các đặc tả khác
1 Tầng vật lý
1.1 Vai trò và chức năng của tầng vật lý
Tầng vật lý cung cấp các phương tiện điện, cơ, chức năng thủ tục để kích hoạt, duy trì và hủy bỏ kết nối vật lý giữa các hệ thống
Phương tiện điện liên quan đến sự biểu diễn các bít (mức thể hiện) và tốc độ truyền các bít, đặc tính cơ liên quan đến các tính chất vật lý của giao diện với một đường truyền (kích thước, hình dạng) Thuộc tính chức năng chỉ ra các chức năng được thực hiện bởi các phần tử của giao điện vật lý giữa các hệ thống đường truyền, còn thủ tục liên quan đến giao thức điều khiển việc truyền các xâu bít qua đường truyền Vật lý Tầng vật lý là tầng thấp nhất giao điện với đường truyền không có PDU (Protocol Data Unit) cho tầng vật lý, không có phần header chứa thông tin điều khiển,dữ liệu được truyền đi theo dòng bít Môi trường thực của tầng vật lý rất đa dạng, tuy nhiên ta có thể khái quát như sau
Trong môi trường thực, Avà B là hai hệ thống mở được nối với nhau bằng một đoạn cáp đồng trục và một đoạn cáp quang Modem C để chuyển đổi từ tín hiệu số sang tín hiệu tương tự để truyền trên cáp đồng trục Modem D lại chuyển đổi tín hiệu tương
tự thành tín hiệu số và qua Transducer E để chuyển đổi từ xung điện sang xung ánh sáng
để truyền qua cáp quang Cuối cùng Transducer F chuyển đổi xung ánh sáng đó thành xung điện và đi vào B
Một giao thức tầng vật lý tồn tại giữa các thực thể đó để quy định về phương thức (đồng bộ, dị bộ) và tốc độ truyền Điều mong muốn là giao thức đó độc lập tối đa với đường truyền vật lý để cho một hệ thống có thể giao tiếp với nhiều đường truyền vật lý khác nhau Các chuẩn cho tầng vật lý bao gồm các giao thức giữa các thực thể và đặc tả của giao diện với đường truyền đảm bảo yêu cầu trên
Trang 19Giáo trình Mạng máy tính 19
1.2 Các chuẩn giao diện tầng vật lý
Trước khi nghiên cứu các chuẩn cho giao diện tầng vật lý, ta làm sáng tỏ hai khái niệm mới là DTE (Data Terminal Equipment) và DCE (Data Circuit terminating Equipment)
DTE (Data Terminal Equipmeut): là thuật ngữ chung cho các máy của người sử
dụng cuối có thể là máy tính hoặc một trạm cuối (Terminal) Như vậy, tất cả các ứng dụng của người sử dụng (chương trình, dữ liệu) đều nằm ở DTE, cho phép chúng ta phân chia tài nguyên, trao đổi dữ liệu và lưu trữ thông tin dùng chung
DCE (Data circuit terminal Equipment): là thuật ngữ dùng chung chỉ các thiết bị
làm nhiệm vụ nối các DTE với các đường truyền thông Nó có thể là một Modem, Trangười sử dụngucer, Multiplexer DCE có thể được cài đặt ngay bên trong bên DTE hoặc đứng riêng như một thiết bị độc lập
Các chuẩn này sử dụng các đầu nối 25 chân nên về lý thuyết cần dùng cáp 25 sợi
để nối DTE với DCE Về phần điện, chuẩn này qui định các tín hiệu số nhị phân 0 và 1 tương ứng với các tín hiệu điện nhỏ hơn -3V và lớn hơn +3V Tốc độ tín hiệu qua giao diện không vượt quá 20 Kbps và với khoảng cách dưới 15m, tuy nhiên có thể thiết kế tốt
để đạt được tốc độ và khoảng cách lớn hơn
Bảng tóm tắt các đặc tả chức năng của mạch (Circuit) quan trọng nhất như sau:
- Data set Ready (CC)
- Data terminal Ready (CD)
- Ring Indicator (CE)
- Carrier Dectect (CF)
- Signal Quality Detector (CG)
- Data Signal Rate Selector CH)
DTE DCE DCE DTE
DTE DCE DCE DTE
DCE DTE DTE DCE DCE DTE
DCE DTE DCE DTE
- Dữ liệu được tạo bởi DTE
-Dữ liệu nhận được bởi DTE
- DTE muốn truyền dữ liệu
- DCE sẵn sàng để truyền trả lời Request to send
- DCE sẵn sàng làm việc
- DTE sẵn sàng làm việc
- chỉ ra rằng DCE đang nhận một ringing signal trên kênh
- Chỉ ra rằng DCE đang nhận một carrier signal
- Khẳng định khi có căn cứ để tin rằng dữ liệu nhận được đã bị lổi
Trang 20- Protective Ground (AA)
- Signal Ground (AB)
DTE DCE DCE DTE
- clocking signal, các chuyển đổi
on và off xảy ra ở trung tâm của mỗi phần tử tín hiệu
- clocking như trên, liên quan tới mạch BA
- clocking như trên, liên quan tới mạch BB
- Nối với khung máy và có thể với đất bên ngoài
- Thiết lập tiếp đất chung cho mọi mạch
Mỗi chiều có một mạch dữ liệu do vậy có thể chấp nhận phương thức hoạt động hai chiều đồng thời (Full-duplex) Một dây đất được bảo vệ, cách ly, còn lại làm việc như mạch trả lời cho cả hai mạch dữ liệu Các tín hiêu điều khiển được dùng để định nghĩa các đặc tả thủ tục của chuẩn
Trong trường hợp truyền theo phương thức đồng bộ (Synchronous) cần phải có tín hiệu đồng bộ để đồng bộ hóa các bit Hơn nữa, nếu một modem đồng bộ được dùng thì
cả hai chức năng điều chế (Modulation) và giải điều chế (Demodulation) đều đòi hỏi một tín hiệu đồng bộ để thực hiện mã và giải mã tín hiệu Vậy nên, Modem cần cung cấp các đồng hồ gửi và nhận cho các mạch điều khiển giao diện trong các DTE Trường hợp dùng Modem không đồng bộ (Asynchronous) thì không cần có đồng hồ ở trong Modem
Trong trường hợp đặc biệt, khoảng cách giữa các thiết bị quá gần đến mức cho phép hai DTE có thể truyền trực tiếp tín hiệu cho nhau, lúc đó các mạch RS 232 C vẫn
có thể được dùng nhưng không cần có mặt DCE nữa Trong sơ đồ hoạt động ta đưa vào khái niệm Modem có chức năng liên kết các mạch sao cho các DTE bị đánh lừa là chúng vẫn được nối với Modem
1.2.2 Chuẩn RS-449
Nhược điểm chính của chuẩn RS-232-C là hạn chế về tốc độ và khoảng cách Để cải thiện nhược điểm đó, EIA đã đưa ra chuẩn mới để thay thế, đó là chuẩn RS-449 Mặc dù chuẩn RS-232-C vẩn là chuẩn thông dụng nhất cho giao diện DTE/DCE, nhưng chuẩn RS-449 và một số chuẩn khác (RS-442-A và RS-423-A) được áp dụng ngày một rộng rải hơn RS-449 tương tự như RS-232-C và có thể liên tác với chuẩn củ Về phương diện chức năng, RS-449 giữ lại toàn bộ các mạch trao đổi của RS-232-C (trừ mạch AA) và thêm vào 10 mạch mới, trong đó có các mạch quan trọng nhất là: Termiral
in Service (IS), New Signal (NS), Select Frequency (SF), Local Loopback (LL), Remote Loopback (RL), Test mode (TM) Mỗi mạch có một chức năng riêng và việc
Trang 21Cải tiến chủ yếu của RS-449 so với RS-232-C là ở các đặc trưng điện, và các chuẩn RS-442-A, RS-423-A, định nghĩa các đặc trưng đó RS-232-C được thiết kế ở thời đại của các linh kiện điện tử rời rạc còn các chuẩn này đã tiếp nhận các ưu việt của công nghệ mạch tổ hợp (ISDN) RS-423-A sử dụng phương thức truyền không cân bằng đạt tốc độ 3Kbps ở khoảng cách 1000 m và 300 Kbps ở khoảng cách 10 m RS-442-A sử dụng phương thức truyền cân bằng và có thể đạt tộc độ cao hơn: 100Kbps ở 1200m và đạt tới 20 Mbps ở khoảng cách 12m So với tốc độ 20 Kbps của chuẩn RS-232-C thì cao hơn rất đáng kể
1.2.3 Chuẩn X 21
Đây là chuẩn khuyến nghị loại X21 đặc tả một đầu nối 15 chân với các mạch được chỉ ra trong bảng Giống như RS-232-C và R-449, nó có một mạch truyền theo cả hai chiều (T và R) Tuy vậy các mạch đó ở đây có thể cung cấp cả dữ liệu người sử dụng lẩn thông tin điều khiển và còn có thêm hai mạch khác (C và I) tương ứng cho mỗi chiều dành cho thông tin điều khiển và trạng thái Chúng không mang các dữ liệu số mà có thể trạng thái ON hoặc OFF X-21 được định nghĩa chỉ cho chế độ truyền đồng bộ nên có một mạch đồng bộ bít
Bảng định nghĩa mạch X-21:
DTE Common Return (RA) DTE DCE
Trasnmit (T)
Dùng cảc dử liệu người sử dụng lẩn thông tin điều khiển, phụ thuộc vào trạng thái C và I Receiver (R) DEC DTE Như T cho hướng ngược lại
Control (C) DTE DCE Cung cấp thông tin điều khiển
tới DCEIndication (I) DCE DTE Cung cấp các chỉ báo cho DTESignal Element Tinming (S) DCE DTE Thực hiện đồng bộ bít
Byte Tinming (B) DCE DTE Thực hiện đồng bộ byte
X-21 chấp nhận các chế độ truyền cân bằng và không cân bằng như trong
RS-422-A và RS-423-RS-422-A, do vậy có cùng giới hạn tốc độ/khoảng cách
Trong nhiều trường hợp chỉ có chế độ cân bằng được sử dung trên tất cả các mạch Hầu hết các thủ tục định nghĩa cho các mạch X-21 được thực hiện qua một mạng chuyển mạch kênh X-21 thể hiện tính mềm dẻo, hiệu quả hơn so với RS-232-C và RS-
Trang 22Giáo trình Mạng máy tính 22
449 Việc sử dụng các chuổi ký tự điều khiển tạo ra một tập không giới hạn các khả năng tùy chọn dành cho các yêu cầu công nghệ mới
2 Tầng liên kết dữ liệu
2.1 Vai trò và chức năng của tầng liên kết dữ liệu
Việc xây dựng giao thức mạng chuẩn để so sánh đối chiếu các giao thức của các mạng rất quan trọng trong việc xác lập cấu hình, gở rối trong mạng và nâng cao chất lượng về mạng Trên cơ sở của giao thức truyền tin chúng ta nắm được cách thức nhận biết gói tin, kiểm sóat lỗi truyền tin và cơ chế kiểm sóat thông lượng để giải quyết vấn
đề tắc nghẽn thông tin trên mạng
Tầng liên kết dữ liệu (Data link layer) nghiên cứu các thuật tóan thực hiện thông tin hiệu suất, tin cậy giữa hai máy cạnh nhau ở tầng hai Cung cấp các phương tiện để truyền thông tin qua liên kết vật lý đảm bảo tin cậy thông qua cơ chế đồng bộ hóa, kiểm sóat lỗi có thể xảy ra do nhiễu đường truyền, sự trễ do lan truyền và kiểm sóat luồng dữ liệu
Cũng giống như tầng vật lý, có rất nhiều giao thức xây dựng cho tầng liên kết dữ liệu DLP (Data Link Protocol) Các DLP được phân chia thành dị bộ và đồng bộ, trong
đó đồng bộ lại chia thành hai hướng là hướng ký tự và hướng bit
Các DLP 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 đó (ASCII hay EBCDIC) như Kermit, BSC/Basic Mode Trong khi đó, các DLP hướng bit lại dùng cấu trúc nhị phân để xây dựng các phần tử của giao thức Khi nhận, dữ liệu sẽ được tiếp nhận lần lược từng bit một như HDLC, LAP-B, LAP-D, SLIP, PPP Trong phần này chúng ta sẽ khảo sát các giao thức liên kết dữ liệu của tầng hai
2.2 Giao thức hướng ký tự BSC (Binary Synchronous Communication)
BSC là giao thức định hướng ký tự hoạt động ở chế độ bán song công (half-duplex) và điều khiển việc truyền đồng bộ, là giao thức nổi tiếng nhất được IBM phát triển
BSC sử dụng các ký tự đặc biệt sau đây để xây dựng Frame:
SOH (Start Of Header): Bắt đầu Header
STX (Start of TeXt): Bắt đầu vùng dữ liệu
ETX (End of TeXt): Kết thúc vùng dữ liệu
EOT (End Of Transmission): Kết thúc truyền tin
ETB (End of Transmission Block): Ký tự kết thúc đọan tin
ENQ (Enquiry): Yêu cầu trả lời từ một trạm ở xa
DLE (Data Link Escape): thay đổi ý nghĩa của các ký tự điều khiển truyền tin ACK (Acknowledge): Ký tự báo đã nhận tốt thông tin
NAK (Negative Acknowledge): Ký tự báo chưa nhận tốt thông tin
SYN (Synchronous Idle): Ký tự đồng bô bản tin
Khuôn dạng Frame tổng quát của giao thức này như sau:
SOH HEADER STX Text ETX/ETB BCC
Trong đó:
Trang 23Giáo trình Mạng máy tính 23
- Header: bao gồm địa chỉ nơi nhận, số gói tin, điều khiển , biên nhận ACK
- BCC kiểm tra khối ký tự, 8 bit để kiểm tra partity theo chiều dọc cho các ký tự thuộc vùng Text, hoặc 16 bit kiểm tra lỗi theo phương pháp CRC-16
- Trường hợp dữ liệu quá lớn thì có thể chia thành nhiều khối, mỗi khối có cấu trúc Frame như trên
B hoặc trả lời sai thì trạm A tự động chuyển sang trạng thái “phục hồi”
Mời nhận tin: Giả sử trạm A muốn mời trạm B nhận thông tin, trạm A gởi cho
trạm B một lệnh có cấu trúc tương tự như trên, EOT có thể không có Nếu trạm B đã sẵn sàng nhận thông tin thì trạm B gởi cho trạm A một lệnh như sau: ACK
Nếu trạm B không sẵn sàng thì trạm B gởi cho trạm A một lệnh như sau: NAK Nếu sau một khoảng thời gian xác định trước, trạm A không nhận được trả lời của
B hoặc trả lời sai thì trạm A tự động chuyển sang trạng thái “phục hồi”
Yêu cầu trả lời: Khi một trạm có nhu cầu nhận trả lời của trạm kia về thông tin
đã gởi đi trước đó thì trạm đó chỉ cần gởi lệnh: ENQ
Ngừng truyền tin tạm thời: Chỉ cần gởi lệnh: EOT
Giải phóng liên kết: Chỉ cần gởi lệnh:
Trang 24Giáo trình Mạng máy tính 24
* Ví dụ về hoạt động của giao thức BSC
2.3 Giao thức hướng bit HDLC (Hight Level Data Link Control)
Giao thức hướng bit là giao thức được dùng phổ biến hiện nay, tất cả các lọai dữ liệu có thể được truyền dưới dạng bit nghĩa là phải được giải mã thành các bit trước khi truyền Tất cả những giao thức hướng bit đều bắt nguồn từ giao thức HDLC
Giao thức HDLC là chuẩn quốc tế được ISO đề nghị, dùng cho tất cả liên kết số liệu point to point và multipoint Nó hỗ trợ cho đường truyền song công, tiền thân của HDLC là giao thức SDLC (điều khiển liên kết số liệu đồng bộ) của IBM và giao thức điều khiển truyền số liệu cấp cao ADCCP (Advanced Data Communication Control Procedure) của ANSI
HDLC được xây dựng trên cơ sở cấu trúc nhị phân và việc thu hay phát đều tiến hành từng bit một Một đơn vị dữ liệu (Frame) sử dụng trong HDLC có khuôn dạng tổng quát như sau
Trong đó:
+ Cờ: là các mã đóng khung cho Frame, đánh dấu bắt đầu và kết thúc một Frame
Mã này được chọn là: 01111110 Nội dung của byte cờ có thể trùng với thông tin của
Frame Trong trường hợp này, ta thực hiện như sau:
- Khi truyền đi, cứ phát hiện một xâu có năm bit 1 liên tiếp thì tự động chèn thêm 1 bit 0 vào
- Khi nhận, nếu phát hiện có bit 0 sau năm bit 1 liên tiếp thì tự động bỏ bit 0
A ENQ ACK
Trang 25Giáo trình Mạng máy tính 25
+ Điều khiển: là vùng định danh cho các loại Frame khác nhau của HDLC
+ Thông tin: chứa thông tin cần truyền đi
+ FCS: vùng để ghi mã kiểm soát lỗi cho nội dung của Frame Thường sử dụng phương pháp CRC (Cyclic Redundance Check) với đa thức sinh là: CRC-CCITT=X16+X12+X5+1
HDLC sử dụng 3 loại Frame sau đây
I (Information): Mang thông tin hoặc số liệu Các khung I có thể được dùng để
mang thông tin ACK liên quan đến luồng khung I trong hướng ngược lại khi liên kết đang được hoạt động trong SABM và SARM
S (Supervisor): Được dùng để điều khiển luồng và điều khiển lỗi trong quá trình
trao đổi thông tin
N (Unnumbered): Được dùng để thiết lập liên kết theo các phương thức hoạt động
khác nhau và huỷ bỏ liên kết khi cần thiết, đây cũng là Frame điều khiển
Các loại Frame khác nhau được phân biệt bởi các bit trong vùng điều khiển Trường điều khiển của 3 loại Frame có thể tóm tắt như sau:
Loại Frame
Các bit vùng điều khiển
1 2 3 4 5 6 7 8
Với P (Poll): Nếu đó là Frame yêu cầu
F (Final): Nếu đó là Frame trả lời
* Đối với Frame loại U: có 5 bit M để định danh, như vậy sẽ có 25 = 32 Frame loại
U khác nhau Tuy nhiên, chỉ có 5 loại Frame U phổ biến nhất được minh hoạ trong bảng sau
Các bit vùng điều khiển
Tên và ý nghĩa của các Frame
1 2 3 4 5 6 7 8
1 1 0 0 P 0 0 1 SNRM - phương thức trả lời chuẩn
1 1 1 1 P 0 0 0 SARM - Phương thức trả lời dị bộ
1 1 1 1 P 1 0 0 SABM - phương thức dị bộ cân bằng
1 1 0 0 P 0 1 0 DISC (Disconnect), giải phóng liên kết
1 1 0 0 F 1 1 0 UA (Unnumbered Acknowledgement), báo nhận Loại U M M M M M
HDLC định nghĩa 3 phương thức trao đổi thông tin chính tương ứng với 3 Frame như sau
+ SNRM (Set Normal Response Mode): được dùng trong cấu hình không cân
bằng
+ SARM (Set Asynchronous Response Mode): được dùng trong cấu hình không
cân bằng nhưng có nới rộng quyền của trạm tớ nghĩa là cho phép một trạm tớ thiết lập
Trang 26Giáo trình Mạng máy tính 26
đường truyền mà không cần trạm chủ cho phép Chế độ này thường dùng cho cấu hình điểm - điểm với liên kết 2 chiều (Duplex) và cho phép trạm tớ gởi những khung không đồng bộ đối với trạm chủ
+ SABM (Set Asynchronous Balance Mode): được dùng chủ yếu trong những
liên kết điểm - điểm, 2 chiều(duplex), trong đó các trạm có vai trò tương đương
* Đối với Frame loại I: có hai tham số N(S) và N(R) có ý nghĩa như sau
+ N(S): là số thứ tự của Frame I được gửi đi
+ N(R): số thứ tự của Frame I mà trạm gửi đang chờ để nhận và báo nhận tốt các Frame I nhỏ hơn N(R)
* Đối với Frame loại S: có 2 bit S để định danh Như vậy, tối đa sẽ có 4 loại
Frame S như sau
Dùng để yêu cầu truyền/truyền lại các Frame có số thứ tự
từ N(R) trở đi, đồng thời báo nhận tốt các Frame I N(R)
(Receive Not Ready)
Dùng để thông báo trạm gửi RNR đi tạm thời không sẵn sàng nhận tin, đồng thời báo nhận tốt các Frame I N(R)
(Selective Reject)
Dùng để yêu cầu truyền hoặc lại một Frame I duy nhất có
số thứ tự N(R), đồng thời báo nhận tốt các Frame I N(R) Sau đây là ví dụ về hoạt động của HDLC trong chế độ cân bằng dị bộ SABM:
Trạm B
SABM
UA I,0,0 I,1,0 RR,2 I,2,0 RR,3 I,3,0 I,0,4 I,1,4 RR,2 DISC
UA
Trạm A
Trang 27Giáo trình Mạng máy tính 27
* Các giao thức dẫn xuất từ HDLC
Giao thức HDLC là giao thức chuẩn định hướng bit có kết nối, nó được ứng dụng trong rất nhiều mạng hiện nay và tỏ ra là giao thức họat động có hiệu quả trên mạng diện rộng và mạng cục bộ
Rất nhiều trong số các giao thức hướng bit cho tầng 2 là tập con hoặc cải biên từ HDLC như LAP-B, LAP-D,…
+ LAP-B (Link Access Procedure – Balanced) là một bộ phận của HDLC được
dùng để điều khiển việc truyền các gói tin qua liên kết số liệu 2 chiều (duplex), điểm - điểm (point to point) để nối một máy tính đến mạng chuyển mạch gói công cộng LAP-
B tương ứng với phương thức dị bộ cân bằng Máy tính là DTE và tổng đài chuyển mạch gói là DCE LAP-B được dùng để điều khiển việc truyền của những gói tin qua giao diện cục bộ DTE-DCE và vì thế nó có ý nghĩa cục bộ
+ LAP-D (Link Access Procedure – D channel) là một phần của HDLC dùng
cho mạng số đa dịch vụ ISDN (Intergrated Services Digital Network) Nó được định nghĩa
để điều khiển luồng gói tin phù hợp với kênh báo hiệu sau đó được gọi là kênh D, do đó
có khái niệm LAP-D Nó cũng được dùng trong dạng mở rộng để điều khiển luồng gói tin qua một kênh người sử dụng gắn với một dịch vụ gọi là khung trể ISDN giống như
PSTN (Public Switched Telephone Network) là mạng chuyển mạch - trong thực tế là
một đường dẫn ảo phải được thiết lập trước khi bất kỳ thông tin nào được truyền điều này được truyền bằng cách dùng sự phân chia kênh báo hiệu có giao thức khởi tạo riêng
mà LAP-D là một bộ phận tạo thành Dịch vụ kết nối định hướng được dùng để truyền cuộc gọi thiết lập giữa một bộ phận của thiết bị sử dụng điện thoại hoặc DTE và một tổng đài địa phương (chuyển mạch cục bộ)
3 Tầng mạng
3.1 Vai trò và chức năng của tầng mạng
Cấu trúc tầng mạng là cấu trúc phức tạp nhất trong các tầng của mô hình OSI vì lẽ
nó cần phải thỏa mãn đồng thời nhiều yêu cầu kỹ thuật của các mạng vốn rất khác nhau, trong đó có các dịch vụ đa dạng mà các mạng này cung cấp
Hai chức năng cơ bản của tầng mạng là chọn đường và chuyển tiếp qua các nút trung gian Ngoài ra, nó còn thực hiện hàng loạt các chức năng khác như thiết lập, duy trì và giải phóng liên kết logic cho tầng mạng, kiểm tra lỗi, kiểm soát luồng dữ liệu, dồn
và phân kênh,
3.2 Các kỹ thuật chọn đường trong mạng máy tính
3.2.1 Tổng quan về kỹ thuật chọn đường
Chức năng quan trọng nhất của tầng mạng là chọn đường đi tối ưu cho các gói tin
từ trạm nguồn đến trạm đích Kỹ thuật chọn đường (bao gồm cả thuật toán chọn đường,
các tiêu chuẩn thực hiện và sự cập nhật thông tin) là một phần của phần mềm lớp mạng
có nhiệm vụ quyết định chọn một đường ra mà gói tin sẽ được truyền trên đó Một kỹ thuật chọn đường do vậy phải thực hiện 2 chức năng sau đây:
(i) Quyết định chọn đường theo những tiêu chuẩn (tối ưu) nào đó
(ii) Cập nhập thông tin chọn đường, tức là thông tin dùng cho chức năng (i)
Trang 28Giáo trình Mạng máy tính 28
Có rất nhiều kỹ thuật chọn đường khác nhau Sự phân biệt giữa chúng chủ yếu căn
cứ vào các yếu tố liên quan đến 2 chức năng trên
Các yếu tố đó thường là:
(a) Sự phân tán của các chức năng chọn đường trên các nút của mạng
(b) Sự thích nghi với trạng thái hiện hành của mạng
(c) Các tiêu chuẩn (tối ưu) để chọn đường
Dựa trên yếu tố (a) ta có kỹ thuật chọn đường tập trung hoặc phân tán Dựa trên
yếu tố (b) ta có kỹ thuật chọn tĩnh hoặc thích nghi
Cuối cùng, các kỹ thuật chọn đường cùng loại lại có thể phân biệt bởi yếu tố (c) Tiêu chuẩn (tối ưu) để chọn đường được xác định bởi người quản lý hoặc người thiết kế mạng, nó có thể là:
- Độ trễ trung bình của việc truyền gói tin
- Số lượng nút trung gian giữa nguồn và đích của gói tin
- Độ an toàn của việc truyền tin
- Cước phí truyền tin
Việc chọn tiêu chuẩn (tối ưu) như vậy phụ thuộc vào nhiều bối cảnh mạng (thông lượng, mục đích sử dụng ) Các tiêu chuẩn có thể thay đổi vì bối cảnh mạng cũng có thể thay đổi theo thời gian
3.2.2 Kỹ thuật chọn đường tập trung và kỹ thuật chọn đường phân tán
* Kỹ thuật chọn đường tập trung
Đó là giải pháp tồn tại một trung tâm điều khiển mạng thực hiện việc chọn đường, sau đó gửi các bảng chọn đường tới các nút liên quan dọc theo con đường đã chọn đó Thông tin tổng thể của mạng cần dùng cho việc chọn đường chỉ được cất giữ tại trung tâm điều khiển mạng Trung tâm điều khiển sẽ cập nhật các bảng chọn đường theo các thông tin nhận được từ các nút mạng Các nút mạng có thể không gửi thông tin hoặc gửi theo định kỳ hoặc chỉ gửi khi xảy ra một sự kiện nào đó về trung tâm điều khiển
* Kỹ thuật chọn đường phân tán
Đó là giải pháp quyết định chọn đường được thực hiện tại mỗi nút của mạng Điều này đòi hỏi các nút mạng phải trao đổi thông tin với nhau để có thể quyết định gửi thông tin đi theo đường nào
3.2.3 Kỹ thuật chọn đường tĩnh và kỹ thuật chọn đường thích nghi
Trang 29Giáo trình Mạng máy tính 29
* Kỹ thuật chọn đường thích nghi
Kỹ thuật này đã thu hút sự quan tâm đặc biệt những nhà thiết kế mạng do khả năng đáp ứng với các trạng thái khác nhau của mạng Đây là một yếu tố rất quan trọng, đặc biệt đối với các ứng dụng thời gian thực trong đó yếu cầu đầu tiên của người sử dụng mạng là phải có khả năng cung cấp được các con đường khác nhau để dự phòng sự cố
và thích nghi nhanh chóng với các thay đổi trên mạng Mức độ thích nghi này được đặc trưng bởi sự trao đổi thông tin chọn đường trong mạng Đơn giản nhất là không trao đổi
gì hết Mỗi nút (hoặc trung tâm điều khiển trong trường hợp kỹ thuật tập trung) hoạt động một cách độc lập với thông tin riêng của mình để thích nghi với sự thay đổi của mạng theo một phương pháp nào đó Ở mức độ cao hơn, thông tin về trạng thái của mạng có thể được cung cấp từ các nút láng giềng hoặc từ tất cả các nút khác Thông thường, các thông tin được đo lường và sử dụng cho việc chọn đường bao gồm:
- Các trạng thái của đường truyền
Trong kỹ thuật chọn đường phân tán và thích nghi cũng gặp một số các hiện tượng khác nhau Ví dụ như các gói tin bị quẩn trong mạng và không bao giờ đến được đích
3.2.4 Quá trình chọn đường trong mạng TCP/IP
TCP/IP là họ giao thức liên mạng nổi tiếng được Vint Cerf (Đại học Stanford) và Rebert Kahn (BBN) phát triển trong quá trình hình thành và phát triển mạng ARPANET, đó cũng là tiền thân của mạng Internet ngày nay cho phép kết nối các máy tính trên bình diện rộng lớn bao gồm nhiều quốc gia
Cơ sở hạ tầng cho quá trình định tuyến trong mạng TCP/IP bao gồm các thành phần sau:
- Thiết bị định tuyến (Router/Gateway): Có chức năng quyết định đường đi của các
gói tin trên mạng dựa vào thông tin của các bảng định tuyến được lưu trữ tại RAM Một router sẽ phải học các đường (paths) hay các route từ việc cấu hình bằng tay bởi người quản trị hay có thể tự động cập nhật từ các router khác trong
hệ thống dựa vào các giao thức định tuyến
- Bảng định tuyến (Routing Table): là bảng chứa danh sách các đường định tuyến
Bảng định tuyến của mỗi giao thức định tuyến là khác nhau, nhưng có thể bao gồm nhữnh thông tin sau: địa chỉ đích của mạng, mặt nạ mạng của địa chỉ đích, địa chỉ IP của router chặng kế tiếp, cổng giao tiếp vật lý phải sử dụng để đi đến router kế tiếp, khoảng cách đến đích
Trang 30Giáo trình Mạng máy tính 30
- Giao thức định tuyến (Routing Protocol): là ngôn ngữ để một router trao đổi với
router khác để chia sẻ thông tin định tuyến về khả năng đến được cũng như trạng thái của mạng: RIP, IGRP, EIGRP, OSPF, IS-IS
- Đường kết nối (Link Path): Các đường nối kết giữa các nút mạng với nhau
- Các thiết bị đầu cuối (host/terminal): Các thiết bị đầu cuối, nơi gửi và nhận dữ
liệu
Hình 2.2: Các thành phần trong mạng TCP/IP
Bảng định tuyến (tĩnh) lưu trữ trong Router A:
- Phương pháp cố định/tĩnh (Fixed Routing)
- Phương pháp thích nghi/động (Adaptive Routing)
Hầu hết các mạng viễn thông truyền thống được xây dựng theo mô hình mạng phân cấp, mô hình này cho phép sử dụng định tuyến tĩnh trên quy mô lớn Trong khi định tuyến tĩnh vẫn còn tồn tại thì tính chất độc lập giữa người sử dụng và mạng vẫn ở mức cao; định tuyến tĩnh chủ yếu dựa trên mong muốn của người sử dụng nhiều hơn là tình trạng của mạng hiện thời
Mạng hiện đại ngày nay có xu hướng hội tụ các dịch vụ mạng, yêu cầu đặt ra từ phía người sử dụng là rất đa dạng và phức tạp Các phương pháp định tuyến động được
sử dụng nhằm nâng cao hiệu năng của mạng mới này, cho phép người sử dụng tham gia một phần vào quá trình quản lý mạng, tăng thêm tính chủ động, mềm dẻo, đáp ứng tốt hơn yêu cầu người sử dụng dịch vụ
RouterLink Path
Hub/Switch
Host
Trang 31Giáo trình Mạng máy tính 31
3.2.4.1 Phương pháp cố định (Fixed Routing)
* Nguyên lý hoạt động
Quá trình định tuyến theo phương pháp cố định (tĩnh) được thực hiện theo nguyên
lý nội dung dữ liệu trong bảng định tuyến tại các nút mạng được người quản trị mạng cấu hình sẵn và không có sự thay đổi (cập nhật) trong suốt quá trình hoạt động của mạng
Quá trình truy vấn chọn đường được thực hiện như sau
+ Trước tiên lần lượt thực hiện toán tử AND giữa địa chỉ đích đến trong gói với bitmask (Netmask) của route được chọn Mỗi một route trong bảng được phân biệt với nhau bằng đích đến trong mạng của nó
+ Với mỗi route, kết quả thu được sau khi thực hiện phép toán AND sẽ được so sánh với trường địa chỉ đích của route, nếu tương xứng thì điều đó có nghĩa là route có thể được sử dụng để chuyển tiếp nó tin này đến địa chỉ đích của nó Nếu có nhiều route cho kết quả hợp lệ thì sẽ sử dụng route tương xứng dài nhất (route có mặt nạ mạng có bit 1 cao nhất) Nếu đây không phải là một kết quả tương xứng duy nhất thì sẽ sử dụng
sự tương xứng có mức hao phí thấp nhất (Metric) Cuối cùng, nếu có nhiều tương xứng
có cùng một mức hao phí thấp nhất thì sẽ chọn một cách ngẫu nhiên một trong số những route như vậy để sử dụng
+ Sau cùng sẽ sử dụng thuật toán dưới đây để quyết định những gì cần thực hiện tiếp theo:
- Nếu trường Gateway của route tương xứng với địa chỉ của một trong những giao diện mạng trên máy chủ (hoặc nếu Gateway là trống) thì sẽ gửi gói tin trực tiếp đến địa chỉ đích của nó bằng giao diện được chỉ định trong route
- Nếu trường Gateway của route không tương xứng với địa chỉ của bất kỳ giao diện mạng nào trên máy chủ thì Windows sẽ gửi gói tin đến địa chỉ trong trường Gateway của route
Trang 32count
Ví dụ 1: Gói tin có địa chỉ đích là: 128.192.150.24
Sau khi thực hiện phép AND giữa địa chỉ đích và Netmask, ta có kết quả như sau
Entry Netmask
128.192.150.24 AND Netmask
(Router) Network Destination
Trang 33Giáo trình Mạng máy tính 33
Ví dụ 2: Gói tin có địa chỉ đích là: 168.15.44.39
Sau khi thực hiện phép AND giữa địa chỉ đích và Netmask, ta có kết quả như sau
Entry Netmask
168.15.44.39 AND Netmask
(Router) Network Destination
Ví dụ 3: Gói tin có địa chỉ đích là: 193.24.56.149
Sau khi thực hiện phép AND giữa địa chỉ đích và Netmask, ta có kết quả như sau
Entry Netmask
193.24.56.149 AND Netmask
(Router) Network Destination
Hop-0.0.0.0 0.0.0.0 128.192.232.2 128.192.232.250 1
Trang 34Như vậy khác với phương pháp tĩnh, vấn đề dữ liệu trong các bảng định tuyến tại các nút mạng sẽ được tự động cập nhật dựa trên thông tin trạng thái thực tế của hệ thống mạng Định tuyến thích nghi động xây dựng trên hai yếu tố cơ bản: Mô hình tính toán và thông tin trạng thái Có hai kiểu mô hình tính toán sử dụng trong định tuyến động là mô hình tập trung và mô hình phân tán Các thông tin trạng thái được trao đổi và cập nhật theo các giao thức định tuyến (RIP, IGRP, EIGRP, OSPF, IS-IS)
Kỹ thuật định tuyến thích nghi động trong mạng TCP/IP được thực hiện qua các bước sau:
▪ Quyết định chọn đường:
Mỗi nút mạng (router) có một cơ sở dữ liệu mô tả tổng thể trạng thái của mạng (topo, độ trễ truyền dẫn,…) Các thông tin chứa trong cơ sở dữ liệu này được dùng để tính tóan các con đường tối ưu tới các nút khác (tức là tính cây chọn đường - Routing Tree) và đẩy các gói tin (datagram) theo các liên kết ra thích hợp
Giải thuật chọn đường tối ưu là giải thuật của Bellman-Ford hoặc Dijkstra đã được cải tiến Tiêu chuẩn chọn đường được sử dụng trong giải thuật này được tính bởi độ trễ trung bình của các datagram trên các liên kết
▪ Đo độ trễ
Độ trễ của một liên kết được đo như sau: Giả sử
dt là độ trễ truyền một gói tin giữa hai nút hai đầu một liên kết
dp là độ trễ truyền dẫn của liên kết (là hằng số đối với mỗi liên kết)
dq là độ trễ xử lý và đợi trong nút gởi (nút nguồn)
Khi đó, độ trễ tổng cộng d được tính như sau:
- Sau một khỏang thời gian T, ngay cả nếu không có sự thay đổi nào; hoặc
- Ngay sau khi có sự thay đổi trạng thái của một liên kết
▪ Cập nhật nội dung routing table
Với giải thuật chọn đường mô tả ở trên, trong đó mỗi nút phải biết thông tin tổng thể của mạng, vấn đề truyền thông tin chọn đường (ở đây là độ trễ) trở nên rất quan
Trang 35Giáo trình Mạng máy tính 35
trọng Các thông báo cập nhật phải được nhận đúng để cho tất cả cơ sở dữ liệu ở các nút
là như nhau (gắn bó dữ liệu)
Phương pháp cập nhật nội dung routing table trong mạng TCP/IP như sau:
- Mỗi thông báo cập nhật của một nút chứa thông tin về độ trễ của tất cả các liên kết của nút đó
- Mỗi nút gởi thông báo cập nhật của mình tới tất cả các nút láng giềng (sau một khỏang thời gian T hoặc ngay lập tức sau khi có sự thay đổi đối với 1 liên kết)
- Một router láng giềng khi nhận được một broadcast để cập nhật, router này sẽ so sánh với thông tin trong bảng định tuyến hiện giờ Nếu trong các thông tin đó có một mạng mới, hay đường tới một mạng mới mà với độ trễ tốt hơn, chúng sẽ cập nhật vào bảng định tuyến Sau đó router này sẽ tiếp tục broadcast thông tin trong bảng định tuyến của mình cho các router kế tiếp của nó
▪ Xử lý và chuyển gói tin
Sau khi router nhận packet, the router sẽ gỡ bỏ header lớp 2 để tìm địa chỉ đích lớp
3 Sau khi đọc xong địa chỉ đích lớp 3 nó tìm kiếm trong routing table cho địa chỉ đích
đó Giả sử đỉa chỉ đích đó có trong routing table, router sẽ xác định địa chỉ của next-hop Sau đó packet được đẩy ra buffer của interface tương ứng, router sẽ khám phá loại encapsulation lớp 2 nào được sử dụng giữa interface đi ra của gói tin và next-hop Packet được đóng gói và chuyển xuống lớp 2 rồi đưa xuống môi trường truyền dẫn dưới dạng bit, tín hiệu điện, quang…Quá trình này sẽ tiếp tục cho đến khi packet được đưa đến đích
Như vậy một router phải xử lý và cập nhật thông tin bảng định tuyến của mình vừa đồng thời là một bộ chuyển tiếp (repeater) đối với các thông báo cập nhật đến từ các nút láng giềng của nó
Trong hình dưới đây là một ví dụ về Distance Vector Routing protocols (RIP/IGRP), chúng broadcast toàn bộ bảng định tuyến trên toàn bộ các cổng được cấu hình Broadcast này có thể được coi như multicasting Routers sử dụng các giao thức này sẽ không biết chính xác các router bên cạnh mà nó giao tiếp
Hình 2.4: Sơ đồ broadcast thông tin bảng định tuyến trong Distance Vector Routing
Tuy nhiên, có vấn đề nảy sinh khi xảy ra sự phân rã mạng: một nút nào đó bị tách khỏi các nút khác và do vậy không thể nhận được các thông báo cập nhật đến từ các nút khác của mạng Khi sự phân rã kết thúc, các nút vừa bị tách ra có thể nhận được các
thông báo cập nhật “quá hạn” Để cho phép một nút có thể loại bỏ được các thông báo
“quá hạn” không còn giá trị đó, người ta định nghĩa một vùng “tuổi” trong mỗi thông báo cập nhật Khi một thông báo được nhận, “tuổi” của nó được giảm theo số đơn vị
thời gian đo được bởi một đồng hồ đặt ở mỗi nút Một thông báo cập nhật được xem là
“quá hạn” nếu vùng “tuổi” của nó có giá trị 0
Trang 36Giáo trình Mạng máy tính 36
Kỹ thuật truyền các thông báo cập nhật sử dụng trong TCP/IP còn được gọi là kỹ thuật “Intelligent Flooding” vì nó có thể nhận biết được thông báo trùng, vì nó chỉ gởi đi một thông báo mới và sau hết là vì nó gởi một thông báo cập nhật trên tất cả các liên kết,
kể cả liên kết vào (tức là liên kết trên đó thông báo cập nhật vừa được tiếp nhận) Việc gởi thông báo cập nhật cả trên liên kết vào tạo ra một cơ chế báo nhận tự động cho các thông báo đó Khi một nút nhận được từ một nút láng giềng một thông báo có cùng
“tuổi” với thông báo mà nó vừa gởi đi cho nút láng giềng đó thì thông báo nhận được
này sẽ xem như là một thông báo nhận
Hai thuật toán chọn đường thường được sử dụng phổ biến trong kỹ thuật định tuyến thích nghi động là:
- Thuật toán định tuyến theo vector khoảng cách (Distance-Vector Routing)
- Thuật toán định tuyến theo trạng thái liên kết (Link -State Routing)
* Thuật toán định tuyến theo vector khoảng cách (Distance-Vector Routing)
Thuật toán định tuyến theo vector khoảng cách (Distance-Vector Routing) nhằm tính toán con đường ngắn nhất giữa các cặp node (router) trong mạng dựa trên thuật toán Bellman-Ford Các node mạng thực hiện quá trình trao đổi thông tin trên cơ sở của địa chỉ đích, node kế tiếp, và con đường ngắn nhất tới đích
Với thuật toán này, tại mỗi nút, các Router được giả định biết khoảng cách đến mỗi nút láng giềng của nó (có thể là độ trễ) Khi từng T msec mỗi Router gởi cho mỗi láng giềng một danh sách các độ trễ ước tính của nó đến từng nút láng giềng và nó cũng nhận được một danh sách tương tự từ các nút láng giềng
Xét một trong các bảng chọn đường đến từ nút láng giềng X, với Xi là ước tính thời gian X cần đến Router i Nếu Router biết độ trễ đến X là m msec thì nó cũng biết đến router i qua X là (Xi + m) msec Thực hiện phép tính này với mỗi nút láng giềng, một router có thể tìm ra độ trễ tốt nhất (nhỏ nhất) và nó dùng độ trễ này để cập nhật lại giá trị đường tương ứng trong bảng chọn đường mới
Chi tiết của thuật toán Bellman – Ford được mô tả như sau:
- P(S)I : Nút láng giềng mà S đi qua với đường đi ngắn nhất đến node I
- dIJ : trọng số trên cạnh nối trực tiếp từ node I đến node J
dIJ = 0 nếu I trùng J hoặc dIJ = EIJ nếu I khác J
Giải thuật:
- Bước 1: Khởi động
D(S)I = dSI, I V\{S};
Trang 37Giáo trình Mạng máy tính 37
P(S)I = I nếu dSI ∞ hoặc P(S)I = Null nếu dSI = ∞
- Bước 2: Cập nhật đường đi ngắn nhất
D(S)I = min{ dSJ +D(J)I }, J V\{S}
P(S)I = J
- Bước 3: Lặp lại bước 2 cho đến khi không có đường đi mới nào ngắn hơn đường đi đã được tìm thấy, nghĩa là D(S)I không có sự thay đổi qua 2 lần chạy liên tiếp với I V\{S} thì dừng
- Bước 4: Xác định D(S)I sẽ là giá trị đường đi ngắn nhất từ node S đến nút I thông qua nút láng giềng là giá trị của P(S)I
* Thuật toán định tuyến theo trạng thái liên kết (Link -State Routing)
Link-State Routing dựa trên thuật toán Dijkstra, bình thường nó còn được gọi là thuật toán Shortest Path First (SPF) Các router chạy một giao thức Link-State liên quan trực tiếp tới trạng thái (state) của một cổng trên router khác trong hệ thống mạng Một Link-State router xây dựng toàn bộ dữ liệu về tất cả các trạng thái từ tất cả các router trong một vùng Một nghĩa khác, một Link-State router lấy đủ các thông tin để chúng có thể vẽ lên một bản đồ của hệ thống mạng
Mỗi router sau khi chạy thuật toán SPF trong bản đồ do chúng xây dựng, hay dữ liệu về link-state, để nhận ra một đường đi tốt nhất nhằm thiết lập trong routing table Router sẽ quảng bá thông tin Link-State này tới tất cả các router trên mạng Toàn bộ quá trình quảng bá này được gọi là Link-state Advertiesements (LSAs)
Không như Distance Vector Routers, Link-State Routers có thể thiết lập những mỗi quan hệ đặc biệt giữa các router khác để đảm bảo rằng thông tin LSA được truyền một cách hiệu quả nhất để đảm bảo tất cả các rouer trên mạng đều có cái nhìn giống nhau về topo mạng
Hệ thống mạng được xây dựng như một cái cây mà gốc là chính router đó, mỗi router được coi là gốc của mạng và từ đó nó tìm đường đi ngắn nhất tới các mạng sau khi xây dựng được bản đồ hệ thống mạng và chạy thuật toán SPF
Trang 38Giáo trình Mạng máy tính 38
Hình 2.5: Sơ đồ quảng bá thông tin định tuyến trong Link-State Routing
Tóm lại hoạt động của Link-State Routing có thể chia làm 4 bước sau:
- Các router tìm neighbors của mình từ các router nối trực tiếp
- Sau khi tìm được neighbors xong, router gửi các LSA tới các neighbor của nó Sau khi nhận và copy thông tin từ LSA, router sẽ forward hay flood LSA tới các neighbors của nó
- Tất cả các router lưu LSA trong database của nó Điều đó có nghĩa là tất cả các router đều có một cái nhìn giống nhau về topo mạng
- Mỗi router sử dụng thuật toán Dijkstra để tính toán ra đường tốt nhất để đưa vào routing table
Chi tiết của thuật toán Dijkstra được mô tả như sau:
- D(S)I : Đường đi ngắn nhất từ node nguồn S đến node I ở bước hiện tại
- P(S)I : Trình tự đường đi ngắn nhất từ S đến node I ở bước hiện tại
- dIJ : trọng số trên cạnh nối trực tiếp từ node I đến node J
dIJ = 0 nếu I trùng J hoặc dIJ = EIJ nếu I khác J
Giải thuật:
- Bước 1: Khởi động
M = {S};
Trang 39Giáo trình Mạng máy tính 39
D(S)I =dSI; I V\M
P(S)I ={S,I} Nếu dSI ∞ hoặc PI = {} nếu dSI = ∞
- Bước 2: Cập nhật đường đi ngắn nhất
Chọn đỉnh N V sao cho DN = min{D(S)I}, i V\M
M = M U {N}
D(S)J =min{D(S)J,D(S)N + dNJ}, J V\M
P(S)j = P(S)N + {J} /* Nối phần tử J vào cuối dãy*/
- Bước 3: Lặp lại bước 2 cho đến khi M = V
- Bước 4: Xác định D(S)I (i V\M) sẽ là đường đi (độ trễ) ngắn nhất từ nút
S đến nút I với trình tự đường đi theo thứ tự được lưu tại P(S)I.
* Ví dụ minh họa
Minh họa thuật toán định tuyến theo vector khoảng cách (Distance-Vector Routing) trên sơ đồ các nút mạng Router trong mạng TCP/IP được cho như hình dưới đây:
D
A
B
E C
F
2
2
2 1
Hình 2.6: Sơ đồ minh họa định tuyến theo vecto khỏang cách
▪ Xây dựng và cập nhật nội dung routing table tại các nút mạng (router)
Xét tại thời điểm khởi động, nội dung của các routing table tại các nút mạng (router) như sau:
Trang 40- Đi qua B: D(A)B = dAB + D(B)B = 2 + 0 = 2
- Đi qua C: D(A)B = dAC + D(C)B = 1 + 2 = 3
- Đi qua D: D(A)B = dAD + D(D)B = 5 + 3 = 8
Như vậy D(A)B = min(2, 3, 8) = 2 và lúc này P(A)B = B
• Cập nhật đường đi từ A – C:
- Đi qua B: D(A)C = dAB + D(B)C = 2 + 2 = 2
- Đi qua C: D(A)C = dAC + D(C)C = 1 + 0 = 1
- Đi qua D: D(A)C = dAD + D(D)C = 5 + 3 = 8
Như vậy D(A)C = min(2, 1, 8) = 1 và lúc này P(A)C = C
• Cập nhật đường đi từ A – D:
- Đi qua B: D(A)D = dAB + D(B)D = 2 + 3 = 5
- Đi qua C: D(A)D = dAC + D(C)D = 1 + 3 = 4
- Đi qua D: D(A)D = dAD + D(D)D = 5 + 0 = 5
Như vậy D(A)D = min(5, 4, 5) = 4 và lúc này P(A)D = C
• Cập nhật đường đi từ A – E:
- Đi qua B: D(A)E = dAB + D(B)E = 2 + ∞ = ∞
- Đi qua C: D(A)E = dAC + D(C)E = 1 + 1 = 2
- Đi qua D: D(A)E = dAD + D(D)E = 5 + 1 = 6
Như vậy D(A)E = min(∞, 2, 6) = 2 và lúc này P(A)E = C
• Cập nhật đường đi từ A – F:
- Đi qua B: D(A)F = dAB + D(B)F = 2 + ∞ = ∞
- Đi qua C: D(A)F = dAC + D(C)F = 1 + ∞ = ∞
- Đi qua D: D(A)F = dAD + D(D)F = 5 + 5 = 10
Như vậy D(A)F = min(∞,∞, 10) = 10 và lúc này P(A)F = D
Dưới đây là kết quả cập nhật nội dung của các routing table trong quá trình trao đổi thông tin định tuyến giữa các nút mạng