Tìm hiểu tổng quan về mạng internet

Tài liệu Tìm hiểu tổng quan về mạng internet: CHƯƠ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 ...

doc97 trang | Chia sẻ: hunglv | Lượt xem: 1287 | Lượt tải: 1download
Bạn đang xem trước 20 trang mẫu tài liệu Tìm hiểu tổng quan về mạng internet, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
CHƯƠ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]. Hì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 Mỹ 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 nguyê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]. Nguồn: 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ừ . 1.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. Nguồn: Hình 1.3. Hình mô tả 1 card mạng 1.4.4.3. Cầu nối (Bridge) Bridge là thiết bị kết nối mạng LAN có kiến trúc khác nhau ở lớp vật lí nhưng thông suốt với sáu lớp phía trên. Nhiệm vụ của nó là lọc khung và chuyển khung. Bridge có hai dạng cơ bản là: dạng cục bộ và dạng xa. Đối với bridge dạng xa, thiết 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. Bridge 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 tế. Nguồn: Hình 1.4. Hình Bridge trong thực tế 1.4.5.4. Bộ chia (Hub) Hub là bộ chia hay là 1 bộ tập trung, thông thường các thiết bị đều được nối lại với bộ chia. Thiết bị này được chia thành 3 loại: thứ nhất, bộ chia bị động có khả năng tổ hợp các tính hiệu từ một số đoạn cáp mạng nhưng không xử lí tín hiệu. Thứ hai, bộ chia chủ động có khả năng xử lý, khuyếch đại các tín hiệu truyền giữa các thiết bị mạng. Nó có tác dụng tái sinh lại các tín hiệu, loại bỏ nhiễu. Tuy nhiên, giá thành loại này thường rất cao. Cuối cùng, bộ chia thông minh chủ động nhưng cho phép chọn nhanh các tín hiệu giữa các cổng trên bộ chia. Từ đó bộ chia này có khả năng hỗ trợ các tính năng cao cấp như: cho phép quản lý từ xa thông qua các giao 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. Nguồn: Hình 1.5. Mô tả các máy được nối với bộ chia 1.4.5.4. Bộ định tuyến (Router) Router là thiết bị kết nối các mạng LAN khác nhau ở các lớp 1, 2 và hoạt động tại lớp 3 trong mô hình chuẩn mở gồm 7 lớp (Open System Interconnection - OSI). Hầu hết các router làm việc với các giao thức không kết nối như IP. Router còn có có thể kết nối nhiều mạng sử dụng các giao thức khác nhau lại với nhau. Vì thế các chức năng cơ bản của Router là: truyền dữ liệu không kết nối, đánh địa chỉ IP cho các gói tin, tìm địa chỉ các máy host và định lộ trình cho các khung thông tin giúp chúng tới đích một cach nhanh nhất và không bị thất lạc thông tin, làm cho người sử dụng đầu cuố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: Hình 1.6. Bộ định tuyến trong thực tế 1.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 mạch trong thực tế. Nguồn: Hình 1.7. Bộ chuyển mạch trong thực tế 1.4.5.6. Gateway Đây là một thiết bị được sử dụng để kết nối giữa các mạng sử dụng các giao thức khác nhau. Chẳng hạn như, việc kết nối giữa mạng IP và mạng điện thoại công 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ế. Nguồn: Hình 1.8. Network gateway 1.4.5.7. Thiết bị lặp (Repeater) Repeater là thiết bị chuyển tiếp để liên kết mạng nhằm mở rộng mạng, tức tăng năng lượng đường truyền, và hoạt động ở lớp vật lí là lớp 1 trong mô hình OSI 7 lớp. Điều này khẳng định rằng, hai môi trường truyền của hai mạng liên kết phải giống nhau.Chức năng của repeater bao gồm: tái tạo tín hiệu, cách ly lỗi, cho phép dù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: Hình 1.19. Repeater 1.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. CHƯƠ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 Standardization) 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: Hình 2.1. Mô hình chuẩn mở OSI 2.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. 2.1.2.2. Lớp liên kết dữ liệu Lớp liên kết dữ liệu là lớp 2 trong mô hình OSI, đóng vai trò chuyển các khung dữ liệu từ lớp mạng này sang lớp mạng kia mà không có lỗi thông qua lớp vật lý, dựa vào các cơ chế đồng bộ hoá, kiểm soát lỗi và kiểm soát luồng dữ liệu. Lớp này nhận các thông tin từ lớp trên rồi chia thông tin thành các khung thông tin, truyền các khung tuần tự đến bên nhận và xử lý các thông điệp xác nhận từ bên máy nhận gửi về. Sau đó, sẽ tháo gỡ bỏ các khung thành các chuỗi bit chuyển xuống lớp vật lý. Ở bên thu, nhiệm vụ của lớp 2 là ngược lại tức tái tạo chuỗi bit thành các khung thông tin và chuyển lên lớp trên. Để 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. 2.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 mộ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. 2.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 trê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. CHƯƠ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. 3.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. Như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. Tổ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 Giao 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. 0 15 16 32 4 bit Phiên bản 4 bit Chiều dài mào đầu 8 bit Loại dịch vụ 16 bit Tổng chiều dài 16 bit Nhận dạng 3 bit Cờ 20 bytes 13 bit Phân đoạn 8 bit Thời gian sống 8 bit Giao thức 16 bit Tổng kiểm tra phần mào đầu 32 bit Địa chỉ IP nguồn 32 bit Địa chỉ IP đích Tù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. Trườ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 0 DF MF 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. Trườ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]. Phầ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 Để 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: Trườ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)/8 Như ở 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]. Mặ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 Đị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 Cá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ó sẽ đượ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 A B C D E F G A 0 1 1 ∞ 1 1 ∞ B 1 0 1 ∞ ∞ ∞ ∞ C 1 1 0 1 ∞ ∞ ∞ D ∞ ∞ 1 0 ∞ ∞ 1 E 1 ∞ ∞ ∞ 0 ∞ ∞ F 1 ∞ ∞ ∞ ∞ 0 1 G ∞ ∞ ∞ 1 ∞ 1 0 Nguồ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 biết. Bảng 3.2. Bảng vạch đường đi khởi đầu của nút A Đích đến Chi phí Nút mạng kế tiếp B 1 B C 1 C D ∞ - E 1 E F 1 F G ∞ - Nguồn: Hình H6.12, trang 102, giáo trình mạng máy tính, Th.S Ngô Bá Hùng Bướ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 Đích đến Chi phí Nút mạng kế tiếp B 1 B C 1 C D 2 C E 1 E F 1 F G 2 F 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 lưu tại các nút Khoảng cách đến nút A B C D E F G A 0 1 1 2 1 1 2 B 1 0 1 2 2 2 3 C 1 1 0 1 2 2 2 D 2 2 1 0 3 2 1 E 1 2 2 3 0 2 3 F 1 2 2 2 2 0 1 G 2 3 2 1 3 1 0 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ự tồ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 tuyế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. C4. Định tuyến ngoài Định tuyến ngoài xảy ra giữa các hệ vùng tự trị AS, liên quan tới dịch vụ của nhà cung cấp mạng sử dụng giao thức định tuyến ngoài rộng và rất phức tạp. Phần tử cơ bản có thể được định tuyến là các vùng tự trị, giao thức thường dùng trong định tuyến ngoài là Border Gateway Protocol (BGP). Border Gateway Protocol là giao thức định tuyến lõi trong mạng Internet, nó duy trì một bảng của các mạng IP nhằm kết nối các AS lại với nhau. BGP là giao thức định tuyến dạng hướng vector và việc chọn đường đi tốt nhất thường dựa vào một tập hợp các thuộc tính. BGP sử dụng giao 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]. Hì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.2 30.0.0.0 Phát trực tiếp đến 30.0.0.1 10.0.0.0 20.0.0.1 40.0.0.0 30.0.0.2 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 Cũ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 Hình 3.8. Cấu trúc chung của một địa chỉ IPv4 Địa chỉ IPv4 nếu biểu diễn đúng thì gồm 32 bit 0 hoặc 1 đứng gần nhau và cứ 8 bit thì cách nhau một dấu chấm. Nhưng biểu diễn như thế thì quá dài và không được tiện lợi, vì thế địa chỉ IPv4 thường được biểu diễn dưới dạng thập phân giúp dễ nhớ. Ở dạng thập phân, địa chỉ IPv4 gồm các số cách nhau bởi dấu chấm. Mỗi số có giá trị nhỏ nhất là 0 (các bit trong nhóm của địa chỉ dạng nhị phân đều là 0) và giá trị lớn nhất là 255 (các bit của nhóm địa chỉ nhị phân đều là 1), [9, tr 121]. Phép toán giúp chuyển đổi địa chỉ dạng thập phân sang điạ chỉ nhị phân và ngược lại đó là trừ dần và cộng dồn. Quy tắc chuyển thập phân thành nhị phân (quy tắc trừ dần): lấy số thập phân trừ dần với các số 128, 64, 32, 16, 8, 4, 2, 1. Nếu trong phép trừ, số trừ mà lớn hơn hoặc bằng số bị trừ thì ta được 1, còn nếu số trừ nhỏ hơn số bị trừ thì ta có số 0. Sau khi thực hiện xong các phép trừ, ta được số nhị phân là các số 1 và 0 xếp theo trình tự của các phép trừ. Ví dụ ta lấy một số dạng thập phân là 199 khi chuyển qua nhị phân tính theo trong Bảng 3.6. Bảng 3.6. Ví dụ về phương pháp trừ dần 2n (n=0 à7) 128 64 32 16 8 4 2 1 Trừ dần 199-128 = 71 71-64=7 7-4=3 3-2=1 1-1= 0 Nhị phân 1 1 0 0 0 1 1 1 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 Kết quả ta có số nhị phân: 11000111. Ngược lại, ta có thể đổi số nhị phân sang thập phân theo phương pháp cộng dồn. Ta thực hiện lấy từng con số cuả số nhị phân nhân với các số 128, 64, 32, 16, 8, 4, 2, 1 theo thứ tự. Sau đó, cộng dồn tất cả các kết quả lại ta sẽ được số thập phân tương ứng. Ví dụ, lấy số nhị phân thu được từ kết quả cuả phép tính trên là 11000111 chuyển lại thành số thập phân theo quy tắc cộng dồn trong Bảng 3.7, [3]. Bảng 3.7. Ví dụ về phương pháp cộng dồn 2n (n=0 à7) 128 64 32 16 8 4 2 1 Nhị phân 1 1 0 0 0 1 1 1 Cộng dồn 128 64 0 0 0 4 2 1 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 Sau khi cộng dồn: 128 + 64 + 4 + 2 + 1 = 199 ta được số thập phân ban đầu. Từ đó, dựa vào cấu trúc địa chỉ để tính số mạng và số host theo công thức sau: Số mạng = 2(số bit biểu diễn) Số host = 2(số bít biểu diễn thật sự) – 2 ( 1 địa chỉ quảng bá và 1 địa chỉ mạng). Trên công thức tính số host ta trừ đi 2 là vì 2 địa chỉ này không được dùng. Nó gồm một địa chỉ quảng bá là địa chỉ IP có phần host chỉ gồm các bit 1. Nó được dùng khi phát dữ liệu tới tất cả các máy trong một mạng cụ thể và một địa chỉ mạng với vùng host trong địa chỉ IP chỉ toàn là bit 0. Ví dụ ở địa chỉ IP 192.168.1.1 thuộc lớp C thì có địa chỉ quảng bá là: 192.168.1.255 và địa chỉ mạng là: 192.168.1.0. Biểu diễn địa chỉ IP 192.168.1.1 dưới dạng nhị phân và thập phân được thể hiện trong Bảng 3.8. Bảng 3.8. Biểu diễn địa chỉ IP dưới dạng nhị phân và thập phân Dưới dạng nhị phân 11000000 10100110 00000001 00000001 Dưới dạng thập phân 192 . 168 . 1 . 1 3.2.4.3. Các lớp địa chỉ IPv4 Địa chỉ IP được chia thành 5 lớp là A, B, C, D, E để phù hợp với mục đích và độ lớn khác nhau của từng loại mạng trên liên mạng Internet. Trong đó 3 lớp dành cho mục đích thương mại là A, B, C. Lớp D và E dùng để dự trữ cho tương lai và để nghiên cứu. Trong lớp A, chỉ số phần mạng nằm trong octet đầu tiên gồm 8 bit. Còn 3 Octet còn lại là phần host. Vì thế, số lượng mạng ở lớp A là ít nhất chỉ có tối đa là: 27 – 2 =126 mạng (từ 1–126). Nhưng số lượng host ở lớp A là nhiều nhất với: 224– 2 = 16.777.214 host. Vì vậy địa chỉ lớp A thường dùng cho mạng có số lượng host lớn thường là công ty lớn đa quốc gia. Ví dụ một địa chỉ host trong lớp A là: 10.2.3.4 thuộc mạng 10.0.0.0. Hình 3.8 mô tả chi tiết mạng lớp A. Hình 3.8. Mô tả mạng lớp A Trong lớp B, chỉ số mạng nằm trong 2 octet đầu gồm 16 bit. Còn lại, Octet thứ 3 và 4 là phần host. Điạ chỉ lớp B dùng cho các mạng trung bình vì số lượng host trong một mạng của nó tối đa là 216 - 2 = 65.534 host và có thể định danh tới 16384 mạng con. Ví dụ một địa chỉ host trong lớp B là:172.168.1.2 thuộc mạng 172.168.0.0. Mạng lớp B được mô tả trong Hình 3.9. Hình 3.9. Mô tả mạng lớp B Trong lớp C, chỉ số mạng nằm trong 3 octet đầu. Người ta thường dùng địa chỉ lớp C cho các mạng nhỏ, do số host trong mạng này rất ít (số host tối đa trong một mạng là 28-2 = 254 host ). Vì địa chỉ lớp C thì chỉ dùng có một octet cuối cho phần host, còn 3 octet đầu được sử dụng cho phần mạng, nên ở lớp C có thể định danh tới 2.097.152 mạng con. Ví dụ một địa chỉ host thuộc lớp C là: 192.168.1.3 thuộc mạng 192.168.1.0. Hình 3.10 sẽ mô tả mạng lớp C. Hình 3.10. Mô tả mạng lớp C Còn lại địa chỉ lớp D dùng cho địa chỉ multicast tức là gửi gói tin tới một nhóm các host trên một mạng khi các host đó tham gia vào nhóm địa chỉ multicast, còn lớp E sử dụng cho thí nghiệm và dự phòng cho tương lai. Để phân biệt các lớp địa chỉ mạng, dựa trên các bit đầu tiên của octet đầu tiên. Ta có qui tắc octet đầu: “các lớp có thể được xác định bằng việc kiểm tra octet đầu tiên của địa chỉ. Nếu bit đầu của octet đầu là 0 thì địa chỉ này thuộc phân lớp A. Nếu 2 bit đầu của octet đầu là 10 thì địa chỉ này thuộc phân lớp B, khi 3 bit đầu của octet đầu là 110 thì địa chỉ này thuộc phân lớp C, nếu 4 bit đầu của octec đầu là 1110 thì địa chỉ này thuộc lớp D và khi 4 bit đầu của octec đầu là 11110 thì địa chỉ này thuộc phân lớp E”. Việc phân biệt này, cũng như những đặc điểm cơ bản của các lớp địa chỉ mạng IPv4 được trình bày trong Bảng 3.9. Bảng 3.9. Phân biệt các lớp địa chỉ IPv4 Lớp Các bit đặc trưng octec đầu Số lượng mạng Số lượng host mỗi mạng Biểu diễn bằng thập phân A 0 126 16.777.214 1.0.0.0 – 126.255.255.255 B 10 16.384 65.534 128.0.0.0 – 191.255.255.255 C 110 2.097.152 254 192.0.0.0 – 223.255.255.255 D 1110 224.0.0.0 - 239.255.255.255 E 11110 240.0.0.0 -254.255.255.255 Nguồn: Hình 3.6, trang 50, giáo trình mạng máy tính, Th.S Phạm Thế Quế Ở đây, địa chỉ mạng 127.0.0.0 không được sử dụng vì địa chỉ mạng này (127.0.0.1à127.255.255.255 ) là địa chỉ dành cho các máy chủ trao đổi thông tin với nhau. Ngoài ra, địa chỉ 127.0.0.1 còn dùng để đặt trong phạm vi một máy tính. Nó chỉ có giá trị cục bộ (trong phạm vi một máy tính). Thông thường khi cài đặt giao thức IP thì máy tính sẽ được gán địa chỉ 127.0.0.1. Địa chỉ này thông thường để kiểm tra xem giao thức IP trên máy hiện tại có hoạt động không. Ngoài ra, còn có các vùng địa chỉ dành riêng cho mạng cục bộ không nối kết trực tiếp Internet: các mạng cục bộ không kết nối trực tiếp vào mạng Internet có thể sử dụng các địa chỉ mạng sau để đánh địa chỉ cho các máy tính trong mạng nội bộ là: lớp A từ 10.0.0.0 à 10.255.255.255, lớp B từ 172.16.0.0 à 172.31.255.255 và lớp C: 192.168.0.0 à 192.168.255.255, [9, tr 121 -123]. 3.2.4.4. Mặt nạ địa chỉ mạng IPv4 Để phân biệt các địa chỉ IP thuộc lớp nào thì mặt nạ địa chỉ mạng được sử dụng. Mỗi một lớp địa chỉ có một mặt nạ địa chỉ mạng giúp máy tính có thể hiểu được 1 địa chỉ IP thuộc mạng nào. Mặt nạ được sử dụng để tách riêng phần chỉ số mạng và chỉ số host trong mỗi địa chỉ mạng. Mặt nạ mạng tuân thủ nguyên tắc giống địa chỉ IP và phương pháp phân lớp, có nghĩa là mặt nạ mạng cũng gồm 32 bit chia làm 4 nhóm mô tả phần địa chỉ mạng và phần địa chỉ host. Mặt nạ mạng được thiết lập bằng cách gán giá trị 1 cho tất cả các bit nằm trong octet nhận dạng mạng, gán giá trị 0 cho tất cả các bit thuộc octet nhận dạng host. Do đó, nếu biểu diễn theo dạng thập phân thì mỗi nhóm số trong 4 nhóm có giá trị lớn nhất là 255 và nhỏ nhất là 0. Hình 3.12, Hình 3.13 và Hình 3.14 trình bày cấu trúc mặt nạ địa chỉ mạng của mỗi lớp mạng. Hình 3.12. Cấu trúc mặt nạ mạng lớp A Hình 3.13. Cấu trúc mặt nạ mạng lớp B Hình 3.14. Cấu trúc mặt nạ mạng lớp C 3.2.4.5. Địa chỉ mạng con IPv4 Do số lượng địa chỉ IPv4 là có giới hạn và do sự phát triển quá nhanh của mạng, nên số lượng địa chỉ IPv4 hiện nay gần như cạn kiệt, vì thế cần phải có biệt pháp nhằm tiết kiệm địa chỉ IPv4. Vì thế, phương pháp phân chia mạng đã được sử dụng, các mạng IP có thể chia thành các mạng nhỏ hơn gọi là mạng con, việc phân chia này nhằm đáp ứng nhu cầu sử dụng và đảm bảo kỹ thuật, giúp giảm số lượng địa chỉ IPv4 dư thừa không cần thiết. Với việc phân chia mạng còn giúp cho các nhà quản lý mạng điều hành mạng được dễ dàng hơn và giảm thiểu lượng địa chỉ IP dư thừa không sử dụng. Hình 3.15 thể hiện việc mượn các bit trong phần host của mạng chính để tạo thành phần mạng trong mạng con. Ta xét ví dụ lấy một mạng từ mạng B với địa chỉ mạng là 172.16.0.0 với phần mạng là 2 octet đầu tiên còn phần host nằm ở 2 octec sau, thì việc chia mạng con như sau. Hình 3.15. Tạo mạng con từ địa chỉ mạng B Các mạng con được quản lý nội bộ giúp phát các bản tin quảng bá nội bộ dễ dàng hơn mà không cần qua các bộ định tuyến, thế giới bên ngoài coi nó như một mạng độc lập và không biết được cấu trúc bên trong của nó. Các mạng con này được phân biệt bên trong mạng chính. Vì vậy, địa chỉ mạng con chính là địa chỉ mạng chính phân chia ra. Một địa chỉ mạng có thể phân thành nhiều mạng con, ví dụ Hình 3.16 thể hiện các mạng 172.16.1.0, 172.16.2.0, 172.16.3.0, 172.16.4.0 đều là những mạng con của mạng 172.16.0.0. Nguồn:“ Bài giảng Mạng số liệu”, Th.S Võ Trường Sơn, ĐH GTVT2 Hình 3.16. Các mạng con của mạng 172.16.0.0 nối với nhau Mạng con được tạo ra bằng cách mượn các bit trong phần địa chỉ host của mạng chính và ấn định chúng như là phần mạng trong mạng con, số bit mượn càng nhiều thì số lượng mạng con tạo ra càng nhiều, nhưng số lượng host sẽ giảm. Từ đó, ta xác định được phần mạng mới và phần host mới của mạng mới gọi là mạng con. Số lượng các bit trong trường mạng con thay đổi tùy theo sự ấn định của nhà quản lý. Việc ấn định này xuất phát từ cấu trúc riêng của mỗi mạng và cũng tùy theo nhu cầu của người sử dụng. Bảng 3.10 và Bảng 3.11 cho ta các chỉ số tham khảo để quy hoạch các mạng con cho các mạng thuộc lớp B và cho các mạng thuộc lớp C, [9, 123-126]. Bảng 3.10. Bảng thảm khảo mạng con lớp B Số bit mượn Mặt nạ mạng con Số mạng con Số host/mỗi mạng con 1 255.255.128.0 2 32766 2 255.255.192.0 4 16382 3 255.255.224.0 8 8190 4 255.255.240.0 16 4094 5 255.255.248.0 32 2046 6 255.255.252.0 64 1022 7 255.255.254.0 128 510 8 255.255.255.0 256 254 9 255.255.255.128 512 126 10 255.255.255.192 1024 62 11 255.255.255.224 2048 30 12 255.255.255.240 4096 14 13 255.255.255.248 8192 6 14 255.255.255.252 16384 2 Bảng 3.11. Bảng tham khảo mạng con lớp C Số bit mượn Mặt nạ mạng con Số mạng con Số host/mỗi mạng con 1 255.255.255.128 2 126 2 255.255.255.192 4 62 3 255.255.255.224 8 30 4 255.255.255.240 16 14 5 255.255.255.248 32 6 6 255.255.255.252 64 2 3.2.4.6. Mặt nạ địa chỉ mạng con IPv4 Mạng con được tạo ra từ các mạng chính nhờ việc mượn bit, và việc phân biệt được các địa chỉ mạng con với các địa chỉ mạng chính đó là nhờ vào mặt nạ địa chỉ mạng con. Mặt nạ địa chỉ mạng con cũng có cách thiết lập như một mặt nạ mạng bình thường là gồm 32 bit và các bit trong phần mạng đều bằng 1, các bit trong phần host đều bằng 0. Mặt nạ mạng con sẽ có các bit trong phần mạng của mạng chính và phần mạng của mạng con đều có giá trị là bằng 1, các bit trong phần host còn lại có giá trị là 0. Việc biểu diễn 1 mặt nạ địa chỉ mạng con cũng giống như biểu diễn một địa chỉ IP gồm 4 octec, mỗi octec cách nhau bằng đấu chấm. Việc thiết lập này được thể hiện trong Hình 3.17. Hình 3.17. Ví dụ mặt nạ mạng con trong địa chỉ lớp B 3.2.4.7. Phương pháp nhận dạng địa chỉ mạng con IPv4 Bộ định tuyến sử dụng mặt nạ mạng để xác định địa chỉ mạng mà gói dữ liệu cần chuyển tới. Việc này được thực hiện bằng cách: bộ định tuyến sẽ trích lấy địa chỉ đích IP từ gói dữ liệu gửi tới, để nhận dạng địa chỉ này thuộc mạng con nào thì nó thực hiện phép toán logic "và” của địa chỉ IP với mặt nạ mạng con. Phép toán “và” có nguyên tắc thực hiện được thể hiện trong Bảng 3.12. Bảng 3.12. Bảng cách tính của phép toán “và” Giá trị 1 1 1 0 0 Giá trị 2 1 0 1 0 Kết quả phép và 1 0 0 0 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 Từ Bảng 3.12 ta có thể thấy, chỉ khi nào cả hai giá trị đều là 1 thì qua phép “và” cho kết quả là 1, còn các trường hợp khác đều cho kết quả là 0. Ví dụ: ta có địa chỉ 172.16.70.40 với mặt nạ là 255.255.255.0. Muốn tìm chỉ số mạng con, ta chuyển tất cả các bit của địa chỉ 172.16.70.40 về số nhị phân để dễ dàng cho việc tính toán. Sau đó, dùng phép “và” để tính. Dựa vào octet đầu có thể nhận ra đây là địa chỉ lớp B (giá trị 172 nằm trong khoảng 128à191) nên có mặt nạ mạng là 255.255.0.0 vậy sự khác nhau ở đây chỉ nằm từ octet thứ 3, vậy chỉ cần tính từ octet thứ 3. Cách tính như sau: Địa chỉ 172.16.70.40 và mặt nạ mạng 255.255.255.0 có 2 octec thứ 3 và 4 biểu diễn dưới dạng nhị phân và thập phân như sau: Thập phân Nhị phân 70.40 0 1 0 0 0 1 1 0 . 0 0 1 0 1 0 0 0 255.0 1 1 1 1 1 1 1 1 . 0 0 0 0 0 0 0 0 Thực hiện phép toán “và” ------------------------------------------------ Kết quả 0 1 0 0 0 1 1 0 . 0 0 0 0 0 0 0 0 Chuyển kết quả về số thập phân ta có 2 octec cuối là: 70.0. Vậy địa chỉ IP 172.16.70.40 là địa chỉ ở mạng con là 172.16.70.0 (mạng con 172.16.70.40 có địa chỉ các host là từ 172.16.70.1 à 172.16.70.255, nhưng địa chỉ 172.16.70.255 là địa chỉ phát quảng bá cho toàn mạng con 172.16.70.0), [3]. 3.2.4.8. Các loại địa chỉ IPv4 Địa chỉ IPv4 được chia thành 3 loại cơ bản là: địa chỉ unicast, địa chỉ quảng bá và địa chỉ multicast. A. Địa chỉ unicast Đây là một loại địa chỉ xác định duy nhất cho một máy tính hay một host cụ thể tham gia vào mạng Internet. Địa chỉ này nằm trong trong trường địa chỉ đích của phần mào đầu trong gói tin IP datagram, nếu sử dụng một địa chỉ unicast thì đích đến của gói IP chứa phần mào đầu này sẽ là một máy duy nhất trên mạng. Khi phát gói tin trên mạng, nếu dùng địa chỉ unicast thì việc tắc nghẽn ít xảy ra và ít tiêu tốn băng tần cho các loại gói tin này vì gói tin chỉ đến một host duy nhất trên mạng. Địa chỉ này được sử dụng rất phổ biến trên mạng Internet. Ví dụ như một địa chỉ lớp C 192.10.8.2 là địa chỉ thuộc loại địa chỉ unicast thuộc mạng lớp C. Khi đó, nếu gói tin có địa chỉ đích là địa chỉ 192.10.8.2 thì bộ định tuyến sẽ chỉ chuyển nó đến duy nhất một máy có địa chỉ là 192.10.8.2 trên mạng 192.10.8.0. B. Địa chỉ quảng bá (broadcast) Địa chỉ quảng bá cũng là một địa chỉ IP bình thường nhưng nó có tất cả các bit thuộc phần host của địa chỉ đều bằng 1. Địa chỉ quảng bá là địa chỉ dành cho tất cả các máy tính của một mạng cụ thể nào đó, địa chỉ này cũng có cấu trúc 32 bit gồm phần mạng và phần host. Khi một gói được gửi đến một địa chỉ như thế, chỉ có một phiên bản của gói được chuyển trên Internet. Các bộ định tuyến trên Internet sẽ sử dụng phần mạng của địa chỉ để chọn đường đi cho các gói, chúng không xem xét đến phần host của địa chỉ. Một khi gói dữ liệu đi đến được bộ định tuyến mà được nối trực tiếp vào mạng đích, bộ định tuyến này sẽ kiểm tra phần host của địa chỉ để xác định đích đến của gói. Nếu thấy tất cả các bit trong phần host là 1, bộ định tuyến sẽ gửi quảng bá gói dữ liệu tới tất cả các host thuộc mạng đó. Ví dụ địa chỉ quảng bá của mạng 192.168.1.0 thuộc lớp C là 192.168.1.255 Với loại địa chỉ quảng bá được mô tả ở trên, người ta gọi là địa chỉ quảng bá trực tiếp vì nó bao gồm cả phần mạng và phần host của một mạng cụ thể. Bất lợi của loại địa chỉ quảng bá trực tiếp là đòi hỏi phải biết một địa chỉ mạng thì mới có thể phát quảng bá đến mạng đó được. Trên Internet có tình huống một host của một mạng cục bộ khi mới khởi động nên không thể biết được địa chỉ của mạng mà mình đang tham gia. Để giải quyết vấn đề này người ta đưa ra loại địa chỉ quảng bá giới hạn, hay còn gọi là địa chỉ quảng bá cục bộ. Với loại địa chỉ này, cho phép một máy được phát quảng bá trong phạm vi một mạng cục bộ mà không cần biết địa chỉ cụ thể của mạng đó. Địa chỉ quảng bá cục bộ có cấu trúc bao gồm 32 bit 1 tức cả phần mạng và host của địa chỉ đều bằng 1 hay là địa chỉ 255.255.255.255, [13]. C. Địa chỉ multicast Cùng với việc phát gói tin đến một địa chỉ duy nhất bằng cách sử dụng địa chỉ unicast và phát gói tin phát đến tất cả các host trong một mạng cục bộ bằng cách sử dụng địa chỉ quảng bá, mô hình địa chỉ IPv4 còn hỗ trợ một loại địa chỉ cho phép phát các gói đến nhiều điểm, đó là địa chỉ multicast. Địa chỉ multicast khác địa chỉ quảng bá ở chổ là nó không phát gói tin đến toàn bộ các host có trong một mạng cụ thể, mà nó phát đến một nhóm các host có tham gia vào nhóm địa chỉ multicast. Địa chỉ IPv4 dành riêng địa chỉ lớp D cho địa chỉ multicast. Địa chỉ lớp D có 4 bit đầu là 1110 còn 28 bit còn lại xác định một nhóm multicast cụ thể. Khi thể hiện dưới dạng dấu chấm thập phân, miền địa chỉ multicast bao gồm từ: 224.0.0.0 đến 239.255.255.255. Tuy nhiên, nhiều phần trong không gian địa chỉ này đã được dành cho mục đích đặt biệt hay là làm một nhiệm vụ cụ thể nào đó. Bộ định tuyến bị cấm chuyển đi một datagram đến bất kỳ một địa nào nằm trong vùng này. Bảng 3.13 trình bày một số địa chỉ multicast được gán vĩnh viễn. Bảng 3.13. Các địa chỉ multicast dành cho các mục đích khác nhau Địa chỉ Mục đích sử dụng 224.0.0.0 224.0.0.1 224.0.0.2 224.0.0.3 224.0.0.4 224.0.0.5 và 224.0.0.6 224.0.0.9 224.0.0.10 224.0.0.11 Dự trữ Tất cả hệ thống dùng trên mạng này Tất cả các router trên mạng này Không dùng Các router chạy thuật toán cự ly vector Tất cả các router chạy OSPF Router chạy giao thức RIP phiên bản 2 Các Router chạy giao thức IGRP Các trạm di động Nguồn: Phạm vi của một nhóm multicast dùng để chỉ vùng các thành viên trong nhóm. Nếu tất cả các thành viên ở trên cùng một mạng vật lí, có thể nói rằng phạm vi của nhóm được giới hạn trên một mạng. Tương tự, nếu tất cả các thành viên đều nằm trong cùng một tổ chức, thì nhóm đó có phạm vi được giới hạn trong một tổ chức hay một công ty. Cùng với phạm vi của nhóm, mỗi datagram multicast còn có một phạm vi nữa được định nghĩa là tập hợp của các mạng mà trên đó gói tin multicast sẽ được nhân bản.IP sử dụng hai kỹ thuật để kiểm soát phạm vi multicast: kỹ thuật thứ nhất là dựa vào trường thời gian sống của gói dữ liệu để kiểm soát vùng của nó. Bằng cách thiết lập một giá trị nhỏ cho trường thời gian sống, máy tính có thể xác định khoảng cách giới hạn mà một gói tin sẽ được chuyển đi. Ví dụ, để điều khiển chỉ cho gói tin chạy trong mạng nội bộ thì phải thiết lập giá trị cho trường thời gian sống là 1. Kết quả là bộ định tuyến sẽ không chuyển bất kỳ một datagram nào ra khỏi một mạng cục bộ, do khi gói dữ liệu đến được bộ định tuyến thì nó đã hết thời hạn tồn tại trong mạng, vì trường thời gian sống của nó bị giảm xuống bằng 0 nên nó sẽ bị hủy bỏ. Tuy nhiên, ta có thể gán cho trường thời gian sống một giá trị lớn hơn để mở rộng phạm vi hoạt động của nó. Kỹ thuật thứ hai được sử dụng cho việc quản lí phạm vi tác động của một gói dữ liệu multicast gọi là quản lí phạm vi. Kỹ thuật này sử dụng một không gian địa chỉ dành cho một nhóm riêng biệt. Các bộ định tuyến trong một mạng cục bộ sẽ không được chuyển đi bất kỳ một datagram nào có mang địa chỉ này, công việc này nhằm tránh việc multicast đến các thành viên bên ngoài mạng. Các loại địa chỉ giới hạn này được cho trong Bảng 3.13, [14]. 3.2.5. Giao thức phân giải địa chỉ ARP (Address Resolution Protocol) 3.2.5.1. Giới thiệu Địa chỉ IP như là dấu hiệu để nhận dạng một host trên mạng Internet, địa chỉ này được dùng để gửi và nhận các gói tin giữa các host với nhau. Mặt khác, trên một mạng vật lí cụ thể, các máy tính có thể gửi/nhận thông tin được cho nhau khi chúng nhận biết được địa chỉ vật lí của nhau. Như vậy, vấn đề được đặt ra ở đây là làm sao để mỗi host có thể nhận biết địa chỉ vật lí của một host khác khi biết được địa chỉ IP của nó. Để giải quyết vấn đề này, các nhà thiết kế đã đưa ra một giao thức cấp thấp để nhận biết các địa chỉ. Giao thức cấp thấp này được gọi là giao thức phân giải địa chỉ ARP. 3.2.5.2. Định nghĩa và các phương pháp ánh xạ địa chỉ Giao thức phân giải địa chỉ ARP là một giao thức thuộc lớp mạng, giúp tìm địa chỉ vật lý của trạm đích. Việc này có thể thực hiện được bằng cách sử dụng một bảng ánh xạ địa chỉ IP về địa chỉ vật lý và bảng này được lưu trong vùng nhớ tạm (ARP cache). Có 2 loại địa chỉ vật lý là: địa chỉ đại diện bởi Ethernet, có địa chỉ phần cứng lớn và cố định và địa chỉ đại diên bởi proNET, có các địa chỉ phần cứng nhỏ và dễ cấu hình hơn. Vì thế cũng có 2 phương pháp ánh xạ địa chỉ vật lý là: Ánh xạ địa chỉ trực tiếp: phương pháp ánh xạ này được áp dụng cho mạng proNET. Mạng này sử dụng các số nguyên nhỏ cho các địa chỉ vật lí và cho phép người sử dụng được phép chọn địa chỉ phần cứng khi cài đặt mạch giao tiếp vào máy tính. Người ta thường chọn địa chỉ phần cứng sao cho nó có các phần giống với địa chỉ IP. Sau đó, khi cài đặt mạch giao tiếp mạng, người ta sẽ chọn một địa chỉ vật lí tương ứng với địa chỉ IP đó. Với các mạng proNET việc tính địa chỉ vật lí từ địa chỉ IP thật là đơn giản. Việc ánh xạ này cũng có ưu điểm là không cần tham khảo với địa chỉ bên ngoài và khi có sự thêm bớt máy tính trong mạng cũng không ảnh hưởng đến độ chính xác của việc ánh xạ này. Ánh xạ địa chỉ thông qua liên kết động: phương pháp này được thực hiện đối với mạng Ethernet. Phương pháp ánh xạ này phức tạp hơn so với phương pháp trên. Vì mỗi một địa chỉ vật lí trong mạng Ethernet có 48 bit và địa chỉ này gắn liền với mỗi card giao tiếp mạng. Hệ quả là khi phần cứng bị hỏng và phải thay bằng một card giao tiếp khác thì địa chỉ vật lí sẽ thay đổi, trong khi địa chỉ IP của máy này vẫn được giữ nguyên. Do đó, khi này việc ánh xạ sẽ không còn chính xác nữa nếu không cập nhật thông tin về địa chỉ vật lí mới. Hơn nữa địa chỉ Ethernet dài tới 48 bit, không thể có phương pháp để mã hoá nó thành địa chỉ IP 32 bit. Để giải quuyết vấn đề này giao thức ARP đã được sử dụng. Giao thức này cho phép ta thêm vào mạng những máy mới và bộ định tuyến mới mà không phải thay đổi địa chỉ cũ của nguyên cả mạng, và cũng không đòi hỏi việc bảo trì cơ sở dữ liệu trung tâm, đồng thời tránh việc sửa đổi bảng ánh xạ địa chỉ. Giao thức này cung cấp một cơ chế vừa dễ bảo trì vừa có độ hiệu quả chấp nhận được, [9, tr 131]. 3.2.5.3. Định dạng giao thức ARP Không giống như hầu hết các loại giao thức khác, dữ liệu trong các gói ARP có phần mào đầu không được cố định. Tuy nhiên, trong cấu trúc gói tin ARP có những trường cố định và có một số trường cần xác định, nó định dạng khác nhau giữa gói ARP yêu cầu và ARP trả lời. Thực ra dạng thông điệp của ARP có dạng rất tổng quát sao cho nó có thể được sử dụng với bất kỳ địa chỉ vật lí nào và các giao thức địa chỉ bất kỳ. Trong Hình 3.18 là ví dụ về một thông điệp ARP 28 octet được sử dụng trong phần cứng của Ethernet (trong đó địa chỉ vật lí dài 48 bit). Hình 3.18 mô tả cơ bản cấu trúc gói tin ARP. Kiểu phần cứng Kiểu giao thức Độ dài địa chỉ phần cứng Độ dài địa chỉ giao thức Trường tổ chức Địa chỉ vật lý nơi gửi Địa chỉ IP nơi gửi Địa chỉ vật lý nơi nhận Địa chỉ IP nơi nhận Nguồn:“ Bài giảng Mạng số liệu”, Th.S Võ Trường Sơn, ĐH GTVT2 Hình 3.18. Cấu trúc gói tin của ARP Trường kiểu phần cứng: xác định kiểu của bộ giao tiếp phần cứng mà máy gửi đang cần biết. Nó thường có giá trị là 1. Trường kiểu giao thức: xác định kiểu giao thức địa chỉ cấp cao mà máy gửi cung cấp. Nó có giá trị 0x800 chính là địa chỉ IP. Trường độ dài địa chỉ phần cứng: xác định độ dài địa chỉ phần cứng. Trường độ dài địa chỉ của giao thức: xác định độ dài địa chỉ của giao thức cấp cao thường là IP. Trường tổ chức: xác định các loại yêu cầu (yêu cầu ARP là 1, hồi đáp ARP là 2. Nếu là yêu cầu của RARP thì là 3 và hồi đáp RARP thì là 4). Nơi phát ARP điền cặp địa chỉ của nó vào trường địa chỉ phần cứng của người gửi và địa chỉ IP của người gửi, cũng như địa chỉ IP nơi nhận mà cần tìm địa chỉ vật lý, điền trường tổ chức cho thích hợp rồi phát quảng bá. Nơi nhận điền vào các trường còn trống, đổi trường tổ chức cho thích hợp rồi gửi ngược về nơi gửi. Nơi nhận nhận gói tin và có được những thông tin mà mình yêu cầu, [8]. 3.2.5.4. Nguyên lí hoạt động của giao thức ARP Ý tưởng về cách thức hoạt động của ARP thật đơn giản: khi máy A muốn chuyển gói tin với địa chỉ IP đã biết đến máy B, nó sẽ phát đi một bản tin quảng bá đến tất cả các máy có trong mạng để hỏi xem máy nào có địa chỉ IP là IP của máy B. Tất cả các máy đều nhận được yêu cầu này nhưng chỉ có máy B nhận ra được địa chỉ IP trong gói tin đó là của nó. Lúc này, nó gửi lại lời đáp có chứa thông tin về địa chỉ vật lí của mình, khi máy A nhận được lời đáp nó sẽ sử dụng địa chỉ vật lí có được để gửi dữ liệu trực tiếp tới B. Như vậy, giao thức ARP cho phép một máy tìm được địa chỉ vật lí của máy đích thuộc cùng một mạng vật lí với nó thông qua hoạt động quảng bá thông tin dựa vào địa chỉ IP. Ví dụ ở Hình 3.19 máy A muốn biết địa chỉ vật lý của máy B khi đã biết địa chỉ IP của máy B nó sẽ gửi quảng bá tới tất cả các máy trong mạng. Lúc này tất cả các máy B, C, D đều nhận được gói tin yêu cầu nhưng chỉ có máy B nhận được gói tin thấy địa chỉ trùng với địa chỉ IPcủa máy mình thì nó mới trả lời lại máy A địa chỉ vật lý của mình. Còn lại các máy C, D so sánh thấy không trùng IP với máy mình thì nó hủy gói tin yêu cầu nhận được từ máy A, [8]. A B D C Hình 3.19. Phát thông tin quảng bá ARP từ máy A đến các máy khác Ví dụ ở Hình 3.20 mô tả gói tin yêu cầu địa chỉ vật lý khi đã biết địa chỉ IP thông qua giao thức ARP qua ví dụ đơn giản là 2 máy tính A và B nối với nhau. Máy tính A có địa chỉ IP là 158.108.1.2 và địa chỉ vật lý là 8:0:20:7a:49:68 nối với máy B có địa chỉ IP là 158.108.1.5 và địa chỉ vật lý là 00:10:4B:13:0A:BC. Nguồn:“ Bài giảng Mạng số liệu”, Th.S Võ Trường Sơn, ĐH GTVT2 Hình 3.20. Một gói tin ARP phát quảng bá để tìm địa chỉ vật lý Khi máy B nhận được gói ARP yêu cầu thì nó sẽ gửi gói tin trả lời địa chỉ vật lý cho máy A biết thể hiện trong Hình 3.21. A D C B Hình 3.21. Nhận thông tin về địa chỉ vật lí do máy B trả lời Hình 3.22 là hình mô tả gói tin ARP reply từ máy B về cho máy A, thông báo cho A biết địa chỉ vật lý của mình. Nguồn:“ Bài giảng Mạng số liệu”, Th.S Võ Trường Sơn, ĐH GTVT2 Hình 3.22. Một gói tin ARP trả lời 3.2.6. Giao thức phân giải địa chỉ ngược (Reverse Address Resolution Protocol - RARP) Trên liên mạng Internet ta biết rằng mỗi host đều được cung cấp một địa chỉ IP 32 bit. Địa chỉ này được sử dụng để các giao thức lớp trên thực hiện việc trao đổi thông tin với nhau. Tuy nhiên, việc trao đổi thông tin này chỉ có thể được hoàn thành thông qua địa chỉ vật lí. Do đó, đòi hỏi cần phải ánh xạ từ địa chỉ IP thành địa chỉ vật lí, để thực hiện được việc này, người ta sử dụng giao thức ARP để đi tìm địa chỉ vật lý khi đã biết địa chỉ IP. Tuy nhiên, có một câu hỏi đặt ra là hiện nay có rất nhiều trạm làm việc không có ổ cứng chỉ có bộ xử lý và bộ nhớ, không gian lưu trữ đều được cung cấp từ một máy chủ trên mạng. Vì thế, khi khởi động các máy này chỉ biết địa chỉ vật lí của nó, thì làm thế nào nó có thể biết được địa chỉ IP. Để giải quyết vấn đề này người ta đã đưa ra giao thức phân giải địa chỉ ngược RARP. Giao thức phân giải địa chỉ ngược RARP là giao thức ngược với giao thức ARP, cũng nằm ở lớp mạng và làm nhiệm vụ tìm địa chỉ IP khi đã biết địa chỉ vật lý của host cần đến. Giao thức RARP cho phép gửi lời yêu cầu đến tất cả các đích và thiết bị thường sử dụng giao thức này là các máy chủ RARP, nó sẽ trả lời địa chỉ IP mà các host hỏi. Giao thức RARP cũng sử dụng định dạng giống với giao thức ARP nhưng ở trường tổ chức xác định loại yêu cầu thay đổi có giá trị là 3 với gói RARP yêu cầu và có giá trị là 4 với gói RARP trả lời. Trên máy chủ sẽ duy trì một bảng mô tả mối tương quan giữa địa chỉ IP và địa chỉ vật lý của máy trên mạng. Khi nhận được yêu cầu RARP thì máy chủ tìm trong bảng địa chỉ rồi trả về địa chỉ IP cho máy đã gởi yêu cầu. [9, Tr 132] 3.2.7. Giao thức thông điệp điều khiển (Internet Control Message Protocol - ICMP) Giao thức ICMP được cài đặt trong hầu hết tất cả các máy tính có sử dụng chồng giao thức TCP/IP. Các thông điệp của giao thức được gởi đi trong các gói tin IP và được dùng để gửi đi các thông báo, báo lỗi hay các thông tin điều khiển. Giao thức thông điệp diều khiển được đóng gói trong gói tin IP datagram được thể hiện rõ trong Hình 3.23 và Hình 3.24 mô tả cấu trúc chung của gói bản tin thông điệp điều khiển lỗi. Nguồn:“ Bài giảng Mạng số liệu”, Th.S Võ Trường Sơn, ĐH GTVT2. Hình 3.23. Gói ICMP được đóng trong gói IP 00 8 16 32 Kiểu bản tin Chức năng bản tin Tổng kiểm tra mào đầu ICMP Nguồn:“ Bài giảng Mạng số liệu”, Th.S Võ Trường Sơn, ĐH GTVT2 Hình 3.24. Cấu trúc header bản tin ICMP ICMP định nghĩa các bản tin báo lỗi và bản tin thông tin gồm các loại như sau:đích đến không tới được, yêu cầu định tuyến lại, yêu cầu phân mảnh, hết thời gian chờ datagram, chuyển hướng, yêu cầu trả lời. Bảng 3.14 mô tả các loại lỗi cơ bản mà giao thức ICMP định nghĩa, [8]. Bảng 3.14. Các loại kiểu bản tin trong gói tin ICMP Loại Mô tả Loại Mô tả 0 Yêu cầu trả lời 13 Yêu cầu cung cấp thời gian 3 Không thể tới đích 14 Trả lời cung cấp thời gian 4 Nguồn chậm lại 15 Yêu cầu cung cấp thông tin 5 Định tuyến lại 16 Trả lời cung cấp thông tin 8 Trả lời 17 Yêu cầu cung cấp mặt nạ 11 Hết thời gian 18 Trả lời cung cấp mặt nạ 12 Không hiểu tham số Nguồn:“ Bài giảng Mạng số liệu”, Th.S Võ Trường Sơn, ĐH GTVT2 3.3. Giao thức IP phiên bản 6 (IPv6) 3.3.1. Giới thiệu Bước vào thế kỷ 21, khoa học phát triển nhanh chóng trên nhiều lĩnh vực. Các kỹ thuật mới luôn được sáng tạo ra và IP phiên bản 6 ra đời đó cũng là điều tất yếu. Diễn đàn nghiên cứu về IP phiên bản 6 được bắt đầu vào tháng 7_1999 bởi 50 nhà cung cấp Internet hàng đầu thế giới với mục đích phát triển IPv6 và dần đưa IPv6 vào sử dụng thay thế cho IP phiên bản 4, nó sẽ cải thiện toàn bộ về chất lượng và bảo mật của Internet, thiết lập một cơ cấu cho thế kỷ mới và đặc biệt là nó giải quyết được các hạn chế của IP phiên bản 4. IP phiên bản 6 là sự phát triển từ IP phiên bản 4 nhằm cung cấp một phạm vi địa chỉ IP lớn hơn khi mà địa chỉ IPv4 gồm 32 bit không thể đáp ứng hết cho nhu cầu kết nối mạng Internet trong tương lai, cũng như các yêu cầu về chất lương dịch vụ ngày một tăng. Trong khi đó, không gian địa chỉ IPv6 có độ dài lớn gồm 128 bit gấp 4 lần so với địa chỉ IPv4 chỉ có 32 bit, vì thế cung cấp không gian địa chỉ lớn hơn rất nhiều. Trong khi IPv4 có khoảng hơn 4 tỷ địa chỉ thì IPv6 có thể cung cấp khoảng 3,4 x 1038 địa chỉ, số lượng địa chỉ này đủ lớn để phân bổ các mạng từ trục lõi của Internet đến từng máy con trong một tổ chức hay từng cá nhân, mà vẫn còn thừa rất nhiều để sử dụng trong tương lai. Đặc biệt là các ứng dụng mới của mạng Internet được sử dụng hiện nay đòi hỏi các giao thức hỗ trợ cao như sự phát triển của điện thoại IP ngày càng rộng rãi, nó cần phải có giao thức hỗ trợ về thời gian thực. Tóm lại, IP phiên bản 6 là một giải pháp cho mạng Internet trong tương lai. 3.3.2. Sự cần thiết của việc ra đời IPv6 Tất cả các địa chỉ sử dụng trong mạng Internet đều phải duy nhất. Với phương thức định địa chỉ hiện nay thì việc thiếu địa chỉ IPv4 sẽ xảy ra sớm hơn. IPv6 là một giao thức thay thế, có khả năng duy trì sự phát triển của Internet, giải quyết vấn đề về không gian địa chỉ IP vì có tới 128 bit và những yêu cầu ngày càng cao khác của mạng Internet. IPv6 không chỉ có khả năng mở rộng địa chỉ mà còn hỗ trợ kiến trúc mạng hình thang, phát triển bảo mật và tính toàn vẹn dữ liệu, chất lượng dịch vụ, cho phép định tuyến wđơn giản và đặc biệt là đặc tính tự động định cấu hình, giúp giảm bớt công việc cho các nhà quản lý mạng, đồng thời sẽ giúp giảm bớt sai sót do các nhà quản lý mạng gây ra. Với không gian địa chỉ vô cùng lớn, IP phiên bản 6 cho phép các nhà thương mại triển khai các desktop, mobile và thiết bị mạng một cách hiệu quả và quản lý dễ dàng. Sự linh hoạt trong định tuyến với các địa chỉ của các nút mạng, hay các thiết bị kết nối vào mạng Internet. Qua đó, có thể thấy được sự cần thiết của việc ra đời IP phiên bản 6, [5, tr 54]. 3.3.3. Cấu trúc khung dữ liệu của IPv6 Gói dữ liệu IPv6 có nhiều thay đổi so với IPv4. Một gói dữ liệu IPv6 chia làm 3 phần: phần mào đầu cơ sở có kích thước cố định, tiếp theo là phần mở rộng được tùy chọn, cuối cùng là phần dữ liệu. Hình 3.25 thể hiện cấu trúc chung của khung dữ liệu IPv6 với 3 phần chính. Phần tùy chọn Phần mào đầu cơ sở Phần mở rộng 1 …. Phần mở rộng n Dữ liệu Hình 3.25. Cấu trúc khung dữ liệu IPv6 Phần mào đầu cơ sở: có độ dài cố định là 40 octet. Ở phần mào đầu cơ sở của IPv6 cũng có các trường như trong cấu trúc mào đầu gói tin của giao thức IPv4, tuy nhiên có một số trường ở IPv4 đã được chuyển sang phần mở rộng nên phần mào đầu cơ sở sẽ chứa ít thông tin hơn, giúp giảm thời gian xử lý tại các bộ định tuyến trên mạng Internet. Hình 3.26 mô tả cấu trúc phần mào đầu cơ sở của gói dữ liệu IPv6. Phiên bản (4 bit) Loại lưu lượng (4 bit) Nhãn luồng (24 bit) Số lượng octet (16 bit) Mào đầu kế (8 bit) Giới hạn hop (8 bit) Địa chỉ nguồn (128 bit) Địa chỉ đích (128 bit) Nguồn: Hình 3.26. Cấu trúc phần mào đầu cơ sở của IPv6 Các trường trong cấu trúc phần mào đầu cơ sở có chức năng như sau: Phiên bản: gồm 4 bit, xác định phiên bản của giao thức được dùng, IPv6 luôn luôn là bằng 6. Loại lưu lượng: bao gồm 8 bit, đây chính là trường loại dịch vụ ở gói dữ liệu IPv6. Nhãn luồng: gồm có 24 bit, ở đây IPv6 có một định nghĩa là luồng. Luồng là con đường qua liên mạng, dọc theo con đường đó, các bộ định tuyến trung gian bảo đảm thực hiện theo một chất lượng dịch vụ xác định. Trường “nhãn luồng” cùng với trường loại lưu lượng thực hiện quyết định chuyển gói. Trong trường này chứa các thông tin mà bộ định tuyến sử dụng để phối hợp gói dữ liệu với một luồng và một độ ưu tiên nhất định. Trường số octet: gồm 16 bit. Xác định số lượng octet được chuyển tải trong gói dữ liệu. Trường mào đầu kế: xác định kiểu mào đầu của gói dữ liệu tiếp theo, đâu là trường mơi so với cấu trúc mào đầu của IPv4. Trường giới hạn Hop: gồm có 8 bit. Xác định số Hop tối đa mà gói dữ liệu có thể đi qua trước khi gói bị huỷ bỏ. Trường địa chỉ nguồn: gồm 16 octet là 128 bit, xác định địa chỉ IPv6 nơi gửi gói tin. Trường địa chỉ đích: xác định địa chỉ nơi nhận gói tin, địa chỉ này cũng gồm 128 bit. Phần mở rộng của màu đầu: trong cấu trúc của gói dữ liệu, phần mở rộng là phần có thể thay đổi. Các phần mở rộng này tương ứng với các chức năng như định tuyến, phân đoạn và giám định. Không phải lúc nào cũng cần hết các chức năng này. Ở IPv6, mỗi chức năng này tương ứng với một phần mở rộng. Mỗi gói dữ liệu chỉ đưa vào các phần đầu mở rộng nào mà nó sử dụng. Nếu đưa hết vào phần đầu cố định như IPv4 sẽ không đạt được hiệu quả và làm trễ do bộ định tuyến phải xử lý nhiều. Ở mỗi phần mào đầu mở rộng đều chứa một trường “phần mào đầu kế” như ở phần đầu cơ sở. Còn các trường còn lại được tạo ra tương ứng với từng chức năng của phần mở rộng đó. Ví dụ như phần mào đầu mở rộng dành cho việc định tuyến: Chức năng định tuyến ở IPv6 có một phần mở rộng riêng trong gói dữ liệu. Phần mở rộng này có các trường hỗ trợ cho việc định tuyến trong Hình 3.27. 8 bit 8 bit 8bit 8bit Mào đầu kế Kích thước phần đầu định tuyến Kiểu định tuyến Số địa chỉ trong danh sách Dữ liệu kiểu riêng 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 uuuggbbaaashHình 3.27. Mào đầu mở rộng dành cho định tuyến ở IPv6 Phần mở rộng định tuyến cũng có phần mào đầu kế và các trường tương ứng với chức năng của nó như sau: Trường kích thước phần đầu định tuyến: có 8 bit, xác định kích thước của phần đầu định tuyến trong các đơn vị 8 octet. Trường kiểu định tuyến: cũng gồm 8 bit, xác định kiểu thông tin định tuyến mà giao thức đang sử dụng. Trường số địa chỉ trong danh sách: gồm 8 bit, liệt kê số trạm trung gian còn lại trước khi tới trạm đích. Trường kiểu dữ liệu riêng: có chiều dài thay đổi và có chiều dài là bội số nguyên của 8 octets, [3]. 3.3.4. Địa chỉ IPv6 3.3.4.1. Cấu trúc chung và cách biểu diễn của địa chỉ IPv6 Với phiên bản mới IPv6, không gian địa chỉ đã được mở rộng gấp 4 lần không gian địa chỉ IPv4. Mỗi địa chỉ chiếm 16 octet. Đây cũng chính là một vấn đề mới cần giải quyết, một địa chỉ quá dài đòi hỏi người quản trị mạng phải đọc, phải nhập vào các bộ định tuyến và bảo trì các địa chỉ này là khó khăn hơn. Một địa chỉ IPv6 gồm 16 bytes, hay là có độ dài là 128 bit. Địa chỉ này không thể biểu diễn ở dạng nhị phân, vì như vậy quá dài, ngay cả khi biểu diễn ở dạng thập phân cũng không đủ gọn. Để địa chỉ gọn và dễ nhớ, người thiết kế IPv6 đã đưa ra phương pháp sử dụng ký hiệu dấu hai chấm trong hệ đếm 16. Trong kiểu ký hiệu này 128 bit được chia thành 8 phần, mỗi phần rộng 16 bit hay 2 bytes. Vì trong hệ đếm này 2 bytes được ký hiệu thành 4 chữ số, vì thế địa chỉ IPv6 gồm 128 bit được biểu diễn thành 32 chữ số và cứ 4 chữ số một lại có một dấu hai chấm. Ví dụ cho 1 địa chỉ IPv6 dưới dạng nhi phân như sau: 00100000 0000000100001111 1010010001110101 1010110100010001 11011010 00011001 1000011100011001 1000011000000000 0000000000001001 11010100 Địa chỉ IPv6 trên được biểu diễn lại trong Hình 3.28. Hình 3.28. Cấu trúc chung của 1 địa chỉ IPv6 Việc viết địa chỉ IPv6 có thể đơn giản hóa bằng cách xóa bỏ 0 đứng đầu trong mỗi khối 16 bit. Tuy nhiên mỗi khối phải có ít nhất một số đơn. Trong ví dụ trên, địa chỉ trên được đơn giản hóa thành: 2001 : FA8 : 75AD : 9DA : 1987 : 1986 : 0 : 9D4 Đồng thời, để cho dễ nhớ và biểu diễn các địa chỉ IPv6 thì đối với một số loại địa chỉ chứa các chuỗi dài các số 0. Để đơn giản hóa trong cách viết, một chuỗi liên tiếp có 16 bit có giá trị 0 trong kiểu định dạng theo số hexa phân cách nhau bằng dấu hai chấm được nén thành “::” và được gọi là dấu hai chấm kép. Tuy nhiên, chỉ được nén 1 lần trong 1 địa chỉ IPv6 cho trước. Nếu không ta không thể xác định được số lượng con số 0 được giản lược. Ví dụ ở địa chỉ trên có thể biểu diễn là: 2001:FA8:75AD:9DA:1987:1986::9DA Ví dụ địa chỉ unicast liên kết nội bộ: FE80:0:0:0:2AA:FF:FE9A:4CA2 Được nén thành: FE80::2AA:FF:FE9A:4CA2 Hay địa chỉ multicast: FF02:0:0:0:0:0:0:2 Được nén thành: FF02::2. Việc nén 0 chỉ có thể được dùng để nén một chuỗi các khối 16 bit liên tiếp đơn mà thôi. Ta không thể nén 0 với các số 0 là một phần của khối 16 bit. Ví dụ như ta có địa chỉ: FF02:30:0:0:0:0:0:5 Thì ta không thể nén thành: FF02:3::5 Mà ta chỉ có thể nén thành: FF02:30::5. Để xác định có bao nhiêu con số 0 đứng giữa “::” thì ta có công thức sau: N= (8 - n)*16/ n là số khối bit 16 bit địa chỉ còn lại được biểu diễn ở dạng số hex, [15]. 3.3.4.2. Các loại địa chỉ IPv6 IPv6 có 3 loại địa chỉ cơ bản: A. Địa chỉ unicast Một địa chỉ unicast còn gọi là địa chỉ đơn hướng, xác định một giao diện đơn trong phạm vi của một mạng hay dùng để nhận dạng một nút mạng. Với một sơ đồ định tuyến thích hợp, thì các gói tin được đánh địa chỉ unicast lưu thông trên mạng được chuyển đến nút mạng mang địa chỉ unicast đó. Địa chỉ unicast IPv6 bao gồm các loại sau: địa chỉ unicast toàn cầu, địa chỉ unicast liên kết nội bộ, địa chỉ unicast nội bộ và địa chỉ đặc biệt. Địa chỉ unicast toàn cầu Địa chỉ unicast toàn cầu tương ứng với địa chỉ công cộng của IPv4. Nó có thể định tuyến toàn cầu trong Internet. Không giống như Internet dựa trên IPv4, có sự định tuyến trên cả dạng phẳng và phần phân cấp Internet IPv6 được thiết kế từ nền móng của nó là hỗ trợ cho việc định tuyến và đánh địa chỉ phân cấp và hiệu quả. Các trường của địa chỉ unicast toàn cầu được mô tả như sau: phần cố định được gán cho giá trị là 001 cùng với 45 bit tiếp theo tạo thành một site 48 bit định tuyến toàn cầu, được cấp cho một cá nhận của một tổ chức nhất định. Một khi đã được cấp các bộ định tuyến trên Internet, IPv6 sẽ chuyển lưu lượng IPv6 phù hợp đến được mạng tổ chức. Subnet ID: subnet ID được dùng cho mạng của tổ chức để xác định các mạng con. Kích thước của trường này là 16 bit. Mạng của tổ chức c

Các file đính kèm theo tài liệu này:

  • docIP va Ungdung trong internet.doc
Tài liệu liên quan