Nội dung chính của Chương 1 sẽ trình bày các khái niệm cơ bản về mạng Internet, nguồn gốc và lịch sử phát triển của mạng Internet qua từng giai đoạn, nêu lên các ứng dụng và ưu điểm
Trang 1CHƯƠNG I
TỔNG QUAN VỀ MẠNG INTERNET
Nội dung chính của Chương 1 sẽ trình bày các khái niệm cơ bản về mạng Internet, nguồn gốc và lịch sử phát triển của mạng Internet qua từng giai đoạn, nêu lên các ứng dụng và ưu điểm mà mạng Internet mang lại cho người dùng như Từ đó, nêu lên cấu trúc và các thành phần cơ bản trên mạng Internet Nội dung chính của Chương 1 bao gồm những phần sau
Giới thiệu và các khái niệm về mạng Internet, nêu lên cấu trúc chung của mạng Internet Từ đó, tìm hiểu nguồn gốc và lịch sử phát triển của mạng Internet qua từng giai đoạn, cũng như biết được các ưu điểm của mạng Internet, cuối cùng là các thành phần cơ bản trên mạng Internet
1.1 Giới thiệu và các khái niệm về mạng Internet
Có rất nhiều khái niệm nói về mạng Internet, nhưng ta có thể hiểu đơn giản về mạng Internet là hệ thống thông tin toàn cầu, có thể được truy nhập bởi bất cứ ai và ở bất cứ đâu trên thế giới Hệ thống này truyền thông tin theo kiểu gói dữ liệu, dựa trên một giao thức liên mạng đã được chuẩn hóa giao thức IP (Internet Protocol) Mặt khác, ta có thể hiểu mạng Internet gồm nhiều mạng máy tính liên kết với nhau để chia
sẻ các thông tin dữ liệu với nhau thông qua một môi trường truyền dẫn chung (môi trường đường truyền vật lý, cùng với nhiều các thiết bị chuyên dụng khác để đảm bảo cho Internet hoạt động thông suốt) Thông qua mạng Internet, hàng triệu máy tính của hàng triệu người dùng ở khắp mọi nơi trên thế giới với các mục đích khác nhau có
thể liên kết được với nhau Hình 1.1 mô tả cấu trúc mạng Internet tổng quát, [1].
Trang 2Hình 1.1 Mô hình minh họa cho 1 liên mạng thông qua Internet
1.2 Nguồn gốc và lịch sử phát triển của mạng Internet
Tiền thân của Internet là cơ quan nghiên cứu mạng nâng cao (Advanced Research Projects Agency Network - ARPANRT), là mạng máy tính đầu tiên được xây dựng bởi bộ quốc phòng Mỹ Mạng APPANET ban đầu được triển khai để kết nối 4 địa điểm đầu tiên vào tháng 7 năm 1969 gồm: viện nghiên cứu Stanford, đại học California, đại học Utah và Santa Barbara, để thử nghiệm độ tin cậy của mạng và kết nối với mục đích chính là phát triển, nghiên cứu và dùng cho mục đích quân sự ARPANET khởi đầu với qui mô nhỏ, nhưng thiết kế của ARPANET độc đáo ở chỗ là mạng vẫn có thể hoạt động tốt khi một phần của nó bị phá hủy trong các trường hợp chiến tranh hoặc thiên tai Sau đó, ARPANET nhanh chóng mở rộng thêm các nút mạng mới và trở thành mạng quốc gia Thành công của ARPANET được nhân lên gấp bội khi tất cả các trường đại học đều đăng ký gia nhập Tuy nhiên, qui mô lớn của mạng đã gây khó khăn trong vấn đề quản lý Do đó, bộ quốc phòng Mỹ quyết định tách phần quân sự ra khỏi ARPANET là mạng MILNET (Military Network) MILNET là hệ thống mạng dành cho quân sự, thuộc sự quản lý của bộ quốc phòng
Trang 3Mỹ và ARPANET mới có quy mô nhỏ hơn, không thuộc bộ quốc phòng Mỹ Nhưng hai mạng vẫn liên kết với nhau nhờ giải pháp kỹ thuật được gọi là IP (Internet Protocol), cho phép thông tin truyền từ mạng này sang mạng khác khi cần thiết
Thuật ngữ "Internet" xuất hiện lần đầu vào khoảng năm 1974 Lúc đó mạng Internet vẫn được gọi là ARPANET Năm 1983, giao thức TCP/IP (Transmission Control Protocol /Internet protocol) chính thức được coi như một chuẩn đối với ngành quân sự Mỹ và tất cả các máy tính nối với ARPANET phải sử dụng chuẩn mới này Giao thức TCP/IP ngày càng thể hiện rõ các điểm mạnh của nó, nhất là khả năng liên kết các mạng khác với nhau một cách dễ dàng Chính điều này, cùng với các chính sách mở cửa đã cho phép các mạng dùng cho nghiên cứu và thương mại kết nối được với ARPANET Năm 1980, ARPANET được đánh giá là mạng trụ cột của Internet
Mốc lịch sử quan trọng của Internet được xác lập vào giữa thập niên 1980, khi
tổ chức khoa học quốc gia Mỹ NSF (National Science Foundation) thành lập mạng
liên kết các trung tâm máy tính lớn với nhau gọi là NSFNET (National Science Foundation Network) Nhiều doanh nghiệp đã chuyển từ ARPANET sang NSFNET vì ARPANET không còn hiệu quả nữa Năm 1990, sau 20 năm phát triển, APPANET
đã ngừng hoạt động Sự hình thành mạng xương sống của NSFNET và những mạng vùng khác đã tạo ra một môi trường thuận lợi cho sự phát triển của Internet Với khả năng kết nối mở, Internet đã trở thành một mạng lớn nhất trên thế giới, dần dần, nó xuất hiện trong mọi lĩnh vực thương mại, chính trị, quân sự, nghiên cứu, giáo dục, văn hoá, thể thao và đời sống xã hội Cũng từ đó, các dịch vụ trên Internet không ngừng phát triển tạo ra một kỷ nguyên mới, kỷ nguyên thương mại điện tử trên Internet, [2]
1.3 Ưu điểm của mạng Internet
Hiện nay, Internet đã không còn xa lạ gì với mọi người nữa, nó là một mạng ảo lớn có tầm ảnh hưởng và tác động sâu sắc đối với xã hội, là một phương tiện cần thiết như điện thoại hay tivi Ngoài ra, Internet còn cung cấp khá nhiều tiện ích khác như là: thư điện tử, trò chuyện trực tuyến với bạn bè, đọc báo, giải trí, tra cứu các tài
Trang 4nguyên trên mạng Internet để phục vụ cho các mục đích khác nhau Tóm lại, Internet như một mạng máy tính toàn cầu nổi trên khắp thế giới, giúp kết nối hàng triệu máy tính, hàng triệu người dùng trên thế giới lại với nhau, [3].
1.4 Các thành phần cơ bản trên mạng Internet
1.4.1 Nhà cung cấp truy cập Internet (Internet Access Provider - IAP)
IAP là nhà cung cấp truy cập Internet Vì Internet được coi như là một siêu xa lộ thông tin nếu bạn muốn truy cập vào nó thì IAP được coi như là phương tiện để đưa bạn vào xa lộ này Hay nói cách khác, IAP giúp ta có thể kết nối trực tiếp với Internet Một IAP có thể được xem như một nhà cung cấp dịch vụ ISP (Internet Service Provider), IAP có thể đảm nhận chức năng tương tự như ISP, nhưng ngược lại, ISP không được xem như một IAP Một IAP thường phục vụ cho nhiều ISP khác nhau
1.4.2 Nhà cung cấp dịch vụ Internet (Internet Service Provider - ISP)
ISP là nhà cung cấp dịch vụ Internet, cung cấp các giải pháp kết nối Internet cho các tổ chức hay các cá nhân Một số ISP ở Việt Nam là FPT, Viettel, Netnam và VNPT Các ISP phải thuê đường truyền của một IAP, thường là cáp quang hay vệ tinh Các ISP có quyền kinh doanh thông qua các hợp đồng cung cấp dịch vụ Internet cho các tổ chức và các cá nhân Từ đó, các tổ chức hay cá nhân có thể sử dụng được các dịch vụ mà ISP đó cung cấp
1.4.3 Nhà cung cấp nội dung trên Internet (Internet Content Provider - ICP)
ICP là nhà cung cấp nội dung trên mạng Internet, các nội dung thông tin được các ICP tập hợp, soạn thảo lại và đưa lên mạng Internet thông qua một máy chủ nào đó Các nội dung mà ICP cung cấp thường rất đa dạng và phong phú về nhiều lĩnh vực khác nhau như văn hóa, thể thao, kinh tế, giáo dục ICP có thể là một ISP, một
máy chủ riêng hoặc thuê máy chủ của ISP Hình 1.2 mô tả mối liên hệ giữa ISP, IAP,
ICP và người dùng Internet, [4]
Trang 5Nguồn: http://i523.photobucket.com/albums/w351/thuan1506/internet1_wm.gif
Hình 1.2 Mối liên hệ giữa IAP – ISP – ICP và người dùng Internet
1.4.4 Các thiết bị cơ bản kết nối vào Internet
1.4.4.1 Các đường truyền vật lý
Dùng để chuyển tải tín hiệu điện tử giữa các máy tính, giữa các mạng với nhau dưới nhiều dạng tín hiệu khác nhau như: tín hiệu điện ở cáp đồng, tín hiệu quang ở các loại cáp quang hay ở dạng sóng điện từ
Trang 61.4.4.2 Card mạng (Network Interface card - NIC)
Được thiết kế ngay trong bảng mạch chính của máy tính hoặc dưới dạng giao tiếp mạng NIC dùng để nối máy tính với mạng, được cài đặt vào một khe cắm của máy tính NIC có chức năng chính là chuyển đổi tín hiệu bên trong máy tính thành tín
hiệu sao cho phù hợp với đường truyền của mạng Hình 1.3 mô tả một loại card
mạng phổ biến được sử dụng nhiều hiện nay
bị tổ chức thành một cặp nằm ở hai đầu đường truyền
Bridge cục bộ: là bridge nối hai mạng LAN đồng nhất với nhau theo kiểu trực tiếp với khoảng cách tương đối ngắn khoảng vài chục mét
Trang 7Bridge xa: thường dùng để nối hai LAN xa nhau thông qua phương tiện kết nối viễn thông Thông thường các bridge loại này có một cổng giao tiếp mạng LAN
và vài cổng giao tiếp với mạng WAN như mạng tích hợp nhiều dịch vụ ISDN (Integrated Services Digital Network) Bridge xa được dùng phổ biến hơn so với
bridge cục bộ bởi khả năng mở rộng khoảng cách lớn Hình 1.4 mô tả Bridge trong
thức mạng, hỗ trợ hoạt động song công Hình 1.5 mô tả các máy tính người dùng nối
vào Hub
Trang 8cuối có cảm giác toàn Internet là thông suốt Hình 1.6 mô tả một bộ định tuyến sử
dụng trong thực tế
Nguồn: http://www.tnh.com.vn/tnh/data/tnh_prod/CISCO2800.jpg
Hình 1.6 Bộ định tuyến trong thực tế
Trang 91.4.5.5 Bộ chuyển mạch (Switch)
Bộ chuyển mạch là thiết bị dùng để kết nối các đoạn mạng với nhau theo mô hình mạng nào đó Bộ chuyển mạch đóng vai trò là thiết bị trung tâm, tất cá các máy tính đều được nối về đây Trong mô hình tham chiếu OSI, bộ chuyển mạch hoạt động
ở tầng liên kết dữ liệu, ngoài ra có một số loại switch cao cấp hoạt động ở tầng mạng
Bộ chuyển mạch có nhiệm vụ chính là chuyển các gói dữ liệu đi tới cổng đã biết với tốc độ cao nhất mà switch đó có thể đạt được
Ngoài ra, ở một số bộ chuyển mạch cao cấp thì có tích hợp thêm một số ứng dụng khác như là: tường lửa, cân bằng tải hay định tuyến tìm đường đi cho gói dữ liệu và thiết lập các chính sách về gói liệu cho qua hay ngăn cản Tuy nhiên, các thiết
bị chuyển mạch loại này này thường rất đắt Hình 1.7 mô tả một thiết bị chuyển
cộng (Public Switched Telephone Network – PSTN) Hình 1.8 mô tả một thiết bị
cổng chuyển đổi mạng trong thực tế
Trang 10dùng hỗn hợp các loại cáp và hiển thị thông tin trạng thái liên mạng Hình 1.9 mô tả
một thiết bị lặp trong thực tế, [3]
Nguồn: http://www.loopers-delight.com/tools/repeater/repeater_300dpi.jpg
Hình 1.19 Repeater
Trang 111.5 Kết luận
Tóm lại, nội dung của Chương 1 đã nêu lên được bốn vấn đề cơ bản về mạng Internet, cụ thể là nêu lên được các khái niệm cơ bản cần phải biết về mạng Internet, thứ hai ta biết được nguồn gốc cũng như lịch sử phát triển của mạng Internet Qua đó, nêu lên các ưu điểm của mạng Internet, cũng như các thành phần cơ bản trong mạng Internet Chương tiếp theo sẽ giới thiệu mô hình kết nối mở OSI (Open System Interconnection), chức năng và nhiệm vụ chính của các lớp trong mô hình này, đồng thời nói lên mối tương quan giữa mô hình này với giao thức liên mạng IP
Trang 12CHƯƠNG 2
MÔ HÌNH OSI VÀ MỐI LIÊN HỆ VỚI GIAO
THỨC LIÊN MẠNG IP
Nội dung Chương 2 sẽ trình bày các khái niệm về mô hình kết nối hệ thống mở OSI (Open System Interconnection) với mục tiêu kết nối các sản phẩm của nhiều hãng khác nhau Mô hình OSI là giải pháp cho các vấn đề truyền thông tin và dữ liệu giữa máy tính với máy tính thông qua cấu trúc mạng đa tầng Mỗi một tầng có cấu trúc và thực hiện một số chức năng truyền thông khác nhau, các tầng được xếp chồng lên nhau gọi là chồng giao thức để tiến hành truyền thông tin và dữ liệu một cách hoàn chỉnh Nội dung Chương 2 gồm 2 phần: thứ nhất giới thiệu về mô hình hệ thống kết nối mở OSI gồm 7 lớp, nói lên cấu chúc, chức năng và nhiệm vụ của từng lớp trong mô hình hệ thống mở OSI Từ đó, hiểu được cách truyền các gói dữ liệu giữa các máy tính với nhau Đây là mô hình cơ bản nhất để từ đó phát triển thành mô hình TCP/IP là mô hình sử dụng trên Internet cho tới tận bây giờ và chưa có mô hình nào
có thể thay thế nó được Thứ hai là nói lên mối liên hệ giữa mô hình OSI và giao thức liên mạng IP, từ đó thấy tầm quan trọng của mô hình kết nối mở OSI trong mạng Internet
2.1 Mô hình hệ thống mở OSI
2.1.1 Giới thiệu mô hình hệ thống mở OSI
Mô hình tham chiếu OSI (Open System Interconnection) ra đời vào năm 1977
do tổ chức tiêu chuẩn hoá quốc tế ISO (International Organization for
Trang 13Standardization) hợp tác với bộ phận tiêu chuẩn viễn thông của ITU (International Telecommunication Union), nó là một tiến bộ quan trọng trong việc giảng dạy về lý thuyết mạng lưới truyền thông Nó khuyến khích ý tưởng về một mô hình chung của giao thức tầng cấp, định nghĩa sự liên lạc giữa các thiết bị và kết nối mạng lưới truyền thông Mô hình kết nối mở OSI này chỉ được ngành công nghiệp mạng và công nghệ thông tin tôn trọng một cách tương đối Tính năng chính của nó là quy định về giao diện giữa các tầng cấp, tức quy định đặc biệt về phương pháp các tầng liên lạc với nhau Điều này có nghĩa là cho dù các tầng cấp được thiết kế bởi các nhà sản xuất hoặc công ty khác nhau nhưng khi được lắp ráp lại qua mô hình OSI, chúng vẫn sẽ dung hòa và làm việc tốt với nhau Mô hình OSI tổ chức các giao thức truyền thông thành 7 tầng, mỗi tầng giải quyết một phần của quá trình truyền thông, mỗi tầng sẽ có chức năng cụ thể của mình để phục vụ cho lớp liền trên hay lớp liền dưới
với nó Cụ thể 7 lớp của mô hình OSI được trình bày trong Hình 2.1.
Nguồn: http://www.wimaxpro.org/Hinh_upload/hinh_blog/encap.JPG
Hình 2.1 Mô hình chuẩn mở OSI
Trang 142.1.2 Cấu trúc và chức năng các lớp trong mô hình OSI
2.1.2.1 Lớp vật lý
Lớp vật lý là lớp thấp nhất trong mô hình 7 lớp OSI đóng vai trò truyền thông tin qua môi trường truyền dẫn vật lý Lớp này thực hiện chức năng liên quan đến các giao tiếp điện, cơ, quang để kích hoạt và duy trì các kết nối vật lý giữa các hệ thống mạng Lớp vật lý giúp đảm bảo các yêu cầu về chuyển mạch hoạt động nhằm tạo ra các đường truyền thực giúp truyền và nhận các chuỗi bit thông tin được mã hóa dưới dạng tín hiệu số hoặc tín thiệu tượng tự
Có 2 loại giao thức truyền bit được sử dụng ở tầng vật lý là truyền bất đồng bộ và truyền đồng bộ Truyền bất đồng bộ là khi mỗi ký tự được truyền đi sẽ bao gồm thêm bit start để đồng bộ với xung đồng hồ, cùng với 1 hay nhiều bit stop để thông báo truyền xong ký tự Truyền đồng bộ là bên phát và thu cùng sử dụng chung 1 nguồn xung đồng hồ phát bởi 1 thiết bị hoặc từ nguồn ngoài Truyền đồng bộ thường
sử dụng trong khi truyền ở khoảng cách ngắn như trong 1 bo mạch
Để thực hiện hết các nhiệm vụ kể trên thì lớp liên kết dữ liệu phải có những chức năng sau: biết địa chỉ các thiết bị trên mạng, có khả năng phát hiện lỗi, điều khiển truy nhập đường truyền vật lý, biết được cấu trúc logic của mạng và điều khiển luồng dữ liệu
Trang 152.1.2.3 Lớp mạng
Lớp mạng nằm ở lớp 3 của mô hình mở OSI và được các chuyên gia mạng đánh giá là quan trọng trong mô hình OSI, nó thực hiện chức năng chọn đường đi cho các gói tin từ nguồn tới đích có thể trong cùng một mạng hoặc khác mạng với nhau Vì thế, cấu trúc của lớp này là rất phức tạp, vì ở đây nó phải đáp ứng tất cả các đặc tính kỹ thuật khác nhau của nhiều kiểu mạng Cùng với đó, là nó phải truyền nhiều loại hình dịch vụ khác nhau như: video, dữ liệu, hình ảnh Do đó, có thể xem lớp mạng là lớp quan trọng nhất trong mô hình OSI
Lớp mạng sử dụng các thuật toán định tuyến các gói tin thông qua các nút mạng để truyền gói tin đi đến đích chính xác, mỗi nút mạng có 1 địa chỉ riêng Lớp mạng còn chịu trách nhiệm đánh địa chỉ cụ thể cho mỗi gói tin và quyết định truyền gói tin theo đường đi nhất định nào đó, tùy theo mức độ ưu tiên của gói tin, tình hình trạng thái mạng hay một số yếu tố khác Ngoài ra, lớp mạng còn quản lý lưu lượng trên toàn mạng như chuyển đổi gói và kiểm soát tắc nghẽn (có sự thay đổi kích thước các gói tin tại các nút mạng, cắt ra hoặc tái hợp lại để giảm bớt các bit không cần thiết) Từ đó, nó giúp các gói tin được truyền tải liên tục trên Internet
2.1.2.4 Lớp truyền tải
Lớp truyền tải là lớp cao nhất có liên quan đến các giao thức trao đổi dữ liệu giữa các hệ thống mở, nằm ở lớp 4 trong mô hình OSI và nó thực hiện chức năng kiểm soát việc truyền dữ liệu từ điểm tới điểm Nó đóng vai trò trung gian giữa các lớp cao và các lớp thấp trong mô hình OSI, là nó phải đảm bảo cho các phương tiện được sử dụng ở các lớp dưới phải thông suốt với các lớp cao Lớp truyền tải thực hiện việc chia các gói tin lớn thành các gói tin nhỏ hơn và đánh số các gói tin để đảm bảo việc truyền theo đúng thứ tự Lớp này chịu trách nhiệm về độ an toàn của các gói tin trên mạng nên giao thức của lớp truyền tải phụ thuộc nhiều vào bản chất của lớp mạng Đồng thời, lớp này còn gắn các địa chỉ port vào gói tin để phân biệt được các ứng dụng.Lớp truyền tải còn phải hỗ trợ thêm một số chức năng cho lớp mạng nhằm đảm bảo sự phân phối dữ liệu chính xác đến các người dùng khác nhau trong cùng
Trang 16một mạng hay khác mạng, cũng như phải đảm bảo việc truyền tin chính xác từ trạm đầu tới trạm cuối Ngoài ra, lớp truyền tải còn phải biết yêu cầu về chất lượng dịch vụ của người sử dụng, đồng thời cũng phải biết được khả năng cung cấp dịch vụ của mạng Bởi thế, khi xác định dịch vụ và giao thức cho lớp truyền tải cần phải quan tâm đến cả những trường hợp chất lượng dịch vụ là xấu nhất Từ đó, có thể lựa chọn giao thức sao cho phù hợp.
2.1.2.5 Lớp phiên
Lớp phiên là lớp thứ 5 trong mô hình OSI, lớp này có chức năng thiết lập, quản lý, giải tỏa một phiên làm việc giữa hai đầu cuối Một phiên làm việc là một cuộc trao đổi thông tin chính thức giữa bên yêu cầu dịch vụ và bên cung cấp dịch vụ
Cụ thể lớp phiên thực hiện các chức năng chính là: điều phối việc trao đổi thông tin, kiểm soát việc trao đổi thông tin và đưa ra các qui tắc cho các tương tác giữa các ứng dụng của người sử dụng Lớp phiên quyết định hoạt động song công hay bán song công hay đơn công Đồng thời, nó còn thiết lập các điểm đánh dấu hoàn thành giúp việc phục hồi truyền tin nhanh hơn khi có lỗi xảy ra, vì điểm hoàn thành đã được đánh dấu
2.1.2.6 Lớp trình bày
Lớp trình bày nằm ở lớp thứ 6 của mô hình OSI, là lớp giải quyết các vấn đề liên quan đến cú pháp và nghĩa của thông tin được truyền, biểu diễn thông tin người sử dụng phù hợp với thông tin làm việc của mạng và ngược lại Để làm được việc đó, nó đưa ra một dạng thức dùng chung cho việc trao đổi giữa các hệ thống đầu cuối Vì thế, lớp trình bày còn gọi là bộ dịch mạng Hơn nữa, trong quá trình chuyển giao các tập tin ứng dụng đầu cuối từ nguồn tới đích có nhiều phần thông tin trống thì nhiệm vụ của lớp trình bày là sử dụng thuật toán để nén dữ liệu truyền trên mạng là ít nhất Ngoài ra, khi truyền thông tin trên mạng, cần phải bảo mật thì lớp trình bày là nơi mã hóa thông tin truyền đi và nó cũng quyết định việc sử dụng thuật toán mã hóa nào để
mã hóa các gói tin
Trang 172.1.2.7 Lớp ứng dụng
Lớp ứng dụng là lớp cao nhất trong mô hình hệ thống mở OSI, là lớp gần với người dùng nhất Nó cung cấp phương tiện cho người dùng truy nhập các thông tin và dữ liệu trên mạng thông qua các chương trình ứng dụng Một số
ví dụ về các ứng dụng trong lớp này bao gồm: truy nhập từ xa (Telnet), giao thức truyền tập tin (File Transfer Protocol - FTP), giao thức truyền thư điện
tử (Simple Mail Transfer Protocol - SMTP), [5, tr 31-33].
2.2 Mối liên hệ giữa mô hình OSI và giao thức liên mạng IP
Giao thức liên mạng IP là giao thức cốt lõi trong lớp 3 của mô hình hệ thống mở OSI Ở đây, giao thức IP giúp đánh các địa chỉ IP vào các gói tin để gói tin có thể truyền đi trên mạng Internet va giúp gói tin tới đúng đích Vì thế giao thức liên mạng
IP và lớp mạng của mô hình kết nối mở OSI có mối liên hệ mật thiết với nhau
Lớp mạng là lớp quan trọng nhất trong mô hình OSI nên giao thức IP càng đóng vai trò quan trọng trong mô hình này, vì tất cả các giao thức mạng ở các lớp cao hơn muốn lưu thông qua mạng Internet thì đều phải thông qua giao thức dùng chung
là IP Nếu không có giao thức IP thì mạng Internet coi như không tồn tại
2.3 Kết luận
Tóm lại, Chương 2 thực hiện được hai nội dung chính liên quan tới mô hình
hệ thống mở OSI Cụ thể đã nêu rõ các đặc điểm về mô hình được chuẩn hóa chung trên toàn cầu OSI, qua đó hiểu thêm được cấu trúc và chức năng cũng như nhiệm vụ của từng lớp trong mô hình này, mỗi lớp có một phần công việc cụ thể phục vụ cho các lớp khác liền kề nó Thứ hai, nêu lên được mối tương quan giữa giao thức liên mạng IP và mô hình OSI, vì giao thức IP nằm trong lớp 3 mô hình này và là giao thức không thể thiếu trong mạng Internet Chương tiếp theo sẽ tìm hiểu về các giao thức liên mạng IP, là nội dung chính của đề tài Tìm hiểu giao thức liên mạng IP qua 2 phiên bản chính là phiên bản 4 và phiên bản 6 Từ đó, biết được các loại địa chỉ dùng
Trang 18trên mạng Internet,hiểu rõ cách biểu diễn một địa chỉ IP cũng như cách thức đánh địa chỉ IP vào gói tin,hay cách nhận dạng các loại địa chỉ IP.
Trang 19CHƯƠNG 3
GIAO THỨC LIÊN MẠNG IP
Chương 3 sẽ đi sâu vào tìm hiểu giao thức liên mạng IP qua 2 phiên bản được sử dụng phổ biến hiện này là: IP phiên bản 4 và IP phiên bản 6 Qua đó, biết được cấu trúc khung của gói dữ liệu đi trên liên mạng Internet, cách đánh địa chỉ của từng phiên bản hay cách nhận dạng địa chỉ Nội dung chính của Chương 3 gồm ba phần chính là:
Giới thiệu các giao thức liên mạng IP, ở phần này ta biết được lịch sử phát triển của giao thức IP, các chức năng chính của giao thức liên mạng IP là định tuyến
và đánh địa chỉ cho các gói tin datagram giúp chúng có thể đi trên liên mạng Internet
và tới được đúng đích
Phần hai ta tìm hiểu giao thức IP phiên bản 4 (IPv4), tìm hiểu các thành phần
và cách biểu diễn địa chỉ IPv4 và cách chia hay nhận dạng các mạng con của IPv4 Đồng thời tìm hiểu về cách định tuyến tìm đường đi trong giao thức IPv4 qua hai thuật toán đang được sử dụng phổ biến là: thuật toán tìm đường đi theo cự ly vecto và thuật toán tìm đường đi theo trạng thái kết nối
Nội dung cuối của Chương 3 ta đi tìm hiểu là giao thức IP phiên bản 6 (IPv6),
là giao thức mới ra đời nhằm khắc phục các hạn chế của IPv4 với không gian địa chỉ lớn, các yêu cầu về chất lượng dịch vụ, khả năng bảo mật hay tính vẹn toàn dữ liệu cao Qua đó, đáp ứng được sự phát triển ngày càng nhanh của mạng Internet và giúp mạng Internet có thể hoạt động tốt hơn Cuối cùng, nêu lên các ưu điểm cơ bản mà IP phiên bản 6 mang lại
Trang 203.1 Giới thiệu các giao thức liên mạng IP
Giao thức liên mạng IP (Internet Protocol) là một giao thức hướng dữ liệu, được sử dụng bởi các máy chủ nguồn và đích để truyền dữ liệu trong một liên mạng chuyển mạch gói Là giao thức hệ thống mở phổ biến nhất thế giới bởi vì giao thức này được dùng để truyền thông qua bất cứ mạng nào được kết nối với nhau, nó phù hợp cho cả mạng truyền thông nội bộ và mạng diện rông Giao thức IP nằm ở lớp mạng của mô hình OSI, sau này nó là giao thức nên tảng cho chồng giao thức TCP/IP Giao thức IP thực hiện chức năng truyền thông tin dưới dạng các đơn vị gói dữ liệu gọi là datagram
Một datagram gồm 2 phần chính là mào đầu và phần dữ liệu, phần mào đầu gồm nhiều trường khác nhau gồm 20 bytes, có các trường như là: trường xác định phiên bản của gói tin, trường tổng chiều dài hay trường xác định địa chỉ nguồn và đích Phần dữ liệu chứa thông tin của các lớp trên đưa xuống để truyền đi Chức năng chính của giao thức IP là: tạo cấu trúc gói dữ liệu, định tuyến giúp các gói dữ liệu qua liên mạng cung cấp chức năng phân đoạn, tái hợp gói dữ liệu và còn thực hiện chức năng đánh địa chỉ IP
Tạo cấu trúc gói dữ liệu giúp xác định rõ gói dữ liệu này từ trạm nào và đích tới là đâu Đồng thời xác định các trường khác như kiểu dịch vụ gì chứa trong gói dữ liệu hay xác định có ưu tiên hay không Tiếp đó, giao thức IP còn thực hiện chức năng đánh định địa chỉ các gói dữ liệu, đảm bảo một gói dữ liệu cụ thể chỉ có một địa chỉ nguồn và một địa chỉ đích duy nhất Các nút trên liên mạng sử dụng các địa chỉ được mang trong phần mào đầu của gói dữ liệu để truyền các gói dữ liệu đến các đích của chúng, đây là nhiệm vụ định tuyến cũng là một chức năng rất quan trọng của giao thức IP Chức năng cuối của giao thức IP là cung cấp việc phân đoạn, tái hợp các gói
dữ liệu để tạo các gói dữ liệu có các kích thước đơn vị truyền tải khác nhau Bởi vì, khi gói dữ liệu IP đi trên liên mạng, nó sẽ phải thông qua nhiều mạng mà mỗi mạng
sẽ có định dạng gói tin khác nhau, xác định một đơn vị truyền dẫn cực đại (Maximum Transmisson Unit – MTU) khác nhau, vì thế việc phân đoạn và tái hợp là rất cần thiết
Trang 21Nhưng giao thức IP cung cấp một dịch vụ gửi dữ liệu không đảm bảo, tức là gói dữ liệu có thể đến nơi mà không còn nguyên vẹn, nó có thể đến không theo thứ tự
so với các gói được gửi ở đầu phát, nó có thể bị trùng lặp hoặc bị mất hoàn toàn Do
IP không cung cấp một đường truyền tin cậy tuyệt đối, không có báo nhận, cũng không có điều khiển lỗi dữ liệu, không thực hiện việc truyền lại và cũng không điều khiển luồng, nên bất cứ lỗi nào được phát hiện thì đều nhờ gói tin ICMP (Internet Control Message Protocol) báo phát lại Vì thế, ICMP cũng là một phần rất quan trọng của giao thức IP, gói tin này giúp các bộ định tuyến biết và gửi lại các gói tin bị lỗi Tuy nhiên, giao thức IP có thể tận dụng các dịch vụ của các mạng để cung cấp các loại dịch vụ với chất lượng cao Giao thức IP xử lý mỗi gói dữ liệu như một thực thể độc lập không liên kết đến bất kỳ gói dữ liệu nào khác dựa vào 4 cơ cấu chính trong việc cung cấp dịch vụ là: loại dịch vụ, thời gian sống, tổng kiểm tra phần mào đầu và phần tuỳ chọn
Thời gian sống: thời gian xác định 1 gói tin datagram được phép tồn tại trên mạng Internet Giá trị thời gian sống sẽ được thiết lập tại nơi gửi gói dữ liệu và nó sẽ được giảm dần ở các nút mạng dọc tuyến mà gói tin đó đi qua Nếu thời gian sống đạt đến giá trị 0 trước khi đến đích, thì gói dữ liệu sẽ bị huỷ Ngoài ra, trường giá trị thời gian sống còn giúp giảm bớt số lượng gói tin rác trên liên mạng Internet (tránh việc gói tin không tới đích mà cứ chạy vòng vòng mãi trên mạng)
Loại dịch vụ: xác định chất lượng dịch vụ được yêu cầu trong gói tin Việc xác định loại dịch vụ được sử dụng, giúp bộ định tuyến có thể chọn lựa các đặc tính truyền dẫn riêng cho từng dịch vụ có ưu tiên hay không ưu tiên ví dụ như: loại dịch vụ truyền dẫn video hay thoại thì phải ưu tiên hơn, không để thời gian trễ quá lâu, còn loại dịch vụ truyền dẫn thư từ thì không cần phải ưu tiên trước và có thể có thời gian trễ
Phần tự chọn: cung cấp cho các chức năng điều khiển cần thiết Nó hữu ích trong một vài trường hợp đặc biệt, nhưng không cần thiết cho hầu hết các truyền thông chung Phần tự chọn giúp tạo một số chức năng đặc biệt như: tạo bảo mật và việc định tuyến đặc biệt
Trang 22Tổng kiểm tra phần mào đầu: cung cấp việc kiểm chứng thông tin trong gói dữ liệu đã truyền có đúng hay không Vì có thể gói dữ liệu lỗi, nếu kiểm tra phần mào đầu thấy không đúng thì gói dữ liệu sẽ bị huỷ bỏ Để hiểu rõ hơn về giao thức liên mạng IP, ta đi sâu vào nghiên cứu IP phiên bản 4 (IPv4) được sử dụng nhiều nhất và là nòng cốt của mạng Internet hiện nay Đồng thời, tìm hiểu IP phiên bản 6 (IPv6) là phiên bản mới của mạng Internet nhằm khắc phục các hạn chế của IPv4 là tăng khả năng đáp ứng địa chỉ mạng khi địa chỉ IPv4 đã sắp cạn kiệt, đồng thời thỏa mãn các nhu cầu mới và đòi hỏi ngày càng cao của người dùng như: về chất lượng dịch vụ, khả năng bảo mật dữ liệu tăng lên hay các yêu cầu dịch vụ đặc biệt, [6]
3.2 Giao thức IP phiên bản 4( IPv4)
3.2.1 Giới thiệu về IPv4
Giao thức IP phiên bản 4 được bộ quốc phòng Mỹ chuẩn hóa trên toàn thế giới vào cuối năm 1981 Khi triển khai IP phiên bản 4 này nó cung cấp khoảng hơn 4 tỷ địa chỉ IP IPv4 sau khi ra đời đã phát triển nhanh chóng và hiện nay thì không gian địa chỉ của IPv4 đã sắp cạn kiệt và giải pháp mà các chuyên gia đưa ra là đưa IPv6 vào sử dụng với không gian địa chỉ nhiều hơn Tuy nhiên, IPv4 vẫn là giao thức chủ đạo sử dụng nhiều nhất trong mạng Internet hiện tại
IPv4 là giao thức hướng dữ liệu, được sử dụng cho hệ thống chuyển mạch gói, đây là giao thức truyền dữ liệu hoạt động dựa trên nguyên tắc tốt nhất có thể Trong
đó, nó không quan tâm đến thứ tự truyền gói tin cũng như không đảm bảo gói tin sẽ đến đích hay việc gây ra tình trạng lặp gói tin ở đích đến Việc xử lý vấn đề này dành cho lớp trên của chồng giao thức TCP/IP Tuy nhiên, IPv4 có cơ chế để đảm bảo tính toàn vẹn của gói dữ liệu thông qua sử dụng những gói tin kiểm tra Tiếp theo ta sẽ tìm hiểu về cấu trúc khung dữ liệu của IPv4
3.2.2 Cấu trúc khung dữ liệu IPv4
Trang 23Giao thức IPv4 sử dụng khung dữ liệu IP datagram là đơn vị tin cơ bản truyển
đi trên Internet Cấu trúc khung của một gói dữ liệu gồm 2 phần là: mào đầu và
dữ liệu Cấu trúc của một gói tin tổng quát được thể hiện trong Hình 3.1.
8 bit Loại dịch vụ
16 bit Tổng chiều dài
16 bit Nhận dạng
3 bitCờ
13 bit Phân đoạn
8 bitThời gian sống Giao thức8 bit Tổng kiểm tra phần mào đầu16 bit
32 bit Địa chỉ IP nguồn
32 bit Địa chỉ IP đíchTùy chọn (nếu có)
Dữ liệu
Nguồn:“ Bài giảng Mạng số liệu”, Th.S Võ Trường Sơn, ĐH GTVT2
Hình 3.1 Cấu trúc tổng quát của IP datagram
IP datagram như hình vẽ gồm nhiều từ 32 bits ghép lại với nhau tạo thành cấu trúc khung gồm nhiều vùng như sau:
Trường phiên bản: gồm 4 bit thể hiện phiên bản của giao thức IP đã dùng để
tạo gói dữ liệu Tất cả phần mềm IP được yêu cầu kiểm tra vùng phiên bản trước khi
xử lý một gói dữ liệu để đảm bảo rằng nó phù hợp với định dạng mà phần mềm đang
sử dụng Nếu chuẩn thay đổi, máy nhận sẽ từ chối những gói dữ liệu có phiên bản khác, để tránh tình trạng hiểu sai nội dung của gói dữ liệu Trong trạng thái của giao thức TCP/IP hiện nay sử dụng phiên bản giao thức IP là 4 (IPv4)
Trường chiều dài phần mào đầu IP: gồm 4 bit xác định chiều dài phần đầu của gói dữ liệu, được tính theo các từ 32 bit
20bytes
Trang 24Trường loại dịch vụ: gồm 8 bit cách mà gói dữ liệu được xử lý trong suốt quá trình truyền qua mạng.
Trường tổng chiều dài: gồm 16 bit xác định chiều dài tổng của gói dữ liệu, bao
gồm mào đầu của gói tin và dữ liệu Do kích thước của trường tổng chiều dài là 16 bit nên kích thước tối đa của một gói dữ liệu IP datagram là 216 hay 65.535 octecs
Trường nhận dạng: gồm 16 bit chứa một số nguyên duy nhất xác định gói dữ
liệu Mục đích của nó là để máy đích biết các phân đoạn đến thuộc gói dữ liệu nào khi thực hiện ghép chúng lại Giá trị này sẽ được tăng lên mỗi khi có một gói dữ liệu mới được tạo ra và được gán vào trường nhận dạng của gói dữ liệu mới này
Cờ: gồm 3 bit thể hiện trong Hình 3.2, trong đó 2 bit ở vị trí thấp điều khiển
việc phân đoạn Bit ở trật tự thấp trong 2 bít này xác định gói có thể được phân đoạn hay không Còn bit ở giữa xác định gói này có phải là phân đoạn cuối cùng của chuỗi các phân đoạn không, và bit thứ 3 hay bit trật tự cao nhất không được dùng
Bit 0 1 2
Hình 3.2 Mô tả 3 bit trong trường cờ
Bit 0: chưa được sử dụng, luôn có giá trị 0
DF (Don’t Fragment): dài một bit, nếu có giá trị 1 thì datagram đó không được phép chia nhỏ MF (More Fragment): dài 1 bit, nếu MF =1, có nghĩa là còn có gói nhỏ đứng sau nó trong thao tác phân mảnh gói IP datagram, ngược lại MF là 0 có nghĩa đây là gói cuối cùng trong một loạt các gói nhỏ được phân mảnh từ một gói IP datagram
Trường phân đoạn: gồm 13 bit xác định vị trí trong gói dữ liệu ban đầu của dữ liệu được truyền tải trong phân đoạn, được tính theo đơn vị 8 octet bắt đầu từ 0
Trang 25Trường thời gian sống: gồm 8 bit xác định thời gian lớn nhất mà một gói dữ liệu được phép tồn tại trên hệ thống liên mạng Khi giá trị của trường thời gian sống
là 0 thì gói dữ liệu sẽ bị huỷ Thời gian được đo bằng đơn vị giây, mỗi gói dữ liệu đi qua một thực thể có thể là các bộ định tuyến hay các gateway thì giá trị của trường thời gian sống sẽ bị giảm đi 1
Trường giao thức: gồm 8 bit xác định giao thức lớp trên nào được sử dụng để tạo thông điệp truyền tải trong vùng data của gói dữ liệu
Trường tổng kiểm tra phần mào đầu: gồm 16 bit đảm bảo sự toàn vẹn của các
giá trị trong phần đầu Trường này được hình thành bằng cách xem phần đầu như một chuỗi các số nguyên 16 bit, cộng chúng lại bằng thuật toán số học phần bù của 1 và rồi lấy phần bù của 1 làm kết quả Để tính toán, trường tổng kiểm tra mào đầu được giả định có giá trị 0
Việc tính toán kiểm tra cho phần mào đầu có ưu điểm và khuyết điểm Vì phần đầu thường chiếm ít octet hơn phần dữ liệu nên việc tính toán kiểm tra riêng cho nó sẽ giảm thời gian xử lý tại bộ định tuyến, đồng thời cho phép cấp cao hơn được chọn mô hình tính toán kiểm tra cho riêng nó cho vùng dữ liệu Tuy nhiên, bên cạnh đó các giao thức cao hơn bị buộc phải thêm phần tính toán kiểm tra của riêng nó hoặc nguy cơ không nhận ra được dữ liệu bị sai lệch
Trường địa chỉ nguồn: chứa địa chỉ IPv4 duy nhất của nơi gửi gói dữ liệu
gồm 32 bit
Trường địa chỉ đích: chứa địa chỉ IP duy nhất của nơi nhận gói tin gồm 32 bit Mặc dù gói dữ liệu có thể được chuyển qua nhiều bộ định tuyến trung gian thế nhưng vùng địa chỉ nguồn và vùng địa chỉ đích của gói tin không bao giờ thay đổi
Trường các tùy chọn: có thể thay đổi tùy theo các chọn lựa được sử dụng,
trường này có thể có hoặc không có trong gói dữ liệu
Các chọn lựa thêm vào chủ yếu cho việc kiểm tra và bắt lỗi trên mạng hay những yêu cầu về định tuyến đặc biệt Nhưng việc xử lý các chọn lựa lại là một phần của giao thức IP nên tất cả các cài đặt chuẩn của giao thức IP đều bao gồm nó
Trường dữ liệu: chứa thông tin dữ liệu của lớp trên, [7]
Trang 26Phần tiếp theo sẽ tìm hiểu hai chức năng của giao gói IP datagram là phân đoạn, tái hợp và định tuyến các gói dữ liệu, giúp chúng có thể di chuyển thông suốt trên liên mạng.
3.2.3 Chức năng của IP datagram
3.2.3.1 Sự phân đoạn IP datagram
Mỗi mạng vật lý có một giới hạn cực đại cho kích thước khung dữ liệu đi qua được gọi là đơn vị truyền dẫn cực đại (Maximum Transmisson Unit – MTU) Vì thế
sự phân đoạn của gói tin là cần thiết khi gói dữ liệu đó phải đi qua một mạng mà cho phép kích thước gói tin nhỏ Việc phân đoạn này được thực hiện tại các bộ định tuyến hay ở các gateway nằm trong liên mạng
Ví dụ như ở Hình 3.3 thể hiện việc truyền gói tin giữa 2 user, mà user 2 chỉ có thể nhận gói dữ liệu chứa ≤ 1000 octets do MTU = 1000 ở mạng Net 2 Trong khi đó,
user 1 lại phát gói dữ liệu chứa 1500 octets vì mạng Net 1 cho phép truyền tối đa là
1500 octets, vì vậy bộ định tuyến R không thể giữ nguyên gói tin mà truyền qua được Lúc này bộ định tuyến R sẽ thực hiện việc phân đoạn thành các đoạn nhỏ hơn
và gửi các đoạn đi một cách riêng biệt
Nguồn:“ Bài giảng Mạng số liệu”, Th.S Võ Trường Sơn, ĐH GTVT2
Hình 3.3 Thể hiện MTU khác nhau của các mạng khác nhau
Trang 27Để phân đoạn một gói tin thì bộ định tuyến sử dụng MTU và kích thước phần mào đầu của gói tin để tính toán xem cần chia thành bao nhiêu đoạn (chia các đoạn nhỏ phải đảm bảo điểu kiện là bội số của 8 octets trừ đoạn cuối cùng) Như ví
dụ ở Hình 3.3 trên thì gói datagram gốc qua bộ định tuyến R được chia thành 2 đoạn nhỏ được thể hiện trong Hình 3.4.
Nguồn:“ Bài giảng Mạng số liệu”, Th.S Võ Trường Sơn, ĐH GTVT2
Hình 3.4 Thể hiện việc phân đoạn gói datagram
Phần mào đầu gói dữ liệu gốc được copy đưa vào thành phần mào đầu của các đoạn nhỏ, tuy nhiên sẽ thay đổi giá trị của các trường sau:
Trang 28Trường tổng chiều dài: phản ánh kích thước bé hơn
Trường cờ: bằng “1” ở các đoạn được chia và bằng “0” ở đoạn cuối cùng.Trường phân đoạn: phản ánh vị trí của đoạn trong datagram gốc
Trường tổng kiểm tra phần mào đầu: thay đổi giá trị phù hợp với từng đoạn
nhỏ Việc tính toán giá trị của trường phân đoạn được thể hiện qua Hình 3.5
Nguồn:“ Bài giảng Mạng số liệu”, Th.S Võ Trường Sơn, ĐH GTVT2
Hình 3.5 Phân đoạn và cách xác định giá trị của trường phân đoạn
Fragment Offset (Xi) = Fragment Offset (Xi - 1) + Xi (octets)/8Như ở ví dụ trên thì datagram gốc chia ra thành 2 đoạn, đoạn 1 gồm 976 octets
và đoạn 2 là 504 octets Ở đây, ta cần xác định giá trị của trường phân đoạn cho đoạn thứ 2 theo công thức trên thì ta có:
X1 = 976 octets thì giá trị của trường phân đoạn của đoạn 2 là sẽ bằng Fragment Offset đoạn 1 + 976/8 = 122 (do giá trị Fragment Offset của đoạn 1 bằng 0
do là đoạn đầu tiên), [8]
Trang 29Mặt khác, một gói dữ liệu có thể được đánh dấu là “ Don’t Fragment ” (không phân đoạn) bằng cờ phân đoạn với giá trị của DF là 1 Bất kỳ gói tin nào được đánh dấu như thế thì sẽ không thể phân mảnh trong bất kì trường hợp nào Nếu gói tin đó không thể tới đích cuối cùng do gói tin không thể qua các phân đoạn mạng chỉ cho phép các gói tin có kích thước nhỏ thì gói tin đó sẽ bị hủy bỏ.
Giao thức IP không có quy định về kích thước giới hạn của gói tin, nên các bộ định tuyến có thể phân đoạn lớn nhất phù hợp với MTU mà các mạng nó đi qua cho phép Các phân đoạn con được định tuyến đi trên liên mạng như một gói tin độc lập
và được tái hợp lại thành gói tin gốc ở trạm đích Có thể các phân đoạn con tới đích không đúng với thứ tự được phát ở trạm nguồn nhưng nhờ các trường phân đoạn và trường nhận dạng mà trạm thu có thể tái hợp lại đúng
3.2.3.2 Sự tái hợp IP datagram
Để tái hợp các mảnh của một gói tin, thì phải kết hợp các mảnh có cùng giá trị
ở 4 trường là nhận dạng, địa chỉ nguồn, địa chỉ đích và giao thức Sự kết hợp này được thực hiện bằng cách thay thế phần dữ liệu của mỗi mảnh theo vị trí của nó được chỉ ra bởi trường phân đoạn trong phần mào đầu của các mảnh Mảnh đầu tiên có giá trị trường phân đoạn là 0 và có cờ MF = 1, mảnh cuối cùng có cờ MF = 0 Như ở ví
dụ ở Hình 3.4 trên thì giá trị của trường phân đoạn của phân đoạn 2 gồm 524 octets
có giá trị là 122 và có cờ MF = 0
Việc kết hợp các mảnh nhỏ ở đích cuối có thể không đạt hiệu quả Vì phải đi qua nhiều phân đoạn mạng khác nhau nên việc bị thất lạc một vài mảnh là có thể xảy
ra Mà chỉ cần mất 1 mảnh là không thể kết hợp lại được, như thế xác suất mất gói tin
sẽ tăng lên Tuy nhiên, việc kết hợp các mảnh tại đích cũng có ưu điểm, vì nó cho phép các mảnh chuyển tải một cách độc lập và không cần phải tái hợp ở các bộ định tuyến trung gian Nhưng thực tế, trong mạng Internet thì các mảnh được tái hợp lại ngay các trạm trung gian để được dữ liệu ban đầu, sau đó, việc phân đoạn được thực hiện lại để phù hợp với phân mạng mới, [9, tr 117-119]
3.2.3.3 Định tuyến trên liên mạng
Trang 30Định tuyến là chức năng chức năng rất quan trọng trong giao thức IP vì tất cả các dịch vụ Internet được xây dựng dựa trên hệ thống chuyển phát gói không kết nối
và không tin cậy Đơn vị cơ bản của truyền tải trên Internet là IP datagram Trong phần này, sẽ mô tả cách mà các bộ định tuyến sẽ định tuyến các gói IP datagram và chuyển chúng đến đúng đích cuối cùng dựa vào các địa chỉ được chỉ ra
trong phần mào đầu của gói tin
A Khái niệm định tuyến trên mạng Internet
Mục đích chính của giao thức IP là tạo ra một mạng ảo bao gồm nhiều mạng vật lí và cung cấp dịch vụ phát chuyển các gói tin thông qua các mạng vật lí này Với
số lượng lớn các mạng như thế, việc chuyển phát các gói đến được đích mong muốn
là một điều cần thiết Do yêu cầu này mà trong mạng IP đòi hỏi phải có quá trình định tuyến
Khái niệm định tuyến đã gắn liền với mạng Internet từ khi mạng Internet ra đời Định tuyến giúp chỉ ra đường đi của các gói dữ liệu được đánh địa chỉ mạng nguồn của chúng hướng tới đích cuối đi qua các điểm trung gian thông qua thiết bị phần cứng chuyên dùng là các bộ định tuyến Việc định tuyến trong Internet là một công việc khó khăn do độ dài của gói tin hay kiểu dịch vụ được truyền là khác nhau Đặc biệt, phải truyền đi qua rất nhiều điểm trung gian nên việc tìm được đường đi ngắn nhất và nhanh nhất là rất khó khăn Vì vậy, việc định tuyến cho mỗi gói dữ liệu cũng như chọn ra con đường đi tới đích tốt nhất là một bài toán khó Để làm được việc này thì các router cần phải xây dựng một bảng định tuyến và phải biết được giao thức định tuyến hay thuật toán định tuyến nào được sử dụng từ đó nó sẽ tính toán đường đi tốt nhất của gói tin và giúp cho mạng Internet thông suốt từ nguồn tới đích Phần tiếp theo sẽ nêu lên các thuật toán định tuyến thông dụng mà các bộ định tuyến đang sử dụng trên mạng Internet ngày nay, [10]
B Các thuật toán định tuyến
Trang 31Các thuật toán định tuyến là phương pháp mà bộ định tuyến chọn lựa để tính toán đường đi cho các gói dữ liệu Các thuật toán định tuyến phân biệt nhau bởi một
số đặc trưng: mục đích của nhà thiết kế với kết quả của giao thức định tuyến, tác dụng khác nhau của các giao thức trên mạng và tiềm năng của bộ định tuyến và thuật toán sử dụng các cách tính toán chi phí đường đi khác nhau để tính toán hiệu quả các tuyến tốt nhất Khi thiết kế một thuật toán, người ta thường dựa vào một số mục đích chính sau:
Tính tốt nhất: khả năng thuật toán định tuyến để chọn tuyến tốt nhất, dựa trên chi phí đường đi gồm số nút mạng cần đi qua và độ trễ Tổng phí thấp và thuật toán
sử dụng phải đơn giản: phải thực hiện các tính toán sao cho tổng chi phí sử dụng nhỏ nhất, cùng với việc sử dụng phần mềm đơn giản Tính ổn định và chắc chắn: thuật toán phải thực hiện đúng trong mọi tình huống thất thường và không báo trước (như phần cứng hỏng, quá tải và thực hiện không đúng) Hội tụ nhanh chóng: hội tụ là quá trình thoả thuận lại giúp tất cả các bộ định tuyến trên biết được các tuyến đi mới tốt nhất khi có sự cố hay bất kỳ nút mạng nào bị hỏng Khi đó, các bộ định tuyến cần phải tín toán lại các đường đi tới các nút mạng khác sau đó cập nhật thông tin định tuyến đến khắp các nút mạng, sau khoảng một thời gian nao đó mạng sẽ hội tụ lại và lại hoạt động bình thường Nếu thuật toán định tuyến hội tụ chậm có thể gây mất gói tin.Tính linh hoạt: thuật toán biến đổi nhanh và phù hợp với mọi tình huống biến đổi của mạng Hiện nay, trên mạng sử dụng 2 thuật toán định tuyến thông dụng là:
B1 Định tuyến theo cự ly vector
Thuật toán này dùng thuật toán Bellman-Ford Ý tưởng của thuật toán cự ly vector này rất đơn giản: mỗi nút mạng hay mỗi bộ định tuyến sẽ bắt đầu với các đường đi mà nối trực tiếp với nó, nó sẽ giữ danh sách các tuyến đường trong bảng định tuyến mà mỗi đường sẽ xác định một mạng đích và khoảng cách tới mạng đích
đó Mỗi nút gửi đến từng “hàng xóm” tổng chi phí của nó để đi đến các đích mà nó biết Các nút “hàng xóm” phân tích thô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 so với những thông tin chúng đang có
Trang 32sẽ được đưa vào các bảng định tuyến của những “hàng xóm” này Cứ như thế đến khi kết thúc, tất cả nút trên mạng biết được đường đi tối ưu nhất đến tất cả mọi đích, và tổng chi phí đường đi là tốt nhất Khi một trong các nút gặp vấn đề, những nút mạng khác có sử dụng nút hỏng này trong lộ trình của mình sẽ loại bỏ những lộ trình đó, và xây dựng lại bảng định tuyến mới sao cho phù hợp Sau đó, chúng chuyển thông tin này đến tất cả nút gần kề và lặp lại quá trình trên Cuối cùng, tất cả nút trên mạng nhận được thông tin cập nhật và sẽ biết đường đi mới đến
tất cả các đích mà không cần thông qua nút mạng đang gặp vấn đề
Ví dụ cho một mạng với 7 bộ định tuyến A, B, C, D, E, F, G kết nối với nhau
như Hình 3.6 thì thuật toán định tuyến theo cự ly vector hoạt động như sau.
Nguồn: Hình H6.10, trang 101, Giáo trình mạng máy tính, Th.S Ngô Bá Hùng
Hình 3.6 Một mạng ví dụ để trình bày thuật toán cự ly vector
Ở đây, ta coi chi phí trên mỗi đường đi là 1 Từ đó ta có thể biểu diễn sự hiểu
biết của các nút mạng về khoảng cách từ chúng tới các nút mạng khác trong Bảng 3.1.
Bảng 3.1 Các khoảng cách ban đầu được lưu tại mỗi nút mạng
Thông tin được
lưu tại các nút
Khoảng cách đến nút
Trang 33Nguồn: Bảng H6.11, trang 101, Giáo trình mạng máy tính, Th.S Ngô Bá Hùng
Ta có thể xem mỗi hàng trong Bảng 3.1 như là danh sách các khoảng cách từ
một nút tới tất cả các nút còn lại lúc ban đầu mà mỗi nút mạng biết được Khởi đầu các nút đặt giá trị là 1 cho các nút láng giêng kề nó và ∞ cho các nút không liền kề
nó Từ đó các nút sẽ lập một bảng đường đi tới các nút và lưu vào bộ nhớ của mình
Bảng 3.2 chỉ ra đường đi tới các nút của A tới các nút mạng khác lúc ban đầu mà A
Trang 34Bước tiếp theo trong thuật toán này là mỗi nút sẽ gửi thông điệp tới các nút láng giềng liền kề nó, trong đó chứa danh sách đường đi cá nhân mà nút đó tính được Ví dụ như nút F sẽ nói với nút A rằng nó có thể tới nút G với chi phí là 1, từ đó
A lưu lại nó có thể tới nút G thông qua F với chi phí cộng dồn là 2 nhỏ hơn so với chi phí ban đầu mà là ∞ mà nó biết và nó lưu lại bảng vạch đường đi của mình Tương tự vậy, A sẽ biết đường đi tới nút D thông qua C với chi phí là 2 nhỏ hơn so với chi phí ban đầu là ∞ mà nó biết Kết quả là A sẽ tính toán và tạo ra bảng vạch đường đi mới
tới các nút được thể hiện trong Bảng 3.3.
Bảng 3.3 Bảng vạch đường đi cuối cùng đươc lưu tại nút A
Nguồn: Hình H6.13, trang 101, Giáo trình mạng máy tính, Th.S Ngô Bá Hùng
Nếu không có bất cứ sự thay đồi nào trong mạng thì chỉ cần vài cuộc trao đồi
là mọi nút trong mạng sẽ có mọi thông tin đường đi Bảng 3.4 chỉ ra đường đi tới tất
cả các nút của các nút mạng sau khi đã trao đổi thông tin với nhau, [9, tr 100-103]
Bảng 3.4 Khoảng cách cuối cùng được lưu tại mỗi nút mạng
Thông tin được
Trang 35D 2 2 1 0 3 2 1
Nguồn: Bảng H6.14, trang 101, Giáo trình mạng máy tính, Th.S Ngô Bá Hùng
B2 Định tuyến theo trạng thái kết nối
Thuật toán định tuyến theo trạng thái liên kết hay được biết với cái tên đường dẫn đầu tiên ngắn nhất được thiết kế để khắc phục cho giao thức định tuyến theo cự
ly vector Ở thuật toán này, mỗi bộ định tuyến sẽ xác định trạng thái kết nối của nó với các bộ định tuyến xung quanh và thiết lập một bản đồ định tuyến, trong đó nói lên các đường đi cho phép thông và các đường đi bị cấm Sau một khoảng thời gian theo chu kỳ, các bộ định tuyến sẽ gửi quảng bá lên mạng bản đồ trạng thái kết nối của nó Từ đó, các bộ định tuyến sẽ cập nhật thông tin và sửa lại bản đồ định tuyến của mình cho giống với tất cả các bộ định tuyến khác, tạo nên một bản đồ định tuyến chung
Khi có bất cứ thay đổi nào thì các bộ định tuyến sẽ phát quảng bá và sửa lại bản đồ định tuyến chung đó Thuật toán định tuyến theo trạng thái liên kết có ưu điểm là bảng định tuyến gởi đi có dung lượng nhỏ, chỉ chứa các tuyến đường đi đã thông, khắc phục nhược điểm của thuật toán định tuyến theo cự ly vector là bảng định tuyến chứa tất cả các trạm đích được nối với nó nên dung lượng bảng định tuyến lớn Giao thức này phù hợp cho các mạng lớn nhưng yêu cầu quá trình xử lý nhiều hơn so với giao thức định tuyến theo cự ly vector, [9, tr 104-105 ]
C Phân loại định tuyến
C1 Định tuyến tập trung
Định tuyến tập trung thường được sử dụng trong các mạng thông minh mà các nút mạng tự giữ sự liên quan đơn giản Các tuyến được tính toán tập trung tại một bộ
xử lý tuyến và sau đó, phân bố chúng ra các bộ định tuyến trên mạng bất cứ khi nào
sự cập nhật được yêu cầu Hay nói cách khác, định tuyến tập trung đặc trưng bởi sự
Trang 36tồn tại của một (hoặc một vài) trung tâm điều khiển mạng thực hiện việc định tuyến, sau đó nó gửi các bảng định tuyến tới tất cả các nút dọc theo con đường đã chọn đó Theo cách này thì các nút mạng có thể hoặc không gửi bất kỳ thông tin nào về trạng thái của chúng tới trung tâm, hoặc gửi theo định kỳ hoặc chỉ gửi khi trạng thái mạng
về trung tâm khi mạng có sự thay đổi nào đó
C2 Định tuyến phân tán
Các vùng phân chia thành các vùng tự trị (Autonomous System - AS) Các thành phần trong một AS chỉ biết về nhau, mà không quan tâm tới các thành phần trong AS khác, khi có yêu cầu cầu giao tiếp với các AS khác sẽ thông qua thành phần
ở biên AS Từ đó, các giao thức định tuyến được chia thành giao thức trong cùng một
AS là định tuyến trong (Interior Gateway Protocol - IGP) và giao thức giao định tuyến ngoài (Exterior Gateway Protocol - EGP) giữa các AS với nhau
C3 Định tuyến trong
Định tuyến trong xảy ra bên trong một vùng tự trị AS, có thể là mạng nội bộ trong một công ty, các giao thức thường dùng là:
RIP (Routing Information Protocol): là một giao thức định tuyến trong sử
dụng thuật toán định tuyến theo cự ly vector, tức là nó gửi toàn bộ bảng định tuyến tới tất cả các đường nối trực tiếp với nó theo chu kỳ là 30 giây RIP tính toán tuyến đường tốt nhất tới đích cuối cùng dựa vào số lượng nút mạng mà nó đi qua và tối đa chỉ có 15 nút mạng Nếu số lượng nút mạng lớn hớn 15 thì giao thức RIP không chạy được, đó là một trong những nhược điểm của thuật toán định tuyến theo cự ly vector nói chung và giao thức RIP nói riêng Ngoài ra, do phải cập nhật định kỳ các bảng định tuyến nên một lượng băng thông sẽ bị chiếm Tuy nhiên giao thức RIP được dùng rộng rãi ở mạng nội bộ cũng như trên Internet do tính đơn giản và tiện dụng
IGRP (Interior Gateway Routing Protocol): trước những nhược điểm vốn có
của RIP như: tính toán đường đi tốt dựa vào số nút mạng và kích thước mạng tối đa
là 15 nút mạng, nên Cisco đã phát triển một giao thức độc quyền của riêng mình là IGRP, để khắc phục những nhược điểm đó Giao thức IGRP là một giao thức định
Trang 37tuyến trong, sử dụng thuật toán định tuyến theo trạng thái kết nối Cụ thể là nó không tính toán đường đi tốt nhất dựa vào số nút mạng, tuy nhiên nó vẫn có thể theo dõi được và một mạng sử dụng giao thức IGRP kích thước mạng có thể lên tới 255 nút mạng Việc tính toán đường đi tốt nhất của IGRP là tổ hợp của 5 yếu tố: băng thông,
độ tin cậy, đơn vị truyền tối đa, sự trễ và số phần trăm băng thông được sử dụng trên đường truyền Giao thức IGRP gửi thông tin cập nhật cứ 90 giây một lần, vì thế nó
dỡ tốn băng thông hơn giao thức RIP nhưng thời gian hội tụ của nó lại cao hơn Giao thức này phù hợp với các mạng lớn nhưng nhược điểm là chỉ có các thiết bị của Cisco mới có thể chạy giao thức này Vì thế, giao thức tiếp theo là giao thức chuẩn chung trên toàn thế giới và có thể chạy trên bất kỳ thiết bị của bất cứ nhà sản suất nào, đó là giao thức OSPF (Open Shortest Path First)
OSPF: là giao thức định tuyến trong, sử dụng thuật toán định tuyến theo trạng
thái kết nối Giao thức OSPF sử dụng các gói “hello” định kỳ để thiết lập mối quan
hệ láng giềng với các bộ định tuyến nối trực tiếp với mình Sau đó, sẽ chia sẻ thông tin bảng định tuyến, để từ đó mỗi bộ định tuyến sẽ xây dựng cho riêng mình một bảng định tuyến đi tới các đích
Giao thức OSPF được sử dụng phổ biến trong các mạng doanh nghiệp lớn hay
ở các mạng cung cấp dịch vụ, vì nó có thể tương thích với hầu hết tất cả thiết bị của các nhà sản suất khác nhau Nó có ưu điểm là hội tụ nhanh, hỗ trợ được mạng có kích thước lớn và không xảy ra tình trạng gói tin cứ chạy vòng vòng trên mạng gây tắc nghẽn hay chiếm băng thông
Trang 38giao thức vận chuyển hướng kết nối đáng tin cậy để trao đổi thông tin định tuyến là TCP (Transmission Control Protocol) Một điểm khác biệt nhất của BGP so với các giao thức định tuyến trong như OSPF, RIP hay IGRP, đó là nó không quan tâm đến các mạng cụ thể trong nội bộ của một công ty hay cơ quan nào đó, mà nó chỉ quan tâm đến việc chuyển tải đầy đủ thông tin đến một vùng tự trị AS với các chính sách định tuyến cần thiết, [11].
D Quá trình xử lý định tuyến
Để hiểu rõ quá trình xử lý định tuyến ta xét ví dụ như Hình 3.7 Trong ví dụ
này ta giả sử có 4 mạng nối với nhau thông qua các bộ định tuyến R1, R2, R3 Trong mỗi bộ định tuyến sẽ có các bảng định tuyến ghi rõ các đường đi, địa chỉ của mạng
mà mình cần tới Ở đây ta xét bảng định tuyến của R2 thể hiện ở Bảng 3.5 Nó cho
biết đường đi mà bộ định tuyến R2 sử dụng Bởi vì R2 nối trực tiếp vào các mạng 20.0.0.0 và 30.0.0.0, nó có thể sử dụng phương pháp phát chuyển trực tiếp để gửi tin tức hay dữ liệu tới một máy trên các mạng này Ví dụ nếu có một gói tin gửi cho một máy trên mạng 40.0.0.0, R2 sẽ chuyển nó tới địa chỉ của bộ định tuyến R3 là 30.0.0.2, kế tiếp R3 sẽ phát chuyển gói tin một cách trực tiếp tới máy tính thuộc mạng 40.0.0.0 Gói tin từ R2 có thể đến được địa chỉ 30.0.0.2 bởi vì cả R2 và R3 đều được nối trực tiếp vào mạng 30.0.0.0 Hay một gói tin muốn gửi đến một máy thuộc mạng 10.0.0.0 thì bộ định tuyến R2 sẽ chuyển nó tới địa chỉ của bộ định tuyến R1 là 20.0.0.1, từ đó R1 sẽ chuyển datagram trực tiếp tới máy thuộc mạng 10.0.0.0 Do cả R1 và R2 đều nối trực tiếp với mạng 20.0.0.0 nên gói tin từ R2 có thể tới được địa chỉ 20.0.0.1 Tương tự như thế mà ở các bộ định tuyến R1 và R3 cũng có 1 bảng định tuyến từ đó giúp 4 mạng trên có thể liên thông với nhau, [10]
Trang 39Hình 3.7 Mô hình 4 mạng nối với nhau qua 3 bộ định tuyến
Bảng 3.5 Bảng định tuyến của R2
Mạng cần đến Định tuyến đến địa chỉ
20.0.0.0 Phát trực tiếp đến 20.0.0.230.0.0.0 Phát trực tiếp đến 30.0.0.1
Nguồn: luận văn tốt nghiệp, “ Giao thức IP và ứng dụng trong công nghệ VoIP”, Ngô Minh Khánh.
3.2.4 Địa chỉ IPv4
Trong việc truyền thông tin trên liên mạng Internet, thì điều cốt yếu là các gói tin phải đi tới đúng đích Do đó, việc xác định đúng và duy nhất một host cho truyền thông là vô cùng quan trọng Giao thức IP cung cấp một phương pháp đánh địa chỉ cho phép làm điều đó Mỗi một host trên mạng tại một thời điểm được nhận dạng bằng một địa chỉ IP phiên bản 4 duy nhất không trùng lặp với bất kỳ host nào khác Mỗi địa chỉ IPv4 là một số nguyên 32 bit biểu diễn dưới dạng 4 octets phân cách nhau bằng dấu chấm
3.2.4.1 Các thành phần của địa chỉ IPv4
Trang 40Cũng giống như các giao thức lớp mạng khác, địa chỉ IP dùng để định tuyến cho các IP datagram đi đến đích mong muốn Địa chỉ IP được coi như là ký tự nhận dạng duy nhất để phân biệt các host trên mạng với nhau và giúp xác định vị trí chính xác của các máy trong mạng Mỗi host trên mạng được ấn định một địa chỉ IP 32 bit duy nhất gồm 2 phần chính: chỉ số mạng và chỉ số host
Chỉ số mạng dùng để xác định mạng và chỉ số này phải do trung tâm thông tin mạng InterNIC (Internet Network Information Center) phân phối, nếu mạng này thuộc liên mạng Nhà cung cấp dịch vụ liên mạng ISP (Internet Service Provide) có thể có được các khối địa chỉ mạng từ InterNIC và chính nó cũng có thể phân phối vùng địa chỉ khi cần thiết Chỉ số host dùng để nhận dạng host, phần này được ấn định bởi nhà quản lý mạng cục bộ
3.2.4.2 Biểu diễn địa chỉ IPv4
Địa chỉ IPv4 là một nhóm gồm 32 bit chia làm 4 nhóm, mỗi nhóm gồm 8 bit Mỗi một bit trong nhóm có một trọng số nhị phân theo thứ tự các bittương ứng: 128,
64, 32, 16, 8, 4, 2, 1 Bốn nhóm bit này chia làm 2 phần: phần mạng và phần host Phần mạng là duy nhất trên toàn liên mạng, còn phần host là duy nhất trong một
mạng Cấu trúc địa chỉ IPv4 được diễn tả cụ thể trong Hình 3.8.
Nguồn: luận văn tốt nghiệp,“ Nghiên cứu giao thức TCP/IP và ứng dụng của TCP/IP”, Trần Thị Bích Ngọc