Nghiên cứu và thiết kế hệ thống VoIPV6

LỜI NÓI ĐẦU Trong những năm gần đây, sự xuất hiện của VoIP đã gây nên một sự chú ý đặc biệt trong lĩnh vực viễn thông thế giới, lợi ích mà nó mang lại là rất lớn. Đối với người tiêu dùng, lợi ích đầu tiên mà họ đạt được là chi phí cuộc gọi sẽ rẻ hơn đáng kể. Còn đối với các nhà sản xuất, cung cấp và khai thác mạng, truyền thoại qua mạng Internet mở ra những thách thức mới nhưng cũng hứa hẹn khả năng lợi nhuận đáng kể. Đây cũng là một bước đột phá trong việc tiến tới một xu thế mạng viễn thông mới. Công nghệ VoIp có rất nhiều ưu điểm như: giảm cước phí dịch vụ thoại đường dài; hỗ trợ nhiều cuộc gọi với băng tần thấp hơn; nhiều hơn và tốt hơn các dịch vụ nâng cao; sử dụng có hiệu quả nhất giao thức IP Tuy nhiên vẫn tồn tại một số nhược điểm về bảo mật và kĩ thuật phức tạp. Với tình trạng phát triển nhanhcủa các dịch vụ mạng, dải địa chỉ IPv4 đang ngày càng cạn kiệt, VoIP không thể phát huy hết sức mạnh vốn có của nó. Để tận dụng hết những ưu điểm của truyền thoại qua mạng Internet đồng thời giải quyết được nhược điểm của cả VoIP thế hệ cũ và IPv4, thì việc nghiên cứu và thử nghiệm truyền thoại qua IPv6 đã được rất nhiều công ty, tổ chức trên thé giới chú ý. Ở Việt Nam dù vẫn còn nhiều hạn chế về cơ sở hạ tầng và nguồn lực song không thể nằm ngoài xu thế phát triển chung đó của thế giới. LỜI CẢM ƠN Em xin chân thành cảm ơn các thầy cô giáo trong khoa: điện – điện tử, đã tận tình dạy bảo và dìu dắt em trong suốt thời gian học tập tại trường ĐH Kinh Tế Kỹ Thuật Công Nghiệp, để em có được kiến thức và có thể thực hiện cũng như hoàn thành đề tài này. Đặc biệt em xin chân thành cảm ơn cô giáo Đặng Thị Hương Giang, là giáo viên hướng dẫn đã nhiệt tình giúp đỡ, chỉ dẫn cho em trong suốt quá trình làm đề tài. Và em xin cảm ơn tất cả các bạn trong và ngoài lớp điện tử 16 đã giúp đỡ em rất nhiều trong quá trình tìm kiếm tài liệu và góp ý cho bài làm của em được tốt hơn. Cuối cùng em xin chân thành cảm ơn gia đình em đã tạo điều kiện cho em học tập để hôm nay em có thể hoàn thành được đề tài này. Em xin chúc các thầy, cô và các bạn cùng gia đình em sức khỏe và hạnh phúc! MỤC LỤC Lời Nói Đầu 1 Lời Cảm Ơn 2 Mục Lục 3 Danh Mục Các Từ Viết Tắt 5 Danh mục Các hình Vẽ .8 Chương 1 : Tổng quan về VoIP 9 1.1 Khái niệm VoIP 9 1.2 Đặc điểm của điện thoại IP và mạng VoIP 11 1.3 Các hình thức truyền thoại qua IP .16 1.4 Cơ chế làm việc của VoIP .17 1.5 Các vấn đề chất lượng của VoIP .20 Chương 2 : Kiến trúc hệ thống VoIP 23 2.1 Kiến trúc và các giao diện của mạng VoIP .23 2.2 Các thành phần của mạng VoIP 24 Chương 3 : Các giao thức báo hiệu VoIP 32 3.1 Giao thức báo hiệu H.323 .32 3.2 Giao thức báo hiệu SIP .43 3.3 So sánh giao thức SIP và H.323 .50 3.4 Giao thức SGCP .52 3.5 Giao thức MGCP 52 Chương 4 : Tổng quan địa chỉ IPv6 54 4.1 Sự ra đời của IPv6 .54 4.2 Sơ lược một số đặc điểm của IPv6 56 4.3 Địa chỉ IPv6 .61 4.4 Hoạt động của địa chỉ IPv6 .68 Chương 5 : Thiết kế hệ thống VoIPv6 .76 5.1 Mô tả hệ thống 76 5.2 Thực hiện 77 5.3 Kết quả .78 Kết luận .82 Tài liệu tham khảo .83 [/B]

doc83 trang | Chia sẻ: banmai | Lượt xem: 2245 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Nghiên cứu và thiết kế hệ thống VoIPV6, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ng SIP-URL để đánh địa chỉ. Định tuyến nhờ sử dụng Redirect và Location Server Định vị đầu cuối sử dụng E.164 hoặc tên ảo H.323 và phương pháp ánh xạ địa chỉ nếu trong mạng có gatekeeper. Chức năng định tuyến do gatekeeper đảm nhiệm. Tính năng thoại Hỗ trợ các tính năng của cuộc gọi cơ bản Được thiết kế nhằm hỗ trợ rất nhiều tính năng hội nghị, kể cả thoại, hình ảnh và dữ liệu, quản lý tập trung nên có thể gây tắc nghẽn ở gatekeeper. Tạo tính năng và dịch vụ mới Dễ dàng, sử dụng SIP-CGI và CPL H.450.1 Khả năng mở rộng Dễ dàng Hạn chế Giao thức SGCP (Simple Gateway Control Protocol): Giao thức này cho phép các thành phần điều khiển cuộc gọi, có thể điều khiển kết nối giữa trung kế, các thiết bị đầu cuối với các gateway. Các thành phần điều khiển được gọi là call Agent. SGCP được sử dụng để thiết lập, duy trì và giải phóng các cuộc gọi qua mạng IP. Call Agent thực hiện các chức năng báo hiệu cuộc gọi và gateway thực hiện chức năng truyền tín hiệu âm thanh. SGCP cung cấp 5 lệnh điều khiển chính như sau: Notification Request: yêu cầu gateway phát các tín hiệu nhấc đặt máy và các tín hieuj quay số DTMF. Notifi: gateway sử dụng lệnh này để thông báo với call Agent về các tín hiệu được phát ở trên. Create Connection: Call Agent yêu cầu khởi tạo két nối giữa các đầu liên lạc trong GW. Modify Connection: Call Agent dùng lệnh này để thay đổi các thông số về kết nối đã được thiết lập. Lệnh này cũng có thể dùng để điều khiển luồng cho các gói tin RTP đi từ GW này sang GW khác. Delete Connection: Call Agent sử dụng lệnh này để giải phóng các kết nối đã được thiết lập. Năm lệnh trên đây điều khiển GW và thông báo cho call agent về sự kiện xảy ra. Mỗi lệnh hay yêu cầu bao gồm các thông số cụ thể cần thiết để thực thi các phiên làm việc. Giao thức MGCP: Giao thức MGCP cho phép điều khiển lệnh các Gwthoong qua các thành phần điều khiển nằm bên ngoài mạng. MGCP sử dụng mo hình kết nối tương tự như SGCP dựa trên các kết nối cở bản giữa thiết hị đầu cuối và GW. Các kết nối có thể là kết nối điểm-điểm hoặc kết nối đa điểm. Ngoài chức năng điều khiển như SGCP, MGCP còn cung cấp thêm các chức năng sau: Endpoint Configuration: Call Agent dùng lệnh này để yêu cầu GW xác định kiểu mã hóa ở phía đường dây kết nối đến thiết bị đầu cuối. Auditendpoint và Auditconnection: Call Agent dùng lệnh này để kiểm tra trạng thái và sự kết nối ở thiết bị đầu cuối. Restartin-progress: GW dùng lệnh này để thông báo với Call Agent khi nào các thiết bị đầu cuối ngừng sử dụng dịch vụ và khi nào quay lại sử dụng dịch vụ. Ngoài các giao thức chuẩn kể trên, còn có một giao thức mới đang được xây dựng và phát triển, đó là IAX – Inter Asterisk eXchange. IAX là giao thức báo hiệu VoIp được phát triển bởi tác giả của phần mềm Asterisk để khắc phục những hạn chế trong giao thức SIP. Không giống như giao thức SIP truyền tải thoại và báo hiệu trên 2 kênh khác nhau, IAX truyền tải thoại và báo hiệu trên cùng một kênh. IAX giải quyết được vấn đề NAT đề cập trên phần giao thức SIP. Mặt khác IAX là loại giao thức tối ưu trong việc sử dụng băng thông, cho phép nhiều gói dữ liệu thoại trên cùng một IP header, cơ chế truyền tải nhiều cuộc gọi trên cùng một gói IP được gọi là trung kế. Nhìn chung IAX là giao thức dành cho VoIP mới nhất cho đến thời điểm nàyvới nhiều ưu điểm hấp dẫn như: + tối thiểu sử dụng băng thông + Trong suốt với NAT + Hiệu quả với cơ chế trung kế. CHƯƠNG 4 : TỔNG QUAN ĐỊA CHỈ IPv6 Sự ra đời của IPv6: 4.1.1 Sự cạn kiệt của địa chỉ IPv4: Những thập kỷ vừa qua, do tốc độ phát triển mạnh mẽ của Internet, không gian địa chỉ IPv4 đã được sử dụng trên 60%. Những tổ chức quản lý địa chỉ quốc tế đặt mục tiêu sử dụng hiệu quả lên hàng đầu. Những công nghệ góp phần giảm nhu cầu địa chỉ IP như NAT (công nghệ biên dịch để có thể sử dụng địa chỉ IP private), DHCP (cấp địa chỉ tạm thời) được sử dụng rộng rãi. Tuy nhiên, hiện nay nhu cầu tăng địa chỉ rất lớn: Internet phát triển tại những khu vực dân cư đông đảo như Trung Quốc, Ấn Độ. Những dạng dịch vụ mới đòi hỏi không gian địa chỉ IP cố định (tỉ lệ địa chỉ/khách hàng là 1:1) và kết nối dạng đầu cuối – đầu cuối: dịch vụ DSL, cung cấp dịch vụ Internet qua đường cáp truyền hình, việc phát triển các mạng giáo dục, game trực tuyến, thiết bị di động tham gia vào mạng Internet, truyền tải thoại, audio, video trên mạng. Hạn chế về công nghệ và nhược điểm của IPv4: IPv4 hỗ trợ trường địa chỉ 32 bit, IPv4 ngày nay hầu như không còn đáp ứng được nhu cầu sử dụng của mạng Internet. Hai vấn đề lớn mà IPv4 đang phải đối mặt là việc thiếu hụt các địa chỉ, đặc biệt là các không gian địa chỉ tầm trung (lớp B) và việc phát triển về kích thước rất nguy hiểm của các bảng định tuyến trong Internet. Thêm vào đó, nhu cầu tự động cấu hình (Auto-config) ngày càng trở nên cần thiết. Địa chỉ IPv4 trong thời kỳ đầu được phân loại dựa vào dung lượng của địa chỉ đó (số lượng địa chỉ IPv4 ). Địa chỉ IPv4 được chia thành các lớp. 3 lớp đầu tiên được sử dụng phổ biến nhất. Các lớp địa chỉ này khác nhau ở số lượng các bit dùng để định nghĩa Network ID. Ví dụ: Địa chỉ lớp B có 14 bit đầu dành để định nghĩa Network ID và 16 bit cuối cùng dành cho Host ID. Trong khi địa chỉ lớp C có 21 bit dành để định nghĩa Network ID và 8 bit còn lại dành cho Host ID… Do đó, dung lượng của các lớp địa chỉ này khác nhau. Để giảm nhu cầu tiêu dùng địa chỉ, hoạt động mạng IPv4 sử dụng phổ biến công nghệ biên dịch NAT. Trong đó, máy chủ biên dịch địa chỉ (NAT) can thiệp vào gói tin truyền tải thay thế trường địa chỉ để các máy tính gắn địa chỉ Private có thể kết nối mạng Internet. Mà mô hình sử dụng NAT của dịa chỉ IPv4 có một vài nhược điểm như: Không có kết nối điểm - điểm và gây trễ ; Việc gói tin không được giữ nguyên tình trạng từ nguồn tới đích, có những điểm trên đường truyền tải tại đó gói tin bị can thiệp, như vậy tồn tại những lỗ hổng về bảo mật. Bên cạnh những giới hạn đã nêu ở trên, mô hình này còn có một hạn chế nữa chính là sự thất thóat địa chỉ nếu sử dụng các lớp địa chỉ không hiệu quả. Mặc dù lượng địa chỉ IPv4 hiện nay có thể đáp ứng nhu cầu sử dụng trên thế giới, nhưng cách thức phân bổ địa chỉ IPv4 không thực hiện được chuyện đó. Ví dụ: một tổ chức có nhu cầu triển khai mạng với số lượng Host khoảng 300. để phân địa chỉ IPv4 cho tổ chức này, người ta dùng địa chỉ lớp B. Tuy nhiên, địa chỉ lớp B có thể dùng để gán cho 65536 Host. Dùng địa chỉ lớp B cho tổ chức này làm thừa hơn 65000 địa chỉ. Các tổ chức khác sẽ không thể nào sử dụng khoảng địa chỉ này. Đây là điều hết sức lãng phí. Nguy cơ thiếu hụt địa chỉ IPv4 cùng những hạn chế của nó đưa ra yêu cầu cấp thiết phải nghiên cứu để đưa ra một giao thức Internet mới, khắc phục những hạn chế của giao thức IPv4 và đem lại những đặc tính mới cần thiết cho dịch vụ và cho hoạt động mạng thế hệ tiếp theo. IETF đã đưa ra quyết định thúc đẩy thay thế cho IPv4 là IPv6 - giao thức địa chỉ Internet phiên bản 6 còn được gọi là giao thức IP thế hệ mới. Địa chỉ Internet phiên bản 6 có chiều dài gấp 4 lần so với phiên bản 4: 128 bit địa chỉ. Sơ lược một số đặc điểm của IPv6: Khi phát triển phiên bản mới, IPv6 hoàn toàn dựa trên nền tảng IPv4. Nghĩa là tất cả những chức năng của IPv4 đều được tích hợp vào IPv6. Tuy nhiên, IPv6 cũng có một vài điểm khác biệt: Tăng kích thước của tầm địa chỉ: IPv6 sử dụng 128 bit địa chỉ trong khi IPv4 chỉ sử dụng 32 bit; nghĩa là IPv6 có tới 2128 địa chỉ khác nhau; 3 bit đầu luôn là 001 được dành cho các địa chỉ khả định tuyến toàn cầu (Globally Routable Unicast –GRU). Nghĩa là còn lại 2125 địa chỉ. Một con số khổng lồ. Điều đó có nghĩa là địa chỉ IPv6 sẽ chứa 1028 tầm địa chỉ IPv4. Tăng sự phân cấp địa chỉ: IPv6 chia địa chỉ thành một tập hợp các tầm xác định hay boundary: 3 bit đầu cho phép biết được địa chỉ có thuộc địa chỉ khả định tuyến toàn cầu (GRU) hay không, giúp các thiết bị định tuyến có thể xử lý nhanh hơn. Top Level Aggregator (TLA) ID được sử dụng vì 2 mục đích: thứ nhất, nó được sử dụng để chỉ định một khối địa chỉ lớn mà từ đó các khối địa chỉ nhỏ hơn được tạo ra để cung cấp sự kết nối cho những địa chỉ nào muốn truy cập vào Internet; thứ hai, nó được sử dụng để phân biệt một đường (Route) đến từ đâu. Nếu các khối địa chỉ lớn được cấp phát cho các nhà cung cấp dịch vụ và sau đó được cấp phát cho khách hàng thì sẽ dễ dàng nhận ra các mạng chuyển tiếp mà đường đó đã đi qua cũng như mạng mà từ đó Route xuất phát. Với IPv6, việc tìm ra nguồn của 1 Route sẽ rất dễ dàng. Next Level Aggregator (NLA) là một khối địa chỉ được gán bên cạnh khối TLA, những địa chỉ này được tóm tắt lại thành những khối TLA lớn hơn, khi chúng được trao đổi giữa các nhà cung cấp dịch vụ trong lõi Internet, ích lợi của loại cấu trúc địa chỉ này là: Thứ nhất, sự ổn định về định tuyến, nếu chúng ta có 1 NLA và muốn cung cấp dịch vụ cho các khách hàng, ta sẽ cố cung cấp dịch vụ đầy đủ nhất, tốt nhất. Thứ hai, chúng ta cũng muốn cho phép các khách hàng nhận được đầy đủ bảng định tuyến nếu họ muốn, để tạo việc định tuyến theo chính sách, cân bằng tải... Để thực hiện việc này chúng ta phải mang tất cả các thông tin về đường đi trong Backbone để có thể chuyển cho họ. Đơn giản hóa việc đặt địa chỉ Host: IPv6 sử dụng 64 bit sau cho địa chỉ Host, trong 64 bit đó có cả 48 bit là địa chỉ MAC của máy, do đó, phải đệm vào đó một số bit đã được định nghĩa trước mà các thiết bị định tuyến sẽ biết được những bit này trên subnet. Ngày nay, ta sử dụng chuỗi 0xFF và 0xFE (:FF:FE: trong IPv6) để đệm vào địa chỉ MAC. Bằng cách này, mọi Host sẽ có một Host ID duy nhất trong mạng. Sau này nếu đã sử dụng hết 48 bit MAC thì có thể sẽ sử dụng luôn 64 bit mà không cần đệm. Địa chỉ Anycast: IPv6 định nghĩa một loại địa chỉ mới: địa chỉ Anycast. Một địa chỉ Anycast là một địa chỉ IPv6 được gán cho một nhóm các máy có chung chức năng, mục đích. Khi packet được gửi cho một địa chỉ Anycast, việc định tuyến sẽ xác định thành viên nào của nhóm sẽ nhận được packet qua việc xác định máy gần nguồn nhất.Việc sử dụng Anycast có 2 ích lợi: Một là, nếu chúng ta đang đến một máy gần nhất trong một nhóm, chúng ta sẽ tiết kiệm được thời gian bằng cách giao tiếp với máy gần nhất. Thứ hai là việc giao tiếp với máy gần nhất giúp tiết kiệm được băng thông. Địa chỉ Anycast không có các tầm địa chỉ được định nghĩa riêng như Multicast, mà nó giống như một địa chỉ Unicast, chỉ có khác là có thể có nhiều máy khác cũng được đánh số với cùng scope trong cùng một khu vực xác định. Anycast được sử dụng trong các ứng dụng như DNS... Việc tự cấu hình địa chỉ đơn giản hơn: Một địa chỉ Multicast có thể được gán cho nhiều máy, địa chỉ Anycast là các gói Anycast sẽ gửi cho đích gần nhất (một trong những máy có cùng địa chỉ) trong khi Multicast packet được gửi cho tất cả máy có chung địa chỉ (trong một nhóm Multicast). Kết hợp Host ID với Multicast ta có thể sử dụng việc tự cấu hình như sau: khi một máy được bật lên, nó sẽ thấy rằng nó đang được kết nối và nó sẽ gửi một gói Multicast vào LAN; gói tin này sẽ có địa chỉ là một địa chỉ Multicast có tầm cục bộ (Solicited Node Multicast address). Khi một Router thấy gói tin này, nó sẽ trả lời một địa chỉ mạng mà máy nguồn có thể tự đặt địa chỉ, khi máy nguồn nhận được gói tin trả lời này, nó sẽ đọc địa chỉ mạng mà Router gửi; Sau đó, nó sẽ tự gán cho nó một địa chỉ IPv6 bằng cách thêm Host ID (được lấy từ địa chỉ MAC của interface kết nối với subnet đó) với địa chỉ mạng, Do đó, tiết kiệm được công sức gán địa chỉ IP. Header hợp lý: Header của IPv6 đơn giản và hợp lý hơn IPv4. IPv6 chỉ có 6 trường và 2 địa chỉ, trong khi IPv4 chứa 10 trường và 2 địa chỉ. IPv6 Header có dạng: Hình 4.1 định dạng IPv6 header IPv6 cung cấp các đơn giản hóa sau: Định dạng được đơn giản hóa: IPv6 header có kích thước cố định 40 octet với ít trường hơn IPv4 nên giảm được thời gian xử lý header, tằn độ linh hoạt. Không có Header checksum: Trường checksum của IPv4 được bỏ đi vì các liên kết ngày nay nhanh hơn và có độ tin cậy cao hơn vì vậy chỉ cần các Host tính checksum còn Router thì khỏi cần. Không có sự phân đoạn theo từng hop: Trong IPv4, khi các packet quá lớn thì Router có thể phân đoạn nó. Tuy nhiên, việc này sẽ làm tăng them Overhead cho packet. Trong IPv6 chỉ có Host nguồn mới có thể phân đoạn một packet theo các giá trị thích hợp dựa vào một MTU path mà nó tìm được. Do đó, để hỗ trợ Host thì IPv6 chứa một hàm giúp tìm ra MTU từ nguồn đến đích. Bảo mật: IPv6 tích hợp tính bảo mật vào trong kiến trúc của mình bằng cách giới thiệu 2 Header mở rộng tùy chọn: Authentication Header (AH) và Encrypted Security Payload (ESP) Header. Hai Header này có thể được sử dụng chung hay riêng để hỗ trợ nhiều chức năng bảo mật. AH quan trọng nhất trong Header này là trường Integriry Check Value (ICU). ICU được tính bởi nguồn và được tính lại bởi đích để xác minh. Quá trình này cung cấp việc xác minh tính toàn vẹn và xác minh nguồn gốc của dữ liệu. AH cũng chứa cả một số thứ tự để nhận ra một tấn công bằng các packet replay giúp ngăn các gói tin được nhân bản. ESP Header: ESP Header chứa một trường: Security Parameter Index (SPI) giúp đích của gói tin biết payload được mã hóa như thế nào. ESP Header có thể được sử dụng khi tunneling, trong tunnelling thì cả Header và payload gốc sẽ được mã hóa và bỏ vào một ESP Header bọc ngoài, khi đến gần đích thì các gateway bảo mật sẽ bỏ Header bọc ngoài ra và giải mã để tìm ra Header và payload gốc. Tính di động: IPv6 hỗ trợ tốt các máy di động như laptop. IPv6 giới thiệu 4 khái niệm giúp hỗ trợ tính toán di động gồm: Home address; Care-of address; Binding; Home agent. Trong IPv6 thì các máy di động được xác định bởi một địa chỉ Home address mà không cần biết hiện tại nó được gắn vào đâu. Khi một máy di động thay đổi từ một subnet này sang subnet khác; nó phải có một Care-of address qua một quá trình tự cấu hình. Sự kết hợp giữa Home address và Care-of address được gọi là một Binding. Khi một máy di động nhận được một Care-of address, nó sẽ báo cho Home agent của nó bằng gói tin được gọi là Binding update để Home agent có thể cập nhật lại Binding cáche của Home agent về Care-of address của máy di động vừa gửi. Home agent sẽ duy trì một ánh xạ giữa các Home address và Care-of address và bỏ nó vào Binding cáche. Một máy di động có thể được truy cập bằng cách gửi một packet đến các Home address của nó. Nếu máy di động không được kết nối trên subnet của Home agent thì Home agent sẽ gửi packet đó cho máy di động qua Care-of address của máy đó trong Binding cáche của Home agent (Lúc này, Home agent được xem như máy trung gian để máy nguồn có thể đến được máy di động). Máy di động sau đó sẽ gửi một gói tin Binding update cho máy nguồn của gói tin. Máy nguồn sau đó sẽ cập nhật Binding cáche của nó, thì sau này máy nguồn muốn gửi đến máy di động, chỉ cần gửi trực tiếp đến cho máy di động qua Care-of address chứa trong Binding cáche của nó mà không cần phải gửi qua Home address. Do đó, chỉ có gói tin đầu tiên là qua Home agent. Hiệu suất: IPv6 cung cấp các lợi ích sau: Giảm được thời gian xử lý Header, giảm Overhead vì chuyển dịch địa chỉ: vì trong IPv4 có sử dụng private address để tránh hết địa chỉ, Do đó, xuất hiện kỹ thuật NAT để dịch địa chỉ, nên tăng Overhead cho gói tin. Trong IPv6 do không thiếu địa chỉ nên không cần private address, nên không cần dịch địa chỉ. Giảm được thời gian xử lý định tuyến: nhiều khối địa chỉ IPv4 được phân phát cho các user nhưng lại không tóm tắt được, nên phải cần các entry trong bảng định tuyến làm tăng kích thước của bảng định tuyến và thêm Overhead cho quá trình định tuyến. Ngược lại, các địa chỉ IPv6 được phân phát qua các ISP theo một kiểu phân cấp địa chỉ giúp giảm được Overhead. Tăng độ ổn định cho các đường: trong IPv4, hiện tượng route flapping thường xảy ra, trong IPv6, một ISP có thể tóm tắt các route của nhiều mạng thành một mạng đơn, chỉ quản lý mạng đơn đó và cho phép hiện tượng flapping chỉ ảnh hưởng đến nội bộ của mạng bị flapping. Giảm Broadcast: trong IPv4 sử dụng nhiều Broadcast như ARP, trong khi IPv6 sử dụng Neighbor Discovery Protocol để thực hiện chức năng tương tự trong quá trình tự cấu hình mà không cần sử dụng Broadcast. Multicast có giới hạn: trong IPv6, một địa chỉ Multicast có chứa một trường scope có thể hạn chế các gói tin Multicast trong các Node, trong các link, hay trong một tổ chức. Không có checksum. 4.3 Địa chỉ IPv6: 4.3.1 Cách viết địa chỉ IPv6: Địa chỉ IPv6 128 bit được chia thành 8 khối mỗi khối 16 bit, mỗi khối này được chuyển sang dạng số hexa 4 bit và được phân biệt với nhau bằng dấu hai chấm. Ví dụ : cho 1 địa chỉ IPv6 dưới dạng nhị phân như sau: 00100001110110100000000011010011000000000000000000101111001110110000001010101010000000001111111111111110001010001001110001011010 Địa chỉ này được chia ra thành các khối 16bit như sau: 0010000111011010 0000000011010011 0000000000000000 0010111100111011 0000001010101010 0000000011111111 1111111000101000 1001110001011010 Mỗi khối này được chuyển sang chữ số hexa và chia cách nhau bằng dấu hai chấm, kết quả là: 21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A 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: 21DA:D3:0:2F3B:2AA:FF:FE28:9C5A Prefix của IPv6: Prefix là một phần của địa chỉ IPv6, nó chỉ ra các bit có giá trị cố định hoặc là các bit đóng vai trò là ID của mạng. Các prefix cho định danh mạng con của IPv6, các tuyến, các vùng địa chỉ được biểu diễn như trong ký hiệu CIDR (classless Inter-Domain Routing) cho IPv4. Ví dụ 21DA::/48 cho một địa chỉ Prefix tuyến và 21DA:D3:0:2F3B::/64 cho 1 prefix mạng con. Trong đó IPv6 chỉ dùng prefix chứ không dùng mặt nạ mạng con như IPv4. Các dạng địa chỉ IPv6: Địa chỉ unicast: Một địa chỉ unicast xác định một giao diện đơn trong phạm vi của loại địa chỉ unicast. Với một topology định tuyến unicast thích hợp, các gói được đánh địa chỉ unicast được chuyển đến một giao diện đơn. Địa chỉ multicast: Một địa chỉ multicast xác định nhiều giao diện. Với topo định tuyến thích hợp thì các gói được đánh địa chỉ multicast sẽ được chuyển tới tất cả các giao diện mà được xác định bởi địa chỉ này. Một địa chỉ multicast được dùng trong truyền thông một-nhiều, được chuyển đến nhiều giao diện. Địa chỉ anycast: Một địa chỉ Anycast xác định nhiều giao diện. Với topology định tuyến thích hợp thì các gói được đánh địa chỉ anycast được chuyển đến một giao diện đơn gần nhât được xác định bởi địa chỉ anycast này. Khái niệm giao diện gần nhất được xác định gần nhất trong giới hạn khoảng cách định tuyến. Địa chỉ anycast được dùng trong truyền thông 1-1 trong nhiều. Địa chỉ unicast: Địa chỉ unicast IPv6 bao gồm các loại sau: địa chỉ unicast toàn cầu, địa chỉ link-local, địa chỉ site-local 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ỉ public 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. - Prefix định tuyến toàn cầu: chỉ prefix định tuyến toàn cầu cho một site của một tổ chức cụ thể. Ba bit cố định cùng với 45 bit prefix định tuyến toàn cầu tạo thành một prefic site 48 bit, prefix này được cấp cho một site cá nhận của một tổ chức. 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 với prefix 48 bit đến các bộ định tuyến thuộc site của tổ chức. - Subnet ID: Subnet ID được dùng cho site 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. Site của tổ chức có thể dùng 16 bit này với site của nó để tạo 65.536 mạng con hoặc nhiều mức độ của sự phân cấp đánh địa chỉ và một cơ sở hạ tầng định tuyến hiệu quả. - Giao diện ID: chỉ giao diện trên một subnet cụ thể của một site. Kích thước của trường này là 16 bit. Các trường với địa chỉ unicast toàn cầu tạo ra cấu trúc 3 cấp như hình vẽ: Hình 4.2 Địa chỉ Unicast toàn cầu Topology công cộng là tập hợp của các ISP lớn hơn và nhỏ hơn mà cung cấp truy nhập vào Internet IPv6. Topo của site là tập hợp của các mạng con trong cùng site của tổ chức. Chỉ thị giao diện chỉ một giao diện cụ thể trên một mạng con trong cùng site của một tổ chức. Địa chỉ Unicast dùng nội bộ. Có 2 loại : địa chỉ link-local và địa chỉ site-local * Địa chỉ Link-Local: Các địa chỉ link-local được dùng bởi các node khi truyền thông với các node láng giềng trên cùng 1 liên kết. Ví dụ như trên mạng IPv6 liên kết đơn không có bộ định tuyến, các địa chỉ link-local được dùng để truyền thông giữa các host trên link. Một địa chỉ link-local cần thiết cho các quá trình xử lý tìm kiếm láng giềng và luôn luôn được tự động được cấu hình ngay cả khi không có tất cả các địa chỉ unicast khác. Hình 4.3 Mô tả cấu trúc của địa chỉ link-local Các địa chỉ link-local luôn luôn bắt đầu với FE80. Với 64 bit xác định giao diện. Prefix cho địa chỉ link-local luôn luôn là FE80::/64. Một bộ định tuyến IPv6 chuyển lưu lượng link-local vượt ngoài giới hạn liên kết. * Địa chỉ Site khu vực (Site-Local): Các địa chỉ site-local tương ứng với không gian địa chỉ IPv4 riêng ( 10.0.0.0, 172.16.0.0/24 và 192.168.0.0/16). Ví dụ các mạng nội bộ riêng mà không có một hướng, định tuyến kết nối đến Internet IPv6 có thể dùng các địa chỉ site-local mà không xung đột với các địa chỉ Unicast toàn cầu. Các địa chỉ site-local không đến được từ các site khác và các bộ định tuyến phải không được chuyển lưu lượng site-local ra ngoài site. Các địa chỉ site-local có thể được dùng thêm vào các địa chỉ unicast toàn cầu. Một site là một mạng tổ chức hoặc 1 phần của mạng tổ chức mà được định nghĩa về mặt địa lý, như 1 cơ quan hay 1 tổ hợp cơ quan, một trường học. Không giống như các địa chỉ link-local, các địa chỉ site-local không được tự động cấu hình và được cấp phát bởi các quá trình cấu hình địa chỉ stateful hay stateless. Cấu trúc của địa chỉ site-locak như sau: Hình 4.4 Mô tả cấu trúc của địa chỉ Site-Local 10 bit đầu tiên luôn luôn cố định cho các địa chỉ site-local ( FEC0::/10). Sau 10 bit cố định là trường ID Subnet cung cấp 54 bit mà ta có thể tạo ra một cơ sở hạ tầng định tuyến có thể tóm tắt và phân cấp trong cùng 1 site. Sau trường ID mạng con là 64 bit trường ID giao diện mà chỉ thị một giao diện cụ thể trên một subnet. Địa chỉ IPv6 đặc biệt: * Địa chỉ không chỉ rõ: Địa chỉ “0:0:0:0:0:0:0:0” hay “::” chỉ được dùng để chỉ sự không có mặt của một địa chỉ. Nó tương thích với địa chỉ không rõ trong IPv4 là “0.0.0.0”. Địa chỉ không chỉ rõ thường được dùng như là một địa chỉ nguồn cho các gói cố gắng để xác nhận sự có mặt duy nhất của một địa chỉ không chỉ rõ. Địa chỉ không chỉ rõ không được cấp cho 1 giao diện hoặc là dùng như 1 địa chỉ đích đến. * Địa chỉ loopback: Địa chỉ loopback “0:0:0:0:0:0:0:1” hoặc “::1” được dùng để xác định 1 giao diện loopback cho phép 1 node có thể gửi các gói gửi ngược về chính nó. Nó tương đương với địa chỉ loopback “127.0.0.1” trong IPv4. Các gói được đánh địa chỉ cho địa chỉ loopback phải không được gửi trên đường liên kết hoặc được chuyển tiếp bởi 1 bộ định tuyến IPv6. Địa chỉ Multicast IPv6: Trong IPv6 lưu lượng multicast hoạt động giống như ở IPv4. Các node IPv6 được định vị tùy ý có thể lắng nghe lưu lượng multicast trên 1 địa chỉ multicast tùy ý. Các node IPv6 được định vị tùy ý có thể lắng nghe nhiều địa chỉ multicast tại cùng 1 thời điểm. Các node có thể tham gia hoặc rời khỏi nhóm multicast bất cứ lúc nào. Địa chỉ multicast IPv6 có 8 bit đầu tiên là 1111 1111. Một địa chỉ IPv6 multicast có thể dễ dàng nhận ra vì nó luôn bắt đầu bằng FF. Các địa chỉ multicast không thể được dùng như là các địa chỉ nguồn hoặc là các đích trung gian trong 1 tiêu đề định tuyến. Phía sau 8 bit đầu tiên địa chỉ multicast bao gồm cấu trúc thêm vào để xác định các cờ, phạm vi và nhóm multicast. Hình 4.5 Mô tả cấu trúc của địa chỉ Multicast Các trường trong địa chỉ multicast là: - Cờ: chỉ các cờ được thiết lập trong địa chỉ multicast. Kích thước của trường này là 4 bit. Như RFC 3513 cờ chỉ được định nghĩa là cờ T( transient: tạm thời). Cờ T dùng bit bậc thấp của trường cờ. Khi được set về 0 cờ T chỉ ra rằng địa chỉ multicast là một địa chỉ multicast được cấp thường trực, được cấp phát bởi IANA (Internet Assigned Number Authority). Khi được set lên 1, cờ T chỉ ra địa chỉ multicast này là địa chỉ multicast tạm thời. - Phạm vi: chỉ phạm vi của liên mạng IPv6 cho lưu lượng multicast được dự định. Kích thước của trường này là 4 bit. Thêm vào đó thông tin cung cấp bởi các giao thức định tuyến multicast , các bộ định tuyến dùng phạm vi multicast để xác định nơi mà lưu lượng multicast sẽ được chuyển đi. Các giá trị thông thường nhất cho trường phạm vi là 1 ( phạm vi giao diện cục bộ), 2 ( phạm vi liên kết nội bộ) và 5 (phạm vi site nội bộ). Ví dụ lưu lượng với địa chỉ multicast là FF02::2 có 1 phạm vi liên kết nội bộ thì 1 bộ định tuyến IPv6 sẽ không chuyển lưu lượng này ra liên kết nội bộ. - ID nhóm: chỉ nhóm multicast và là duy nhất đối với mỗi phạm vi. Kích thước của trường này là 112 bit. Các ID nhóm được gán thường trực không phụ thuộc vào phạm vi. Các ID nhóm tạm thời chỉ liên quan đến 1 phạm vi cụ thể. Các địa chỉ từ FF01:: đến FF0F:: là các địa chỉ để lưu trữ và được biết đến nhiều. Để xác định tất cả các node cho các phạm vi liên kết nội bộ và giao diện nội bộ, các địa chỉ sau được định nghĩa: FF01::1 ( giao diện-local scope all-nodes multicast address) FF02::1 ( link-local scope all-node multicast address Để xác định tất cả các bộ định tuyến cho phạm vi giao diện nội bộ và site nội bộ, các địa chỉ sau được định nghĩa: FF01::2 ( giao diện-local scope all-bộ định tuyếns multicast address) FF02::2 ( link-local scope all-bộ định tuyếns multicast address) FF05::2 ( site-local scope all-bộ định tuyếns multicast address) Với 112 bit cho ID nhóm thì có thể có 2112 ID nhóm địa chỉ. Tuy nhiên theo cách mà các điạ chỉ multicast IPv6 ánh xạ sang các địa chỉ MAC multicast của Ethernet nên RFC 3513 khuyến cáo cấp phát ID nhóm từ 32 bit bậc thấp của địa chỉ multicast IPv6 và xét các bit ID nhóm còn lại là 0. Bằng cách chỉ sử dụng 32 bit bậc thấp mỗi ID nhóm ánh xạ 1 địa chỉ MAC multicast duy nhất. Địa chỉ Node Solicited: Điạ chỉ node solicicated làm cho thuận tiện trong việc query các node mạng trong việc chuyển địa chỉ. Trong IPv4, các khung ARP Request được gửi sang broadcast cấp độ MAC, gửi đến tất cả các node trong từng đoạn mạng, bao gồm các địa chỉ không chạy IPv4. IPv6 dùng các bản tin Neighbor Solicitation để thực hiện việc chuyển đổi địa chỉ. Tuy nhiên thay vì dùng địa chỉ multicast tất cả các node phạm vi liên kết nội bộ như các đích bản tin Neighbor Solicitation, sẽ gửi đến tất cả các node IPv6 trên liên kết nội bộ, địa chỉ multicast solicited node được dùng. Địa chỉ multicast solicited node bao gồm prefix FF02::1:FF00:0/104 và 24 bit sau cùng của điạ chỉ IPv6 được chuyển sang. Hình 4.6 Mô tả cấu trúc của địa chỉ Node Solicited Địa chỉ Anycast IPv6: Một địa chỉ anycast được cấp cho nhiều giao diện. Các địa chỉ được đánh địa chỉ anycast được chuyển sang giao diện gần nhất mà địa chỉ anycast được cấp. Để dễ dàng cho việc phân phát, cơ sở hạ tầng phải nhận biết được các giao diện được gán địa chỉ anycast và khoảng cách của chúng trong giới hạn của metric định tuyến. Hiện tại thì địa chỉ anycast chỉ được dùng như các địa chỉ đích và chỉ được gán cho các bộ định tuyến. Các địa chỉ anycast cấp không gian địa chỉ unicast và phạm vi của một địa chỉ unicast là phạm vi của kiểu địa chỉ unicast từ địa chỉ anycast được cấp. Địa chỉ anycast Subnet - Route được định nghĩa trước và là cần thiết. Nó được tạo ra từ prefix mạng con cho một giao diện cho trước. Để thiết kế địa chỉ anycast Subnet-Bộ định tuyến, các bit trong prefix subnet được cố định tại các giá trị thích hợp và các bit còn lại được xét về 0. Tất cả các giao diện của bộ định tuyến kết nối đến đến 1 mạng con được cấp địa chỉ anycast Subnet - Route cho mạng con đó. Địa chỉ anycast Subnet – Route được dùng cho việc truyền thông với một trong nhiều bộ định tuyến được nối đến mạng con ở xa. Hoạt động của địa chỉ Ipv6: 4.4.1 Phân giải địa chỉ: Trong địa chỉ Ipv4, quy trình này được đảm nhiệm bởi thủ tục ARP. Node cần phân giải địa chỉ sẽ gửi gói tin truy vấn tới địa chỉ đích là địa chỉ broad cast, tác động đến mọi node khác trên đường link. Trong địa chỉ của Ipv6, đây là một trong số những quy trình thủ tục Neighbor Discovery đảm nhiệm. Để phục vụ cho việc phân giải tương ứng địa chỉ lớp mạng và địa chỉ vật lý, các node IPv6 đều duy trì một bảng cache thông tin về các node lân cận gọi là “neighbor cache”. Trong hệ điều hành window, chúng ta có thể xem thông tin trong bảng này với lệnh “nesth>interface ipv6>show neighbors”. Khi một IPv6 node cần tìm địa chỉ lớp link – layer (ví dụ địa chỉ MAC trên đường link Ethernet) tương ứng với một địa chỉ unicast IPv6 nào đó, thay vì gửi gói tin truy vấn tới địa chỉ multicast mọi node phạm vi link (FF02::1) để tác động tới mọi node trên đường link tương đương địa chỉ broadcast trong IPv4, node đó chỉ gửi tới địa chỉ Multicast Solicited Node tương ứng địa chỉ unicast cần phân giải. Như chúng ta cũng biết, một node IPv6, khi được gắn một địa chỉ unicast, ngoài việc lắng nghe lưu lượng tại địa chỉ unicast đó, node IPv6 sẽ lập tức nghe và nhận lưu lượng của một dạng địa chỉ multicast tương ứng là Multicast Solicited Node tương ứng địa chỉ unicast này. Như vậy, trong quá trình phân giải địa chỉ của IPv6, chỉ những node đang nghe lưu lượng tại địa chỉ MSN phù hợp mới nhận và xử lý gói tin. Điều này giảm thiểu việc tác động đến mọi node trên đường link, tăng hiệu quả hoạt động. Để thực hiện quy trình phân giải địa chỉ, hai node IPv6 trong một đường link trao đổi thông điệp Neighbor Solicitation và Neighbor Advertisement. Khi một node cần phân giải địa chỉ, nó gửi đi trên đường link thông điệp Neighbor Solicitation: - Địa chỉ nguồn: địa chỉ IPv6 của giao diện gửi gói tin. - Địa chỉ đích: địa chỉ IPv6 MSN tương ứng địa chỉ unicast cần phân giải địa chỉ. - Thông tin chứa trong phần dữ liệu có chứa địa chỉ lớp link- layer của nơi gửi (trong Option Source Link-layer Address) Trên đường link, node đang nghe lưu lượng tại địa chỉ MSN trùng với địa chỉ đích của gói tin sẽ nhận được thông tin. Nó thực hiện những hành đọng sau: - cập nhật địa chỉ lớp link-layer ( địa chỉ MAC trong trường hợp kết nối Ethernet) của nơi gửi vào bảng neighbor cache. - gửi thông điệp Neighbor Advertisement đáp trả tới địa chỉ đích là địa chỉ nguồn đã gửi gói tin, thông tin trong phần dữ liệu có lớp địa chỉ lớp link-layer của nó (chứa trong Option Target Link-Layer Address). Khi nhận được thông điệp Neighbor Advertisement, node cần phân giải địa chỉ sẽ sử dụng thông tin trong đó để thực hiện liên lạc đồng thời cập nhật thông tin vào bảng neighbor cache của mình. Kiểm tra trùng lặp địa chỉ: Tự động cấu hình địa chỉ là một trong nhưng đặc tính nổi bật của thế hệ địa chỉ IPv6. Đặc tính này có được nhờ việc node IPv6 có khả năng tự cấu hình 64 bit định danh giao diện (Interface ID) từ địa chỉ của card mạng, hoặc nhận ID là một con số ngẫu nhiên. Do 64 bit định danh giao diện có thể là con số ngẫu nhiên, hoàn toàn có khả năng trên đường kết nối, địa chỉ IPv6 node dự định sử dụng đã được một node khác sử dụng rồi. Do vậy chúng cần một quy trình để kiểm tra sự trùng lặp địa chỉ trong đường link. Đó là quy trình DAD. DAD cũng sử dụng hai thông điệp ICMPv6 Neighbor Solicitation và Neighbor Advertisement. Tuy nhiên một số thông tin của gói tin này khác với gói tin sử dụng trong quá trình phân giải địa chỉ. Khi một node cần kiểm tra trùng lặp địa chỉ, nó gửi gói tin Neighbor Solicitation: - Địa chỉ IPv6 nguồn: là địa chỉ unspeccified “::”. Điều này đẽ hiểu, địa chỉ dự định được gắn cho giao diện sẽ chưa thể được sử dụng chừng nào chưa kiểm tra là không có sự trùng lặp. - Gói tin Neighbor Solicitation sẽ chứa địa chỉ IPv6 đang được kiểm tra trùng lặp. Sau khi gửi NS, node sẽ đợi, nếu không có phản hồi thì có nghĩa là địa chỉ này chưa được sử dụng, còn nếu địa chỉ này đã được mọt node nào đó sử dụng rồi , node này sẽ gửi thông điệp Neighbor Advertisement đáp trả: - Địa chỉ nguồn: Địa chỉ IPv6 node giao diện gửi gói tin - Địa chỉ đích: Địa chỉ IPv6 multicast mọi node phạm vi link (FF02::1) - Gói tin sẽ chứa đại chỉ bị trùng lặp Nếu node đang kiểm tra địa chỉ trùng lặp nhận được thông điệp RA phản hồi lại RS mình đã gửi, nó sẽ hủy bỏ việc sử dụng địa chỉ này. Kiểm tra tính có thể đạt tới của node lân cận: Thông điệp Neighbor Solicitation và Neighbor Advertisement được sử dụng trong quá trình phân giải địa chỉ, kiểm tra trùng lặp địa chỉ cũng được sử dụng cho những mục đích khác như: quá trình kiểm tra tính có thể đạt tới của một node lân cận. Các IPv6 node duy trì bảng thông tin về các neighbor của mình gọi là neighbor cache, và sẽ cập nhật bảng này khi có sự thay đổi tình trạng mạng. Bnagr này lưu thông tin đối với cả router và host. Biết được node lân cận có thể đạt tới hay không rất quan trọng đối với một node vì nó sẽ điều chỉnh cách thức cư xử của mình theo kết quả nhận được, Ví dụ nếu biết một node lân cận không đạt tới được, host sẽ ngừng gửi gói tin, biết một router đang không thể đạt tới được, host có thể thực hiện quy trình tìm kiếm một router khác. Nếu một host muốn kiểm tra tình trạng có thể nhận gói tin của node lân cận, nó gửi thông điệp Neighbor Solicitation. Nếu nhận được Neighbor Advertisement phúc đáp, nó biết tình trạng của node lân cận là đạt tới được và cập nhật bảng neighbor cache tương ứng. Tất nhiên tình trạng này chỉ được coi là tạm thời và có một khoảng thời gian dành cho nó, trước khi node cần thực hiện kiểm tra lại trạng thái neighbor. Khoảng thời gian quy định này cũng như một số các tham số hoạt động khác host sẽ nhận được từ thông tin quảng bá Router Adertisement của router trên đường kết nối. Tìm kiếm router: Đối với hoạt động của địa hcir IPv6, sự trao đổi giữa các host với nhau, giữa host với router là rất quan trọng. Trong mạng router là thiết bị đảm nhiệm việc chuyển tiếp lưu lượng củ các host từ mạng này sang mạng khác. Một host phải nhờ vào router để có thể gửi thông tin tới những node nằm ngoài đường kết nối của mình. Do vậy, trước khi một host có thể thực hiện các hoạt động giao tiếp với các mạng bên ngoài, nó cần tìm một router và học được những thông tin quan trọng về router, cũng như về mạng. Trong thế hệ địa chỉ IPv6, để có thể cấu hình địa chỉ, cũng như có những thông số cho hoạt động, IPv6 host cần tìm thấy router và nhận được những thông tin từ router trên đường kết nối. Router IPv6 ngoài việc đảm trách chuyển tiếp gói tin cho host, nó còn đảm nhiệm một hoạt động không thể thiếu là quảng bá sự hện diện của mình và cung cấp các tham số trợ giúp host trên đường kết nối cấu hình địa chỉ và các tham số hoạt động. Thực hiện những hoạt động trao đổi thông tin giữa host và router là một nhiệm vụ rất quan trọng của thủ tục Neighbor Discovery. Quá trình tìm kiếm, trao đổi giữa host và router thực hiện dựa trên hai dạng thông điệp sau: - Router Solicitation được gửi bởi host tới các router trên đường link. Do vậy, gói tin được gửi tới dịa chỉ đích multicast mọi router phạm vi link (FF02::2). Host gửi thông điệp này để yêu cầu router quảng bá ngay các thông tin nó cần cho hoạt động. - Router Advertisement chỉ được gửi bởi các router để quảng bá sự hiện diện của router và các tham số cần thiết khác cho hoạt động của các host. Router gửi định kỳ thông điệp này trên đường kết nối và gửi thông điệp này bất cứ khi nào nhận được router solicitation từ các host trong đường kết nối. 4.4.5 Cấu hình tự động địa chỉ cho IPv6 node: Địa chỉ IPv6 được cải tiến để có thể giảm thiểu những cấu hình nhân công, 64 bit cuối cùng của địa chỉ IPv6 luôn dành để định danh giao diện, 64 bit định danh này có thể tự động cấu hình từ địa chỉ card mạng hoặc gán một cách tự động. Nhờ quy trình giao tiếp trên đường link của thử tục Neighbor Discovery, IPv6 host có thể liên lạc với router trên đường kết nối để nhận các thông tin về prefix trên link và những tham số hoạt động khác. Do vậy, các node trong IPv6 có hai cách thức cấu hình địa chỉ: cấu hình địa chỉ bằng tay, hoặc cấu hình địa chỉ tự động. IPv6 node có hai cách thức cấu hình tự động địa chỉ cho giao diện: - Tự động cấu hình có trạng thái (stateful): Đây là cách thức cấu hình địa chỉ cho host dựa vào sự trợ giúp của DHCPv6 server. Cách thức cấu hình này tương tự như việc sử dụng DHCP của IPv4. Hiện nay, các RFC dành cho DHCPv6 đã được IETF hoàn thiện đầy đủ. Máy chủ DHCPv6 sẽ cung cấp cho host địa chỉ và các thông tin để host cấu hình, nên được gọi là cấu hình có trạng thái (stateful). - Tự động cấu hình không trạng thái (stateless): Đây là cách thức tự động trong đó, một host sẽ tự thực hiện cấu hình địa chỉ cho giao diện không cần sự hỗ trợ của bất kỳ một máy chủ DHCP nào. Host thực hiện cấu hình địa chỉ từ khi chưa có một thông tin nào hỗ trợ cấu hình (stateless) và qua trao đổi với router IPv6 trên đường kết nối. 4.4.6 Đánh số lại thiết bị IPv6: Đánh số lại mạng IPv4 là điều mà những nhà quả trị rất ngại. Nó ảnh hưởng tới hoạt động mạng lưới và tiêu tốn nhân lực cấu hình lại thông tin cho host, node trên mạng. Đối với địa chỉ IPv6, dựa trên nguyên tắc cấu hình tự động , các host trên mạng có thể được đánh số lại nhờ thông báo của router đặt thời gian hết thời hạn có thể sử dụng cho một network prefix. Sau đó, router thông bao prefix mới để các host tạo lạ địa chỉ IP. Trên thực tế, các host có thể duy trì sử dụng địa chỉ cũ trong một khoảng thời gian nhất định trước khi xóa bỏ hoàn toàn. Phân mảnh gói tin IPv6: Mạng quy mô lớn hay nhỏ, bao gồm các đường kết nối vật lý khác nhau. Mỗi đường kết nối có một giá trị giới hạn về kích thước thông tin truyền tải trên đó, được gọi là MTU. Trong hoạt động của thế hệ địa chỉ IPv4, trong quá trình forward gói tin, nếu IPv4 router nhận được gói tin lớn hơn giá trị MTU của đường kết nối, router sẽ thực hiện phân mảnh gói tin. Sau quá trình truyền tải, gói tin được xây dựng lại nhờ nhũng thông tin trong header. Địa chỉ IPv6 áp dụng một mô hình khác để phân mảnh gói tin, việc phân mảnh gói tin được thực hiện tại host nguồn, nơi gửi gói tin. Mọi IPv6 router không tiến hành phân mảnh gói tin, nhờ đó tăng hiệu quả, giảm thời gian xử lý gói tin. Trong header cơ bản IPv6, các trường hỗ trợ cho việc phân mảnh va kết cấu lại gói tin của IPv4 header đã được bỏ đi. Nhũng thông tin trợ giúp cho việc phân mảnh và tái tạo gói tin IPv6 được để trong header mở rộng của gói tin IPv6. Giá trị MTU tối thiểu mặc định trên đường link IPv6 là 1280 byte. Router sẽ gửi cho các IPv6 host trên đường link giá trị MTU mặc định của đường link đó. Tuy nhiên , để đến được được đích, gói tin sẽ đi qua nhiều đường kết nối có giá trị MTU khác nhau, việc phân mảnh gói tin được thực hiên tai host nguồn, không thực hiện bởi các router trên đường truyền tải. Để truyền được tới đích, gói tin cần phải có kích thước phù hợp với giá trị MTU nhỏ nhất trên toàn bộ đường truyền từ nguồn tới đích. Nhằm phục vụ cho host nguồn phân mảnh gói tin, phải có một cách thức nào đó để host nguồn quyết định giá trị MTU sử dụng khi gửi gói tin. Trong địa chỉ IPv6 tồn tại hai khai niệm: LinkMTU: giá trị MTU trên đường kết nối trực tiếp của host PathMTU: giá trị MTU nhỏ nhất trên toàn bộ đường truyền Host nguồn có thuật toán tìm Path MTU trên toàn bộ đường truyền gọi là Path MTU Discovery, và sẽ lưu giữ giá trị này để sử dụng trong giao tiếp. CHƯƠNG 5 : THIẾT KẾ HỆ THỐNG VoIPv6 Bước sang những năm đầu của thế kỷ XXI, ứng dụng của Internet phát triển nhằm cung cấp dịch vụ cho người dùng notebook, cellualar modem và thậm chí nó còn thâm nhập vào nhiều ứng dụng dân dụng khác như TV, máy pha cà phê… Để có thể đưa những khái niệm mới dựa trên cơ sở TCP/IP này thành hiện thực, TCP/IP phải mở rộng. Nhưng một thực tế mà không chỉ giới chuyên môn, mà ngay cả các ISP cũng nhận thức được đó là tài nguyên mạng ngày càng hạn hẹp. Việc phát triển về thiết bị, cơ sở hạ tầng, nhân lực… không phải là một khó khăn lớn. Vấn đề ở đây là địa chỉ IP, không gian địa chỉ IP ngày càng cạn kiệt, càng về sau địa chỉ IP (IPv4) không thể đáp ứng nhu cầu mở rộng mạng đó. Bước tiến quan trọng mang tính chiến lược đối với kế hoạch mở rộng này là việc nghiên cứu cho ra đời một thế hệ sau của giao thức IP, đó chính là IP version 6. IPv6 ra đời không có nghĩa là phủ nhận hoàn toàn IPv4 (công nghệ mà hạ tầng mạng chúng ta đang dùng ngày nay). Vì là một phiên bản hoàn toàn mới của công nghệ IP, việc nghiên cứu, ứng dụng vào thực tiễn luôn là một thách thức rất lớn. Một trong những thách thức đó liên quan đến khả năng tương thích giữa IPv6 và IPv4, liên quan đến việc chuyển đổi từ IPv4 lên IPv6, làm thế nào mà người dùng có thể khai thác những thế mạnh của IPv6 nhưng không nhất thiết phải nâng cấp đồng loạt toàn bộ mạng (LAN, WAN, Internet…) lên IPv6. Mô tả hệ thống: Hệ thống VoIPv6 gồm có 3 tổng đài Asteriskv6, 3 tổng đài này có thể là cùng một dải mạng để chia sẻ quản lý các tài khoản điện thoại. Cũng có thể là ở 3 khu vực địa lý khác nhau để có thể cùng một công ty hoặc ở các công ty khác nhau. Mỗi tổng đài quản lý số lượng tài khoản nhất định. Ba tổng đài nói chuyện với nhau bằng giao thức IAX, các softphone nói chuyện với tổng đài bằng giao thức SIP. Yêu cầu đặt ra của hệ thống là các tài khoản đăng ký cùng 1 tổng đài có thể gọi được cho nhau: IPv4 IPv6 (cả hai chiều) IPv4 IPv4 (cả hai chiều) IPv6 IPv6 (cả hai chiều) Các tài khoản đăng ký ở các tổng đài khác nhau cũng có thể gọi được cho nhau: IPv4 IPv6 (cả hai chiều) IPv4 IPv4 (cả hai chiều) IPv6 IPv6 (cả hai chiều) Và từ tài khoản có địa chỉ ipv4, IPv6 gọi ra được mạng PSTN và ngược lại: IPv4 PSTN (cả hai chiều) IPv6 PSTN (cả hai chiều) Thực hiện: Tổng đài Asteriskv6 PBX 1 cài Fedora Core 10, hai tổng đài còn lại cài trên CentOS 5. Các máy trạm cảu các tài khoản cài Ubuntu 8.10 hoặc Windows XP2, các trạm có thể dùng softphone là Linphone sử dụng cả địa chỉ IPv6 và IPv4 hoặc X-lite chỉ sử dụng địa chỉ IPv4. Dùng GW SPA3102 để giao tiếp với mạng PSTN. Sử dụng phần mềm Wireshark để bắt gói tin trên mạng Internet. Asteriskv6 PBX 1: Có 4 tài khoản: 101, 102, 103, 104. Mỗi tài khoản có thể nhận 1 trong 4 địa chỉ sau: địa chỉ IPv6 là 2001:dc9::110/64 địa chỉ IPv4 là 192.168.1.111/24 địa chỉ IPv4 là 192.168.1.112/24 địa chỉ IPv6 là 2001:dc9::113/64 Asteriskv6 PBX 2: Có 2 tài khoản 202, 203. Mỗi tài khoản có thể nhận một trong hai địa chỉ sau: địa chỉ IPv6 là 2001:dc9::114/64 địa chỉ IPv4 là 192.168.1.115/24 Asteriskv6 PBX 3: Có hai tài khoản là 304, 305. Mỗi tài khoản có thể nhận được một trong hai địa chỉ sau: địa chỉ IPv6 là 2001:dc9::116/64 địa chỉ IPv4 là 192.168.1.117/24 Gateway có địa chỉ 192.168.1.4 nối với Asteriskv6 PBX 1 Kết quả đạt được: Cuộc gọi IPv4 tới IPv4, IPv6 trong cùng một tổng đài và khác tổng đài thành công tốt đẹp cả hai chiều do cùng trên một hạ tầng mạng IPv4 hoặc IPv6. Nhưng cuộc gọi giữa IPv4 và IPv6 diễn ra phức tạp hơn vì có sự chuyển đổi địa chỉ trên server. Qua kết quả khảo sát cho thấy: + Asteriskv6 PBX 1 đã kết nối được với 2 tổng đài còn lại bằng giao thức IAX2 trên port 4569. + Các tài khoản do Asteriskv6 PBX 1 quản lý đã đăng ký thành công với tổng đài. + Tài khoản 104 có địa chỉ 192.168.1.111 gọi cho tài khoản 102 có địa chỉ 2001:dc9::110 trong cùng 1 tổng đài Asteriskv6 PBX 1 có địa chỉ 192.168.1.100 hoặc 2001:dc9::110. Quá trình cụ thể như sau: Khi tài khoản 104 bấm phím gọi cho tài khoản 102 trong cùng tổng đài, bản tin INVITE được gửi từ địa chỉ 192.168.1.111 tới tổng đài. Tổng đài trao đổi với tài khoản 104 bằng địa chỉ 192.168.1.100 và trao đổi thông tin với tài khoản 102 bằng địa chỉ IPv6 2001:dc9::100 bằng cách mở port cho IPv6 hoạt động lắng nghe các kết nối của cả 2 định dạng giao thức địa chỉ. Tài khoản 104 có địa chỉ 192.168.1.111 gửi bản tin INVITE tới tổng đài Asteriskv6 PBX 1 yêu cầu thiết lập phiên kết nối tới tài khoản 102 cùng thuộc tổng đài với 104. Tổng đài gửi trả bản tin 100 Trying báo đã nhận được bản tin INVITE do 104 gửi tới và đang thiết lập kết nối. Tổng đài gửi bản tin INVITE yêu cầu thiết lập phiên cuộc gọi tới 102 có địa chỉ 2001:dc9::110 và gửi tra 104 bản tin 180 Ringing là tín hiệu chuông chờ. Tài khoản 102 gửi lại tổng đài tín hiệu chuông chờ và tổng đài lại chuyển tiếp đến tài khaonr 104. Khi 102 nhấc máy, bản tin 200 OK xác lập cuộc gọi thành công được gửi tới tổng đài. Tổng đài gửi tín hiệu trả lời ACK trở lại cho tài khoản 102 và gửi bản tin 200 OK thiết lập phiên kết nối thành công tới tài khoản 104. Lúc này phiên kết nối được xác lập giữa hai tài khoản. Khi có một tài khoản dập máy trước thi bản tin BYE được gửi tới tổng đài, tổng đài chấp nhận ngắt kết nối bằng bản tin 200 OK và gửi bản tin BYE tiếp tục tới tài khoản 104 à tài khoản 104 gửi trả bản tin 200 OK chính thức kết thúc phiên kết nối giữa hai tài khoản. + Tài khoản 305 có địa chỉ 192.168.117 ở Asteriskv6 PBX 3 gọi sang tài khoản 103 có địa chỉ 2001:dc9::110, quá trình như sau: Khi tài khoản 305 có địa chỉ 192.168.117 do Asteriskv6 PBX 3 quản lý gọi sang tài khoản 103 có địa chỉ 2001:dc9::110 do Asteriskv6 PBX 1 quản lý, thì tổng đài Asteriskv6 PBX 3 trao đổi thông tin với tài khoản 305 và Asteriskv6 PBX 1 bằng địa chỉ IPv4, không sử dụng port cho IPv6. Giao tiếp từ tài khoản 305 tới Asteriskv6 PBX 3 hoàn toàn là IPv4, nhưng Asteriskv6 PBX 2 trao đổi với tài khoản 103 bằng địa chỉ IPv6. Hai tổng đài trao đổi thông tin bằng giao thức IAX 2. Tài khoản 305 gửi bản tin INVITE tới server Asteriskv6 PBX 3 yêu cầu thiết lập phiên với tài khoản 103 . Tài khoản 305 sử dụng softphone X-lite. Asteriskv6 PBX 3 gửi bản tin 100 Trying vè tài khoản 103 báo rằng nó đã nhận được bản tin INVITE và đang thiết lập kết nối, gửi tín hiệu chuông chờ. Server Asteriskv6 PBX 3 biết tài khoản 103 do Asteriskv6 PBX 1 quản lý nên trao đổi thông tin với Asteriskv6 PBX 1 à Asteriskv6 PBX 1 gửi bản tin INVITE tơi tài khoản 103 yêu cầu thiết lập phiên kết nối. Các server vẫn tiếp tục trao đổi thông tin bằng đường Trunk sử dụng giao thức IAX 2. Tài khoản 103 có địa chỉ 2001:dc9::110 gửi tín hiệu chuông chờ cho Asteriskv6 PBX 1 đến khi nhấc máy gửi bản tin 200 OK và chấp nhận kết nối. Các server lại trao đổi thông tin và Asteriskv6 PBX 3 gửi thông tin 200 OK thành công tới tài khoản 305 và thiết lập luồng RTP hai chiều tới Server rồi được chuyển tiếp tới các tài khoản. Ví dụ khi 305 dập máy trước, bản tin BYE được gửi tới Asteriskv6 PBX 3, server gửi lại bản tin OK chấp nhận yêu cầu kết thúc cuộc gọi. Và tiếp tục chuyển yêu cầu kết thúc cuộc gọi tới Asteriskv6 PBX 1, Asteriskv6 PBX 1 gửi bản tin BYE tới tài khoản 103. 103 gửi bản tin OK tới Asteriskv6 PBX 1 chấp nhận ngắt phiên kết nối thành công. + Tài khoản 101 có địa chỉ 2001:dc9::110 gọi ra tài khoản 1111 PSTN, quá trình diễn ra như sau: Tài khoản 101 co địa chỉ 2001:dc9::110 gửi bản tin INVITE yêu cầu thiết lập phiên kết nối với tài khoản 1111 tới Asteriskv6 PBX 1 có địa chỉ 2001:dc9::100. Asteriskv6 PBX 1 trả lại bản tin 100 Trying báo rằng nó nhận được bản tin INVITE và đang thiết lập cuộc gọi. Server nhận thấy đây là cuộc gọi PSTN nên nó chuyển tiếp bản tin INVITE đến gateway SPA3102 có địa chỉ IP là 192.168.1.4, nhưng nó trao đổi thông tin với gateway bằng địa chỉ 192.168.1.100 của mình vì gateway có địa chỉ IPv4. Gateway gửi bản tin 100 Trying về server báo rằng nó đã nhận bản tin INVITE do server gửi tới và đang thiết lập cuộc gọi. Sau đó gateway gửi tín hiệu đổ chuông về cho server à server chuyển tiếp tín hiệu đổ chuông về cho máy có tài khoản 101. Gateway nhận được thông tin trả về từ mạng điện thoại tương tự, nó sẽ gửi bản tin 200 OK và thiết lập luồng RTP hai chiều tới server và được chuyển tiếp tới thuê bao 101. Sau khi nhận được bản tin này thì luồng RTP được thiết lập trước đó được chuyển thành hai chiều và gửi bản tin ACK xác nhận đi à cuộc gọi đã được thiết lập. Ví dụ khi thuê bao PSTN dập máy trước, bản tin BYE được gửi đi từ 1111 tới server Asteriskv6 PBX 1. Sau đó server gửi lại bản tin 200 OK chấp nhận ngắt kết nối với tài khoản 1111. Quá trình gửi bản tin BYE tương tự từ server tới 101 và sau đó phiên kết nối kết thúc. Kết quả thu được ở trên cho thấy hoạt động cụ thể của VoIPv6, VoIPv6 hoàn toàn có khả năng triển khai song song và thích ứng với hạ tầng mạng IPv4 hiện tại. Với những tính năng vượt trội của IPv6 so với IPv4 thì việc triển khai IPv6 là hoàn toàn cần thiết cà chắc chắn sẽ phải diễn ra trong tương lai không xa. Trên đây là một hệ thống cơ bản có thể phát triển trong mạng nội bộ của một công ty hoặc giữa các chi nhánh ở các khu vực địa ký khác nhau. KẾT LUẬN Trên đây là bài làm của em về đề tài “nghiên cứu và thiết kế hệ thông VoIPv6”. Bài làm tập trung nghiên cứu về giao thức truyền thoại qua mạng Internet VoIPv6, trình bày về đặc điểm của hệ thống VoIP, VoIPv6 – những ưu điểm nổi bật của IPv6 so với IPv4. Và việc ứng dụng VoIPv6 trong tương lai là một xu thế tất yếu trong vài năm tới. Vấn đề là với sự phổ biến rộng khắp của công nghệ hiện nay, IPv6 sẽ tồn tại song song với hạ tầng mạng IPv4. Tuy nhiên do điều kiện kiến thức còn hạn hẹp và tài liệu hạn chế và thời hian nghiên cứu không được nhiều nên bài làm của em còn sơ sài và có thiếu sót. Mong cô chỉ dạy thêm để em được hiểu biết sâu hơn về hệ thống VoIP. Hạn chế của bài làm là chưa khảo sát được hoạt động thực tế của quá trình kết nối các cuộc gọi từ IPv4 sang IPv4/Ipv6 và từ IPv6 sang mạng thoại tương tự PSTN. TÀI LIỆU THAM KHẢO Giáo trình-Bài giảng : cơ sở thoại Internet Signaling in Telecommunication Networks (2ND). Tác giả: John G. van Bosse, Fabrizio U. Devetak Nghiên cứu ứng dụng công nghệ điện thoại trên Internet (Internet Telephony). Tác giả: Phạm Việt Dũng Network Protocols Handbook - Javvin Technologies Nghiên cứu công nghệ truyền thoại qua internet sử dụng giao thức TCP/IP (VoIP) - Bùi xuân Hạnh Voice over IP Fundamentals – Cisco

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

  • docbai_tap_lon_5609.doc
Tài liệu liên quan