Tải bản đầy đủ (.doc) (26 trang)

Xây dựng chương trình trao đổi thông tin mạng dựa trên giao thức IPv6

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (514.92 KB, 26 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN MẠNG VÀ TRUYỀN THÔNG






ĐỒ ÁN LẬP TRÌNH MẠNG
Đề tài:Xây dựng chương trình trao đổi thông tin
mạng dựa trên giao thức IPv6

Lớp
: 09T4
Cán bộ hướng dẫn : T.S Nguyễn Tấn Khôi

Đà Nẵng 2013


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông

Mục Lục
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT......................................................................8
1.1. GIỚI THIỆU ............................................................................................ 8
1.2. KHÁI QUÁT VỀ GIAO THỨC INTERNET.....................................................9
1.2.1. Giao thức TCP/IP.............................................................................9
1.2.2. Giao thức Internet(IP)....................................................................11
1.3. TỔNG QUAN VỀ GIAO THỨC MẠNG IPV6 VÀ MÔ HÌNH CLIENT -SEVER ......12


1.3.1. Giới thiệu về giao thức mạng IPv6.................................................12
1.3.2. Đặc tính của IPv6...........................................................................14
1.3.3. Cấu trúc địa chỉ của IPv6...............................................................14
1.3.4. Các loại IPv6..................................................................................15
1.3.5. Mô hình client-server.....................................................................19
1.Khái niệm:.......................................................................................19
2.Quá trình trao đổi dữ liệu của mô hình client-sever..........................19
CHƯƠNG 2. THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH ........................21
2.1. PHÂN TÍCH YÊU CẦU............................................................................21
2.2. PHÂN TÍCH CÁC CHỨC NĂNG................................................................21
CHƯƠNG 3. TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ .................................24
3.1. MÔI TRƯỜNG TRIỂN KHAI.....................................................................24
3.2. KẾT QUẢ CÁC CHỨC NĂNG CỦA CHƯƠNG TRÌNH ....................................24
3.3. ĐÁNH GIÁ VÀ NHẬN XÉT......................................................................24

2


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông

DANH MỤC TỪ VIẾT TẮT

Từ

Viết tắt

Ý nghĩa

IPv6


Internet Protocol Version 6

Phiên bản giao thức internet

ATM

Asynchromous Transfer Mode

Chế độ trruyền không đồng bộ

CIDR

Classless Inter Domain Routing

Định tuyến liên vùng không phân lớp

DHCM

Dinamic Host Configuration
Protocol

Giao thức cấu hình hoạt đông

FR

Frame Replay

Chuyển tiếp khung

FTP


File Tranfer Protocol

Giao thức truyền tập tin

GSM

Global System for Mobie

Hệ thống truyền thông dịch vụ toàn
cầu

HTTP

Hypertext Transfer Protocol

Giao thức truyền siêu văn bản

ICMP

Internet Control Message Protocol

Giao thức thông tin điều khiển Internet

IETF

Internet Engineering Task Force

Nhóm đặc trách kỹ thuật Internet


IP

Internet Protocol

Giao thức mạng

ISDN

Intergrated Services Digital
Network

Mạng số đa dịch vụ tích hợp

ISP

Internet service Providers

Nhà cung cấp dịch vụ Internet

LAN

Local Area Network

Mạng cục bộ

MAC

Medium Access Control

Kiểm soát truy nhập môi trườmg

truyền thông
3


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông

PPP

Point to Point Protocol

Giao thức liên kết điểm điểm

QOS

Quality Of Service

Chất lượng dịch vụ

RIP

Routing Information Protocol

Giao thức thông tin định tuyến

SNMP

Simple Network Management
Protocol

Giao thức quản lý mạng đơn giản


TCP

TransmisstionControl Protocol

Giao thức điều khiển truyền dẫn

TFTP

Trivial File Tranfer Protocol

Giao thức truyền tập tin

UDP

User Datagram Protocol

Giao thức gói dữ liệu người dung

UMTS

Universal Mobi Telephony
Service

Dịch vụ điện thoại di động toàn cầu

WAN

Wide Area Network


Mạng diện rộng

4


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông

DANH MỤC HÌNH VẼ
Hình 1 : Mô hình phân lớp TCP/IP
Hình 2: Khuôn dạnh datagram của IPv4
Hình 3: Hệ lục phân và nhị phân
Hình 4: Cấu trúc Global Unicast Address
Hình 5: Sơ đồ phân cấp của Global Unicast Address
Hình 6:Giá trị Linhk-LocalAddress
Hình 7: Cấu trúc của Unique Local Addres
Hình 8: Mô hình Client- Server
Hình 9:Kết quả demo chương trình

5


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………

………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………

………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………

6


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông

TỔNG QUAN VỀ ĐỀ TÀI
Đề tài: xây dựng chương trình trao đổi thông tin mạng qua giao
thức IPv6
1. Lý do thực hiện đề tài
 Với sự phát triển mạnh mẽ của mạng Internet và các mạng sử dụng
giao thức IP cũng trở nên rất quan trọng trong cuộc sống xã hội.Ngay
từ khi ra đời, giao thức IP đã thể hiện được những ưu điểm nhằm đáp
ứng được nhu cầu kết nối và truyền tải thông tin của người sử dụng.Và
điều này làm cho số lượng thiết bị sử dụng giao thức IP ngày càng gia
tăng.Tuy nhiên, với tốc độ tăng quá nhanh đã làm cho giao thức IPv4
với không gian địa chỉ 32 bit không thể đáp ứng được và trong tương
lai không lâu thì số lượng địa chỉ IPv4 này cạn kiệt. Do đó đòi hỏi các
nhà nghiên cứu phải thiết kế một giao thức mới để đáp ứng được sự
phát triển của Internet.Vì vậy em chọn đề tài này để khắc phục những
hạn chế trên
2. Phương pháp triển khai đề tài
 Tìm kiếm tài liệu liên quan.
 Tìm hiểu về giao thức mạng IPV6.
 Định hướng chương trình cần làm.
 Xây dựng chương trình trao đổi thông tin mạng qua IPv6
 Kết luận.


3. Kết cấu của báo cáo
 Chương 1 : Trình bày cơ sở lý thuyết về giao thức IPv6,mô hình clientserver.
 Chương 2 : Xây dựng chương trình trao đổi thông tin mạng qua IPv6
 Chương 3 : Chạy Demo và kết luận về chương trình, đánh giá kết quả.

7


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông

Chương 1.

CƠ SỞ LÝ THUYẾT

1.1. Giới thiệu
Giao thức Internet (IP) là một giao thức gói không định hướng đã giúp cho
hàng triệu máy tính được kết nối với nhau .Từ khi ra đời cách đây 30 năm , IP đã
trở thành ngôn ngữ chung cho truyền thông dữ liệu – một giao thức hỗ chợ cho tất
cả các ứng dụng . Mức độ liên mạng toàn cầu mà IP đem lại đã cho chúng ta biết
về giá trị của sự hợp tác.
Trong phạm vi của những mạng thế hệ mới , IP quan trọng bởi nhiều nguyên
nhân . Nó là giao thức hợp nhất giữa máy tính và viễn thông . Nó cung cấp một
giải pháp cho việc hợp nhất công nghệ mới trên nguyên tắc kế thừa hạ tầng cơ sở
cũ . Nó không mang tính chất độc quyền và luôn là giao thức mở . Nó đưa ra
những phương thức hiệu quả và tiết kiệm để hợp nhất thoại và số liệu trên một nền
chung , thậm chí nó còn cho phép tạo ra những ứng dụng mới như “ không gian
dùng chung ” . Mặc dù tồn tại nhiều giao thức khác nhưng không giao thức nào có
thể sánh được với IP về kinh tế hiệu quả và phạm vi hoạt động toàn cầu của nó .
Khi các ứng dụng mới xuất hiện qua nhiều năm mỗi ứng dụng yêu cầu sự cải

tiến tương ứng chất lượng mạng , những sự cải tiến đã tạo điều kiện cho IP thích
hợp với những đòi hỏi mới . Thậm chí khi các công nghệ và các giao thức khác
được phát triển để đáp ứng những nhu cầu khác nhau như LAN, ATM và chuyển
tiếp khung (FR)– những tiến bộ của IP có thể được giữ lại bằng cách chạy phía trên
chúng. Có thể nói thực sự về IP rằng nó là giao thức của quá khứ và tương lai .
Tuy nhiên với sự phát triển nhanh chóng của của các ứng dụng máy tính ,
phiên bản IP hiện giờ - phiên bản 4 (IPv4) đang tiến tới giới hạn của nó . Cụ thể
với nhu cầu địa chỉ IP tăng nhanh , không gian địa chỉ 32 bít trong phiên bản 4
đang bị cạn kiệt .Đây không phải là một vấn đề mới . Cuối những năm 1990, một
số tiến bộ kỹ thuật đã được đưa ra để giảm bớt sức ép về địa chỉ IP . Việc sử dụng
rộng dãi phương pháp cấp địa chỉ động (DHCP) , việc sử dụng có hiệu quả hơn các
dải địa chỉ (CIDR) và yêu cầu bảo vệ nghiêm ngặt hơn áp dụng bởi những cơ quan
đăng ký địa chỉ . Đồng thời cái gốc của vấn đề đã được giải quyết thông qua sự
phát triển của một phiên bản IP nâng cấp - phiên bản 6 (IPv6) .
IPv6 bây giờ đã là hiện thực . Đặc tính hiển nhiên nhất là sự mở rộng cực lớn
phương thức đánh địa chỉ của phiên bản 4 . Bên cạnh đó , nó cung cấp những
phương tiện xác thực và bảo vệ tính bí mật của truyền dẫn , cộng với nhiều tính
năng nâng cao khác mà một số tính năng đó hỗ trợ rất lớn cho dịch vụ dữ liệu di
động .
Vậy IPv6 là gì ? đặc tính và ứng dụng của nó ra sao ?. Chúng ta hãy cùng tìm
hiểu và nghiên cứu về nó .

8


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông

1.2. Khái quát về giao thức internet
Thành công của mạng Internet và Intranet bắt kịp với sự phát triển của kiến
trúc mạng máy tính còn gọi là Internet Protocol Suite , được biết đến đó là TCP/IP.

Giao thức TCP/IP được sử dụng trong mạng Internet hơn 30 năm qua đã khẳng
định rõ ràng khả năng đứng trước những thách thức của truyền thông thế kỷ 21.

1.2.1. Giao thức TCP/IP
Cho đến nay TCP/IP là hệ thống giao thức ra đời sớm nhất . Cũng là hệ thống
Internet hoàn chỉnh nhất. Để đơn giản hoá việc thiết kế và thực hiện giao thức ,
thông tin mạng thường căn cứ vào thứ tự lớp khác nhau rồi phân chúng thành
những vấn đề con tương ứng .Toàn bộ giao thức cũng phân thành nhiều lớp giao
thức khác nhau. Theo ý tưởng này , TCP/IP đã hình thành mô hình phân lớp như
sau :

TELNET

HTTP

TCP

FTP

TFTP

NFS

UDP

PING

ICMP

IP ( Internet Protocol)


Physical Netwoks ( LAN , ATM ,FR ...)
Hình 1 : Mô hình phân lớp TCP/IP
Kiến trúc phân tầng TCP/IP cũng tuân theo mô hình tham chiếu OSI với 4
tầng tuơng ứng như sau :

9


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông

Application
Presentation
Session
Transport
Network
Datalink
Physical

Mô hình OSI
a.

Mô hình TCP/IP

Lớp giao truy cập mạng mạng (Network access layer) : Hay còn gọi là

lớp kết nối , nó tiếp nhận gói dữ liệu IP và phát gói dữ liệu đi theo mạng đã định .
b.

Lớp mạng (Internet layer) : Còn gọi là lớp IP nằm ở lớp thứ 3 trong mô


hình OSI , chủ yếu xử lý thông tin giữa các thiết bị . Đối tượng truyền dẫn giữa lớp
Internet và lớp giao diện mạng là gói dữ liệu IP ( IP Datagram)
c.

Lớp truyền dẫn (Transport layer) : Nhiệm vụ là cung cấp dịch vụ thông

tin giữa các chương trình ứng dụng , đảm bảo số liệu truyền đến đích không có lỗi .
Lớp truyền dẫn gói chia làm 2 loại TCP và UDP
d.

Lớp ứng dụng ( Application layer) : Là lớp cao nhất trong mô hình

phân lớp . Thuê bao dùng chương trình ứng dụng để truy nhập mạng Internet
TCP/IP và để sử dụng các loại dịch vụ do mạng cung cấp .

10


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông

1.2.2. Giao thức Internet(IP)
IP là giao thức cơ bản để thiết lập mạng TCP/IP . Mục đích của giao thức IP
là cung cấp khả năng kết nối các mạng con thành liên mạng truyền dữ liệu . Tất cả
các hệ thống thành viên của liên mạng đòi hỏi phải cài đặt IP ở tầng mạng .
IP là giao thức truyền thông kiểu không kết nối (Connectionless) nghĩa là
không cần có giai đoạn thiết lập trước khi truyền dữ liệu . Mỗi gói tin truyền đi
trên mạng một cách độc lập , chính việc dữ liệu đi tới đích theo nhiều đường khác
nhau tạo nên tính mền dẻo cho mạng Internet .
IP là giao thức hoạt động trong lớp 3 của mô hình OSI

Đơn vị thông tin là gói ( Packet) , đơn vị dữ liệu truyền trong IP gọi là
Datagram
Khuôn dạng của IP (IPv4) như sau :

Ver
(4bits)

IHL
(4bits)

TOS
( 8bits)

Identification (16 bits)
TTL
(8bits)

Total Length (16bits)

Flags
(3bits)

Fragment offset
(13bit)

Protocol (8

Header Checksum (16 bits)
bits)
Source Address (32 bits)

Destination Address (32 bits)
Options
Data

Hình 2: Khuôn dạnh datagram của IPv4

Trong RFC 791 đã mô tả chi tiết IPv4 bao gồm các trường sau :
a.

Version ( Phiên bản ) : 4 bits mang giá trị là 4 , chỉ phiên bản của giao
thức IP.

b.

IHL ( Internet Header Length ) : 4 bits chỉ thị độ dài mào đầu của

Interet , được tính theo đơn vị từ bằng 32 bits .
c.

TOS ( Type Of Service – Loại hình dịch vụ ) : 8 bits thiết lập về mức

độ ưu tiên và loại hình dịch vụ .

11


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông

d.


Total Length ( Tổng độ dài ) : 16 bits chứa giá trị độ dài tính theo byte

của gói IP bao gồm cả Header và Data .
e.

Indentification ( Nhận Dạng ) : 16 bits dùng để xác định gói IP hiện

thời , sắp xếp lại gói IP theo thứ tự khi gói IP trong chuỗi có gói gửi đi bị hỏng .
f.

Flags (cờ) : 3bits được dùng để kiểm soát sự phân đoạn

( fragments

g.

Fragment Offset ( Mã phân đoạn ) : 13 bits chỉ vị trí của đơn vị dữ liệu

)
gốc được truyền trong phân đoạn .
h.

TTL ( Time To Live - Thời gian sống) : 8 bits chỉ thời gian tồn tại của

đơn vị dữ liệu trong liên mạng trước khi bị coi là mất .
i.

Protocol ( Giao thức ) : 8 bits chỉ ra gói tin thuộc loại liên kết nào

( UDP sử dụng số 17 , TCP sử dụng số 6)

j.

Checksum ( Tổng kiểm tra ) : 16 bits mã kiểm soát lỗi phần tiêu đề IP.

Các gói bị sai ở giá trị này sẽ bị huỷ bỏ .
k.

Source Address ( Địa chỉ nguồn ) : 32 bits cung cấp cho phần mềm

giao thức IP địa chỉ đích , sử dụng khi phát trở lại .
l.

Destanation Address ( Địa chỉ đích ) : 32 bits dùng cho IP đích kiểm

tra số liệu truyền dẫn có chính xác không .
m.

Opption : Có thể có hoặc không , trường này dùng cho mào đầu lớn

hơn 5 từ .
n.

Data : Thông thường bao gồm các thông tin số liệu TCP , UDP ,

ICMP .

1.3. Tổng quan về giao thức mạng IPv6 và mô hình client-sever.
1.3.1. Giới thiệu về giao thức mạng IPv6
Một câu hỏi được đặt ra là tại sao lại phải phát triển IPv6?
Để trả lời được câu hỏi trên chúng ta cần phải hiểu về giao thức mạng IPv4 :

1. Như chúng ta biết địa chỉ IPv4 sử dụng kết cấu 32 bits , trên lý thuyết thì
địa chỉ 32 bit có thể cung cấp một không gian địa chỉ là 2^32= 4.294.967.296 địa
chỉ .Vậy nguyên nhân nào khiến cho giao thức mạng IPv4 không đạt yêu cầu .
Thực tế rằng , mỗi địa chỉ IPv4 không được uỷ nhiệm cho mỗi cá nhân mà cho
mạng “Network” . Gồm có 3 lớp :

12


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông

Class A: Gồm 128 mạng và mỗi mạng với 16 .777. 214 máy chủ .
Class B: Gồm 16.382 mạng và mỗi mạng với 65.534 máy chủ .
Class C :Gồm 2.097.150 mạng và mỗi mạng với 254 máy chủ .
Tình trạng thiếu hụt địa chỉ của IPv4 được nhận ra vào năm 1991.Trong năm
đó yêu cầu về cung cấp địa chỉ Internet tăng rất nhanh . Nó có tầm quan trọng đặc
biệt khi Internet trở thành mạng cho mọi người . Đầu tiên nó được sử dụng cho các
công ty công và tư , cho chính phủ . Tiếp theo là cho cơ quan , trường học , cho các
trung tâm nghiên cứu và hơn hết là cho mọi người dân . Nó có tính khả thi bởi các
nhà cung cấp dịch vụ Internet ( ISP- Internet service Provides) và vì được cung cấp
khả năng truy nhập Internet với giá rẻ qua đường điện thoại sử dụng Modem , hay
gần đây là qua mạng đa dịch vụ ISDN .( Intergrated Services Digital Network )
Cũng trong năm này đã có dự báo là vào năm 1994 địa chỉ lớp B sẽ được sử
dụng hết . Đối diện với thực tế này , tổ chức IETF ( Internet Enginneering Task
Force ) có quyết định lựa chọn kỹ thuật và cung cấp địa chỉ IP cho mạng Internet ,
quyết định không chỉ cung cấp địa chỉ cho không gian lớp B mà còn cho một khối
của lớp C
Ví dụ : Một tổ chức có 100 máy tính , dự báo là sẽ phát triển thêm 500 máy
tính nữa , thay vì được cấp một mạng thuộc lớp B sẽ cấp 4 mạng thuộc lớp C cho
1000 địa chỉ

Việc này sẽ duy trì việc cung cấp địa chỉ IPv4 cho đến khoảng 2005 .
2.

Ngoài ra , IPv4 không xây dựng khái niệm về chất lượng dịch vụ QoS

(Quality of Service) , với nỗ lực tốt nhất nó truyền phát các gói tin , nhưng nó
không đảm bảo gì từ các lớp trên , không giới hạn phần trăm các gói vận chuyển ,
không giới hạn thời gian thi hành vận chuyển . Trong khi đó , một số ứng dụng của
Internet mới như dịch vụ truyền tiếng nói , hình ảnh tức thời đòi hỏi giao thức đảm
bảo độ trễ nhất địmh , nếu không một số dịch vụ Internet mới không thể thực hiện
được . Do đó IP trong tương lai phải giải quyết một số vấn đề trên , đề ra một cơ
chế mới , làm cho một gói số liệu (datagram) và tài nguyên phân phối trước liên
quan mật thiết với nhau . Ngoài ra , do nhiều ứng dụng của Internet mới đòi hỏi
thông tin tin cậy , an toàn mà hệ thống TCP/IP không thể giải quyết vấn đề an
toàn được tốt.
Vậy việc cải cách IPv4 là tất yếu và nó được khắc phục bằng IPv6.

13


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông

1.3.2. Đặc tính của IPv6
Giao thức mạng IPv6 bao gồm các tính năng sau:

1. Mở rộng không gian địa chỉ ,tăng đường truyền
2. Cấu hình địa chỉ tự động (Automatic Configuration )
3. Phát hiện láng giềng(Neighbor discovery)
4. Đơn giản hóa việc đặt địa chỉ Host
5. Kiểm soát an toàn

6. Chất lượng dịch vụ QoS ( Quality Of Service )

1.3.3. Cấu trúc địa chỉ của IPv6
IPv6 có tổng cộng là 128 bit được chia làm 2 phần: 64 bit đầu được gọi là
network, 64 bit còn lại được gọi là host. Phần network dùng để xác định subnet,
địa chỉ này được gán bởi các ISP hoặc những tổ chức lớn như IANA (Internet
Assigned Numbers Authority). Còn phần host là một địa chỉ ngẫu nhiên dựa trên
48

bit

của

MACAddress.

Địa chỉ IPv6 có 128 bit, do đó việc nhớ được địa chỉ này rất khó khăn. Cho
nên để viết địa chỉ IPv6, người ta đó chia 128 bit ra thành 8 nhóm, mỗi nhóm
chiếm 2 bytes, gồm 4 số được viết dưới hệ số 16, và mỗi nhóm được ngăn cách
nhau bằng dấu hai chấm

Hình 3: Hệ lục phân và nhị phân
Ví du:
FEDL:8435:7356:EADC:BA98:2010:3280:ABCD

14


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông

1.3.4. Các loại IPv6

Địa chỉ IPv4 chia thành 3 lớp chính : A,B,C và hai lớp khác: D dùng cho
multicast và lớp E dùng cho mục đích nghiên cứu. Còn địa chỉ IPv6 lại chia thành
3 loại chính như sau:
Unicast Address: Còn được gọi là địa chỉ đơn hướng. Địa chỉ này được dùng
để
nhận dạng một Node. Một gói dữ liệu khi lưu thông trên mạng được gửi đến một
địa chỉ Unicast, sẽ được chuyển đến Node mang địa chỉ Unicast đó.
Anycast Address: Là địa chỉ dùng để nhận dạng một tập hợp Node. Một gói
tin
gửi đến địa chỉ Anycast sẽ được chuyển đến Node gần nhất trong tập hợp các Node
mang địa chỉ Anycast đó. Khái niệm “gần nhất” ở đây ám chỉ chi phí (cost) tối ưu
để đến một Node, thông tin này liên quan đến thông tin định tuyến.
Multicast Address: Địa chỉ này cũng dùng để nhận dang một tập hợp các
Node. Nhưng khác với địa chỉ Anycast, một gói tin khi chuyển đến địa chỉ
Multicast được chuyển đến tất cả các Node mang địa chỉ Multicast này. Loại địa
chỉ này cũng giống với địa chỉ Multicast trong IPv4 (lớp D).
1. Unicast Address:
Được chia thành 4 nhóm:
a/ Global Unicast Address:
Địa chỉ này được sử dụng để hỗ trợ cho các ISP. Nó giống như địa chỉ Public
của IPv4.

Hình 4: Cấu trúc Global Unicast Address
001: 3 bits đầu luôn luôn có giá trị = 001
TLA ID( Top Level Aggregation): Xác định nhà cung cấp cao nhất trong hệ
thống các nhà cung cấp dịch vụ
Res: chưa sử dụng
NLA ID (Next Level Aggregation): Xác định nhà cung cấp tiếp theo trong hệ
thống các nhà cung cấp dịch vụ
SLA ID (Site Level Aggregation): Xác định các site để tạo các subnet

Interface ID: Là địa chỉ của Interface trong subnet

15


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông

Hình 5: Sơ đồ phân cấp của Global Unicast Address
b/ Link-local Addresses:
Đây là loại địa chỉ dùng cho các host khi chúng muốn giao tiếp với các host
khác trong cùng mạng. Tất cả IPv6 của các interface đều có địa chỉ link local
Theo Hình dưới
10 bits đầu tiên luôn là: 1111 1110 10
54 bits kế tiếp cú giỏ trị bằng 0
-> Như vậy, trong Link Local Address: 64 bit đầu là giá trị cố định không thay
đổi (prefix : fe80::/64)
Bạn thử vào cmd, gừ lệnh ipconfig /all để xem thử giá trị Link-Local Address

16


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông

Hình 6:Giá trị Linhk-LocalAddress
+ 64 bits cuối cùng là địa chỉ của Interface

Lưu ý: Một router không thể chuyển bất kỳ gói tin nào của địa chỉ nguồn
hoặc địa chỉ đích là Link Local Address
c/ Site-Local Addresses:
Site-Local Addresses được sử dụng trong hệ thống nội bộ (Intranet) tương tự

các địa chỉ Private IPv4 (10.X.X.X, 172.16.X.X, 192.168.X.X). Phạm vi sử
dụng Site-Local Addresses là trong cựng Site.

17


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông

10 bits đầu tiên luôn là: 1111 1110 11 (Prefix FEC0::/10)
54 bits kế tiếp : là giá trị Subnet ID
64 bits cuối cùng là địa chỉ của Interface
d/ Unique Local Address:
Unique Local Address là địa chỉ định tuyến giữa các subnet trên một private
network

Hình 7: Cấu trúc của Unique Local Address
1111 1101 : 8 bits đầu là giá trị cố định FD00:: /8
40 bits kế tiếp là Global ID : địa chỉ Site (Site ID). Có thể gán tùy ý
16 bits kế tiếp là Subnet ID : địa chỉ Subnet trong Site, có thể tạo ra 65.536
subnet trong một site
64 bits cuối cùng là địa chỉ của Interface
2. Anycast Address:
Anycast Address là địa chỉ đặc biệt có thể gán cho nhiều interface, gói tin
chuyển đến Anycast Address sẽ được vận chuyển bởi hệ thống Routing đến
Interface gần nhất. Hiện nay, địa chỉ Anycast được sử dụng rất hạn chế, rất ít
tài liệu nói về cách sử dụng loại địa chỉ này. Hầu như Anycast addresss chỉ
được dùng để đặt cho Router, không đặt cho Host, lý do là bởi vỡ hiện nay địa
chỉ này chỉ được sử dụng vào mục đích cân bằng tải.
Ví dụ : khi một nhà cung cấp dịch vụ mạng có rất nhiều khách hàng muốn
truy cập dịch vụ từ nhiều nơi khác nhau, nhà cung cấp muốn tiết kiệm nên chỉ

để một Server trung tâm phục vụ tất cả, họ xây dựng nhiều Router kết nối
khách hàng với Server trung tâm, khi đó mỗi khách hàng có thể có nhiều con
đường để truy cập dịch vụ. Nhà cung cấp dịch vụ đặt địa chỉ Anycast cho các
Interfaces là các Router kết nối đến Server trung tâm, bây giờ mỗi khách hàng
chỉ việc ghi nhớ và truy cập vào một địa chỉ Anycast thôi, tự động họ sẽ được
kết nối tới Server thông qua Router gần nhất. Đây thật sự là một cách xử lý đơn
giản và hiệu quả.
3. Multicast Address:
18


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông

Trong địa chỉ IPv6 không tồn tại khái niệm địa chỉ Broadcast. Mọi chức
năng của địa chỉ Broadcast trong IPv4 được đảm nhiệm thay thế bởi địa chỉ
IPv6 Multicast. Địa chỉ Multicast giống địa chỉ Broadcast ở chỗ điểm đích của
gói tin là một nhóm các máy trong một mạng, song không phải tất cả các máy.
Trong khi Broadcast gửi trực tiếp tới mọi host trong một subnet thì Multicast
chỉ gửi trực tiếp cho một nhánh xác định các host, các host này lại có thể thuộc
các subnet khác nhau. Host có thể lựa chọn có tham gia vào một nhóm
Multicast cụ thể nào đó hay không (thường được thực hiện với thủ tục quản lý
nhóm internet - Internet Group Management Protocol).

1.3.5. Mô hình client-server
1.Khái niệm:
Mô hình client-server là một mô hình nổi tiếng trong mạng máy tính, được áp
dụng rất rộng rãi và là mô hình của mọi trang web hiện có. Ý tưởng của mô hình
này là máy con (đóng vài trò là máy khách) gửi một yêu cầu (request) để máy chủ
(đóng vai trò người cung ứng dịch vụ), máy chủ sẽ xử lý và trả kết quả về cho máy
khách.


2.Quá trình trao đổi dữ liệu của mô hình client-sever.
Quá tình trao đổi dữ liệu gồm các bước:
a.Truyền một yêu cầu từ tiến trình client tới tiến trình server
b.Yêu cầu được server xử lý
c.Truyền đáp ứng cho client
Mô hình client/server thường được cài đặt dựa trên các thao tác cơ bản là gửi (send)
và nhận (receive).

19


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông

Hinh 8: Mô hình Client- Server

20


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông

Chương 2.

THIẾT KẾ VÀ XÂY DỰNG
CHƯƠNG TRÌNH

2.1. Phân tích yêu cầu
Yêu cầu đề tài tìm hiểu về giao thức mạng IPv6,quá trình trao đổi thông tin
qua IPv6 và kĩ năng lập trình c#, sử dụng visual studio.
Chương trình trao đổi thông tin mạng qua giao thức IPv6:Chương trình sử

dụng theo mô hình Client-sever và giao tiếp với nhau qua giao thức IPv6.

2.2. Phân tích các chức năng
Xây dựng chương trình client-sever sử dụng giao thức IPv6 trong C#
1. Chuẩn bị máy cài đặt IPv6
Sau khi máy tính đã được cài đặt IPv6 thì chúng ta có thể kiểm tra xem IPv6 đã
được kích hoạt hay chưa bằng cách gõ lệnh ipconfig/all:
Cửa sổ Cấu hình IP
Ethernet adapter Microsoft Loopback:
Connection-specific DNS Suffix. :
Địa chỉ IP. . . . . . . . . . . . : 192.168.1.10
Subnet Mask. . . . . . . . . . . : 255.255.255.0
Địa chỉ IP. . . . . . . . . . . . : Fe80 :: 4cff: fe4f: 4f50% 4
Default Gateway. . . . . . . . . :
Đường hầm bộ chuyển đổi Teredo Tunneling Pseudo-Giao diện:
kết nối cụ thể DNS Suffix. :
Địa chỉ IP. . . . . . . . . . . . : Fe80 :: 54ff: fe55: 4e01% 6
Default Gateway. . . . . . . . . :
Đường hầm bộ chuyển đổi tự động Tunneling Pseudo-Giao diện:
kết nối cụ thể DNS Suffix. :
Địa chỉ IP. . . . . . . . . . . . : Fe80 :: 5efe: 192.168.1.10% 2
Default Gateway. . . . . . . . . :

Địa chỉ fe80 :: 4cff: fe4f: 4f50 là địa chỉ link-local address của ipv6
2. Các yêu cầu chức năng chi tiết bên server:
Khởi tạo
IPv6Server:
Đầu tiên là phải nhập các namespace dưới đây:
using System.Net.Sockets;
using System. Net;


21


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông
using System;

Kiểm tra xem hệ thống đã hỗ trợ IPv6 hay chưa, bằng cách sử dụng các giá trị
boolen Socket.SupportsIPv6.
const int PORT=1979;
if(!Socket.SupportsIPv6) {
Console.Error.WriteLine("Your system does not support IPv6\r\n" +
"Check you have IPv6 enabled and have changed machine.config");
return;
}

Sau đó ta tạo ra một listening socket.
Socket listener = new Socket(
AddressFamily.InterNetworkV6,
SocketType.Stream,
ProtocolType.Tcp);

Các AddressFamily được thiết lập như InterNetworkV6 (chứ không phải là liên
mạng cho IPv4).
listener.Bind(new IPEndPoint(IPAddress.IPv6Any, PORT));
listener.Listen(0);

Sau đó ta liên kết với các địa chỉ IP IPv6Any - điều này có nghĩa là các ứng dụng
sẽ lắng nghe trên tất cả các địa chỉ NIC trên hệ thống. Sau đó ta gọi listener.Listen (0)
trên socket. Điều này sẽ bị khóa cho đến khi một kết nối được thực hiện thành công

trên cổng 1979.
TCP

yourmachinename:1979

[::]:0

LISTENING

0

Tiếp theo hiển thị lên màn ảnh, và thoát khỏi ứng dụng .
Socket socket = listener.Accept();
listener.Close();
byte[] b = new byte[11];
int len;
while((len = socket.Receive(b)) != 0) {
System.Console.WriteLine("RX: " +
System.Text.ASCIIEncoding.ASCII.GetString(b, 0, len));
b = new byte[11];
}
socket.Close();

Socket chấp nhận 11 byte dữ liệu và sau đó đóng tất cả các socket khi client ngắt kết
nối.

22


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông

3. Các yêu cầu chi tiết chứng năng bên client.
Tương tự ứng dụng Client Ipv4 ta xây dựng IPv6 client
IPv6 Client:
Đầu tiên nhập các namespace:
using
using
using
using

System;
System.Net;
System.Net.Sockets;
System.Threading;

System.Threading được đưa vào nhằm mục đích chỉ ra 1 sự trậm chễ trong việc gửi
thông tin tới máy chủ
const int PORT = 1979;
const string IPv6_ADDR = "fe80::4cff:fe4f:4f50";
if(!Socket.SupportsIPv6) {
Console.Error.WriteLine("Your system does not support IPv6\r\n" +
"Check you have IPv6 enabled and have changed machine.config");
return;
}

Ta thiết lập chuỗi IPv6_ADDR đến địa chỉ IPv6 đã được trả lại bởi lệnh ipconfig..
IPAddress ipa = IPAddress.Parse(IPv6_ADDR);
IPEndPoint ipeh = new IPEndPoint(ipa, PORT);
Socket connection = new Socket(
AddressFamily.InterNetworkV6,
SocketType.Stream,

ProtocolType.Tcp);

connection.Connect(ipeh);
byte[] b = System.Text.ASCIIEncoding.ASCII.GetBytes("hello world");
for(int x=0; x<10; x++) {
Console.WriteLine("TX: " + System.Text.ASCIIEncoding.ASCII.GetString(b));
connection.Send(b);
Thread.Sleep(1000);
}
connection.Close();

Ứng dụng này sau đó kết nối đến cổng 1979 tại IPv6_ADDR địa chỉ và gửi chuỗi
ký tự ASCII 'hello world” 10 lần mỗi giây.

23


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông

Chương 3.

TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT
QUẢ

3.1. Môi trường triển khai
Chương trình được chạy trên Visual stadio,và chạy demo trên hệ điều hành
windows

3.2. Kết quả các chức năng của chương trình


Hình 9:Kết quả demo chương trình

3.3. Đánh giá và nhận xét
- Chương trình làm còn đơn giản,chưa đáp ứng được nhu cầu thiết thực.
- Em sẽ cố gắng hoàn thiện và phát triển chương trình ngày càng hoàn thiện hơn.

24


Báo cáo đồ án lập trình mạng -Bộ môn mạng và truyền thông

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Vấn đề đã được thông qua , giao thức IPv6 cuối cùng đã được chuẩn hoá và
bước đầu đưa vào sử dụng , nó sẽ giữ vai trò quan trọng trong tương lai .Với những
điều đã nghiên cứu và tìm hiểu về giao thức IPv6 . Em cảm thấy những vấn đề đã nêu
trên là chưa đủ , còn rất nhiều điều phải phân tích kỹ hơn , sâu hơn và tỉ mỉ hơn .Em hi
vọng với đề tài này sẽ giúp em hiểu rõ được mô hình client-sever và ứng dụng nó trong
giao thức IPv6.Qua đó là tích lũy kinh nghiệm cho em ra trường sau này.
Em xin chân thành cảm ơn thầy Nguyễn Tấn Khôi đã tận tình giúp đỡ em hoàn
thiện đề tài này trong suốt quá trình làm đồ án.

25


×