SlideShare a Scribd company logo
1 of 6
3.1. Mô hình lập trình capsule
Một mạng ANTS bao gồm: các ứng dụng sử dụng mạng bằng cách gửi và nhận những
gói tin đặc biệt được gọi là các capsule qua một active node cục bộ (hay còn gọi là một
router có khả năng lập trình). Mỗi active node được kết nối với với các node lân cận với
nó. Các ứng dụng có thể lựa chọn các loại capcule khác nhau tùy thuộc vào phần mềm.
Code sẽ được thực thi tại mỗi active node khi nó đi qua. Do đó, để tạo ra một dịch vụ mới
thì nó chỉ cần xây dựng một tập các loại capsule mới với các code lập trình tương ứng. Vì
vậy, mô hình này cho phép quá trình xử lý tùy biến dọc theo mạng, và cho phép các ứng
dụng mới được triển khai chỉ bằng một bước mà không cần yêu cầu việc triển khai thêm
hay xây dựng thử nghiệm. Và các ứng dụng mới được lựa chọn một cách rõ ràng bằng
cách lựa chọn loại capsule hơn là việc nâng cấp router.
3.2. Forward packet mở rộng
Mô hình lập trình capsule dễ hiểu và linh hoạt nhưng lại khó thực thi. Để có thể thực thi ở
hiệu suất cao cần được giới hạn theo 2 cách:
• Việc forward một capsule được chia làm các phần như: truyền code và thực thi code.
Việc phân chia việc thực thi những forwarding thành những phần trên cho phép mỗi phần
được thực thi với các kỹ thuật phù hợp và cho phép code được cache ở những active node
để tăng hiệu suất. Nhiều kỹ thuật có thể được sử dụng để truyền code phụ thuộc vào kích
thước và tần suất của việc truyền
• Mô hình capsule được sửa đổi để phù hợp với 1 mạng mà trong đó chỉ những node xác
định mới là active node. Ở những node bình thường thì các capsule sẽ được forward như
những gói tin IP bình thường. ANTS xem những active node như những node đặc biệt
được nhúng vào mạng.
Hình 3. 1 Các trường trong gói capsule
3.3. Các thành phần kiến trúc
Gồm một mô hình lập trình capsule, một giao thức demand pull code và hệ điều hành của
node
3.4. Capsule programing module
Gồm 3 phần: định dạng của capsule; luật forward; và API của node
3.4.1. Định dạng của capsule
Mỗi capuslemang theo những trường sau: địa chỉ nguồn, đích; resource limit (tương tự
như TTL của IPv4 và hopcount của IPv6); version( xác định version của ANTS);
type(xác định loại forwarding routine tương ứng); previous address (được sử dụng để
truyền code trong mạng); các trường header khác (phụ thuộc vào loại capsule được xác
định ở trường type); payload.
• Trong những trường này thì trường type là quan trong nhất vì nó xác định forwarding
routine; code group và protocol mà capsule đó thuộc về. Mỗi bit đều được sử dụng để xử
lý capsule ở mỗi node. Yêu cầu là type phải là duy nhất dễ dàng kiểm tra và phân phối.
• Code group và protocol được xác định bởi các cấu trúc phân cấp vì vậy cho phép nó
được sử dụng an toàn trong mạng mà trong đó các code không phải lúc nào cũng có.
Định nghĩa các capsule type bằng cách sẽ cung cấp 2 đặc tính quan trọng:
- Các type mới có thể được phân phối một cách nhanh chóng. Vì các dấu hiệu của nó là
duy nhất và type phụ thuộc vào code tương ứng, do đó chỉ cần chọn một hàm dấu hiệu
với một tầm lớn để làm cho khả năng đụng độ là nhỏ nhất. Với số hash 128 bit ngẫu
nhiên như MD5 thì đụng độ xảy ra khi có 264 dầu hiệu đồng thời. Do đó, các dịch vụ mới
có thể được hỗ trợ bằng sự đồng ý tương hỗ giữa những phần xác định.
- Các type sẽ xác lập một secure binding giữa capsule và code tương ứng. Vì hash là một
chiều nên sẽ xóa được nguy cơ giả code vì mỗi node có thể nhanh chóng xác minh (mà
không cần thêm những thông tin bên ngoàni) rằng một tập các code xác định sẽ tương
ứng với một capsule tương ứng.
3.4.2. Active node API
Trong thực tế, một loại routine có thể được xác định phụ thuộc vào active node API sẵn
có. Ví dụ: nếu không thể lưu và truy cập các trạng thái node thì các chương trình capsule
sẽ không thể giao tiếp với nhau. Ngoài ra việc thực thi code phụ thuộc vào API. Ví dụ:
các hàng xóm của một node xác định có thể được tìm thấy bằng cách đi qua toànn bộ
bảng định tuyến để hỏi những node kế cận hay hỏi trực tiếp node là phụ thuộc vào hàm
API nào được hỗ trợ. Ví dụ: Các hàm API cho capsule forwarding routine:
Bảng 3.1: Các phương thức của Node
Khi kết hợp với các khả năng được cung cấp bởi mô hình forward mở rộng; những loại
API này đủ để hỗ trợ các loại dịch vụ mới một cách hiệu quả:
• Các đặc tính của mạng có thể được khám phá và những đường mới được tính toán bằng
cách sử dụng các hàm truy nhập môi trường kết hợp với các header và việc truyền có
kiểm soát.
• Các dịch vụ định tuyến mới được cung cấp bằng cách sử dụng soft-store để duy trì
những đường vừa được tính và forwarding sẽ đi theo những đường này.
• Multicast có thề được cung cấp bằng cách tạo ra các capsule mới trong mạng và chúng
sẽ đi theo những đường được duy trì trong soft-store.
3.4.3. Capsule forwarding:
Quá trình forward phụ thuộc vào loại capsule trừ khi ở những node không phải active thì
quá trình forward IP mặc định sẽ được sử dụng. Ở mỗi active node thì trường type sẽ
được sử dụng để xác định loại forward tương ứng (được truyền riêng). Sau khi đã xác
định thì routine tương ứng sẽ được thực thi để forward capsule. Việc này xảy ra bằng một
mô hình thực thi.
• Trước hết, các forarding routine được cho phép chạy trong một thời gian ngắn (phụ
thuộc vào tốc độ truyền đích của capsule). Các active node sẽ ép buộc quá trình xử lý này
bằng cách kiểm soát capsule runtime. Nếu tốc độ vượt quá, thì node sẽ bỏ forwarding và
sẽ sử dụng quá trình forward mặc định.
• Thứ 2, chỉ một lượng nhỏ các trạng thái được xác định một cách rõ ràng là được mang
theo cùng với capsule.Các trạng thái khác phải được lưu ở node để xử lý sau, hay sẽ được
phục hồi bởi active node runtime. ANTS cho phép các nhà phát triển dịch vụ định nghĩa
những trường cho capsule để nó có thể được truy cập từ bên trong mạng. Những trường
này được định nghĩa cùng với capsule forwarding routine.
• Thứ 3, routine có thể được chạy mà không bị delay ở mỗi active node trong mạng. Các
forwarding routine có thể thực hiện các lời gọi thông qua API ở mỗi node. Ví dụ: một
capsule theo một route xác định có thể tạo và forward một capsule liên quan giúp tái thiết
lập route nếu nó thấy route đó không còn tồn tại trong mạng nữa. Để lời gọi này thành
công thì code của cả 2 loại capsule phải được truyền cùng nhau để tất cả những code
được yêu cầu có sẳn, điều này dẫn đến việc định nghĩa một code group (một tập bao đóng
các forwarding code được gọi từ forwarding code) được truyền bởi giao thức phân phát
code.
• Thứ 4, active node runtime bảo đảm rằng dưới góc nhìn của các nhà phát tirển ứng dụng
thì các capsule được truyền một cách tuần tự.
• cuối cùng, việc xử lý lỗi trong quá trình truyền. Các lỗi có thể là không đủ resource để
truyền, thiếu một đường mặc định, và một số diều kiện khác. Để hiệu quả thì quá trình xử
lý lỗi nên được thực hiện cục bộ.
3.5. Việc truyền code
Khi một ứng dụng mới được biểu diễn trong một capsule thì nó phải được thực thi trong
hạ tầng mạng trước khi được sử dụng. ANTS cung cấp một giao thức phân phối code
theo yêu cầu cho phép ứng dụng bắt đầu có thể sử dụng một ứng dụng mới.
Việc phân phối code trong ANTS được thiết kế cho những mẫu traffic mà trong đó việc
caching là hiệu quả. Hệ thống demand pull truyền code để thực thi một dịch vụ mới cho
những node dọc theo đường mà một capsule sử dụng dịch vụ đi theo. Code sẽ được cache
ở những node này cho những capsule sau sử dụng. Kỹ thuật này có ích lợi là kích thước
nhỏ của code để cung cấp việc truyền không tin cậy: việc phân phối code sẽ thành công
một cách nhanh chóng hay đôi khi fail.
3.5.1. Các mục đích thiết kế
Dễ thích ứng với việc thay đổi route và node failure; có thể thích hợp cho những mạng
lớn, tối thiểu hóa lượng code được lưu tại những node và khỏang cách mà code được
truyền. Lý tưởng là: một forward routine xác định chỉ nên được truyền một lần trên mỗi
liên kết mạng và chỉ cho những active node yêu cầu nó; tối thiểu hóa khỏang thời gian kể
từ khi một capsule đến một node cho đến lúc code tương ứng được lấy, chống việc giả
code, không gây nghẽn.
• Chiến lược của ANTS là sử dụng pull code dọc theo đường mà capsule đi theo với một
giao thức connectionless và code ở các active node. Để khởi tạo quá trình này thì ứng
dụng ở rìa của mạng phải lấy code để thực thi một ứng dụng mới trước khi chúng có thể
sử dụng dịch vụ, và sau đó sử dụng kỹ thuật: duy trì trạng thái của code dọc theo đường
khi chúng đang được sử dụng và được xem như là một loại kết nối mềm. Có thể thích
ứng với việc thay đổi đường đi và không phụ thuộc vào các kỹ thuật truyền tin cậy cũng
như pha thiết lập.
3.5.2. Phân phối code ở các hệ thống đầu cuối
Việc phân phối code cho một dịch vụ mới xảy ra ở các hệ thống đầu cuối nơi mà các ứng
dụng có thể truy cập vào mạng ANTS. Một ứng dụng phải lấy code để thực thi một ứng
dụng mới trước khi có thể thực thi nó. Nghĩa là tất cả các capsule forwarding routine thực
thi giao thức tương ứng với dịch vụ. Để thực hiện việc này thì một ứng dụng phải tham
khảo một thư mục để ánh xạ tên dịch vụ cho code tương ứng. Trong ANTS toolkit thì thư
mục này là file system cục bộ. Việc ánh xạ này được sử dụng để tách biệt giao diện với
việc thực thi. Các ứng dụng sử dụng các tên ở cấp cao để biểu thị một giao diện với mạng
và con người có thể đọc được. Trong network layer thì các dịch vụ được thực thi dựa trên
các capsule type.
Khi một ứng dụng đã lấy được code cần thiết, nó sẽ đăng ký code với active node cục bộ
của nó. Node sau đó sẽ có thể tính toán loại của capsule sử dụng dịch vụ khi nó vào
mạng, và sẽ có code cần thiết để khởi tạo việc thực thi dịch vụ đó trong mạng. Lúc đó
ứng dụng có thể tự do gửi các capsule thuộc về ứng dụng mới đó vào mạng thông qua
node cục bộ. Những capsule này sẽ khởi tạo quá trình phân phối code trong mạng. Cuối
cùng khi ứng dụng hoànn tất việc sử dụng dịch vụ mới, nó sẽ unregister code.
3.5.3. Việc phân phối code trong mạng
Ở các node trong mạng ANTS, việc phân phối code sẽ được thực thi khi node nhận được
một loại capsule mà nó không biết. Kỹ thuật demand load sẽ được sử dụng để lấy code từ
node trước mà capsule đã đi qua sau đó sẽ cache code tại node hiện tại để sử dụng sau.
Code được truyền phải tuân theo một số yêu cầu sau: nó phải đủ thông tin để forward
capsule khi đã load nó lên và phải nên có kích thước nhỏ để không tốn resource. Cuối
cùng, nó phải cho phép các loại capsule dựa trên dấu hiệu được xác minh để code không
thể bị giả.
Hình 3. 2 Quá trình demand load
Các bước trong giao thức demand load:
• Một capsule được forward bởi một active node (được gọi là previous node) có sở hữu
một code group tương ứng. Trước khi nó được gửi thì trường previuos address sẽ được
thiết lập.
• Khi capsule đến active node tiếp theo (loading node) và nếu code trùng với type của nó
bị thiếu thì một capsule yêu cầu load sẽ được sinh ra và được gửi cho node được xác định
bởi trường previous address.
• Khi yêu cầu load đến previous node thì một nhóm các capsule load response sẽ được
sinh ra, chúng sẽ chứa code group được yêu cầu và những thứ khác để load code.
• Khi load response đến loading node thì chúng sẽ được tái tạo lại để xây dựng code
group tương ứng và kết quả sẽ được kiểm tra và sau đó quá trình load sẽ hoànn tất, code
group sau đó sẽ được sử dụng để forward capsule và quay lại bước 1.
Trong ANTS, code được truyền thành những đơn vị forwarding routine thuộc về code
group cần thiết cộng với các loại code group. Vì một giao thức được định nghĩa bởi code
group type nên thông tin này đủ để tính capsule type và ngăn việc giả code.
Một vấn đề thực tế nữa trong việc truyền các code group là việc mã hóa các lời gọi giữa
những forwarding routine tạo nên một code group. Các lời gọi sẽ được biểu diễn bởi
những tên cục bộ được nhúng thẳng trong code của forwarding routine. Những tên cục bộ
này chỉ được liên kết trong code group được truyền để ngăn việc giả code.
Ví dụ: Một routine xây dựng các route có thể có tên là “producer”, còn routine khác đi
theo những route đó có thể có tên là “consumer”. Các producer routine có thể được kết
với một code group với bất cứ consumer routine, vì vậy cho phép các lời gọi chỉ xảy ra
một cách bảo mật giữa những routine được chọn.
• Một capsule được forward bởi một active node (được gọi là previous node) có sở hữu
một code group tương ứng. Trước khi nó được gửi thì trường previuos address sẽ được
thiết lập.
• Khi capsule đến active node tiếp theo (loading node) và nếu code trùng với type của nó
bị thiếu thì một capsule yêu cầu load sẽ được sinh ra và được gửi cho node được xác định
bởi trường previous address.
• Khi yêu cầu load đến previous node thì một nhóm các capsule load response sẽ được
sinh ra, chúng sẽ chứa code group được yêu cầu và những thứ khác để load code.
• Khi load response đến loading node thì chúng sẽ được tái tạo lại để xây dựng code
group tương ứng và kết quả sẽ được kiểm tra và sau đó quá trình load sẽ hoànn tất, code
group sau đó sẽ được sử dụng để forward capsule và quay lại bước 1.
Trong ANTS, code được truyền thành những đơn vị forwarding routine thuộc về code
group cần thiết cộng với các loại code group. Vì một giao thức được định nghĩa bởi code
group type nên thông tin này đủ để tính capsule type và ngăn việc giả code.
Một vấn đề thực tế nữa trong việc truyền các code group là việc mã hóa các lời gọi giữa
những forwarding routine tạo nên một code group. Các lời gọi sẽ được biểu diễn bởi
những tên cục bộ được nhúng thẳng trong code của forwarding routine. Những tên cục bộ
này chỉ được liên kết trong code group được truyền để ngăn việc giả code.
Ví dụ: Một routine xây dựng các route có thể có tên là “producer”, còn routine khác đi
theo những route đó có thể có tên là “consumer”. Các producer routine có thể được kết
với một code group với bất cứ consumer routine, vì vậy cho phép các lời gọi chỉ xảy ra
một cách bảo mật giữa những routine được chọn.

More Related Content

Viewers also liked

Practica slideshare
Practica slidesharePractica slideshare
Practica slideshareyooooooyo
 
алфавит 2 кл
алфавит 2 клалфавит 2 кл
алфавит 2 клseredukhina
 
48fc15f694ba2
48fc15f694ba248fc15f694ba2
48fc15f694ba2Piyanath
 
Universitas Indonesia, kelompok 2
Universitas Indonesia, kelompok 2Universitas Indonesia, kelompok 2
Universitas Indonesia, kelompok 2cutrikaafriana
 
บทที่4
บทที่4บทที่4
บทที่4tttotongg
 
Autohopper Franchisedag
Autohopper FranchisedagAutohopper Franchisedag
Autohopper FranchisedagKG Bureau
 
我的父親耶和華心靈感應訂單
我的父親耶和華心靈感應訂單我的父親耶和華心靈感應訂單
我的父親耶和華心靈感應訂單Lo Que Vendra
 
Lab 7 cấu hình thực hiện cuộc gọi giữa 2 vùng được quản lý bởi 2 gatekeeper (...
Lab 7 cấu hình thực hiện cuộc gọi giữa 2 vùng được quản lý bởi 2 gatekeeper (...Lab 7 cấu hình thực hiện cuộc gọi giữa 2 vùng được quản lý bởi 2 gatekeeper (...
Lab 7 cấu hình thực hiện cuộc gọi giữa 2 vùng được quản lý bởi 2 gatekeeper (...VNG
 
Partiu rio de janeiro 14.05
Partiu rio de janeiro 14.05Partiu rio de janeiro 14.05
Partiu rio de janeiro 14.05Meio & Mensagem
 
第2回 FOUND Conference in Tokyo 第3部スライド
第2回 FOUND Conference in Tokyo 第3部スライド第2回 FOUND Conference in Tokyo 第3部スライド
第2回 FOUND Conference in Tokyo 第3部スライドChika Noguchi
 
Khôi phục mật khẩu trên router cisco
Khôi phục mật khẩu trên router ciscoKhôi phục mật khẩu trên router cisco
Khôi phục mật khẩu trên router ciscoVNG
 
Copa do caos cota digital 21.07
Copa do caos   cota digital 21.07Copa do caos   cota digital 21.07
Copa do caos cota digital 21.07Meio & Mensagem
 
Національний одяг Уманщини
Національний одяг УманщиниНаціональний одяг Уманщини
Національний одяг УманщиниDNZ_UPAL
 

Viewers also liked (20)

Practica slideshare
Practica slidesharePractica slideshare
Practica slideshare
 
Cicero quote
Cicero quoteCicero quote
Cicero quote
 
Evento plus
Evento plusEvento plus
Evento plus
 
алфавит 2 кл
алфавит 2 клалфавит 2 кл
алфавит 2 кл
 
Usdinr tips
Usdinr tipsUsdinr tips
Usdinr tips
 
Web popup
Web popupWeb popup
Web popup
 
48fc15f694ba2
48fc15f694ba248fc15f694ba2
48fc15f694ba2
 
Universitas Indonesia, kelompok 2
Universitas Indonesia, kelompok 2Universitas Indonesia, kelompok 2
Universitas Indonesia, kelompok 2
 
Sda hutan maturidi
Sda hutan maturidiSda hutan maturidi
Sda hutan maturidi
 
บทที่4
บทที่4บทที่4
บทที่4
 
Autohopper Franchisedag
Autohopper FranchisedagAutohopper Franchisedag
Autohopper Franchisedag
 
Matematica3
Matematica3Matematica3
Matematica3
 
我的父親耶和華心靈感應訂單
我的父親耶和華心靈感應訂單我的父親耶和華心靈感應訂單
我的父親耶和華心靈感應訂單
 
Lab 7 cấu hình thực hiện cuộc gọi giữa 2 vùng được quản lý bởi 2 gatekeeper (...
Lab 7 cấu hình thực hiện cuộc gọi giữa 2 vùng được quản lý bởi 2 gatekeeper (...Lab 7 cấu hình thực hiện cuộc gọi giữa 2 vùng được quản lý bởi 2 gatekeeper (...
Lab 7 cấu hình thực hiện cuộc gọi giữa 2 vùng được quản lý bởi 2 gatekeeper (...
 
Partiu rio de janeiro 14.05
Partiu rio de janeiro 14.05Partiu rio de janeiro 14.05
Partiu rio de janeiro 14.05
 
第2回 FOUND Conference in Tokyo 第3部スライド
第2回 FOUND Conference in Tokyo 第3部スライド第2回 FOUND Conference in Tokyo 第3部スライド
第2回 FOUND Conference in Tokyo 第3部スライド
 
Khôi phục mật khẩu trên router cisco
Khôi phục mật khẩu trên router ciscoKhôi phục mật khẩu trên router cisco
Khôi phục mật khẩu trên router cisco
 
Copa do caos cota digital 21.07
Copa do caos   cota digital 21.07Copa do caos   cota digital 21.07
Copa do caos cota digital 21.07
 
8 fattori della creatività
8 fattori della creatività8 fattori della creatività
8 fattori della creatività
 
Національний одяг Уманщини
Національний одяг УманщиниНаціональний одяг Уманщини
Національний одяг Уманщини
 

Similar to Cấu trúc mở rộng của internet

Báo cáo t hiết kế mạng doanh nghiệp
Báo cáo t hiết kế mạng doanh nghiệpBáo cáo t hiết kế mạng doanh nghiệp
Báo cáo t hiết kế mạng doanh nghiệpLe Trung Hieu
 
Giải nh mvt
Giải nh mvtGiải nh mvt
Giải nh mvtbuzzbb37
 
Hệ PhâN TáN
Hệ PhâN TáNHệ PhâN TáN
Hệ PhâN TáNit
 
Tom tat lv th s ha quang thang 2012
Tom tat lv th s ha quang thang 2012Tom tat lv th s ha quang thang 2012
Tom tat lv th s ha quang thang 2012vanliemtb
 
Tom tat lv th s ha quang thang 2012
Tom tat lv th s ha quang thang 2012Tom tat lv th s ha quang thang 2012
Tom tat lv th s ha quang thang 2012vanliemtb
 
Giai ma mang
Giai ma mangGiai ma mang
Giai ma mangHà nội
 
Ccip tổng quan mpls
Ccip tổng quan mplsCcip tổng quan mpls
Ccip tổng quan mplsVNG
 
Giáo trình mạng máy tính PTIT
Giáo trình mạng máy tính PTITGiáo trình mạng máy tính PTIT
Giáo trình mạng máy tính PTITNguynMinh294
 
Điện toán đám mây
Điện toán đám mâyĐiện toán đám mây
Điện toán đám mâyviettruong865
 
Bai giang mon_mang_may_tinh_can_ban_7045
Bai giang mon_mang_may_tinh_can_ban_7045Bai giang mon_mang_may_tinh_can_ban_7045
Bai giang mon_mang_may_tinh_can_ban_7045ssuser6f354d
 
OpenWIPS-ng report Vietnamese
OpenWIPS-ng report VietnameseOpenWIPS-ng report Vietnamese
OpenWIPS-ng report VietnameseHoàng Tuấn Lê
 

Similar to Cấu trúc mở rộng của internet (20)

Bao cao thuc tap vpn
Bao cao thuc tap vpnBao cao thuc tap vpn
Bao cao thuc tap vpn
 
Luận án: Điều khiển công bằng luồng trong mạng chuyển mạch
Luận án: Điều khiển công bằng luồng trong mạng chuyển mạchLuận án: Điều khiển công bằng luồng trong mạng chuyển mạch
Luận án: Điều khiển công bằng luồng trong mạng chuyển mạch
 
Báo cáo t hiết kế mạng doanh nghiệp
Báo cáo t hiết kế mạng doanh nghiệpBáo cáo t hiết kế mạng doanh nghiệp
Báo cáo t hiết kế mạng doanh nghiệp
 
Giải nh mvt
Giải nh mvtGiải nh mvt
Giải nh mvt
 
Luận văn: Tích hợp dịch vụ nghiệp vụ ngân hàng theo mô hình soa
Luận văn: Tích hợp dịch vụ nghiệp vụ ngân hàng theo mô hình soaLuận văn: Tích hợp dịch vụ nghiệp vụ ngân hàng theo mô hình soa
Luận văn: Tích hợp dịch vụ nghiệp vụ ngân hàng theo mô hình soa
 
Zigbee2003
Zigbee2003Zigbee2003
Zigbee2003
 
Hệ PhâN TáN
Hệ PhâN TáNHệ PhâN TáN
Hệ PhâN TáN
 
Tom tat lv th s ha quang thang 2012
Tom tat lv th s ha quang thang 2012Tom tat lv th s ha quang thang 2012
Tom tat lv th s ha quang thang 2012
 
Tom tat lv th s ha quang thang 2012
Tom tat lv th s ha quang thang 2012Tom tat lv th s ha quang thang 2012
Tom tat lv th s ha quang thang 2012
 
Giai ma mang
Giai ma mangGiai ma mang
Giai ma mang
 
Ccip tổng quan mpls
Ccip tổng quan mplsCcip tổng quan mpls
Ccip tổng quan mpls
 
Hệ thống nhúng cho ứng dụng giải trí thời gian thực trên Android
Hệ thống nhúng cho ứng dụng giải trí thời gian thực trên AndroidHệ thống nhúng cho ứng dụng giải trí thời gian thực trên Android
Hệ thống nhúng cho ứng dụng giải trí thời gian thực trên Android
 
Tim Hieu ve Switch
Tim Hieu ve SwitchTim Hieu ve Switch
Tim Hieu ve Switch
 
Mmt
MmtMmt
Mmt
 
Công nghệ mạng
Công nghệ mạng Công nghệ mạng
Công nghệ mạng
 
Giáo trình mạng máy tính PTIT
Giáo trình mạng máy tính PTITGiáo trình mạng máy tính PTIT
Giáo trình mạng máy tính PTIT
 
Vu thi mai
Vu thi maiVu thi mai
Vu thi mai
 
Điện toán đám mây
Điện toán đám mâyĐiện toán đám mây
Điện toán đám mây
 
Bai giang mon_mang_may_tinh_can_ban_7045
Bai giang mon_mang_may_tinh_can_ban_7045Bai giang mon_mang_may_tinh_can_ban_7045
Bai giang mon_mang_may_tinh_can_ban_7045
 
OpenWIPS-ng report Vietnamese
OpenWIPS-ng report VietnameseOpenWIPS-ng report Vietnamese
OpenWIPS-ng report Vietnamese
 

More from VNG

Adsl lab
Adsl labAdsl lab
Adsl labVNG
 
Configuring i pv6
Configuring i pv6Configuring i pv6
Configuring i pv6VNG
 
Ipv6 trien khai
Ipv6 trien khaiIpv6 trien khai
Ipv6 trien khaiVNG
 
Ipv6
Ipv6Ipv6
Ipv6VNG
 
Cong nghe frame relay - chuong 4
Cong nghe frame relay - chuong 4Cong nghe frame relay - chuong 4
Cong nghe frame relay - chuong 4VNG
 
Cong nghe frame relay - chuong 3
Cong nghe frame relay - chuong 3Cong nghe frame relay - chuong 3
Cong nghe frame relay - chuong 3VNG
 
Cong nghe frame relay - chuong 2
Cong nghe frame relay - chuong 2Cong nghe frame relay - chuong 2
Cong nghe frame relay - chuong 2VNG
 
Tổng quan về vpn
Tổng quan về vpnTổng quan về vpn
Tổng quan về vpnVNG
 
Thiết lập i pv6 trên pc
Thiết lập i pv6 trên pcThiết lập i pv6 trên pc
Thiết lập i pv6 trên pcVNG
 
Hoạt động chuyển giao i pv6 trên toàn cầu
Hoạt động chuyển giao i pv6 trên toàn cầuHoạt động chuyển giao i pv6 trên toàn cầu
Hoạt động chuyển giao i pv6 trên toàn cầuVNG
 
Chuyen mach trong wan2
Chuyen mach trong wan2Chuyen mach trong wan2
Chuyen mach trong wan2VNG
 
Cấu hình osp fv3 cơ bản
Cấu hình osp fv3 cơ bảnCấu hình osp fv3 cơ bản
Cấu hình osp fv3 cơ bảnVNG
 
Rtp
RtpRtp
RtpVNG
 
QOs
QOsQOs
QOsVNG
 
Chapter4
Chapter4Chapter4
Chapter4VNG
 
Chapter3(CAC BIEN PHAP BAO DAM CHAT LUONG DICH VU
Chapter3(CAC BIEN PHAP BAO DAM CHAT LUONG DICH VUChapter3(CAC BIEN PHAP BAO DAM CHAT LUONG DICH VU
Chapter3(CAC BIEN PHAP BAO DAM CHAT LUONG DICH VUVNG
 
Chapter2
Chapter2Chapter2
Chapter2VNG
 
Chapter1(TONG QUAN VE VOIP)
Chapter1(TONG QUAN VE VOIP)Chapter1(TONG QUAN VE VOIP)
Chapter1(TONG QUAN VE VOIP)VNG
 
Mega wan
Mega wanMega wan
Mega wanVNG
 
Ccip tổng quan mpls
Ccip tổng quan mplsCcip tổng quan mpls
Ccip tổng quan mplsVNG
 

More from VNG (20)

Adsl lab
Adsl labAdsl lab
Adsl lab
 
Configuring i pv6
Configuring i pv6Configuring i pv6
Configuring i pv6
 
Ipv6 trien khai
Ipv6 trien khaiIpv6 trien khai
Ipv6 trien khai
 
Ipv6
Ipv6Ipv6
Ipv6
 
Cong nghe frame relay - chuong 4
Cong nghe frame relay - chuong 4Cong nghe frame relay - chuong 4
Cong nghe frame relay - chuong 4
 
Cong nghe frame relay - chuong 3
Cong nghe frame relay - chuong 3Cong nghe frame relay - chuong 3
Cong nghe frame relay - chuong 3
 
Cong nghe frame relay - chuong 2
Cong nghe frame relay - chuong 2Cong nghe frame relay - chuong 2
Cong nghe frame relay - chuong 2
 
Tổng quan về vpn
Tổng quan về vpnTổng quan về vpn
Tổng quan về vpn
 
Thiết lập i pv6 trên pc
Thiết lập i pv6 trên pcThiết lập i pv6 trên pc
Thiết lập i pv6 trên pc
 
Hoạt động chuyển giao i pv6 trên toàn cầu
Hoạt động chuyển giao i pv6 trên toàn cầuHoạt động chuyển giao i pv6 trên toàn cầu
Hoạt động chuyển giao i pv6 trên toàn cầu
 
Chuyen mach trong wan2
Chuyen mach trong wan2Chuyen mach trong wan2
Chuyen mach trong wan2
 
Cấu hình osp fv3 cơ bản
Cấu hình osp fv3 cơ bảnCấu hình osp fv3 cơ bản
Cấu hình osp fv3 cơ bản
 
Rtp
RtpRtp
Rtp
 
QOs
QOsQOs
QOs
 
Chapter4
Chapter4Chapter4
Chapter4
 
Chapter3(CAC BIEN PHAP BAO DAM CHAT LUONG DICH VU
Chapter3(CAC BIEN PHAP BAO DAM CHAT LUONG DICH VUChapter3(CAC BIEN PHAP BAO DAM CHAT LUONG DICH VU
Chapter3(CAC BIEN PHAP BAO DAM CHAT LUONG DICH VU
 
Chapter2
Chapter2Chapter2
Chapter2
 
Chapter1(TONG QUAN VE VOIP)
Chapter1(TONG QUAN VE VOIP)Chapter1(TONG QUAN VE VOIP)
Chapter1(TONG QUAN VE VOIP)
 
Mega wan
Mega wanMega wan
Mega wan
 
Ccip tổng quan mpls
Ccip tổng quan mplsCcip tổng quan mpls
Ccip tổng quan mpls
 

Cấu trúc mở rộng của internet

  • 1. 3.1. Mô hình lập trình capsule Một mạng ANTS bao gồm: các ứng dụng sử dụng mạng bằng cách gửi và nhận những gói tin đặc biệt được gọi là các capsule qua một active node cục bộ (hay còn gọi là một router có khả năng lập trình). Mỗi active node được kết nối với với các node lân cận với nó. Các ứng dụng có thể lựa chọn các loại capcule khác nhau tùy thuộc vào phần mềm. Code sẽ được thực thi tại mỗi active node khi nó đi qua. Do đó, để tạo ra một dịch vụ mới thì nó chỉ cần xây dựng một tập các loại capsule mới với các code lập trình tương ứng. Vì vậy, mô hình này cho phép quá trình xử lý tùy biến dọc theo mạng, và cho phép các ứng dụng mới được triển khai chỉ bằng một bước mà không cần yêu cầu việc triển khai thêm hay xây dựng thử nghiệm. Và các ứng dụng mới được lựa chọn một cách rõ ràng bằng cách lựa chọn loại capsule hơn là việc nâng cấp router. 3.2. Forward packet mở rộng Mô hình lập trình capsule dễ hiểu và linh hoạt nhưng lại khó thực thi. Để có thể thực thi ở hiệu suất cao cần được giới hạn theo 2 cách: • Việc forward một capsule được chia làm các phần như: truyền code và thực thi code. Việc phân chia việc thực thi những forwarding thành những phần trên cho phép mỗi phần được thực thi với các kỹ thuật phù hợp và cho phép code được cache ở những active node để tăng hiệu suất. Nhiều kỹ thuật có thể được sử dụng để truyền code phụ thuộc vào kích thước và tần suất của việc truyền • Mô hình capsule được sửa đổi để phù hợp với 1 mạng mà trong đó chỉ những node xác định mới là active node. Ở những node bình thường thì các capsule sẽ được forward như những gói tin IP bình thường. ANTS xem những active node như những node đặc biệt được nhúng vào mạng. Hình 3. 1 Các trường trong gói capsule 3.3. Các thành phần kiến trúc Gồm một mô hình lập trình capsule, một giao thức demand pull code và hệ điều hành của node 3.4. Capsule programing module Gồm 3 phần: định dạng của capsule; luật forward; và API của node 3.4.1. Định dạng của capsule Mỗi capuslemang theo những trường sau: địa chỉ nguồn, đích; resource limit (tương tự như TTL của IPv4 và hopcount của IPv6); version( xác định version của ANTS); type(xác định loại forwarding routine tương ứng); previous address (được sử dụng để truyền code trong mạng); các trường header khác (phụ thuộc vào loại capsule được xác
  • 2. định ở trường type); payload. • Trong những trường này thì trường type là quan trong nhất vì nó xác định forwarding routine; code group và protocol mà capsule đó thuộc về. Mỗi bit đều được sử dụng để xử lý capsule ở mỗi node. Yêu cầu là type phải là duy nhất dễ dàng kiểm tra và phân phối. • Code group và protocol được xác định bởi các cấu trúc phân cấp vì vậy cho phép nó được sử dụng an toàn trong mạng mà trong đó các code không phải lúc nào cũng có. Định nghĩa các capsule type bằng cách sẽ cung cấp 2 đặc tính quan trọng: - Các type mới có thể được phân phối một cách nhanh chóng. Vì các dấu hiệu của nó là duy nhất và type phụ thuộc vào code tương ứng, do đó chỉ cần chọn một hàm dấu hiệu với một tầm lớn để làm cho khả năng đụng độ là nhỏ nhất. Với số hash 128 bit ngẫu nhiên như MD5 thì đụng độ xảy ra khi có 264 dầu hiệu đồng thời. Do đó, các dịch vụ mới có thể được hỗ trợ bằng sự đồng ý tương hỗ giữa những phần xác định. - Các type sẽ xác lập một secure binding giữa capsule và code tương ứng. Vì hash là một chiều nên sẽ xóa được nguy cơ giả code vì mỗi node có thể nhanh chóng xác minh (mà không cần thêm những thông tin bên ngoàni) rằng một tập các code xác định sẽ tương ứng với một capsule tương ứng. 3.4.2. Active node API Trong thực tế, một loại routine có thể được xác định phụ thuộc vào active node API sẵn có. Ví dụ: nếu không thể lưu và truy cập các trạng thái node thì các chương trình capsule sẽ không thể giao tiếp với nhau. Ngoài ra việc thực thi code phụ thuộc vào API. Ví dụ: các hàng xóm của một node xác định có thể được tìm thấy bằng cách đi qua toànn bộ bảng định tuyến để hỏi những node kế cận hay hỏi trực tiếp node là phụ thuộc vào hàm API nào được hỗ trợ. Ví dụ: Các hàm API cho capsule forwarding routine: Bảng 3.1: Các phương thức của Node Khi kết hợp với các khả năng được cung cấp bởi mô hình forward mở rộng; những loại API này đủ để hỗ trợ các loại dịch vụ mới một cách hiệu quả: • Các đặc tính của mạng có thể được khám phá và những đường mới được tính toán bằng cách sử dụng các hàm truy nhập môi trường kết hợp với các header và việc truyền có kiểm soát. • Các dịch vụ định tuyến mới được cung cấp bằng cách sử dụng soft-store để duy trì những đường vừa được tính và forwarding sẽ đi theo những đường này. • Multicast có thề được cung cấp bằng cách tạo ra các capsule mới trong mạng và chúng sẽ đi theo những đường được duy trì trong soft-store. 3.4.3. Capsule forwarding: Quá trình forward phụ thuộc vào loại capsule trừ khi ở những node không phải active thì quá trình forward IP mặc định sẽ được sử dụng. Ở mỗi active node thì trường type sẽ được sử dụng để xác định loại forward tương ứng (được truyền riêng). Sau khi đã xác
  • 3. định thì routine tương ứng sẽ được thực thi để forward capsule. Việc này xảy ra bằng một mô hình thực thi. • Trước hết, các forarding routine được cho phép chạy trong một thời gian ngắn (phụ thuộc vào tốc độ truyền đích của capsule). Các active node sẽ ép buộc quá trình xử lý này bằng cách kiểm soát capsule runtime. Nếu tốc độ vượt quá, thì node sẽ bỏ forwarding và sẽ sử dụng quá trình forward mặc định. • Thứ 2, chỉ một lượng nhỏ các trạng thái được xác định một cách rõ ràng là được mang theo cùng với capsule.Các trạng thái khác phải được lưu ở node để xử lý sau, hay sẽ được phục hồi bởi active node runtime. ANTS cho phép các nhà phát triển dịch vụ định nghĩa những trường cho capsule để nó có thể được truy cập từ bên trong mạng. Những trường này được định nghĩa cùng với capsule forwarding routine. • Thứ 3, routine có thể được chạy mà không bị delay ở mỗi active node trong mạng. Các forwarding routine có thể thực hiện các lời gọi thông qua API ở mỗi node. Ví dụ: một capsule theo một route xác định có thể tạo và forward một capsule liên quan giúp tái thiết lập route nếu nó thấy route đó không còn tồn tại trong mạng nữa. Để lời gọi này thành công thì code của cả 2 loại capsule phải được truyền cùng nhau để tất cả những code được yêu cầu có sẳn, điều này dẫn đến việc định nghĩa một code group (một tập bao đóng các forwarding code được gọi từ forwarding code) được truyền bởi giao thức phân phát code. • Thứ 4, active node runtime bảo đảm rằng dưới góc nhìn của các nhà phát tirển ứng dụng thì các capsule được truyền một cách tuần tự. • cuối cùng, việc xử lý lỗi trong quá trình truyền. Các lỗi có thể là không đủ resource để truyền, thiếu một đường mặc định, và một số diều kiện khác. Để hiệu quả thì quá trình xử lý lỗi nên được thực hiện cục bộ. 3.5. Việc truyền code Khi một ứng dụng mới được biểu diễn trong một capsule thì nó phải được thực thi trong hạ tầng mạng trước khi được sử dụng. ANTS cung cấp một giao thức phân phối code theo yêu cầu cho phép ứng dụng bắt đầu có thể sử dụng một ứng dụng mới. Việc phân phối code trong ANTS được thiết kế cho những mẫu traffic mà trong đó việc caching là hiệu quả. Hệ thống demand pull truyền code để thực thi một dịch vụ mới cho những node dọc theo đường mà một capsule sử dụng dịch vụ đi theo. Code sẽ được cache ở những node này cho những capsule sau sử dụng. Kỹ thuật này có ích lợi là kích thước nhỏ của code để cung cấp việc truyền không tin cậy: việc phân phối code sẽ thành công một cách nhanh chóng hay đôi khi fail. 3.5.1. Các mục đích thiết kế Dễ thích ứng với việc thay đổi route và node failure; có thể thích hợp cho những mạng lớn, tối thiểu hóa lượng code được lưu tại những node và khỏang cách mà code được
  • 4. truyền. Lý tưởng là: một forward routine xác định chỉ nên được truyền một lần trên mỗi liên kết mạng và chỉ cho những active node yêu cầu nó; tối thiểu hóa khỏang thời gian kể từ khi một capsule đến một node cho đến lúc code tương ứng được lấy, chống việc giả code, không gây nghẽn. • Chiến lược của ANTS là sử dụng pull code dọc theo đường mà capsule đi theo với một giao thức connectionless và code ở các active node. Để khởi tạo quá trình này thì ứng dụng ở rìa của mạng phải lấy code để thực thi một ứng dụng mới trước khi chúng có thể sử dụng dịch vụ, và sau đó sử dụng kỹ thuật: duy trì trạng thái của code dọc theo đường khi chúng đang được sử dụng và được xem như là một loại kết nối mềm. Có thể thích ứng với việc thay đổi đường đi và không phụ thuộc vào các kỹ thuật truyền tin cậy cũng như pha thiết lập. 3.5.2. Phân phối code ở các hệ thống đầu cuối Việc phân phối code cho một dịch vụ mới xảy ra ở các hệ thống đầu cuối nơi mà các ứng dụng có thể truy cập vào mạng ANTS. Một ứng dụng phải lấy code để thực thi một ứng dụng mới trước khi có thể thực thi nó. Nghĩa là tất cả các capsule forwarding routine thực thi giao thức tương ứng với dịch vụ. Để thực hiện việc này thì một ứng dụng phải tham khảo một thư mục để ánh xạ tên dịch vụ cho code tương ứng. Trong ANTS toolkit thì thư mục này là file system cục bộ. Việc ánh xạ này được sử dụng để tách biệt giao diện với việc thực thi. Các ứng dụng sử dụng các tên ở cấp cao để biểu thị một giao diện với mạng và con người có thể đọc được. Trong network layer thì các dịch vụ được thực thi dựa trên các capsule type. Khi một ứng dụng đã lấy được code cần thiết, nó sẽ đăng ký code với active node cục bộ của nó. Node sau đó sẽ có thể tính toán loại của capsule sử dụng dịch vụ khi nó vào mạng, và sẽ có code cần thiết để khởi tạo việc thực thi dịch vụ đó trong mạng. Lúc đó ứng dụng có thể tự do gửi các capsule thuộc về ứng dụng mới đó vào mạng thông qua node cục bộ. Những capsule này sẽ khởi tạo quá trình phân phối code trong mạng. Cuối cùng khi ứng dụng hoànn tất việc sử dụng dịch vụ mới, nó sẽ unregister code. 3.5.3. Việc phân phối code trong mạng Ở các node trong mạng ANTS, việc phân phối code sẽ được thực thi khi node nhận được một loại capsule mà nó không biết. Kỹ thuật demand load sẽ được sử dụng để lấy code từ node trước mà capsule đã đi qua sau đó sẽ cache code tại node hiện tại để sử dụng sau. Code được truyền phải tuân theo một số yêu cầu sau: nó phải đủ thông tin để forward capsule khi đã load nó lên và phải nên có kích thước nhỏ để không tốn resource. Cuối cùng, nó phải cho phép các loại capsule dựa trên dấu hiệu được xác minh để code không thể bị giả. Hình 3. 2 Quá trình demand load Các bước trong giao thức demand load:
  • 5. • Một capsule được forward bởi một active node (được gọi là previous node) có sở hữu một code group tương ứng. Trước khi nó được gửi thì trường previuos address sẽ được thiết lập. • Khi capsule đến active node tiếp theo (loading node) và nếu code trùng với type của nó bị thiếu thì một capsule yêu cầu load sẽ được sinh ra và được gửi cho node được xác định bởi trường previous address. • Khi yêu cầu load đến previous node thì một nhóm các capsule load response sẽ được sinh ra, chúng sẽ chứa code group được yêu cầu và những thứ khác để load code. • Khi load response đến loading node thì chúng sẽ được tái tạo lại để xây dựng code group tương ứng và kết quả sẽ được kiểm tra và sau đó quá trình load sẽ hoànn tất, code group sau đó sẽ được sử dụng để forward capsule và quay lại bước 1. Trong ANTS, code được truyền thành những đơn vị forwarding routine thuộc về code group cần thiết cộng với các loại code group. Vì một giao thức được định nghĩa bởi code group type nên thông tin này đủ để tính capsule type và ngăn việc giả code. Một vấn đề thực tế nữa trong việc truyền các code group là việc mã hóa các lời gọi giữa những forwarding routine tạo nên một code group. Các lời gọi sẽ được biểu diễn bởi những tên cục bộ được nhúng thẳng trong code của forwarding routine. Những tên cục bộ này chỉ được liên kết trong code group được truyền để ngăn việc giả code. Ví dụ: Một routine xây dựng các route có thể có tên là “producer”, còn routine khác đi theo những route đó có thể có tên là “consumer”. Các producer routine có thể được kết với một code group với bất cứ consumer routine, vì vậy cho phép các lời gọi chỉ xảy ra một cách bảo mật giữa những routine được chọn.
  • 6. • Một capsule được forward bởi một active node (được gọi là previous node) có sở hữu một code group tương ứng. Trước khi nó được gửi thì trường previuos address sẽ được thiết lập. • Khi capsule đến active node tiếp theo (loading node) và nếu code trùng với type của nó bị thiếu thì một capsule yêu cầu load sẽ được sinh ra và được gửi cho node được xác định bởi trường previous address. • Khi yêu cầu load đến previous node thì một nhóm các capsule load response sẽ được sinh ra, chúng sẽ chứa code group được yêu cầu và những thứ khác để load code. • Khi load response đến loading node thì chúng sẽ được tái tạo lại để xây dựng code group tương ứng và kết quả sẽ được kiểm tra và sau đó quá trình load sẽ hoànn tất, code group sau đó sẽ được sử dụng để forward capsule và quay lại bước 1. Trong ANTS, code được truyền thành những đơn vị forwarding routine thuộc về code group cần thiết cộng với các loại code group. Vì một giao thức được định nghĩa bởi code group type nên thông tin này đủ để tính capsule type và ngăn việc giả code. Một vấn đề thực tế nữa trong việc truyền các code group là việc mã hóa các lời gọi giữa những forwarding routine tạo nên một code group. Các lời gọi sẽ được biểu diễn bởi những tên cục bộ được nhúng thẳng trong code của forwarding routine. Những tên cục bộ này chỉ được liên kết trong code group được truyền để ngăn việc giả code. Ví dụ: Một routine xây dựng các route có thể có tên là “producer”, còn routine khác đi theo những route đó có thể có tên là “consumer”. Các producer routine có thể được kết với một code group với bất cứ consumer routine, vì vậy cho phép các lời gọi chỉ xảy ra một cách bảo mật giữa những routine được chọn.