Tài liệu tham khảo công nghệ thông tin Đồ án quản trị mạng máy tính
Trang 1TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ VIỄN THÔNG
Trang 2Phần 1: Tổng quan về mạng máy tính
I Định nghĩa Mạng Máy Tính:
Mạng máy tính là một nhóm các máy tính, thiết bị ngoại vi được kết nối với nhau thông quacác phương tiện truyền dẫn như cáp, sóng điện từ, tia hồng ngoại…giúp cho các thiết bị này
có thể trao đổi dữ liệu với nhau một cách dễ dàng
Ngày nay với một lượng lớn về thông tin, nhu cầu xử lý thông tin ngày càng cao Mạng máytính hiện nay trở nên quá quen thuộc đối với chúng ta, trong mọi lĩnh vực như khoa học, quân
sự, quốc phòng, thương mại, dịch vụ, giáo dục Hiện nay ở nhiều nơi mạng đã trở thànhmột nhu cầu không thể thiếu được Người ta thấy được việc kết nối các máy tính thànhmạng cho chúng ta những khả năng mới to lớn như:
Sử dụng chung tài nguyên : Những tài nguyên của mạng (như thiết bị, chương trình,
dữ liệu) khi được trở thành các tài nguyên chung thì mọi thành viên của mạng đều có thể tiếpcận được mà không quan tâm tới những tài nguyên đó ở đâu
Tăng độ tin cậy của hệ thống: Người ta có thể dễ dàng bảo trì máy móc và lưu trữ
(backup) các dữ liệu chung và khi có trục trặc trong hệ thống thì chúng có thể được khôi phụcnhanh chóng Trong trường hợp có trục trặc trên một trạm làm việc thì người ta cũng có thể
sử dụng những trạm khác thay thế
Nâng cao chất lượng và hiệu quả khai thác thông tin: Khi thông tin có thể được dùng
chung thì nó mang lại cho người sử dụng khả năng tổ chức lại các công việc với những thayđổi về chất như:
Đáp ứng những nhu cầu của hệ thống ứng dụng kinh doanh hiện đại
Cung cấp sự thống nhất giữa các dữ liệu
Tăng cường năng lực xử lý nhờ kết hợp các bộ phận phân tán
Tăng cường truy nhập tới các dịch vụ mạng khác nhau đang được cung cấp trên thếgiới
III Phân loại mạng máy tính:
1 Mạng cục bộ LAN (Local Area Network):
Mạng LAN là một nhóm các máy tính và các thiết bị truyền thông mạng được nối kết với nhautrong một khu vực nhỏ như một toà nhà cao ốc, khuôn viên trường đại học, khu giải trí…
Các mạng LAN thường có các đặc điểm sau đây:
Trang 3 Băng thông lớn có khả năng chạy các ứng dụng trực tuyến như xem phim, hội thảoqua mạng.
Kích thước mạng bị giới hạn bởi các thiết bị
Chi phí các thiết bị mạng LAN tương đối rẻ
Quản trị đơn giản
Hình 1.1
2 Mạng đô thị MAN (Metropolitan Area Network):
Mạng MAN gần giống như mạng LAN nhưng giới hạn của nó là một thành phố hay mộtquốc gia Mạng MAN nối kết các mạng LAN lại với nhau thông qua các phương tiện truyềndẫn khác nhau (cáp quang, cáp đồng, sóng…) và các phương thức truyền thông khácnhau
Đặc điểm của mạng MAN :
Băng thông mức trung bình, đủ để phục vụ các ứng dụng cấp thành phố hay quốc gianhư chính phủ điện tử, thương mại điện tử, các ứng dụng của các ngân hàng…
Do MAN nối kết nhiều LAN với nhau nên độ phức tạp cũng tăng đồng thời việc quản
lý sẽ khó khăn hơn
Chi phí các thiết bị mạng MAN tương đối đắt tiền
3 Mạng diện rộng WAN (Wide Area Network):
Mạng WAN bao phủ vùng địa lý rộng lớn có thể là một quốc gia, một lục địa hay toàn cầu.Mạng WAN thường là mạng của các công ty đa quốc gia hay toàn cầu điển hình là mạngInternet Do phạm vi rộng lớn của mạng WAN nên thông thường mạng WAN là tập hợp cácmạng LAN, MAN nối lại với nhau bằng các phương tiện như: vệ tinh (satellites), sóng viba(microwave), cáp quang, cáp điện thoại
Đặc điểm của mạng WAN:
Trang 4 Băng thông thấp, dễ mất kết nối thường chỉ phù hợp với các ứng dụng online nhưe-mail, web, ftp…
Phạm vi hoạt động rộng lớn không giới hạn
Do kết nối của nhiều LAN, MAN lại với nhau nên mạng rất phức tạp và có tính toàncầu nên thường là các tổ chức quốc tế đứng ra qui định và quản lý
Chi phí cho các thiết bị và các công nghệ mạng WAN rất đắt tiền
Hình 1.2
4 Mạng Internet:
Mạng Internet là trường hợp đặc biệt của mạng WAN, nó chứa các dịch vụ toàn cầu nhưMail, Web, Chat, FTP và phục vụ miễn phí cho mọi người
IV Sự phân biệt giữa mạng cục bộ và mạng diện rộng:
Mạng cục bộ và mạng diện rộng có thể được phân biệt bởi: địa phương hoạt động, tốc độđường truyền và tỷ lệ lỗi trên đường truyền, chủ quản của mạng, đường đi của thông tin trênmạng, dạng chuyển giao thông tin
Địa phương hoạt động: Liên quan đến khu vực địa lý thì mạng cục bộ sẽ là mạng liên kết
các máy tính nằm ở trong một khu vực nhỏ Khu vực có thể bao gồm một tòa nhà hay làmột khu nhà Điều đó hạn chế bởi khoảng cách đường dây cáp được dùng để liên kếtcác máy tính của mạng cục bộ (hạn chế đó còn là hạn chế của khả năng kỹ thuật củađường truyền dữ liệu) Ngược lại mạng diện rộng là mạng có khả năng liên kết các máytính trong một vùng rộng lớn như là một thành phố, một miền, một đất nước, mạng diện rộngđược xây dựng để nối hai hoặc nhiều khu vực địa lý riêng biệt
Tốc độ đường truyền và tỷ lệ lỗi trên đường truyền : Do các đường cáp của
mạng cục bộ được xây dựng trong một khu vực nhỏ cho nên nó ít bị ảnh hưởng bởi tác độngcủa thiên nhiên (như là sấm chớp, ánh sáng ) Điều đó cho phép mạng cục bộ có thể truyền
dữ liệu với tốc độ cao mà chỉ chịu một tỷ lệ lỗi nhỏ Ngược lại với mạng diện rộng do phảitruyền ở những khoảng cách khá xa với những đường truyền dẫn dài có khi lên tới hàng
Trang 5ngàn km Do vậy mạng diện rộng không thể truyền với tốc độ quá cao vì khi đó tỷ lệ lỗi
sẽ trở nên khó chấp nhận được
Mạng cục bộ thường có tốc độ truyền dữ liệu từ 4 đến 16 Mbps và đạt tới 100 Mbps nếudùng cáp quang Còn phần lớn các mạng diện rộng cung cấp đường truyền có tốc độ thấp hơnnhiều như T1 với 1.544 Mbps hay E1 với 2.048 Mbps (Ở đây bps (Bit Per Second) là mộtđơn vị trong truyền thông tương đương với 1 bit được truyền trong một giây, ví dụ như tốc độđường truyền là 1 Mbps tức là có thể truyền tối đa 1 Megabit trong 1 giây trên đường truyềnđó)
Thông thường trong mạng cục bộ tỷ lệ lỗi trong truyền dữ liệu vào khoảng 1/107- 108 còntrong mạng diện rộng thì tỷ lệ đó vào khoảng 1/106 - 107
Chủ quản và điều hành của mạng: Do sự phức tạp trong việc xây dựng, quản lý, duy trì
các đường truyền dẫn nên khi xây dựng mạng diện rộng người ta thường sử dụng các đườngtruyền được thuê từ các công ty viễn thông hay các nhà cung cấp dịch vụ truyền số liệu Tùytheo cấu trúc của mạng những đường truyền đó thuộc cơ quan quản lý khác nhau như các nhàcung cấp đường truyền nội hạt, liên tỉnh, liên quốc gia Các đường truyền đó phải tuân thủ cácquy định của chính phủ các khu vực có đường dây đi qua như: tốc độ, việc mã hóa
Còn đối với mạng cục bộ thì công việc đơn giản hơn nhiều, khi một cơ quan cài đặt mạngcục bộ thì toàn bộ mạng sẽ thuộc quyền quản lý của cơ quan đó
Đường đi của thông tin trên mạng: Trong mạng cục bộ thông tin được đi theo con đường
xác định bởi cấu trúc của mạng Khi người ta xác định cấu trúc của mạng thì thông tin sẽ luônluôn đi theo cấu trúc đã xác định đó Còn với mạng diện rộng dữ liệu cấu trúc có thể phức tạphơn nhiều do việc sử dụng các dịch vụ truyền dữ liệu Trong quá trình hoạt động các điểm nút
có thể thay đổi đường đi của các thông tin khi phát hiện ra có trục trặc trên đường truyền haykhi phát hiện có quá nhiều thong tin cần truyền giữa hai điểm nút nào đó Trên mạng diệnrộng thông tin có thể có các con đường đi khác nhau, điều đó cho phép có thể sử dụng tối đacác năng lực của đường truyền hay nâng cao điều kiện an toàn trong truyền dữ liệu
Dạng chuyển giao thông tin: Phần lớn các mạng diện rộng hiện nay được phát triển cho
việc truyền đồng thời trên đường truyền nhiều dạng thông tin khác nhau như: video, tiếngnói, dữ liệu Trong khi đó các mạng cục bộ chủ yếu phát triển trong việc truyền dữ liệuthông thường Điều này có thể giải thích do việc truyền các dạng thông tin như video, tiếngnói trong một khu vực nhỏ ít được quan tâm hơn như khi truyền qua những khoảng cách lớn.Các hệ thống mạng hiện nay ngày càng phức tạp về chất lượng, đa dạng về chủng loại vàphát triển rất nhanh về chất Trong sự phát triển đó số lượng những nhà sản xuất từ phầnmềm, phần cứng máy tính, các sản phẩm viễn thông cũng tăng nhanh với nhiều sản phẩm đadạng Chính vì vậy vai trò chuẩn hóa cũng mang những ý nghĩa quan trọng Tại các nước các
Trang 6cơ quan chuẩn quốc gia đã đưa ra các những chuẩn về phần cứng và các quy định về giao tiếpnhằm giúp cho các nhà sản xuất có thể làm ra các sản phẩm có thể kết nối với các sản phẩm
1 Mô hình xử lý mạng trung tâm:
Toàn bộ các tiến trình xử lý diễn ra tại máy tính trung tâm Các máy trạm cuối(Terminals) được nối mạng với máy tính trung tâm và chỉ hoạt động như những thiết bị nhậpxuất dữ liệu cho phép người dùng xem trên màn hình và nhập liệu bàn phím Cácmáy trạm đầu cuối không lưu trữ và xử lý dữ liệu Mô hình xử lý mạng trên có thể triển khaitrên hệ thống phần cứng hoặc phần mềm được cài đặt trên Server
Ưu điểm: dữ liệu được bảo mật an toàn, dễ backup và diệt virus Chi phí các thiết bị thấp Khuyết điểm: khó đáp ứng được các yêu cầu của nhiều ứng dụng khác nhau, tốc độ truy
xuất chậm
Hình 1.3
2 Mô hình xử lý mạng phân phối:
Các máy tính có khả năng hoạt động độc lập, các công việc được tách nhỏ và giao cho nhiềumáy tính khác nhau thay vì tập trung xử lý trên máy trung tâm Tuy dữ liệu được xử lý và lưutrữ tại máy cục bộ nhưng các máy tính này được nối mạng với nhau nên chúng có thể traođổi dữ liệu và dịch vụ
Ưu điểm: truy xuất nhanh, phần lớn không giới hạn các ứng dụng.
Khuyết điểm: dữ liệu lưu trữ rời rạc khó đồng bộ, backup và rất dễ nhiễm virus.
Trang 7Hình 1.4
3 Mô hình xử ký mạng công tác:
Mô hình xử lý mạng cộng tác bao gồm nhiều máy tính có thể hợp tác để thực hiện một côngviệc Một máy tính có thể mượn năng lực xử lý bằng cách chạy các chương trình trêncác máy nằm trong mạng
Ưu điểm: rất nhanh và mạnh, có thể dùng để chạy các ứng dụng có các phép toán lớn
Khuyết điểm: các dữ liệu được lưu trữ trên các vị trí khác nhau nên rất khó đồng bộ và
backup, khả năng nhiễm virus rất cao
VI Các mô hình quản lý mạng:
VII Các mô hình ứng dụng mạng:
1 Mạng ngang hang (Peer to Peer):
Mạng ngang hàng cung cấp việc kết nối cơ bản giữa các máy tính nhưng không có bất kỳmột máy tính nào đóng vai trò phục vụ Một máy tính trên mạng có thể vừa là Client vừa làServer Trong môi trường này người dùng trên từng máy tính chịu trách nhiệm điềuhành và chia sẻ tài nguyên của máy tính mình Mô hình này chỉ phù hợp với tổ chức nhỏ, sốngười giới hạn (thông thường nhỏ hơn 10 người) và không quan tâm đến vấn đề bảo mật
Trang 8Mạng ngang hàng thường dùng các hệ điều hành sau: Win95, Windows forWorkgroup, WinNT Workstation, Win2000 Proffessional, OS/2…
Ưu điểm: Do mô hình mạng ngang hàng đơn giản nên dễ cài đặt, tổ chức và quản trị, chi phí
thiết bị cho mô hình này thấp
Khuyết điểm: Không cho phép quản lý tập trung nên dữ liệu phân tán, khả năng bảo mật
thấp rất dễ bị xâm nhập Các tài nguyên không được sắp xếp nên rất khó định vị và tìm kiếm
Hình 1.5
2 Mạng khách chủ (Client-Server)
Trong mô hình mạng khách chủ có một hệ thống máy tính cung cấp các tài nguyên và dịch
vụ cho cả hệ thống mạng sử dụng gọi là các máy chủ (Server) Một hệ thống máytính sử dụng các tài nguyên và dịch vụ này được gọi là máy khách (Client) CácServer thường có cấu hình mạnh (tốc độ xử lý nhanh, kích thước lưu trữ lớn) hoặc là các máychuyên dụng
Hệ điều hành mạng dùng trong mô hình Client - Server là WinNT, Novell Netware,Unix,Win2K…
Ưu điểm: Do các dữ liệu được lưu trữ tập trung nên dễ bảo mật, backup và đồng bộ với
nhau Tài nguyên và dịch vụ được tập trung nên dễ chia sẻ và quản lý và có thể phục vụ chonhiều người dùng
Khuyết điểm: Các Server chuyên dụng rất đắt tiền, phải có nhà quản trị cho hệ
thống
Hình 1.6
Trang 9VIII Kiến trúc mạng cục bộ:
1 Hình trang mạng (Network Topology):
Topology mạng: Cách kết nối các máy tính với nhau về mặt hình học mà ta gọi là tô pô của
mạng
Có 2 kiểu nối mạng chủ yếu đó là:
Nối kiểu điểm – điểm (point – to – point)
Nối kiểu điểm – nhiều điểm (point – to – multipoint hay broadcast)
Point to Point: 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 sao đó chuyển tiếp dữ liệu đi cho tới đích Do cách làm việc nhưvậy 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)
Point to multipoint: Tất cả các nút phân chia nhau một đường truyền vật lý
chung Dữ liệu gửi đi từ một nút nào đó sẽ được tiếp nhận bởi tất cả các nút còn lại trênmạng, bởi vậy chỉ cần chỉ ra địa chỉ đích của dữ liệu để căn cứ vào đó các nút tra xem dữliệu đó có phải gửi cho mình không
2 Mạng hình sao (Star):
Mạng hình sao có tất cả các trạm được kết nối với một thiết bị trung tâm có nhiệm vụ nhậntín hiệu từ các trạm và chuyển đến trạm đích Tuỳ theo yêu cầu truyền thông trênmạng mà thiết bị trung tâm có thể là Switch, router, hub hay máy chủ trung tâm Vai tròcủa thiết bị trung tâm là thiết lập các liên kết Point to Point
Ưu điểm: Thiết lập mạng đơn giản, dễ dàng cấu hình lại mạng (thêm, bớt các trạm),
dễ dàng kiểm soát và khắc phục sự cố, tận dụng được tối đa tốc độ truyền của đường truyềnvật lý
Khuyết điểm: Độ dài đường truyền nối một trạm với thiết bị trung tâm bị hạn chế (trong
vòng 100m, với công nghệ hiện nay)
Hình 1.7
3 Mạng trục tuyến tính (Bus):
Tất cả các trạm phân chia một đường truyền chung (bus) Đường truyền chính được
Trang 10giới hạn hai đầu bằng hai đầu nối đặc biệt gọi là terminator Mỗi trạm được nối với trục chínhqua một đầu nối chữ T (T-connector) hoặc một thiết bị thu phát (transceiver).
Mô hình mạng Bus hoạt động theo các liên kết Point to Multipoint hay Broadcast
Ưu điểm: Dễ thiết kế, chi phí thấp.
Khuyết điểm: Tính ổn định kém, chỉ một nút mạng hỏng là toàn bộ mạng bị ngừng hoạt
Mạng hình vòng có ưu, nhược điểm tương tự như mạng hình sao, tuy nhiên mạng hình vòngđòi hỏi giao thức truy nhập mạng phức tạp hơn mạng hình sao
Ngoài ra còn có các kết nối hỗn hợp giữa các kiến trúc mạng trên như: Star Bus, Star Ring
Trang 11Chương này sẽ trình bày về cách thức để nối kết những mạng không đồng nhất lại với nhau.
Có hai vấn đề quan trọng cần phải quan tâm khi nối kết các mạng: tính không đồng nhất(heterogeneity) và phạm vi (scale) khác nhau của chúng Giải thích một cách đơn giản, tínhkhông đồng nhất là khi người dùng trên hai mạng khác kiểu nhau muốn giao tiếp với nhau.Phức tạp hơn một chút, ta có thể thấy việc nối kết các host trên các mạng khác nhau có thể sẽđòi hỏi việc duyệt qua nhiều mạng trung gian, mà các mạng trung gian này lại có thể có kiểukhác nhau Chúng có thể là mạng Ethernet, Token Ring hay mạng dạng điểm nối điểm, hoặcnhiều kiểu mạng hoán chuyển (switch) khác nhau, và chúng lại sử dụng các phương thức đánhđịa chỉ riêng, các phương pháp truy cập đường truyền riêng và cả mô hình dịch vụ riêng nữa.Thách thức đối với vấn đề không đồng nhất là làm sao cung cấp cho người dùng một dịch vụnối kết host-host dễ hiểu xuyên qua mớ hỗn độn các mạng không đồng nhất Để hiểu về vấn
đề phạm vi mạng, ta lấy một ví dụ có giá trị là sự phát triển của mạng Internet, mạng có tốc
độ phát triển gần gấp đôi sau mỗi năm trong vòng 20 năm qua Kiểu phát triển chóng mặt nàybuộc chúng ta phải đối mặt với nhiều thách thức Một trong số đó là việc vạch đường: Làmsao để tìm ra một đường đi hữu hiệu xuyên qua một mạng gồm cả triệu nút mạng? Thêm mộtvấn đề có liên quan đến vạch đường là phương pháp đánh địa chỉ, là cách gán cho mỗi núttrên mạng một định danh duy nhất
Tầng mạng có nhiệm vụ đưa các gói tin từ máy gởi qua các chặn đường để đến được máynhận
Để đến được đích đến, gói tin có thể phải đi từng bước một qua nhiều router trung gian.Điều này thì trái ngược với tầng liên kết dữ liệu vốn chỉ chịu trách nhiệm truyền tải các khung
đi từ đầu này đến đầu kia của một kênh truyền vật lý
Để thực hiện được nhiệm vụ này, tầng mạng phải biết được hình trạng của mạng đường trục(subnet) và chọn đường thích hợp để cho gói tin đi Nó phải chú ý đến việc chọn đường saocho tránh được tình trạng tắc nghẽn trên một số đường truyền và router trong khi số khác thì
Trang 12đồ thị tương ứng với các đường nối kết mạng Mỗi cạnh có một chi phí đính kèm, là thông sốchỉ ra cái giá phải trả khi lưu thông trên nối kết mạng đó.
Vấn đề cơ bản của việc vạch đường là tìm ra đường đi có chi phí thấp nhất giữa hai nútmạng bất kỳ, trong đó chi phí của đường đi được tính bằng tổng chi phí khi đi qua tất cả cáccạnh làm thành đường đi đó Nếu không có một đường đi giữa hai nút, thì độ dài đường đigiữa chúng được xem như bằng vô cùng
2 Mục tiêu của giải thuật chọn đường:
Xác định đướng đi nhanh chóng, chính xác
Khả năng thích nghi được với những thay đổi về hình trạng mạng
Khả năng thích nghi được với những thay đổi về tải đường truyền
Khả năng tránh được các nối kết bị tắt nghẽn tạm thời
Chi phí tính toán để tìm ra được đường đi phải thấp
3 Phân loại giải thuật chọn đường:
Giải thuật chọn đường có thể được phân thành những loại sau:
Chọn đường tập trung (Centralized routing): Trong mạng có một Trung tâm điềukhiển mạng (Network Control Center) chịu trách nhiệm tính toán và cập nhật thông tin
về đường đi đến tất cả các điểm khác nhau trên toàn mạng cho tất cả các router
Chọn đường phân tán (Distributed routing): Trong hệ thống này, mỗi router phải tự
Trang 13tính toán tìm kiếm thông tin về các đường đi đến những điểm khác nhau trên mạng.
Để làm được điều này, các router cần phải trao đổi thông tin quan lại với nhau
Chọn đường tĩnh (Static routing): Trong giải thuật này, các router không thể tự cậpnhật thông tin về đường đi khi hình trạng mạng thay đổi Thông thường nhà quảnmạng sẽ là người cập nhật thông tin về đường đi cho router
Chọn đường động (Dynamic routing): Trong giải thuật này, các router sẽ tự động cậpnhật lại thông tin về đường đi khi hình trạng mạng bị thay đổi
4 Các giải thuật tìm đường tối ưu:
Đường đi tối ưu từ A đến B là đường đi “ngắn” nhất trong số các đường đi có thể Tuy nhiênkhái niệm “ngắn” nhất có thể được hiểu theo nhiều ý nghĩa khác nhau tùy thuộc vào đơn vịdùng để đo chiều dài đường đi Đối với các router, các đại lượng sau có thể được sử dụng để
đo độ dài đường đi:
Số lượng các router trung gian phải đi qua (HOP)
Độ trì quản trung bình của các gói tín
Cước phí truyền tin
Mỗi giải thuật chọn đường trước tiên phải chọn cho mình đơn vị đo chiều dài đường đi
Để xác định được đường đi tối ưu, các giải thuật chọn đường sử dụng phương pháp đồ thị đểtính toán Trước tiên, nó mô hình hóa hình trạng mạng thành một đồ thị có các đặc điểm nhưsau:
Nút là các router
Cạnh nối liền 2 nút là đường truyền nối hai router
Trên mỗi cạnh có giá đó là chiều dài đường đi giữa 2 router thông qua đường truyềnnối hai router
Chiều dài đường đi từ nút A đến nút B là tổng tất cả các giá của các cạnh nằm trênđường đi Nếu không có đường đi giữa 2 router thì xem như giá là vô cùng Trên đồthị này sẽ thực hiện việc tính toán tìm đường đi ngắn nhất
Hình 2.2 Mô hình hóa mạng thành đồ thị
a Giải thuật tìm đường đi ngắn nhất Dijkstra:
Mục đích là để tìm đường đi ngắn nhất từ một nút cho trước trên đồ thị đến các nút còn lại
Trang 14trên mạng.
Giải thuật được mô tả như sau:
Gọi:
S là nút nguồn cho trước
N: là tập hợp tất cả các nút đã xác định được đường đi ngắn nhất từ S
Di: là độ dài đường đi ngắn nhất từ nút nguồn S đến nút i
lij: là giá của cạnh nối trực tiếp nút i với nút j, sẽ là ∞ nếu không có cạnh nối trựctiếp giữa i và j
Pj là nút cha của của nút j
Bước 1: Khởi tạo
Nếu N chứa tất cả các nút của đồ thị thì dừng Ngược lại sang Bước 3
Bước 3: Tính lại giá đường đi nhỏ nhất
Với mỗi nút j không thuộc N: Tính lại Dj= min{ Dj, Di+ l ij} ; Pj=i;
5, 6, bước kế tiếp router 1 cần gởi gói tin đến là router số 3 (next hop)
Chú ý, đường ngắn nhất này chỉ đúng theo hướng từ nút số 1 về các nút còn lại và chỉ đúngcho nút số 1 mà thôi
Thông thường giải thuật Dijkstra được sử dụng theo mô hình chọn đường tập trung Trong
Trang 15đó, Trung tâm điều khiển mạng sẽ tìm cây đường đi ngắn nhất cho từng router trên mạng và
từ đó xây dựng bảng chọn đường tối ưu cho tất cả các router
Hình 2.3 Đường đi ngắn nhất từ nút 1
b Giải thuật chọn đường tối ưu Ford-Fulkerson:
Mục đích của giải thuật này là để tìm đường đi ngắn nhất từ tất cả các nút đến một nút đíchcho trước trên mạng
Giải thuật được mô tả như sau:
Bước 2: Cập nhật giá đường đi ngắn nhất từ nút i đến nút d
oDi= min{ lij+ Dj} với j≠i => Ci = j;
oLặp lại cho đến khi không còn Di nào bị thay đổi giá trị
Ví dụ, cho sơ đồ mạng có hình trạng như đồ thị hình H6.8 Hãy tìm đường đi ngắn nhất từ nútkhác trên đồ thị đến nút 6
Trang 16Từ kết quả trên ta vẽ lại được cây đường đi ngắn nhất từ các nút khác nhau về nút đích số 6như hình 2.4 Cây này cho phép xác định đường đi tối ưu từ những nút khác nhau về nút số 6.Chẳng hạn tại nút 1, để đi về nút số 6 thì bước kế tiếp phải đi là nút số 3 Tương tự, tại nút 2,
để đi về nút số 6 thì bước kế tiếp phải đi là nút số 4
Giải thuật này được sử dụng theo mô hình phân tán Ở đó mỗi router sẽ tự tính toán, tìm cây
có đường đi ngắn nhất từ các nút khác về nó Từ đó suy ra đường đi tối ưu cho các nút khácđến nó và gởi các đường đi này đến từng nút trên mạng
Hình 2.4 Cây đường đi ngắn nhất về nút 6
c Giải pháp vạch đường Vector Khoảng cách (Distance Vector):
Ý tưởng của Distance-Vector như sau: Mỗi nút thiết lập một mảng một chiều (vector) chứakhoảng cách (chi phí) từ nó đến tất cả các nút còn lại và sau đó phát vector này đến tất cả cácnút láng giềng của nó Giả thiết đầu tiên trong Distance-Vector là: mỗi nút phải biết được chiphí của các đường nối từ nó đến tất cả các nút láng giềng có đường nối kết trực tiếp với nó.Một nối kết bị đứt (down) sẽ được gán cho chi phí có giá trị vô cùng
Để xem xét giải thuật vạch đường Distance-Vector hoạt động như thế nào, cách dễ nhất làxem xét đồ thị được cho như trong hình Hình 2.5
Hình 2.5 Một mạng làm ví dụ trong giải thuật Distance-VectorTrong ví dụ này, chi phí trên mỗi đường nối đều được đặt là 1 Chúng ta có thể biểu diễn sựhiểu biết của các nút về khoảng cách từ chúng đến các nút khác như trong bảng 2.1
Trang 17Thông tin được lưu tại các nút
có thể tìm đến B qua một bước nhảy (hop) và rằng nó không thể đi đến D được Bảng vạchđường lưu tại A thể hiện những niềm tin mà A có được, ngoài ra còn lưu thêm nút kế tiếp mà
A cần phải đi ra để đến một nút nào đó Khởi đầu, bảng vạch đường của nút A trông giốngnhư trong bảng 2.2
Đích (Destination) Chi phí (Cost) Nút kế tiếp (Next Hop)
đi đến D thông qua C với chi phí là 2, và chi phí này nhỏ hơn chi phí cũ là vô cùng Cùng lúc
A cũng học từ C rằng, nó có thể đi đến B thông qua C với chi phí là 2, nhưng chi phí này lạilớn hơn chi phí cũ là 1, vì thế thông tin mới này bị bỏ qua
Tại thời điểm này, A có thể cập nhật lại bảng chọn đường của nó với chi phí và nút ra kếtiếp để có thể đi đến tất cả các nút khác trong mạng Kết quả được cho trong bảng H2.3
Trang 18Đích (Destination) Chi phí (Cost) Nút kế tiếp (Next Hop)
Thông tin được lưu tại các nút
có hai tình huống khác nhau mà tại đó một nút quyết định gởi thông tin vạch đường của mìnhcho các nút láng giềng kề bên Tình huống đầu tiên là sự cập nhật theo chu kỳ (periodicupdate) Trong tình huống này, mỗi nút tự động gởi bản cập nhật thường xuyên, ngay cả khikhông có thay đổi gì trong đó cả Điều này giúp cho các nút khác biết được nút hiện tại đangcòn sống Vả lại việc cập nhật thường xuyên còn giúp cho các nút láng giềng có thể có đượcthông tin vạch đường nhanh chóng trong trường hợp thông tin của chúng bị mất Tần số phátthông tin vạch đường đi có thể khác nhau tùy vào giải thuật, chúng thường có giá trị từ vàigiây đến vài phút Tình huống thứ hai gọi là sự cập nhật do bị kích hoạt (triggered update).Tình huống này xảy ra mỗi khi có sự thay đổi thông tin trong bảng vạch đường của nút Nghĩa
là mỗi khi bảng vạch đường có sự thay đổi, nút sẽ gởi bản cập nhật này cho các láng giềng
Trang 19Bây giờ ta xem xét điều gì xảy ra khi một đường nối kết hay một nút bị hỏng Những nútđầu tiên phát hiện ra điều này sẽ gởi thông tin vạch đường mới cho láng giềng của chúngngay, và thông thường hệ thống sẽ ổn định với tình trạng mới một cách nhanh chóng Còn đốivới câu hỏi làm sao nút phát hiện ra sự cố, có nhiều câu trả lời khác nhau Cách tiếp cận thứnhất là: một nút liên tục kiểm tra đường nối tới các nút láng giềng khác bằng cách gởi các góitin điều khiển tới chúng và kiểm tra xem nó có nhận được các gói tin trả lời hay không Cáchtiếp cận khác là: một nút phát hiện ra một đường nối kết (hay nút ở đầu kia của đường nối)gặp sự cố khi nó không nhận được thông tin vạch đường một cách định kỳ từ láng giềng củanó.
Ví dụ, xem xét điều gì sẽ xảy ra khi F phát hiện ra đường nối từ nó đến G bị hỏng Đầu tiên,
F đặt chi phí của đường nối từ nó đến A thành vô cùng và gởi thông tin này đến A Do A đãbiết là cần 2 bước để đi từ nó đến G thông qua F, A sẽ đặt lại chi phí từ nó đến G là vô cùng.Tuy nhiên, với bản cập nhật kế tiếp từ C, A phát hiện ra rằng có một đường đi dài 2 hops từ Cđến G, do đó nó sẽ cập nhật lại đường đi từ nó đến G dài 3 hops thông qua C Và khi A quảngcáo thông tin này cho F, F lại cập nhật lại đường đi dài 4 hops đến G thông qua A
Không may là: một số tình huống phát sinh lỗi khác lại làm cho mạng mất ổn định nghiêmtrọng Giả sử nối kết từ A đến E bị đứt Trong những chu kỳ cập nhật sau, A thông báo đường
đi từ nó đến E dài vô cùng, nhưng B và C lại quảng cáo đường đi từ chúng đến E dài 2 hops.Nếu các bản cập nhật được định thời để phát cùng lúc, B sẽ sửa lại độ dài đường đi từ nó đến
E là 3 thông qua C, C sửa lại độ dài đường đi từ nó đến E là 3 thông qua B Sau đó A lại nghe
B và C quảng cáo độ dài đường đi từ chúng đến E là 3 và giả sử A chọn B là nút kế tiếp để điđến E, nó sẽ cập nhật lại độ dài đoạn đường là 4 Đến chu kỳ kế tiếp, B nghe C nói độ dài từ Cđến E là 3 nên cập nhật lại độ dài đường đi từ B đến E là 4 thông qua C, C thì làm ngược lại:sửa lại con đường từ nó đến E là 4 thông qua B Rồi lại đến lượt A nghe B sửa lại độ dài từ Ađến E là 5 thông qua B Sự thể sẽ tiếp diễn cho đến khi các độ dài tăng đến một số có thể coi
là vô cùng Nhưng tại thời điểm này, không nút nào biết là E không thể đến được, và các bảng
vạch đường trong mạng luôn không ổn định Tình huống này được gọi là vấn đề “đếm tới vô
cùng” (count-to-infinity problem).
Có vài giải pháp giải quyết một phần vấn đề “đếm tới vô cùng” Giải pháp thứ nhất là dùng
một số khá nhỏ để coi như gần bằng vô cùng Ví dụ như chúng ra có thể quyết định số lượngbước nhảy (hop) tối đa để đi qua một mạng là không quá 16, và do đó ta chọn 16 là số gầnbằng vô cùng Con số này ít ra cũng giới hạn được thời gian mà các nút có thể phải bỏ ra đểđếm tới vô cùng Tuy nhiên giải pháp này có thể gặp vấn đề nếu một số nút mạng được chiatách và mạng có thể cần nhiều hơn 16 bước nhảy để duyệt hết nó
Một kỹ thuật khác dùng để cải thiện thời gian dùng để ổn định hóa mạng được gọi là kỹ thật
Trang 20“chia tầm nhìn” (split horizon) Ý tưởng là: khi một nút gởi một bảng cập nhật vạch đường
cho các láng giềng của nó, nó sẽ không gởi những thông tin vạch đường mà nó đã nhận từmột nút láng giềng ngược lại chính nút láng giềng đó Ví dụ như nếu B có một đường đi (E, 2,A) trong bảng vạch đương của nó, B chắc hẳn phải biết rằng nó học con đường này từ A, vìthế mỗi khi B gởi thông tin cập nhật cho A nó sẽ không gởi con đường (E, 2) trong đó Tuynhiên giải pháp này chỉ tốt khi nó xoay quanh 2 nút mà thôi
III Các giải thuật chống tắt nghẽn:
Khi có quá nhiều gói tin hiện diện trong một mạng con (hoặc một phần của nó), hiệu nănghoạt động của hệ thống bị giảm Tình trạng này được gọi là “tắc nghẽn”
Hình 2.6Hình 2.6 mô tả lại hiện tượng tắc nghẽn Khi số lượng gói tin chạy trong mạng con nằmdưới ngưỡng cho phép, chúng đều được phân phối đến đích (ngoại trừ những gói tin bị lỗi), và
số lượng gói tin được phân phối tỉ lệ thuận với số lượng gói tin được phát ra lúc đầu Tuynhiên, khi mật độ giao thông tăng quá cao, các router không còn đáp ứng kịp nữa và chúngdần dần đánh mất một số gói tin Điều này có xu hướng làm cho vấn đề tắc nghẽn nghiêmtrọng thêm Khi mà giao thông cực cao, hiệu năng hệ thống sụp đổ hoàn toàn và hầu nhưkhông gói tin nào được phân phát đến đích
Có vài yếu tố góp phần gây ra tắc nghẽn Nếu đột nhiên nhiều luồng mang các gói tin đếnmột nút tại nhiều ngõ vào, và tất cả các gói tin này đều cần một ngõ ra, thì một hàng đợi sẽxuất hiện Nếu không đủ bộ nhớ để lưu các gói tin trên hàng đợi này, một số gói tin sẽ bị mất.Tăng thêm bộ nhớ chỉ giúp không mất gói tin trong hàng đợi, nhưng Nagle (1987) đã chỉ rarằng: nếu một router có bộ nhớ vô hạn, sự tắc nghẽn lại càng tồi tệ hơn! Lý do là khi mà góitin đến được đầu của hàng đợi thì nó đã bị mãn kỳ (timed out), và do đó sẽ có nhiều phiên bảntrùng với gói tin đó được bên gởi gởi đến router, làm tăng thêm tải của mọi hướng đi đến đích
Trang 21của gói tin.
Các bộ xử lý chậm cũng có thể gây ra tắc nghẽn Nếu CPU của router xử lý các gói tin trungchuyển qua nó chậm, hàng đợi cũng sẽ phát sinh, cho dù dung lượng các đường nối vào và rađều vượt yêu cầu
Tóm lại, đường truyền băng thông thấp có thể gây ra tắc nghẽn Nâng cấp đường truyềnnhưng năng lực xử lý của bộ xử lý tại router yếu cũng gây ra tắc nghẽn Thành thử, nâng cấpmột phần mà không phải là toàn bộ hệ thống chỉ đẩy sự tắc nghẽn từ nơi này đến nơi khác màthôi Vấn đề phát sinh từ sự bất cân đối giữa các bộ phận của hệ thống, và nó chỉ qua đi khi
mà các bộ phận này được giữ cân bằng với nhau
1 Các nguyên tắc chung để điều khiển tắt nghẽn:
Nhiều bài toán trong các hệ thống phức tạp, ví dụ như trong mạng máy tính, có thể đượcxem xét theo quan điểm của lý thuyết điều khiển (control theory) Cách tiếp cận này dẫn đếnviệc chia các giải pháp thành hai loại: vòng đóng và vòng mở (closed loop and open loop).Các giải pháp dạng vòng đóng cố gắng giải quyết vấn đề tắc nghẽn bằng cách đưa ra thiết kếtốt cho mạng, thực chất là để đảm bảo tắt nghẽn sẽ không xảy ra Một khi mạng được khởiđộng và chạy, sẽ không có việc sửa chữa giữa kỳ
Các công cụ thực hiện việc điều khiển kiểu vòng mở bao gồm việc quyết định khi nào nênchấp nhận luồng giao thông mới, quyết định khi nào thì bỏ qua các gói tin và bỏ qua gói nào.Tất cả các công cụ trên đều có đặc điểm chung là chúng đưa ra các quyết định mà không quantâm đến trạng thái hiện hành của mạng
Ngược lại, các giải pháp kiểu vòng đóng dựa trên quan niệm về chu trình phản hồi thông tin.Cách tiếp cận này bao gồm 3 phần:
a Giám sát hệ thống để phát hiện nơi nào và khi nào xảy ra tắc nghẽn
b Chuyển thông tin đến những nơi cần có những hành động ứng phó
c Điều chỉnh lại hoạt động của hệ thống để khắc phục sự cố
Nhiều kiểu đo lường có thể được sử dụng để giám sát một mạng con để phát hiện ra tắcnghẽn ở đó Các kiểu đo lường thường dùng nhất là tỉ lệ các gói tin bị bỏ qua do thiếu khônggian trữ đệm, chiều dài trung bình của các hàng đợi, số lượng các gói tin bị mãn kỳ và đượctái truyền, thời gian trì hoãn gói tin trung bình Trong mọi tình huống, các số đo tăng đồngnghĩa với việc tăng tắc nghẽn
Bước thứ hai trong chu trình phản hồi là chuyển thông tin về tắc nghẽn từ điểm được pháthiện bị tắc nghẽn đến điểm có trách nhiệm xử lý tình huống đó Cách dễ nhất là để cho routerphát hiện ra tắc nghẽn phát thông báo đến nút nguồn vừa gởi thông tin đến làm tắc hệ thống
Dĩ nhiên, thông báo này làm cho tắc nghẽn tăng thêm tạm thời
Một cách thông báo tắc nghẽn khác là: Người ta dành riêng một bit hoặc một trường trong
Trang 22gói tin để trong trường hợp có tắc nghẽn, router có thể bật bit hoặc trường này lên và gởi nóđến mọi ngõ ra nhằm thông báo cho các láng giềng của nó biết.
Hoặc cũng có thể dùng cách phản hồi sau: Cho các host hoặc router thường xuyên gởi cácgói tin thăm dò ra ngoài để hỏi thẳng về tình hình tắc nghẽn Thông tin này có thể được sửdụng để chuyến hướng vạch đường vòng qua khu vực bị tắc nghẽn Ví dụ thực tế: Một số đàiphát thanh thường phái một số máy bay trực thăng bay vòng quanh thành phố để báo cáo lạinhững trục đường bị tắc, từ đó thông báo đến thính giả giúp họ chuyển hướng lái xe tránhnhững điểm nóng
Sự hiện diện của tắc nghẽn đồng nghĩa với việc: tài nguyên của hệ thống không đủ để tảigánh nặng thông tin truyền qua Vì thế ta nghĩ ra hai giải pháp: tăng tài nguyên hoặc giảm tải
Ví dụ, một mạng con có thể bắt đầu sử dụng các đường điện thoại quay số để tạm thời tăngbăng thông giữa một số điểm nào đó Trong các hệ thống vệ tinh, việc tăng công suất truyềnđồng nghĩa với việc cung cấp băng thông lớn hơn Chia tách lưu lượng thông tin cho chúngchạy trên nhiều đường đi khác nhau cũng có thể giúp tăng băng thông Cuối cùng, các router
dự phòng (thường để dự phòng tình huống các router chính bị sự cố) có thể được mang rachạy trực tuyến để tăng dung lượng truyền tải của hệ thống khi tắc nghẽn nghiêm trọng xảyra
Tuy nhiên, đôi khi ta không thể tăng tài nguyên của hệ thống lên nữa, hoặc tài nguyên đãtăng tối đa Cách thức duy nhất để chống lại tắc nghẽn là giảm tải Có nhiều cách giảm tải, vídụ: từ chối phục vụ một số người dùng, giảm cấp dịch vụ đối với vài hoặc tất cả người dùng,
và buộc người dùng cung cấp lịch trình phát ra yêu cầu của họ
Một giải thuật vạch đường tốt có thể giúp tránh được tắc nghẽn bằng cách trải đều giaothông trên tất cả đường nối, trong khi một giải thuật tồi chỉ đơn giản gởi quá nhiều thông tinlên một đường tải đã quá tải rồi Cuối cùng, việc quản lý thời gian sống của gói tin sẽ phảiđưa ra quyết định là một gói tin có thể sống bao lâu trong hàng đợi trước khi bị hủy bỏ Thờigian sống quá dài sẽ làmtrì trệ công việc rất lâu Nhưng nếu thời gian sống quá ngắn, các góitin thỉnh thoảng sẽ bị mãn kỳ(timed-out) trước khi chúng đến được đích, vì thế dẫn đến việc
Trang 23tái truyền.
IV Định Tuyến:
1 Tổng quát:
Định tuyến (routing) là quá trình chọn lựa các đường đi trên một mạng máy tính để gửi dữ
liệu qua đó Việc định tuyến được thực hiện cho nhiều loại mạng, trong đó có mạng điệnthoại, liên mạng, Internet, mạng giao thông
Routing sẽ chỉ ra hướng, sự di chuyển của các gói (dữ liệu) được đánh địa chỉ từ mạngnguồn của chúng, hướng đến đích cuối thông qua các node trung gian; thiết bị phần cứngchuyên dùng được gọi là router (bộ định tuyến) Tiến trình định tuyến thường chỉ hướng đidựa vào bảng định tuyến, đó là bảng chứa những lộ trình tốt nhất đến các đích khác nhau trênmạng Vì vậy việc xây dựng bảng định tuyến, được tổ chức trong bộ nhớ của router, trở nên
vô cùng quan trọng cho việc định tuyến hiệu quả
Routing khác với bridging (bắc cầu) ở chỗ trong nhiệm vụ của nó thì các cấu trúc địa chỉ gợinên sự gần gũi của các địa chỉ tương tự trong mạng, qua đó cho phép nhập liệu một bảng địnhtuyến đơn để mô tả lộ trình đến một nhóm các địa chỉ Vì thế, routing làm việc tốt hơnbridging trong những mạng lớn, và nó trở thành dạng chiếm ưu thế của việc tìm đường trênmạng Internet
Các mạng nhỏ có thể có các bảng định tuyến được cấu hình thủ công, còn những mạng lớnhơn có topo mạng phức tạp và thay đổi liên tục thì xây dựng thủ công các bảng định tuyến là
vô cùng khó khăn Tuy nhiên, hầu hết mạng điện thoại chuyển mạch chung (public switchedtelephone network - PSTN) sử dụng bảng định tuyến được tính toán trước, với những tuyến
dự trữ nếu các lộ trình trực tiếp đều bị nghẽn Định tuyến động (dynamic routing) cố gắng giảiquyết vấn đề này bằng việc xây dựng bảng định tuyến một cách tự động, dựa vào những thôngtin được giao thức định tuyến cung cấp, và cho phép mạng hành động gần như tự trị trongviệc ngăn chặn mạng bị lỗi và nghẽn
Định tuyến động chiếm ưu thế trên Internet Tuy nhiên, việc cấu hình các giao thức địnhtuyến thường đòi hỏi nhiều kinh nghiệm; đừng nên nghĩ rằng kỹ thuật nối mạng đã phát triểnđến mức hoàn thành tự động việc định tuyến Cách tốt nhất là nên kết hợp giữa định tuyến thủcông và tự động
Những mạng trong đó các gói thông tin được vận chuyển, ví dụ như Internet, chia dữ liệuthành các gói, rồi dán nhãn với các đích đến cụ thể và mỗi gói được lập lộ trình riêng biệt.Các mạng xoay vòng, như mạng điện thoại, cũng thực hiện định tuyến để tìm đường cho cácvòng (ví dụ như cuộc gọi điện thoại) để chúng có thể gửi lượng dữ liệu lớn mà không phảitiếp tục lặp lại địa chỉ đích
Trang 24Định tuyến IP truyền thống vẫn còn tương đối đơn giản vì nó dùng cách định tuyến bước kếtiếp (next-hop routing), router chỉ xem xét nó sẽ gửi gói thông tin đến đâu, và không quan tâmđường đi sau đó của gói trên những bước truyền còn lại Tuy nhiên, những chiến lược địnhtuyến phức tạp hơn có thể được, và thường được dùng trong những hệ thống như MPLS,ATM hay Frame Relay, những hệ thống này đôi khi được sử dụng như công nghệ bên dưới để
hỗ trợ cho mạng IP
2 Các lớp thuật toán định tuyến:
a Thuật toán vector (distance-vector routing protocols):
Thuật toán này dùng thuật toán Bellman-Ford Phương pháp này chỉ định một con số, gọi làchi phí (hay trọng số), cho mỗi một liên kết giữa các node trong mạng Các node sẽ gửi thôngtin từ điểm A đến điểm B qua đường đi mang lại tổng chi phí thấp nhất (là tổng các chi phícủa các kết nối giữa các node được dùng)
Thuật toán hoạt động với những hành động rất đơn giản Khi một node khởi động lần đầu,
nó chỉ biết các node kề trực tiếp với nó, và chi phí trực tiếp để đi đến đó (thông tin này, danhsách của các đích, tổng chi phí của từng node, và bước kế tiếp để gửi dữ liệu đến đó tạo nênbảng định tuyến, hay bảng khoảng cách) Mỗi node, trong một tiến trình, gửi đến từng “hàngxóm” tổng chi phí của nó để đi đến các đích mà nó biết Các node “hàng xóm” phân tíchthông tin này, và so sánh với những thông tin mà chúng đang “biết”; bất kỳ điều gì cải thiệnđược những thông tin chúng đang có sẽ được đưa vào các bảng định tuyến của những “hàngxóm” này Đến khi kết thúc, tất cả node trên mạng sẽ tìm ra bước truyền kế tiếp tối ưu đến tất
cả mọi đích, và tổng chi phí tốt nhất
Khi một trong các node gặp vấn đề, những node khác có sử dụng node hỏng này trong lộtrình của mình sẽ loại bỏ những lộ trình đó, và tạo nên thông tin mới của bảng định tuyến Sau
đó chúng chuyển thông tin này đến tất cả node gần kề và lặp lại quá trình trên Cuối cùng, tất
cả node trên mạng nhận được thông tin cập nhật, và sau đó sẽ tìm đường đi mới đến tất cả cácđích mà chúng còn tới được
b Thuật toán trạng thái kết nối ( Link-state routing protocols ):
Khi áp dụng các thuật toán trạng thái kết nối, mỗi node sử dụng dữ liệu cơ sở của nó như làmột bản đồ của mạng với dạng một đồ thị Để làm điều này, mỗi node phát đi tới tổng thểmạng những thông tin về các node khác mà nó có thể kết nối được, và từng node góp thôngtin một cách độc lập vào bản đồ Sử dụng bản đồ này, mỗi router sau đó sẽ quyết định vềtuyến đường tốt nhất từ nó đến mọi node khác
Thuật toán đã làm theo cách này là Dijkstra, bằng cách xây dựng cấu trúc dữ liệu khác, dạngcây, trong đó node hiện tại là gốc, và chứa mọi noded khác trong mạng Bắt đầu với một câyban đầu chỉ chứa chính nó Sau đó lần lượt từ tập các node chưa được thêm vào cây, nó sẽ
Trang 25thêm node có chi phí thấp nhất để đến một node đã có trên cây Tiếp tục quá trình đến khi mọinode đều được thêm.
Cây này sau đó phục vụ để xây dựng bảng định tuyến, đưa ra bước truyền kế tiếp tốt ưu, …
để từ một node đến bất kỳ node khác trên mạng
c So sánh các thuật toán định tuyến:
Các giao thức định tuyến với thuật toán vector tỏ ra đơn giản và hiệu quả trong các mạngnhỏ, và đòi hỏi ít (nếu có) sự giám sát Tuy nhiên, chúng không làm việc tốt, và có tài nguyêntập hợp ít ỏi, dẫn đến sự phát triển của các thuật toán trạng thái kết nối tuy phức tạp hơnnhưng tốt hơn để dùng trong các mạng lớn Giao thức vector kém hơn với rắc rối về đếm đến
vô tận
Ưu điểm chính của định tuyến bằng trạng thái kết nối là phản ứng nhanh nhạy hơn, và trongmột khoảng thời gian có hạn, đối với sự thay đổi kết nối Ngoài ra, những gói được gửi quamạng trong định tuyến bằng trạng thái kết nối thì nhỏ hơn những gói dùng trong định tuyếnbằng vector Định tuyến bằng vector đòi hỏi bảng định tuyến đầy đủ phải được truyền đi,trong khi định tuyến bằng trạng thái kết nối thì chỉ có thông tin về “hàng xóm” của node đượctruyền đi Vì vậy, các gói này dùng tài nguyên mạng ở mức không đáng kể Khuyết điểmchính của định tuyến bằng trạng thái kết nối là nó đòi hỏi nhiều sự lưu trữ và tính toán đểchạy hơn định tuyến bằng vector
3 Giao thức được định tuyến và giao thức định tuyến:
a Giao thức được định tuyến (routed protocols hay routable protocols):
Một giao thức đã được định tuyến là bất kỳ một giao thức mạng nào cung cấp đầy đủ thôngtin trong địa chỉ tầng mạng của nó để cho phép một gói tin được truyền đi từ một máy chủ(host) đến máy chủ khác dựa trên sự sắp xếp về địa chỉ, không cần biết đến đường đi tổng thể
từ nguồn đến đích Giao thức đã được định tuyến định nghĩa khuôn dạng và mục đích của cáctrường có trong một gói Các gói thông thường được vận chuyển từ hệ thống cuối đến một hệthống cuối khác Hầu như tất cả giao thức ở tầng 3 các giao thức khác ở các tầng trên đều cóthể được định tuyến, IP là một ví dụ Nghĩa là gói tin đã đuợc định hướng (có địa chỉ rõ ràng)giống như lá thư đã được ghi địa chỉ rõ chỉ còn chờ routing (tìm đường đi đến địa chỉ đó)Các giao thức ở tầng 2 như Ethernet là những giao thức không định tuyến được, vì chúng chỉchứa địa chỉ tầng liên kết, không đủ để định tuyến: một số giao thức ở tầng cao dựa trực tiếpvào đây mà không có thêm địa chỉ tầng mạng, như NetBIOS, cũng không định tuyến được
b Giao thức định tuyến (routing protocols):
Giao thức định tuyến được dùng trong khi thi hành thuật toán định tuyến để thuận tiện choviệc trao đổi thông tin giữa các mạng, cho phép các router xây dựng bảng định tuyến mộtcách linh hoạt Trong một số trường hợp, giao thức định tuyến có thể tự chạy đè lên giao thức
Trang 26đã được định tuyến: ví dụ, BGP chạy đè trên TCP: cần chú ý là trong quá trình thi hành hệthống không tạo ra sự lệ thuộc giữa giao thức định tuyến và đã được định tuyến.
c Danh sách các giao thức định tuyến:
Giao thức định tuyến trong
o Router Information Protocol (RIP)
o Open Shortest Path First (OSPF)
o Intermediate System to Intermediate System (IS-IS)
o Hai giao thức sau đây thuộc sở hữa của Cisco, và được hỗ trợ bởi các routerCisco hay những router của những nhà cung cấp mà Cisco đã đăng ký côngnghệ:
Interior Gateway Routing Protocol (IGRP)
Enhanced IGRP (EIGRP)
Giao thức định tuyến ngoài
o Exterior Gateway Protocol (EGP)
o Border Gateway Protocol (BGP)
o Constrained Shortest Path First (CSPF)
4 Thông số định tuyến:
Một thông số định tuyến bao gồm bất kỳ giá trị nào được dùng bởi thuật toán định tuyến để xác định một lộ trình có tốt hơn lộ trình khác hay không Các thông số có thể là những thông tin như băng thông (bandwidth), độ trễ (delay), đếm bước truyền, chi phí đường đi, trọng số, kích thước tối đa gói tin (MTU - Maximum transmission unit), độ tin cậy, và chi phí truyền thông Bảng định tuyến chỉ lưu trữ những tuyến tốt nhất có thể, trong khi cơ sở dữ liệu trạng thái kết nối hay topo có thể lưu trữ tất cả những thông tin khác
Router dùng tính năng phân loại mức tin cậy (administrative distance -AD) để chọn đường
đi tốt nhất khi nó “biết” hai hay nhiều đường để đến cùng một đích theo các giao thức khác nhau AD định ra độ tin cậy của một giao thức định tuyến Mỗi giao thức định tuyến được ưu tiên trong thứ tự độ tin cậy từ cao đến thấp nhất có một giá trị AD Một giao thức có giá trị
AD thấp hơn thì được tin cậy hơn, ví dụ: OSPF có AD là 110 sẽ được chọn thay vì RIP có AD
là 120
Trang 27Bảng sau đây cho biết sự sắp xếp mức tin cậy được dùng trong các router Cisco
Giao thức Administrative distance
Giao thức định tuyến trong mạng Ad-hoc xuất hiện ở những mạng không có hoặc ít
phương tiện truyền dẫn
Interior Gateway Protocols (IGPs) trao đổi thông tin định tuyến trong một AS Các
ví dụ thường thấy là:
o IGRP (Interior Gateway Routing Protocol)
o EIGRP (Enhanced Interior Gateway Routing Protocol)
o OSPF (Open Shortest Path First)
o RIP (Routing Information Protocol)
o IS-IS (Intermediate System to Intermediate System)
Exterior Gateway Protocols (EGPs) định tuyến giữa các AS EGPs gồm:
o EGP (giao thức cũ để nối mạng Internet trước đây, bây giờ đã lỗi thời)
o BGP (Border Gateway Protocol: phiên bản hiện tại, BGPv4, có từ khoảng năm1995)
Trang 28Phần 3: Mô hình TCP/IP
Giao thức TCP/IP được phát triển từ mạng ARPANET và Internet và được dùngnhư giao thức mạng và vận chuyển trên mạng Internet TCP (Transmission ControlProtocol) là giao thức thuộc tầng vận chuyển và IP (Internet Protocol) là giao thức thuộctầng mạng của mô hình OSI Họ giao thức TCP/IP hiện nay là giao thức được sử dụng rộngrãi nhất để liên kết các máy tính và các mạng
Hiện nay các máy tính của hầu hết các mạng có thể sử dụng giao thức TCP/IP để liên kếtvới nhau thông qua nhiều hệ thống mạng với kỹ thuật khác nhau Giao thức TCP/IP thựcchất là một họ giao thức cho phép các hệ thống mạng cùng làm việc với nhau thông qua việccung cấp phương tiện truyền thông liên mạng
1 Tổng quát:
Nhiệm vụ chính của giao thức IP là cung cấp khả năng kết nối các mạng con thành liên kếtmạng để truyền dữ liệu, vai trò của IP là vai trò của giao thức tầng mạng trong mô hìnhOSI Giao thức IP là một giao thức kiểu không liên kết (connectionless) cónghĩa là không cần có giai đoạn thiết lập liên kết trước khi truyền dữ liệu
2 Các giao thức trong mạng IP:
Để mạng với giao thức IP hoạt động được tốt người ta cần một số giao thức bổ sung,các giao thức này đều không phải là bộ phận của giao thức IP và giao thức IP sẽ dùng đếnchúng khi cần
Giao thức ARP (Address Resolution Protocol): Ở đây cần lưu ý rằng các địa chỉ IP được
dùng để định danh các host và mạng ở tầng mạng của mô hình OSI, và chúng không phải làcác địa chỉ vật lý (hay địa chỉ MAC) của các trạm trên đó một mạng cục bộ (Ethernet, TokenRing) Trên một mạng cục bộ hai trạm chỉ có thể liên lạc với nhau nếu chúng biết địa chỉ vật
lý của nhau Như vậy vấn đề đặt ra là phải tìm được ánh xạ giữa địa chỉ IP (32 bits) và địa chỉvật lý của một trạm Giao thức ARP đã được xây dựng để tìm địa chỉ vật lý từ địa chỉ IP khicần thiết
Giao thức RARP (Reverse Address Resolution Protocol): Là giao thức ngược với
giao thức ARP Giao thức RARP được dùng để tìm địa chỉ IP từ địa chỉ vật lý
Giao thức ICMP (Internet Control Message Protocol): Giao thức này thực hiện truyền
các thông báo điều khiển (báo cáo về các tình trạng các lỗi trên mạng) giữa các gateway hoặcmột nút của liên mạng Tình trạng lỗi có thể là: một gói tin IP không thể tới đích của
nó, hoặc một router không đủ bộ nhớ đệm để lưu và chuyển một gói tin IP, một thông báo
Trang 29ICMP được tạo và chuyển cho IP IP sẽ "bọc" (encapsulate) thông báo đó với một IPheader và truyền đến cho router hoặc trạm đích.
3 Các bước hoạt động của IP:
Khi giao thức IP được khởi động nó trở thành một thực thể tồn tại trong máy tính và bắt đầuthực hiện những chức năng của mình, lúc đó thực thể IP là cấu thành của tầng mạng, nhận yêucầu từ các tầng trên nó và gửi yêu cầu xuống các tầng dưới nó
Đối với thực thể IP ở máy nguồn, khi nhận được một yêu cầu gửi từ tầng trên, nó thực hiệncác bước sau đây:
1 Tạo một IP datagram dựa trên tham số nhận được
2 Tính checksum và ghép vào header của gói tin
3 Ra quyết định chọn đường: hoặc là trạm đích nằm trên cùng mạng hoặc một gateway sẽđược chọn cho chặng tiếp theo
4 Chuyển gói tin xuống tầng dưới để truyền qua mạng
Đối với router, khi nhận được một gói tin đi qua, nó thực hiện các động tác sau:
1 Tính chesksum, nếu sai thì loại bỏ gói tin
2 Giảm giá trị tham số Time - to Live Nếu thời gian đã hết thì loại bỏ gói tin
3 Ra quyết định chọn đường
4 Phân đoạn gói tin, nếu cần
5 Kiến tạo lại IP header, bao gồm giá trị mới của các vùng Time - to -Live, Fragmentation
và Checksum
6 Chuyển datagram xuống tầng dưới để chuyển qua mạng
Cuối cùng khi một datagram nhận bởi một thực thể IP ở trạm đích, nó sẽ thực hiện bởi cáccông việc sau:
1 Tính checksum Nếu sai thì loại bỏ gói tin
2 Tập hợp các đoạn của gói tin (nếu có phân đoạn)
3 Chuyển dữ liệu và các tham số điều khiển lên tầng trên
TCP là một giao thức "có liên kết" (connection - oriented), nghĩa là cần phải thiết lập liênkết giữa hai thực thể TCP trước khi chúng trao đổi dữ liệu với nhau Một tiến trình ứng dụngtrong một máy tính truy nhập vào các dịch vụ của giao thức TCP thông qua một cổng (port)của TCP Số hiệu cổng TCP được thể hiện bởi 2 bytes
Trang 30H 3.1: Cổng truy nhập dịch vụ TCPMột cổng TCP kết hợp với địa chỉ IP tạo thành một đầu nối TCP/IP (socket) duynhất trong liên mạng Dịch vụ TCP được cung cấp nhờ một liên kết logic giữa một cặp đầunối TCP/IP Một đầu nối TCP/IP có thể tham gia nhiều liên kết với các đầu nối TCP/IP ở xakhác nhau Trước khi truyền dữ liệu giữa 2 trạm cần phải thiết lập một liên kết TCP giữachúng và khi không còn nhu cầu truyền dữ liệu thì liên kết đó sẽ được giải phóng.
Các thực thể của tầng trên sử dụng giao thức TCP thông qua các hàm gọi (function calls)trong đó có các hàm yêu cầu: để yêu cầu, để trả lời Trong mỗi hàm còn có các tham số dànhcho việc trao đổi dữ liệu
Các bước thực hiện để thiết lập một liên kết TCP/IP: Thiết lập một liên kết mới có thể
được mở theo một trong 2 phương thức: chủ động (active) hoặc bị động (passive)
Phương thức bị động, người sử dụng yêu cầu TCP chờ đợi một yêu cầu liên kết gửiđến từ xa thông qua một đầu nối TCP/IP (tại chỗ) Người sử dụng dùng hàm passiveOpen có khai báo cổng TCP và các thông số khác (mức ưu tiên, mức an toàn)
Với phương thức chủ động, người sử dụng yêu cầu TCP mở một liên kết với một đầunối TCP/IP ở xa Liên kết sẽ được xác lập nếu có một hàm Passive Open tương ứng đãđược thực hiện tại đầu nối TCP/IP ở xa đó
Trang 31Khi người sử dụng gửi đi một yêu cầu mở liên kết sẽ được nhận hai thông số trả lời từ TCP.
Thông số Open ID được TCP trả lời ngay lập tức để gán cho một liên kết cục bộ (localconnection name) cho liên kết được yêu cầu Thông số này về sau được dùng để thamchiếu tới liên kết đó (Trong trường hợp nếu TCP không thể thiết lập được liên kếtyêu cầu thì nó phải gửi tham số Open Failure để thông báo)
Khi TCP thiết lập được liên kết yêu cầu nó gửi tham số Open Sucsess đượcdùng để thông báo liên kết đã được thiết lập thành công Thông báo này được chuyểnđến trong cả hai trường hợp bị động và chủ động Sau khi một liên kết được mở,việc truyền dữ liệu trên liên kết có thể được thực hiện
Các bước thực hiện khi truyền và nhận dữ liệu: Sau khi xác lập được liên kết người sử
dụng gửi và nhận dữ liệu Việc gửi và nhận dữ liệu thông qua các hàm Send và Receive
Hàm Send: Dữ liệu được gửi xuống TCP theo các khối (block) Khi nhận được một
khối dữ liệu, TCP sẽ lưu trữ trong bộ đệm (buffer) Nếu cờ PUSH được dựngthì toàn bộ dữ liệu trong bộ đệm được gửi, kể cả khối dữ liệu mới đến sẽ được gửi đi.Ngược lại cờ PUSH không được dựng thì dữ liệu được giữ lại trong bộ đệm và sẽgửi đi khi có cơ hội thích hợp (chẳng hạn chờ thêm dữ liệu nữa để gửi đi với hiệuquả hơn)
Hàm receive: Ở trạm đích dữ liệu sẽ được TCP lưu trong bộ đệm gắn với mỗi liên
kết Nếu dữ liệu được đánh dấu với một cờ PUSH thì toàn bộ dữ liệu trong bộ đệm (kể
cả các dữ liệu được lưu từ trước) sẽ được chuyển lên cho người sử dụng Còn nếu dữliệu đến không được đánh dấu với cờ PUSH thì TCP chờ tới khi thích hợp mới chuyển
dữ liệu với mục tiêu tăng hiệu quả hệ thống
Trang 32Nói chung việc nhận và giao dữ liệu cho người sử dụng đích của TCP phụ thuộc vào việc càiđặt cụ thể Trường hợp cần chuyển gấp dữ liệu cho người sử dụng thì có thể dùng cờURGENT và đánh dấu dữ liệu bằng bit URG để báo cho người sử dụng cần phải xử lý khẩncấp dữ liệu đó.
Các bước thực hiện khi đóng một liên kết: Việc đóng một liên kết khi không cần thiết
được thực hiên theo một trong hai cách: dùng hàm Close hoặc dùng hàm Abort
Hàm Close: Yêu cầu đóng liên kết một cách bình thường Có nghĩa là việc
truyền dữ liệu trên liên kết đó đã hoàn tất Khi nhận được một hàm Close TCP sẽtruyền đi tất cả dữ liệu còn trong bộ đệm thông báo rằng nó đóng liên kết Lưu ý rằngkhi một người sử dụng đã gửi đi một hàm Close thì nó vẫn phải tiếp tục nhận dữ liệuđến trên liên kết đó cho đến khi TCP đã báo cho phía bên kia biết về việc đóng liên kết
và chuyển giao hết tất cả dữ liệu cho người sử dụng của mình
Hàm Abort: Người sử dụng có thể đóng một liên kết bất kỳ và sẽ không chấp nhận
dữ liệu qua liên kết đó nữa Do vậy dữ liệu có thể bị mất đi khi đang được truyền đi.TCP báo cho TCP ở xa biết rằng liên kết đã được hủy bỏ và TCP ở xa sẽ thông báocho người sử dụng của mình
Một số hàm khác của TCP:
Hàm Status: cho phép người sử dụng yêu cầu cho biết trạng thái của một liên kết cụ
thể, khi đó TCP cung cấp thông tin cho người sử dụng
Hàm Error: thông báo cho người sử dụng TCP về các yêu cầu dịch vụ bất hợp lệ
liên quan đến một liên kết có tên cho trước hoặc về các lỗi liên quan đến môitrường
Đơn vị dữ liệu sử dụng trong TCP được gọi là segment (đoạn dữ liệu), có các tham số với ýnghĩa như sau:
H 3.2: Dạng thức của segment TCP
Source Port (16 bits): Số hiệu cổng TCP của trạm nguồn
Destination Port (16 bits): Số hiệu cổng TCP của trạm đích
Sequence Number (32 bits): số hiệu của byte đầu tiên của segment trừ khi bit SYN
Trang 33được thiết lập Nếu bit SYN được thiết lập thì Sequence Number là số hiệu tuần tựkhởi đầu (ISN) và byte dữ liệu đầu tiên là ISN+1.
Acknowledgment Number (32 bits): số hiệu của segment tiếp theo mà trạmnguồn đang chờ để nhận Ngầm ý báo nhận tốt (các) segment mà trạm đích đã gửi chotrạm nguồn
Data offset (4 bits): số lượng bội của 32 bit (32 bits words) trong TCP header(tham số này chỉ ra vị trí bắt đầu của nguồn dữ liệu)
Reserved (6 bits): dành để dùng trong tương lai
Control bit (các bit điều khiển):
URG: Vùng con trỏ khẩn (Urgent Poiter) có hiệu lực
ACK: Vùng báo nhận (ACK number) có hiệu lực
PSH: Chức năng PUSH
RST: Khởi động lại (reset) liên kết
SYN: Đồng bộ hóa số hiệu tuần tự (sequence number)
FIN: Không còn dữ liệu từ trạm nguồn
Window (16 bits): cấp phát credit để kiểm soát nguồn dữ liệu (cơ chế cửa sổ) Đâychính là số lượng các byte dữ liệu, bắt đầu từ byte được chỉ ra trong vùng ACKnumber, mà trạm nguồn đã sẵn sàng để nhận
Checksum (16 bits): mã kiểm soát lỗi cho toàn bộ segment (header + data)
Urgemt Poiter (16 bits): con trỏ này trỏ tới số hiệu tuần tự của byte đi theo sau dữ liệukhẩn Vùng này chỉ có hiệu lực khi bit URG được thiết lập
Options (độ dài thay đổi): khai báo các option của TCP, trong đó có độ dài tối đa củavùng TCP data trong một segment
Paddinh (độ dài thay đổi): phần chèn thêm vào header để đảm bảo phần header luônkết thúc ở một mốc 32 bits Phần thêm này gồm toàn số 0
TCP data (độ dài thay đổi): chứa dữ liệu của tầng trên, có độ dài tối đa ngầm định là
536 bytes Giá trị này có thể điều chỉnh bằng cách khai báo trong vùng options
III Tổng quan địa chỉ IP:
Trước khi khảo sát cấu tạo, tính chất, nhiệm vụ của địa chỉ IP ta xét những tiền đề tạo nên nó:Đơn vị thông tin cơ bản trong máy tính được biểu diễn dưới dạng số nhị phân bao gồm 2 giátrị đếm là 0 và 1 Tuy nhiên trong nhiều trường hợp khác nó còn được biểu diễn bằng số bátphân, hay số thập lục phân
Hệ thống số đó được miêu tả ở bảng dưới đây lấy số thập phân làm so sánh tường minh:
Thập phân Nhị phân Bát phân Thập lục phân
Trang 34Thông thường muốn chuyển từ số nhị phân, bát phân, thập lục phân qua lại với nhau
ta phải chuyển qua một bước trung gian về số thập lục phân
Quy tắc chuyển các số nhị phân, bát phân, thập lục phân về cơ số 10: Chuyển số nhị
phân: 1011012 = X10 : 1x25+0x24+1x23+1x22+0x21+1x20 =4510 Chuyển bát phân: 7368
Với các hệ số khác ta cũng thực hiện như vậy
Cấu trúc địa chỉ IP gồm 32bits, được chia thành 4 nhóm, mỗi nhóm 8 bits được biểu diễnnhư sau:
Vậy giá trị 8 bits khi tất cả được bật lên 1, hiểu ở giá trị thập phân là: 255
Vậy những giá trị thập phân mà ta có thể gán 4 nhóm của 32 Bit là:
00000000-11111111 00000000-11111111 00000000-11111111 00000000-11111111
Trang 350-255 0-255 0-255 0-255Vậy địa chỉ IP có cấu trúc được chia làm hai hoặc ba phần là network_id & host_id hoặcnetwork_id & subnet_id & host_id.
Là một con số có kích thước 32 bits Khi trình bày người ta chia con số 32 bits này thànhbốn phần, mỗi phần có kích thước 8 bits, gọi là octet hoặc byte Có các cách trình bày sau:
Ký pháp thập phân có dấu chấm (dotted-decimal notation) Ví dụ:172.16.30.56
Ký pháp nhị phân Ví dụ: 10101100 00010000 00011110 00111000
Ký pháp thập lục phân Ví dụ: 82 39 1E 38
Không gian địa chỉ IP (gồm 232 địa chỉ) được chia thành 5 lớp (class) để dễ quản lý đó là:
A, B, C, D và E Trong đó các lớp A, B và C được triển khai để đặt cho các host trên mạngInternet, lớp D dùng cho các nhóm multicast, còn lớp E phục vụ cho mục đích nghiên cứu
IV Một số khái niệm về thuật ngữ liên quan:
Địa chỉ host là địa chỉ IP có thể dùng để đặt cho các interface của các host Hai host nằm cùngmột mạng sẽ có network_id giống nhau và host_id khác nhau
Địa chỉ mạng (network address): là địa chỉ IP dùng để đặt cho các mạng Phần host_id của
địa chỉ chỉ chứa các bit 0 Địa chỉ này không thể dùng để đặt cho một Interface Ví dụ172.29.0.0
Địa chỉ Broadcast: là địa chỉ IP được dùng để đại diện cho tất cả các host trong mạng Phần
host id chỉ chứa các bit 1 Địa chỉ này cũng không thể dùng để đặt cho một host được Ví dụ172.29.255.255
Các phép toán làm việc trên bit :
Mặt nạ mạng (Network Mask): là một con số dài 32 bits, là phương tiện giúp máy xác
định được địa chỉ mạng của một địa chỉ IP (bằng cách AND giữa địa chỉ IP với mặt nạ mạng)
để phục vụ cho công việc routing Mặt nạ mạng cũng cho biết số bit nằm trong phần host_id
Trang 36Được xây dựng bằng cách bật các bit tương ứng vớp phần network_ id và tắt các bit tươngứng với phần host_id.
Mặt nạ mặc định của các lớp không chia mạng con
Lớp A 255.0.0Lớp B 255.255.0.0Lớp C 255.255.255.0
1 Lớp A:
Dành một byte cho phần network_id và ba byte cho phần host_id
H 3.3
Để nhận biết lớp A, bit đầu tiên của byte đầu tiên phải là bit 0 Dưới dạnh nhị phân, byte này
có dạng 0XXXXXXX Vì vậy, những địa chỉ IP có byte đầu tiên nằm trong khoảng từ 0(00000000) đến 127 (01111111) sẽ thuộc lớp A Ví dụ : 50.14.32.8
Byte đầu tiên này cũng chính là network_id, trừ đi bit đầu tiên làm ID nhận dạng lớp A, cònlại 7 bits để đánh thứ tự các mạng, ta được 128 (27) mạng lớp A khác nhau Bỏ đi haitrường hợp đặc biệt là 0 và 127 Kết quả là lớp A chỉ còn 126 địa chỉ mạng, 1.0.0.0đến 126.0.0.0
Phần host_id chiếm 24 bits, tức có thể đặt địa chỉ cho 16,777,216 host khác nhau trong mỗimạng Bỏ đi địa chỉ mạng (phần host_id chứa toàn các bit 0) và một địa chỉ Broadcast (phầnhost_id chứa toàn các bit 1) như vậy có tất cả 16,777,214 host khác nhau trong mỗi mạng lớp
A Ví dụ đối với mạng 10.0.0.0 thì những giá trị host hợp lệ là 10.0.0.1 đến 10.255.255.254
H 3.4
Trang 372 Lớp B:
Dành 2 bytes cho mỗi phần network_id và host_id
H 3.5Dấu hiệu để nhận dạng địa chỉ lớp B là byte đầu tiên luôn bắt đầu bằng hai bit 10 Dưới dạngnhị phân, octet có dạng 10XXXXXX Vì vậy những địa chỉ nằm trong khoảng từ 128(10000000) đến 191 (10111111) sẽ thuộc về lớp B Ví dụ 172.29.10.1 là một địachỉ lớp B
Phần network_id chiếm 16 bits bỏ đi 2 bits làm ID cho lớp, còn lại 14 bits cho phép ta đánhthứ tự 16,384 (214) mạng khác nhau (128.0.0.0 đến 191.255.0.0)
Phần host_id dài 16 bits hay có 65536 (216) giá trị khác nhau Trừ đi 2 trường hợp đặc biệtcòn lại 65534 host trong một mạng lớp B Ví dụ đối với mạng 172.29.0.0 thì các địa chỉ hosthợp lệ là từ 172.29.0.1 đến 172.29.255.254
H 3.6
3 Lớp C:
Dành 3 bytes cho phần network_id và một byte cho phần host_id
H 3.7Byte đầu tiên luôn bắt đầu bằng 3 bits 110 và dạng nhị phân của octet này là110XXXXX Như vậy những địa chỉ nằm trong khoảng từ 192 (11000000) đến 223(11011111) sẽ thuộc về lớp C Ví dụ: 203.162.41.235
Phần network_id dùng 3 byte hay 24 bit, trừ đi 3 bit làm ID của lớp, còn lại 21 bit hay2,097,152 (2 21) địa chỉ mạng ( từ 192.0.0.0 đến 223.255.255.0)
Phần host_id dài 1 byte cho 256 (28) giá trị khác nhau Trừ đi hai trường hợp đặc biệt tacòn 254 host khác nhau trong một mạng lớp C Ví dụ, đối với mạng 203.162.41.0, cácđịa chỉ host hợp lệ là từ 203.162.41.1 đến 203.162.41.254
Trang 38H 3.8
4 Lớp D và E:
Các địa chỉ có byte đầu tiên nằm trong khoảng 224 đến 256 là các địa chỉ thuộc lớp D hoặc
E Do các lớp này không phục vụ cho việc đánh địa chỉ các host nên không trình bày ở đây
5 Ví dụ cách triển khai địa chỉ IP:
ta chỉ cần sử dụng một đường mạng 150.150.0.0 và chia
đường mạng này thành sáu mạng con theo hình bên dưới:
Trang 39H 3.11
Rõ ràng khi cấp phát địa chỉ cho các hệ thống mạng lớn, người ta phải sử dụng kỹ thuật chiamạng con trong tình hình địa chỉ IP ngày càng khan hiếm Xét về khía cạnh kỹ thuật, chiamạng con chính là việc dùng một số bit trong phần host_id ban đầu để đặt cho các mạngcon Lúc này cấu trúc của địa chỉ IP gồm 3 phần: network_id, subnet_id và host_id Sốbit dùng trong subnet_id bao nhiêu là tuỳ thuộc và chiến lược chia mạng con của người quảntrị, có thể là con số tròn byte (8 bits) hoặc một số bit lẻ vẫn được Tuy nhiên, ta không đểsubnet_id chiếm trọn số bit có trong host_id ban đầu, cụ thể là subnet_id ≤ host_id -2
H 3.12
Số lượng host trong mỗi mạng con được xác định bằng số bit trong phần host_id; 2x-2(trường hợp đặc biệt) là số địa chỉ hợp lệ có thể đặt cho các host trong mạng con Tương tự sốbit trong phần subnet_id xác định số lượng mạng con Giả sử số bit là y -> 2y là số lượngmạng con có được
Một số khái niệm mới:
Địa chỉ mạng con (địa chỉ đường mạng): Bao gồm cả phần network_id và subnet_id,phần host_id chỉ chứa các bit 0 Theo hình trên thì ta có các địa chỉ mạng con sau:150.150.1.0, 150.150.2.0…
Trang 40 Địa chỉ broadcast trong một mạng con: Bật tất cả các bit trong phần host_idlên 1 Ví dụ địa chỉ broadcast của mạng con 150.150.1.0 là 150.150.1.255.
Mặt nạ mạng con (subnet mask): Giúp máy tính xác định được địa chỉ mạngcon của một địa chỉ host Để xây dựng mặt nạ mạng con cho một hệ thống địa chỉ, tabật các bit trong phần host_id thành 0 Ví dụ mặt nạ mạng con dùng cho hệ thốngmạng trong mô hình trên là 255.255.255.0
Vấn đề đặt ra là khi xác định được một địa chỉ IP (ví dụ 172.29.8.230) ta không thể biếtđược host này nằm trong mạng nào (không thể biết mạng này có chia mạng con hay không, và
có nếu chia thì dùng bao nhiêu bit để chia) Chính vì vậy khi ghi nhận địa chỉ IP của một host,
ta cũng phải cho biết subnet mask là bao nhiêu, ví dụ 12.29.8.230/255.255.255.0 hoặc172.29.8.230/24
7 Địa chỉ riêng (private address) và cơ chế chuyển đổi địa chỉ mạng(network address translate -NAT):
Tất cả các IP host khi kết nối vào mạng Internet đều phải có một địa chỉ IP o tổ chức IANA(Internet Assigned Numbers Authority) cấp phát – gọi là địa chỉ hợp lệ (hay là được đăng ký).Tuy nhiên số lượng host kết nối vào mạng ngày càng gia tăng dẫn đến tình trạng khan hiếmđịa chỉ IP Một giải pháp đưa ra là sử dụng cơ chế NAT kèm theo RFC 1918 quy định danhsách địa chỉ riêng Các địa chỉ này sẽ không được IANA cấp phát – hay còn gọi là địa chỉkhông hợp lệ Bảng sau liệt kê danh sách các địa chỉ này:
10.0.0.0 đến10.255.255.255
172.16.0.0 đến172.32.255.255
192.168.0.0 đến192.168.255.255