Trong bảng trên, ta sẽ thấy địa chỉ tạm thời và địa chỉ cố định của mạng
được liên kết với nhau trong một bảng địa chỉ. Thời gian sống là thời gian tồn tại của địa chỉ tạm thời trong mạng ngoài. Khi thời gian này kết thúc trạm di động phải cập nhật lại địa chỉ mới. Bằng phương pháp quản lý địa chỉ như trên, ta thấy có thể
liên kết MN với các máy khác thông qua Home Agent và Foreign Agent.
Việc thiết lập và cập nhật địa chỉ trong bảng quản lý địa chỉđược thực hiện bằng một quá trình gọi là quá trình đăng ký địa chỉ. Quá trình đăng ký chỉđược thực hiện khi có một MN từ mạng ngoài đến được phát hiện. Quá trình đăng ký sẽđược thực hiện lặp lại khi thời gian sống của địa chỉ tạm thời của MN ở mạng ngoài kết thúc. Khi kết thúc quá trình đăng ký địa chỉ sẽ đến quá trình trao đổi thông tin. Trong quá trình trao đổi thông tin, thông tin trao đổi trong mạng thông qua cơ chế định tuyến.
Quá trình định tuyến: Khi một gói tin được định tuyến trong mạng sẽ có hai trường hợp xảy ra, thứ nhất là gói tin được gửi từ MN đến một Node chuyển tiếp và thứ hai là gói tin được gửi từ Node chuyển tiếp tới MN. Khi MN trong mạng thường trú, muốn gửi một gói tin đến Node chuyển tiếp nó sẽ gửi thẳng gói tin đến
đích theo cơ chế thông thường. Khi MN ở ngoài mạng, nếu gói tin được gửi từ MN tới Node chuyến tiếp nó sẽ thực hiện quá trình định tuyến thông thường. Khi gói tin
được chuyển từ Node chuyển tiếp đến MN nó sẽ được định tuyến theo hình tam giác, trước hết gói tin được định tuyến tới Home Agent của MN nói trên. Từ Home Agent của MN, thông qua bảng quản lý địa chỉ nó sẽ gửi gói tin tới Foreign Agent của MN nó trên và Foreign Agent gói tin sẽđược gửi tới địa chỉ tạm thời của MN.
Hình 9: Quá trình định tuyến trong Mobile IP
Theo cơ chế định tuyến nói trên, trong hai trường hợp khác nhau, gói tin sẽ được gửi theo hai cơ chế khác nhau. Cơ chế gửi tin này sẽ tạo ra những quãng
đường thừa trong quá trình định tuyến gọi là định tuyến hình tam giác.
Cơ chếđịnh tuyến hình tam giác là cơ chếđịnh tuyến cơ bản của Mobile IP, nó có thể tạm thời giải quyết được vấn đề gửi được gói tin đến đích khi máy di chuyển đến một mạng khác.
Để thực hiện cơ chế cấp phát địa chỉ IP động (Collocated IP Addresss) cần phải thực hiện các thủ tục trao đổi thông tin sau :
- Quá trình phát hiện trạm. - Quá trình đăng ký trạm. - Quá trình trao đổi thông tin.
- Quá trình chuyển đổi giao thức và chuyển đổi gói tin tới đích (Encapsulation Tunneling).
- Quá trình huỷ bỏđăng ký địa chỉ
2.2. Quá trình phát hiện trạm
Phát hiện trạm (Agent Discovery) là phương pháp một nút di động (MN) sử
dụng để xác định xem MN đang kết nối với mạng thường trú (HN) hay MN đang kết nối với một mạng ngoài (FN). Từ đó, MN có thể xác định MN đã di động từ
một mạng nào đó sang một mạng khác. Khi đã kết nối với một mạng tạm trú, phương pháp phát hiện trạm cũng sẽ cho phép MN xác định địa chỉ COA được cấp bởi FA trong mạng tạm trú đó.
Mobile IP mở rộng các thông điệp phát hiện bộ định tuyến (ICMP Router Discovery) để làm cơ chế căn bản trong phát hiện trạm.
2.2.1. Quảng bá của trạm
Quảng bá của trạm (Agent Advertisement) là quá trình được thực hiện bởi các trạm (Agent) nhằm quảng bá sự hiện diện của chúng trong mạng [3] .
a) Phát bản tin quảng bá
Để một trạm (host) có khả năng gửi gói tin ra các mạng ngoài mạng cục bộ
(local network) thì nó cần phải biết địa chỉ của một bộ định tuyến nằm trong cùng phân mạng với nó. ICMP Router Discovery chính là giao thức giúp trạm (host) giải quyết vấn đề này. Giao thức này gồm có hai bản tin:
- Bản tin thông báo về bộđịnh tuyến (Router Advertisment).
- Bản tin yêu cầu thông báo về bộđịnh tuyến (Router Solicitation).
Mỗi bộ định tuyến trên mạng sẽ phát quảng bá theo chu kỳ (thông thường chu kỳ này từ khoảng 7 – 10 phút) bản tin thông báo về bộđịnh tuyến trên tất cả các giao diện của nó. Thông qua bản tin này các máy con sẽ có được địa chỉ của bộđịnh tuyến trên chính giao diện mà máy con đó kết nối.
Bản tin yêu cầu thông báo về bộđịnh tuyến (Router Solicitation) được phát
đi từ máy trạm nhằm yêu cầu bộ định tuyến phát ngay lập tức bản tin thông báo về
nó (Router Advertisment) mà không cần phải chờđợi.
Hình 10: Cấu trúc bản tin ICMP
Type 9 Code 0 Checksum
Trường 16 bit nhằm kiểm tra tính chính xác của dữ liệu trong bản tin
Num Addrs
Số lượng địa chỉ bộđịnh tuyến được thông báo trong bản tin
Addr Entry Size
Số 32 bit cho biết thông tin về mỗi địa chỉ IP của bộđịnh tuyến
Router Address [i]
Địa chỉ IP của bộđịnh tuyến trên giao diện mà bản tin này được gửi.
Preference Level
Khi có địa chỉ của nhiều bộđịnh tuyến cùng được thông báo thì địa chỉ nào có mức ưu tiên cao hơn sẽđược ưu tiên hơn.
Cấu trúc phần mở rộng của bản tin quảng bá :
Hình 11: Phần mở rộng của bản tin ICMP
Ý nghĩa của các trường trong phần mở rộng của bản tin ICMP: - Kiểu (Type) : 16 đặc trưng cho kiểu của bản tin quảng bá
- Độ dài : (6+4*N), khi N là số lượng các địa chỉ tạm thời được quảng bá - Số hiệu tuần tự : (Sequence Number) : số thự tự của các bản tin quảng bá - Thời gian tồn tại của đăng ký : thời gian tồn tại lâu nhất (tính bằng giây) mà
Agent có thể chấp nhận trong bản tin yêu cầu đăng ký gửi từ MN. Thời gian này khác với thời gian sống trong bản tin ICMP.
- R : Yêu cầu đăng ký - B : Bận
- H : Trạm đưa ra yêu cầu không chấp nhận đăng ký từ MN - F : Trạm đưa ra yêu cầu dịch vụ giống như một Foreign Agent
- M : Minimal Encapsulation : Yêu cầu thực hiện chế độ tối ưu hoá trong việc chuyển đổi gói tin
- G : Thực hiện chuyển đổi theo kiểu GRE
- V : Nén header Van Jacobsen (Van Jacobsen Header) : Trạm này hỗ trợ việc sử dụng nén tiêu đề của Van Jacobsen qua liên kết với bất kỳ MN đã đăng ký.
- Care-of-address : địa chỉ tạm thời của Foreign Agent thực hiện gửi bản tin quảng bá. Một quảng bá phải bao gồm ít nhất một Care-of-address nếu bit F
được đặt. Số lượng các care-of-address phụ thuộc trường Length Field trong phần mở rộng quyết định.
FA khi ở trong trạng thái bận có thể thông báo cho MN rằng nó đang trong trạng thái bận bằng cách đặt bit B trong bản tin quảng cáo trạm của nó. Một bản tin quảng cáo không được đặt bit B nếu bit F không được đặt và trong bất kỳ bản tin quảng cáo trạm gửi đi ít nhất một trong bit F hoặc bit H phải được sử dụng. Khi trạm ngoài muốn nhận yêu cầu đăng ký, trạm phải đặt bit R=1 đồng thời khi bit F cũng được đặt bằng 1.
c) Phần mở rộng Prefix-Lengths
Phần mở rộng Prefix-Lengths có thể tiếp sau phần mở rộng của bản tin quảng bá ICMP. Phần mở rộng này được sử dụng để chỉ ra các bit của tiền tố
(Prefix) mạng của mỗi địa chỉ của mỗi bộđịnh tuyến (Router Address).
Địa chỉ định tuyến này nằm trong phần quảng bá định tuyến ICMP thuộc quảng bá trạm, phần mở rộng độ dài tiền tốđược định nghĩa như sau:
0 5 15 23 31
Type Length Prefix-Length ………
Hình 12: Phần mở rộng của Prefix-Length
- Kiểu Type = 19 : (Prefix-Lengths Extension)
- Độ dài : N, khi N là giá trị của các trường địa chỉ trong các bản tin quảng bá
định tuyến ICMP (ICMP Router Advertisement).
- Độ dài tiền tố (Prefix) : Chỉ ra số lượng các bit tiền tố đặc trưng cho mỗi mạng con khi các bit này thay đổi thì mạng con thay đổi.
Một vài giao thức IP thực hiện việc thêm các bản tin ICMP tới một số chẵn các byte. Nếu độ dài của một quảng cáo trạm (Agent Advertisement) là lẻ, nó có thể
thêm phần mở rộng này để làm cho độ dài ICMP này chẵn. Một quảng cáo trạm không bao giờđược có nhiều hơn một byte đệm và nếu có thì byte đệm này nên là phần mở rộng cuối cùng trong bản tin quảng cáo trạm.
2.2.2. Yêu cầu quảng bá
Trong những trường hợp cần thiết, nút di động MN sẽ đưa ra “đề nghị
quảng bá” trên mạng mà nó đang kết nối. Các trạm (HA hoặc FA) khi nhận được đề
nghị này sẽ gửi các thông điệp quảng bá về sự hiện diện của chúng trong mạng. Qua
đó, MN sẽ có thể tiến hành đăng ký với các trạm đó.
Các thông điệp yêu cầu quảng bá (Agent Solicitation) hoàn toàn giống với thông điệp mời router quảng bá (ICMP Router Solicitation) với một ngoại lệ là trường thời gian sống TTL (Time To Live) được thiết lập ở giá trị 1.
2.2.3. Cơ chế phát hiên sự di chuyển
Khi nút di động nhận được bản tin quảng bá ICMP nó sẽ phân tích bản tin quảng bá này để biết xem nó đang ở trong mạng thường trú hay mạng ngoài. Nếu máy di động phát hiện ra nó đã nằm trong một mạng khác, nó sẽ phải thực hiện quá trình đăng ký để nhận được một địa chỉ tạm thời. Quá trình này không được thực hiên quá một lần trong một giây.
Có hai phương pháp để phát hiện xem MN đang ở mạng con nào:
Phương pháp thứ nhất là sử dụng thời gian sống: Phương pháp này sử dụng trường thời gian sống (TTL – Time to Live) trong bản tin ICMP để phát hiện ra sự
di chuyển của trạm. Khi nhận được bản tin quảng bá ICMP trạm sẽ ghi lại thời gian sống của bản tin quảng bá. Đến khi thời gian này kết thúc nếu trạm không nhận
được bản tin quảng bá này trong một khoảng thời gian nhất định nó sẽ cho rằng nó mất liên lạc với Agent cũ và sẽ thực hiện quá trình đăng nhập. Nếu nó nhận được
một bản tin ICMP mới, nó sẽ thực hiện quá trình đăng ký. Nếu không nó sẽ thực hiện quá trình tìm kiếm các Agent mới và thực hiện quá trình đăng nhập.
Phương pháp thứ hai là sử dụng các bit tiền tố mạng (Prefix-Length) của mạng để phát hiện sự di chuyển. Các bit tiền tố nằm trong bản tin mở rộng đặc trưng cho mạng con của các Agent thực hiện bản tin quảng bá ICMP. Như vậy với một mạng sẽ có một tiền tốđặc trưng duy nhất. Khi tiền tố này thay đổi thì trạm biết rằng nó đã thay đổi điểm truy nhập và tiến hành các thủ tục đăng ký địa chỉ.
2.3. Quá trình đăng ký địa chỉ
Khi MN phát hiện ra nó đã nằm trong mạng ngoài, nó sẽ thực hiện quá trình
đăng ký địa chỉ. Khi MN ở mạng ngoài nó thực hiện quá trình đăng nhập:
Nếu MN không phát hiện ra nó ở mạng ngoài, nó sẽ sử dụng chếđộ thao tác bình thường không có các hỗ trợ Mobile IP.
Khi phát hiện ra nó ở mạng ngoài, MN gửi yêu cầu đăng ký tới Foreign Agent. Bao gồm địa chỉ cốđịnh của MN ở mạng nhà và địa chỉ Home Agent của nó
ở mạng nhà.
Khi nhận được bản tin yêu cầu đăng ký, Foreign Agent sẽ chèn thêm một thông tin về địa chỉ về Foreign Agent rổi chuyển tiếp bản tin yêu cầu đăng ký đến Home Agent. Bản tin này bao gồm địa chỉ cố định của MN và địa chỉ IP của Foreign.
Khi Home Agent nhận được bản tin yêu cầu đăng ký nó sẽ cập nhật giá trị địa chỉ IP mới của MN vào bảng địa chỉ.
Home Agent gửi bản tin trả lời đăng ký tới Foreign Agent. Foreign Agent chèn thêm một số thông tin và gửi bản trả lời đăng ký đến MN và cập nhật danh sách các trạm tạm trú và bảng địa chỉ IP của các trạm tạm trú khác
2.3.1. Bản tin yêu cầu đăng ký
Hình 13: Cấu trúc của bản tin yêu cầu đăng ký
Ý nghĩa các trường trong bản tin yêu cầu đăng ký :
- Kiểu (Type) : thể hiện đặc điểm của gói tin. Nếu Type=1 tức là đây là bản tin yêu cầu đăng ký (Registration Request).
- S : nếu đã đặt bit S, MN yêu cầu trạm gốc giữ lại các Mobility Binding trước. - B : các gói tin được chuyển quảng bá. Nếu bit B được đặt, MN yêu cầu Home Agent gửi tới nó bất kỳ một gói tin quảng bá nào mà trạm nhận được trên mạng gốc.
- D : MN mở gói tin. Nếu bit D được đặt, chính MN sẽ mở các gói tin được gửi tới từ CoA.
- M : Chuyển đổi giao thức theo phương thức tối giản - G : chuyển đổi giao thức theo phương thức GRE
- V : MN yêu cầu trạm di động của nó sử dụng quá trình nén phần mào đầu Van Jacobson.
- RSV : các bit dữ trữ thường đặt bằng 0
- Lifetime : thời gian tồn tại số giây còn tồn tại đến khi yêu cầu đăng ký được xem là hết giá trị. Giá trị zero chỉ một yêu cầu huỷ bỏđăng ký
- Địa chỉ gốc (Home Address) : địa chỉ IP của MN
- Trạm gốc : (Home Agent) : địa chỉ IP của trạm gốc của MN - Care-of-address : địa chỉ tạm thời của trạm
- Nhận dạng (Identification) : bao gồm 64 bit do các MN xây dựng, được sử
dụng để so sánh các yêu cầu đăng ký với các trả lời và để bảo vệ chống lại các tấn công khác từ các bản tin đăng ký.
- Phần mở rộng : Dùng để nhận thực và chứa địa chỉ của Foreign Agent và địa chỉ IP của Foreign Agent.
Khi bản tin yêu cầu đăng ký được gửi tới Foreign Agent để chèn thêm địa chỉ của Foreign Agent và địa chỉ tạm thời của MN vào phần mở rộng rồi được chuyển tới Home Agent.
Home Agent sẽ cập nhật các địa chỉ vào bảng quản lý địa chỉ rồi gửi bản tin trả lời đăng ký tới Home Agent.
Trong bản tin trả lời đăng ký cũng có thêm phần mở rộng. Phần mở rộng này được sử dụng trong nhận thực và một số công dụng khác.
0 5 15 23 31
Type Length SPI
SPI …. Authenticator
Foreign Agent Infor
Foreign Agent Authenticator
Hình 14: Cấu trúc của phần mở rộng bản tin yêu cầu đăng ký
Kiểu (Type) = 32.
- Độ dài : bằng 4 cộng với số lượng các bytes trong chỉ nhận thực - SPI : chỉ số bảo mật độ dài 4 bytes
- Foreign Agent Infor : Thông tin về Foreign Agent nhưđịa chỉ
- Foreign Agent Authenticator : Để nhận thực về Foreign Agent
Phần mở rộng của bản tin yêu cầu đăng ký được sử dụng để nhận thực các thông tin trong bản tin yêu cầu đăng ký và chèn thêm các thông tin về Foreign Agent.
2.3.2. Cấu trúc bản tin trả lời đăng ký
Sau khi nhận được bản tin yêu cầu đăng ký, Home Agent sẽ gửi lại bản tin trả
lời đăng ký đến MN thông qua Foreign Agent. Sau đây là cấu trúc của bản tin trả lời
đăng ký :
- Kiểu (Type) = 3 : trả lời đăng ký
- Mã số (Code) : là giá trị cho thấy kết quả của yêu cầu đăng ký. Các giá trị cụ
thể của Code được qui định tại RFC – 1500.
Hình 15: Cấu trúc của bản tin trả lời đăng ký
- Thời gian tồn tại (Lifetime) : Nếu trường Code cho thấy đăng ký được chấp nhận thì thường thời gian tồn tại đặt ở số giây còn lại trước khi đăng ký được xem là hết hạn. Giá trị zero cho thấy MN đã huỷđăng ký. Nếu trường Code cho thấy đăng ký bị từ chối thì nội dung của trường thời gian tồn tại là không rõ ràng và sẽ phải bỏ qua khi nội dung xuất hiện.