CHƯƠNG IICÁC VẤN ĐỀ LIÊN QUAN VÀ GIẢI PHÁPKhi chúng ta nói tới mạng thông tin di động thì kèm theo đó là rấtnhiều vấn đề liên quan phức tạp: các giao thức sử dụng trong mạng tính toán di
Trang 1LỜI MỞ ĐẦU
Ngày nay với sự phát triển như không ngừng của công nghệ khôngdây(Wireless) và tính toán di động(Mobile computing), và xuất phát từ nhucầu đòi hỏi của con người luôn mong muốn các công việc tính toán đượcthuận tiện, không phải phụ thuộc vào chiếc máy tính cổ điển, vào không gianhay khoảng cách đã đưa việc ứng dụng tính toán di động vào trong thực tếngày càng trở nên rõ nét cũng như thuận lợi hơn, bên cạnh đó cũng phải đề cậptới sự tiến bộ vượt bậc của các thiết bị cầm tay mới với các yếu tố dễ sử dụng,kết nối thuận tiện đã thúc đẩy ứng dụng tính toán di động vào thực tế ngàycàng rộng rãi hơn
Tuy nhiên, công việc xây dựng các ứng dụng cho các thiết bị di độngcầm tay vẫn tồn tại những khoảng cách so với việc xây dựng ứng dụng chomáy tính cá nhân PC, sự tồn tại của khoảng cách này ngoài các yếu tố nội tại
do hầu hết các hãng sản xuất thiết bị đều nắm giữ các bí quyết công nghệ vàphát trển ứng dụng chuyên biệt cho thiết bị của mình sản xuất, dẫn tới rất khócho các nhà pháp triển tiếp cận xây dựng ứng dụng cho tính toán di động Bêncạnh đó, công việc xây dựng ứng dụng di động đều dựa trên nền tảng của mộtnhà cung cấp dịch vụ viễn thông nên giá thành phát triển, triển khai ứng dụngcho tính toán di động là tương đối cao cũng là một yếu tố cản trở các nhà pháttriển tham gia xây dựng ứng dụng tính toán di động
Ngày nay để khắc phục khoảng cách đó rất nhiều các giải pháp đã được
đề cập và nghiên cứu, trong đó giải pháp hệ thống phục vụ tin nhắn đa phươngtiện MMS( Multimedia mesaging service) được coi là một bước đột phá trongtính toán di động hiện nay, không chỉ bởi nó mang ý nghĩa là sự phát triểnvượt bậc của hệ thống tin nhắn ngắn SMS, mà còn bởi sự trải rộng của nó trên
Trang 2hiểu và xây dựng ứng dụng MMS” để nghiên cứu làm đồ án tốt nghiệp vớimong muốn xây dựng được một ứng dụng thuận tiện cho phép người sử dụng
có thể gửi tin nhắn đa phương tiện từ môi trường internet sẵn sàng cho việcxây dựng những ứng dụng giá trị gia tăng trong tính toán di động
Bố cục của luận văn này bao gồm 9 chương:
Chương I: Khái quát về tính toán di động.
Chương II: Các vấn đề liên quan và giải pháp.
Chương III: Đặc tả và giao thức trong mạng thông tin di động
Chương IV: Kiến trúc MMS.
Chương V: Cấu trúc tin nhắn tin nhắn MMS trong giao tiếp MM1 Chương VI: Giao tiếp MM3 & MM7của kiến trúc MMS.
Chương VII: Sơ lược quy trình phát triển MMS.
Chương VIII: Cài đặt thực tế ứng dụng MMS.
Chương IX: Kết luận và đánh giá.
Đối với sinh viên chúng em thì việc ứng dụng các kiến thức đã học vàothực tiễn là một bước chuẩn bị cần thiết cho công việc và nghiên cứu sau này.Đối với bản thân em trong thời gian thực hiện đồ án tốt nghiệp em đã học hỏiđược rất nhiều điều trong thực tiễn không những về mặt kỹ thuật mà cả vềcách thiết kế các ứng dụng cũng như các công nghệ mới, và quan trọng hơn đó
là tiếp cận được tới các xu hướng mới trong kỹ thuật để tìm hiểu nghiên cứutriển khai thực tế
Em xin chân thành cảm ơn thầy giáo Lê Đức Trung giảng viên bộ mônCông Nghệ Phần Mềm – khoa Công Nghệ Thông Tin trường đại học BáchKhoa Hà Nội đã tạo cơ hội cho em học hỏi nâng cao kiến thức và hướng dẫn
em hoàn thành đề tài này
Hà Nội ngày 14/05/2004Sinh viên thực hiện: Phạm Thanh Tùng
Trang 3MỤC LỤC
LỜI MỞ ĐẦU 1
MỤC LỤC 3
CHƯƠNG I KHÁI QUÁT VỀ TÍNH TOÁN DI ĐỘNG VÀ MMS 5
CHƯƠNG II CÁC VẤN ĐỀ LIÊN QUAN VÀ GIẢI PHÁP 7
CHƯƠNG III ĐẶC TẢ& GIAO THỨC TRONG MẠNG THÔNG TIN DI ĐỘNG 9
1 Đặc tả WAP( Wireless Appliaction Protocol) 9
1.1 Đặc tính của WAP 9
1.2 Mô hình kiến trúc của WAP 9
1.3 Chồng giao thức của WAP 11
1.4 Cấu hình mẫu của WAP 15
2 Giao thức WSP(Wireless Session Protocol Specification) 17
2.1 Vị trí của WSP trong chồng giao thức WAP 17
2.2 Đặc tính của WSP 17
2.3 Hoạt động của giao thức WSP 19
2.4 Cấu trúc và dạng nén của dữ liệu trong WSP 21
2.5 Đóng gói dữ liệu nhiều phần trong WSP 26
CHƯƠNG IV KIẾN TRÚC MMS 28
1 Khái quát kiến trúc MMS 28
1.1 MMS user agent 30
1.2 MMS relay/server(MMSC) 30
1.3 Ứng dụng dịch vụ gia tăng (VAS Value Added Services) MMS 31
2 Tổng quan về các giao tiếp MMSC 31
2.1 Mô hình chuyển tác thông tin trong hệ thống MMS 33
2.2 Cấu trúc và các thành phần của tin nhắn MMS 38
2.3.Phương thức vận chuyển tin nhắn MMS 40
CHƯƠNG V CẤU TRÚC TIN NHẮN MMS TRONG GIAO TIẾP MM1 42
1 Khái quát cấu trúc và định dạng dữ liệu trong tin nhắn MMS 42
2 Các dạng thức đóng gói dữ liệu trong giao tiếp MM1 43
3 Kịch bản trao đổi tin nhắn thực tế 45
CHƯƠNG VI GIAO TIẾP MM3 & MM7 CỦA KIẾN TRÚC MMS 52
1 Giao tiếp MM3 52
1.1 Giới thiệu MM3 52
1.2 Giao tiếp MM3 với hệ thống mail 53
2 Giao tiếp MM7 54
2.1 Giới thiệu MM7 54
CHƯƠNG VII SƠ LƯỢC QUY TRÌNH PHÁT TRIỂN ỨNG DỤNG MMS 57
1.Tìm hiểu thêm về SMIL 57
2 Quy trình tạo tin nhắn MMS 63
Trang 4PHỤ LỤC CÁC THUẬT NGỮ SỬ DỤNG TRONG ĐỒ ÁN 79
Trang 5CHƯƠNG IKHÁI QUÁT VỀ TÍNH TOÁN DI ĐỘNG VÀ MMS
Ngày nay điện thoại cầm tay nói riêng và thiết bị cầm tay nói chung đãtrở nên phổ biến, cũng như tốc độ truyền thông không dây được cải thiện đáng
kể và xu hướng kết nối mạng mọi nơi mọi lúc không phải thông qua cáp haycác đường dây đang phát triển mạnh mẽ Thế hệ điện thoại không dây đầu tiênhay còn gọi là 1G với tín hiệu tương tự chỉ truyền đuợc tiếng nói đã được cảitiến lên đến thế hệ thứ 2 hay còn gọi là 2G( chuyển đổi từ thế hệ tương tự sangthế hệ số), đặc điểm của thế hệ 2G đó là có thể truyền đuợc những thông tindạng text, kể cả những hình ảnh đơn giản(logo) hoặc văn bản qua SMS( mạngthông tin GSM) Với sự chuyển đổi từ thế hệ mạng viễn thông 1G sang 2Gthực sự buớc ngoặt chuyển từ truyền dẫn tín tương tự(Analog) sang tín hiệu kỹthuật số(Digital), tuy nhiên khi yêu cầu của người dùng càng cao và việc pháttriển rất nhanh của công nghệ bán dẫn, công nghệ thông tin nhu cầu từ cácdịch vụ trong mạng GSM trở nên lạc hậu dần không còn đáp ứng được yêucầu của người sử dụng
Ngày nay chúng ta đang chuyển tới thế hệ mạng viễn thông thứ 3 haycòn gọi là 3G với 2 chức năng mới là Internet Browsing và MultiMediaMessage Service (MMS), 3G chính là bước tiến từ 2G kết hợp sóng vô tuyến
và dịch vụ Internet(IP) mà tiền đề của bước tiến triển này thể hiện thông quahai yếu tố cơ bản sau
Sự phát triển và triển khai công nghệ truyền tín hiệu tốc độ cao
Sự phát triển mạnh mẽ của kỹ thuật chuyển mạch gói của côngnghệ IP
Trang 6mạng viễn thông 2G sang thế hệ mạng viễn thông 3G với tính năng ngày cànghoàn hảo của thiết bị cầm tay, yêu cầu của khách hàng khắt khe hơn thì thực
sự mạng di động đã, đang và sẽ mang lại nhiều lợi ích hơn nữa cho người sửdụng
Các dịch vụ tính toán di động nói chung không chỉ đơn thuần là kết nốimạng thông tin di động, gửi tin nhắn, gửi email… bằng thiết bị cầm tay màthực sự các dịch vụ này đã tiến tới một bước xa hơn đó là tiến tới các dịch vụgia tăng dựa trên tính toán di động như thanh toán ngân hàng, giải trí qua thiết
bị cầm tay(xem phim, nghe nhạc qua kết nối mạng internet), lấy thông tin theoyêu cầu
Trang 7CHƯƠNG IICÁC VẤN ĐỀ LIÊN QUAN VÀ GIẢI PHÁP
Khi chúng ta nói tới mạng thông tin di động thì kèm theo đó là rấtnhiều vấn đề liên quan phức tạp: các giao thức sử dụng trong mạng tính toán
di động, các chuẩn dữ liệu của thông tin trao đổi giữa các thành phần, các giaotiếp của các thành phần trong mạng di động, chúng ta cần phải kể thêm cácgiao thức của mạng internet cũng như các đặc tả dữ liệu của các giao thức trênnền internet
Ở đây do thời gian có hạn nên em chỉ đi sâu vào tìm hiểu kiến trúc vàcác giao tiếp chính của hệ thống MMS cũng như đóng gói dữ liệu của các giaotiếp này
Về vấn đề các giao thức phụ trợ trong hệ thống mạng MMS cũng nhưcác kiến thức bổ xung cho việc tạo tin nhắn MMS em sẽ cố gắng trình bày xen
kẽ trong các phần của đồ án tốt nghiệp này cũng như trong khi triển khai ứngdụng
Trong tình hình những công nghệ phát triển ứng cho internet chủ yếu
áp dụng cho máy tính và hệ thống máy tính với băng thông lớn, tính ổn địnhcao đòi hỏi cấu hình phần cứng và phần mềm tương đối lớn từ trước tới nay,thì một mảng khác đó chính là ứng dụng cho môi trường tính toán di động củacác thiết bị cầm tay với những đòi hỏi phần cứng không cao, nguồn nănglượng sử dụng không lớn, với những yêu cầu về băng thông không cao nhưvới mạng internet (mạng có dây), số lượng thiết bị ngày càng được sản xuấtnhiều, tuy nhiên vẫn chưa được phát triển đúng với tầm cỡ của nó, chính vì lý
do đó diễn đàn WAP đã đưa ra đặc tả về các giao thức ứng dụng tính toán di
Trang 8mở rộng các ứng dụng khi lượng người dùng tăng cao, tính hiệu quả và đơngiản trong phát triển các ứng dụng tính toán di động cũng như tính bảo mậtthông tin được truyền đi ở đây không chỉ bảo vệ thông tin trên đường truyền
mà còn ngay trên thiết bị đầu cuối sử dụng ứng dụng tính toán di động
Các chuẩn về tín toán di động được diễn đàn WAP xem xét và nghiêncứu song song với tổ chức 3GPP trong việc chuẩn hóa các đặc tả ứng dụngtrong môi trường thông tin tính toán di động, và đặc tả WAP là một đặc tảtương đối quan trọng trong xây dựng ứng dụng trên nền tính toán di độngtrong đó có ứng dụng MMS, ở đây do thời gian có hạn em chỉ đi sâu nghiêncứu chủ yếu các đặc tả kiến trúc cũng như đặc tả kỹ thuật của MMS được đưa
ra bởi diễn đàn WAP để thực hiện đồ án này
Trang 9CHƯƠNG IIIĐẶC TẢ VÀ GIAO THỨC TRONG MẠNG THÔNG TIN DI
Hỗ trợ bảo mật cho các ứng dụng có yêu cầu bảo mật dựa trên các côngnghệ bảo mật kế thừa từ nền tảng mạng internet có dây
WAP cung cấp các đặc tả về khả năng tùy biến cá nhân hóa các ứngdụng tính toán di động cho phép hoạt động trên nhiều dạng thiết bị khác nhau
WAP phân chia ra các lớp trong môi trường ứng dụng không dây tạo rakhả năng tùy biến và chuyên biệt hóa nhiệm vụ của các lớp giúp mở rộngchuẩn được dễ dàng và thuận tiện trong triển khai ứng dụng tính toán di động
1.2 Mô hình kiến trúc của WAP( [ WAP-210 ] )
Khi chúng ta nghiên cứu mô hình của ứng dụng WAP chúng không thểkhông đề cập tới mô hình ứng dụng của kiến trúc khác đã tồn tại và có liênquan tới nó, ở đây chúng ta sẽ đi nghiên cứu khái quát về mô hình lập trìnhWWW, chúng ta có hình vẽ minh họa minh họa mô hình WWW
Trang 10trình gọi là trình duyệt web(browser), chương trình này gửi một yêucầu(request) tới một máy chủ ứng dụng trên mạng với định danh của máy chủứng dụng được chuẩn hóa trong định dạng URL Khi máy chủ ứng dụng nhậnđược yêu cầu thì máy chủ sẽ phản hồi cho máy khách nội dung kết quả củayêu cầu đã được gửi đi nội dung của kết quả gửi trả về được nói tới trong tàiliệu[RFC2045,RFC2048 theo chuẩn MIME] và được định dạng nội dung trongngôn ngữ đánh dấu văn bản HTML, hoạt động của máy chủ và máy trạm giaotiếp với nhau trong môi trường web được thực hiện thông qua giao thứcHTTP[RFC2616].
Chúng ta tiếp tục đi vào nghiên cứu mô hình của WAP, xét về kiến trúc
cơ bản mô hình WAP là một phiên bản kế thừa một phần của mô hình WWWnhằm thích ứng với các ứng dụng cũng như tính năng của các thiết bị cầm tay,chúng ta có hình vẽ minh họa minh họa mô hình WAP
Hình 2 Mô hình WAPvới mô hình WAP thì nó kế thừa cơ bản cơ chế yêu cầu( request) và phản hồi (response) thông tin được thể hiện qua tương tác giữa máy trạm và máy chủdựa trên giao thức kết nối WWW cũng như các định dạng dữ liệu đã được xâydựng trong WWW (ví dụ như: định dạng file ảnh jpg, định dạng MIME…) và
nó tận dụng được các ưu điểm cũng như khả năng của máy chủ, tận dụng đượccác ứng dụng sẵn có viết cho máy chủ như các tool về XML, CGI…tuy nhiên
Trang 11điểm khác biệt của WAP so với WWW là nó sử dụng cho môi trường thôngtin tính toán di động, cũng như hỗ trợ hai mô hình lập trình mới đó là.
Mô hình đẩy dữ liệu(PUSH data)
Mô hình hỗ trợ thoại(WTA)
trong mô hình WAP có thể nói nội dung thông tin trao đổi giữa các thành phầnhoàn toàn tương tự như trong WWW, tuy nhiên WAP sử dụng chồng giaothức khác khi truyền dữ liệu giữa các thành phần để thích ứng với kết nốikhông dây của mạng thông tin di động
WAP sử dụng biện pháp trung gian đó là sử dụng công nghệ proxy đểkết nối giữa thiết bị cầm tay và máy chủ cung cấp dịch vụ, mô hình sau đâyminh họa điều này
Hình 3 Mô hình mở rộng của WAPTrong mô hình này proxy đóng vai trò như một đơn vị trung chuyển nóchuyển tất cả các yêu cầu từ chồng các giao thức truyền thông khôngdây( chồng giao thức WAP v1.x, WSP, WTP ) sang yêu cầu dạng giao thứcHTTP để truyền tới máy chủ web tạo nên tính mở rộng của ứng dụng MMStương tác giữa thiết bị cầm tay và các ứng dụng web có sẵn
Trang 12 Tầng phục vụ vận chuyển( transport services): tầng này này đóng vaitrò đảm bảo chất lượng kết nối cho các tầng trên nó, tầng này cũng có
cơ chế nhận biết được các dịch vụ mà nhà cung cấp dịch vụ viễn thông
có khả năng đáp ứng Chúng ta cũng cần lưu ý rằng tầng phục vụ vậnchuyển truyền tải các dữ liệu thông qua mạng sóng mang của tầngmạng tải Tầng phục vụ vận chuyển bao gồm hai thành tố cơ bản đó làdịch vụ kết nối theo biểu đồ( diagrams service) thành tố này đảm bảocho dữ liệu đi từ thiết bị nguồn tới thiết bị đích mà không quan tâm tới
sự trao đổi qua lại giữa bên gửi và bên nhận dự liệu cũng như không
Trang 13phụ thuộc vào dữ liệu mà nó chuyển đi trong thành tố này, WAP đã đưa
ra hai giao thức con sử dụng cho mục đích này đó là UDP( UserDatagram Protocol) và WDP( Wireless Datagram Protocol), với thành
tố thứ hai connection service đảm bảo quá trình truyền thông tin luônluôn được diễn ra trong 3 giai đoạn đó là thiết lập kết nối, trao đổithông tin hai chiều, hủy kết nối giữa hai thiết bị, trong thành tố này tổchức WAP đã sử dụng giao thức WP-TCP( sửa đổi từ giao thưc TCPcho thích ứng với mạng thông tin di động)
Tầng dịch vụ chuyển tải(tranfer service): tầng dịch vụ chuyển tải cungcấp việc vận chuyển, thông tin theo cấu trúc xác định trong quá trìnhtrao đổi giữa các thành phần trong mạng WAP Tầng này bao gồm cácthành phần sau
Trao đổi nội dung thông tin đa phương tiện: có bảo mật hoặckhông từ nguồn thông tin, nó bao gồm hai giao thứcWSP(wireless secsion protocol) và WTP(wireless transactionprotocol)
Trao đổi thông tin theo luồng nối tiếp( streaming data) ví dụ nhưtruyền liên tục một file âm thanh, tầng dịch vụ chuyển tải nàycòn cung cấp các dịnh vụ kèm theo như Streaming dữ liệu cungcấp truyền dữ liệu liên tục tới thiết bị cầm tay ứng dụng trongtruyền âm thanh và hình ảnh liên tục mà không cần lưu trữ trênthiết bị cầm tay của người sử dụng
Dịch vụ trao đổi tin nhắn: dịch vụ này cung cấp khả năng truyềnkhông đồng bộ các tin nhắn đa phương tiện và giao thức đónggói MMS là một giao thức dùng để trao đổi giữa một thiết bị hỗ
Trang 14cho việc khởi tạo một phiên làm việc gửi dữ liệu tới thiết bị cầmtay ngay khi thiết bị có thể nhận dữ liệu theo cơ chế push dữliệu.
Cookies cho phép ứng dụng thiết lập trạng thái trên máy kháchhoặc trên wap proxy trong phiên làm viêc truyền dữ liệu đaphương tiện lên thiết bị cầm tay
Tầng khung ứng dụng( Application framework): tầng khung ứng dụngcung cấp một môi trường đáp ứng được nhiều mục đích khi xây dựngcác ứng dụng tính toán di động dựa trên sự kết hợp của WWW, internet
và công nghệ điện thoại di động(Mobile Telephony), mục tiêu của tầngnày là mở rộng môi trường phát triển, cho phép xây dựng ứng, các dịch
vụ không phụ thuộc vào nền tảng của kết nối không dây và thuận tiệncho người sử dụng Tầng khung ứng dụng bao gồm những thành phầnsau
WAE/WTA user agent: trong đó WAE là một chương trìnhduyệt tương thích với các ngôn ngữ đánh dấu văn bản WML,XHTML… các đoạn mã kịch bản( script)cũng như giao diện lậptrình của thiết bị cầm tay, các bộ lệnh tương tác với dịch vụ củamạng viễn thông
Phương thức đẩy dữ liệu(push data) cho phép truyền chủ độngthông tin tới thiết bị cầm tay[PushArch]
MMS cung cấp khả năng truyền tin nhắn đa phương tiện nhưemail, tin nhắn tức thời tới thiết bị cầm tay hỗ trợ WAP
Hỗ trợ các định dạng dữ liệu chuẩn, thông tin về các định dạngcủa file đa phương tiện
Tầng dịch vụ bảo mật(sercurity service): tầng này cung cấp dịch vụ bảomật như xác thực quyền, chính sách cấp quyền, các thư viện hỗ trợphương pháp mã hóa [WMLEncryptscript], bảo mật trên đường truyềncũng như trên mạng sóng mang
Tầng dịch vụ khám phá(discovery): dịch vụ khám phá cung cấp nhữngkhả năng cho phép xác định các dịch vụ đang được cung cấp trên mạng
Trang 15hiện trạng hoặc các mạng khác cũng như khả năng tìm kiếm nhận biếtcác mạng mới khi thiết bị cầm tay di chuyển sang mạng khác hay nhậnbiết vị trí của chính nó, dựa trên các hàm và các thư viện lập trình được.1.4 Cấu hình mẫu của WAP
Chúng ta đã tìm hiểu trong chồng giao thức WAP ở trên có rất nhiềucác giao thức khác nhau trong cùng một tầng, tuy nhiên với một số những ứngdụng khác nhau dựa trên cấu hình của mạng thông tin di động, và tín hiệutruyền tải giữa các thiết bị, chúng ta có thể đưa ra được một số mô hình cơ bảnkết hợp các giao thức này để áp dụng được tương ứng với các mô hình kết nối
Trang 16Hình 6 Mô hình WAP HTTP proxy dựa trên HTTP/TCP rút gọn
Trong đặc tả này WAP Proxy mở rộng khả năng đáp ứng yêu cầu củamáy chủ web thông qua việc kết nối giữa hai phần không dây(Wireless) và códây(Wired), trong phần không dây kết nối giữa thiết bị cầm tay và WAP Proxyhai giao thức HTTP và TCP đã được tối giản và biến đổi để phù hợp với môitrường mạng thông tin di động mô hình này được sử dụng cho đặc tả MMSv1.1 cải tiến từ MMS v1.0
Ngoài ra khi WAP Proxy đóng vai trò trở thành một bộ địnhhướng( router) với vai trò này WAP Proxy sử dụng kết nối trực tiếp có nghĩa
là thông tin từ thiết bị cầm tay tới máy chủ web được truyền tải thông qua giaothức IP mà không qua giao thức trung gian nào giữa hai loại kết nối có dây vàkhông dây
Hình 7 Mô hình kết nối trực tiếp
Trang 172 Giao thức WSP(Wireless Session Protocol Specification)
2.1 Vị trí của WSP trong chồng giao thức WAP
Chúng ta đã xem xét ở trên trong đặc tả của giao thức WAP giao thứcWSP nằm trong lớp giao thức session mà mục đích chính của giao thức WSP
là đảm bảo hoạt động của thiết bị cầm tay và gateway hoặc máy chủ của mạngthông tin khác Chúng ta có sơ đồ tham chiếu của WAP trong đó mô tả vị trícủa lớp session.[WAP-230-WSP]
Hình 8 Sơ đồ tham chiếu chồng giao thức WAP
Trang 18máy chủ dưới dạng được mã hoá hoặc nén thông tin truyền đi, WSP cũng cókhả năng thiết lập trạng thái tạm dừng hoặc tiếp tục của một phiên làm việc.
WSP chia ra làm hai dạng thức: dạng thức 1 cung cấp một phiên làmviệc dựa vào kết nối trực tiếp của giao dịch(transaction) trong khi dạng thức 2không phụ thuộc vào kết nối (connectionless) của giao dịch Trong thực tế thìdạng thức thứ hai được dùng nhiều hơn do chúng đảm bảo cho các ứng dụngkhông cần tạo một kết nối thực để thực hiện tạo phiên làm việc cũng nhưkhông cần đảm việc xác thực thông tin giúp cho cải thiện việc sử dụng tàinguyên, đường truyền dữ liệu giữa máy chủ và máy khách
WSP cung cấp các tính năng cơ bản như sau
Cung cấp tính năng của HTTP
Cung cấp khả năng mở rộng các phương pháp yêu cầu(request) vàtrả lời(response)
Trao đổi thông tin về phiên làm việc giữa thiết bị cầm tay và máychủ
Đưa thông tin từ máy chủ tới máy khách theo kiểu không đồng bộ.WSP cung cấp truyền dữ liệu theo dạng thức của tầng ứng dụng tronggiao thức HTTP, nghĩa là WSP cũng đưa ra đặc tả đóng gói phần dữ liệuheader riêng cho các phần riêng biệt chứa đựng trong dữ liệu thành phần củagói tin Việc phân chia các phần trong dữ liệu của gói tin tương tự như việcđóng gói dữ liệu theo chuẩn MIME(ví dụ mutipart/mix) trong giao thứcHTTP Một đặc tính của WSP đó là nó không quan tâm tới thông tin headercủa các gói tin đuợc truyền đi ứng với hai kiểu trao đổi dữ liệu phổ biến đó là :yêu cầu(request) hay trả lời(response) do khi một phiên làm việc được tạo rathì thông tin header của gói tin được truyền đi không thay đổi cho tới khi kếtthúc phiên làm việc( kết thúc phiên làm việc của WSP không phụ thuộc vàoviệc trao đổi thông tin, do phiên làm việc có thể tạm dừng và lại thực hiện tiếp
ở thời gian nào đó, việc thực hiện tạm dừng hoặc tiếp tục một phiên làm việc
có thể diễn ra trên một mạng khác.)
Trang 192.3 Hoạt động của giao thức WSP
+ Thiết lập phiên làm việc theo sơ đồ sau
Hình 9 Sơ đồ mô tả thiết lập phiên làm việc trong giao thức WSP+Nếu bị từ chối thiết lập phiên làm việc sẽ hoạt động theo sơ đồ sau
Trang 20Hình 10 Sơ đồ mô tả từ chối thiết lập phiên làm việc trong giao thức WSP+ Kết thúc phiên làm việc
Hình 11 Sơ đồ hủy phiên làm việc trong giao thức WSP
+Tạm dừng và khôi phục lại phiên làm việc
Trang 21Hình 12 Sơ đồ tạm dừng và khôi phục phiên làm việc trong giao thức WSP+ Thực hiện push(đẩy dữ liệu từ máy chủ xuống) nếu nhận dữ liệu.
Hình 13 Sơ đồ thực hiện push dữ liệu trong giao thức WSP
+ Thực hiện push dữ liệu nếu từ chối không nhận dữ liệu
Trang 22Hình 14 Sơ đồ thực hiện từ chối nhận push dữ liệu trong giao thức WSP
2.4 Cấu trúc và dạng nén của dữ liệu trong WSP
+Các kiểu dữ liệu cơ bản của WSP
bit: Lưu thông tin về một bit dữ liệu
octect: Lưu thông tin 8 bit dữ liệu của một khối dữ liệu
uint8: Số nguyên 8 bit không dấu
uint16: Số nguyên 16 bit không dấu
uint32: Số nguyên 32 bit không dấu
uintvar: Số nguyên không dấu có độ dài bit thay đổi
Số nguyên không dấu có độ dài bít thay đổi, theo quy tắc của tổ chứcWAP định dạng này sẽ được tạo thành 7 bit dữ liệu và một bit có ý nghĩa nhấtlàm bit liên kết trong kết quả: ví dụ 0x87A5 (1000 0111 1010 0101) được mãhoá theo hình như sau:
kết quả sau khi mã hoá là 0x82 8F 25
Công thức để giải mã Số nguyên không dấu có độ dài bít thay đổi như sau
((0x82 XOR 0x80) * 0x80 + (0x8F XOR 0x80)) * 0x80 + 0x25
Cấu trúc cơ bản một đơn vị dữ liệu trong WSP như sau
Trang 23TID kiểu đơn vị dữ liệu(type) đặc tả nội dung của kiểu đơn vị dữ
liệu
Trong đó TID là TransactionID( định danh của phiên làm việc) hoặcPushID( định danh của phiên làm việc thực hiện đẩy(push) dữ liệu từ WAPproxy tới thiết bị cầm tay)
Trường kiểu đơn vị dữ liệu định ra kiểu của đơn vị dữ liệu đó và cáchthực hiện của chúng trong giao thức
Theo quy ước của diễn đàn WAP chúng ta có bảng gán giá trị địnhdanh gói tin trong giao thức WSP đối với trường kiểu(type) đơn vị dữ liệutrong header của các gói tin được truyền đi như sau
Kiểu đơn vị dữ liệu Giá trị( theo dạng hexa)
Bảng 1 Bảng gán giá trị định danh gói tin trong giao thức WSP
Sau đây là các đặc tả chi tiết của một số gói tin cơ bản trong giao thức WSP
Trang 24+Đặc tả của PDU Connect.
CapabilitiesLen uintvar độ dài của trường
Capabilities HeadersLen uintvar độ dài của Headers
+Đặc tả của PDU Disconnect
ServerSessionId uintvar Session_ID
Bảng 3 Bảng mô tả định dạng gói tin PDU Disconnect trong giao thức WSP
Trang 25+Đặc tả của PDU Reply.
Status uint8 S-MethodResult.req::Status
S-Disconnect.req::Reason CodeS-Unit-MethodResult.req::StatusHeadersLen uintvar Độ dài của trường ContentType
+HeadersContentType Nhiều octets S-MethodResult.req::Response
Headers S-Disconnect.req::Error Headers S-Unit-
MethodResult.req::ResponseHeaders
Headers Nhiều octets S-MethodResult.req::Response
Headers S-Disconnect.req::Error Headers S-Unit-
MethodResult.req::ResponseHeaders
S-Resume.res::Server Headers
S-MethodResult.req::Response Nội dung S-Disconnect.req::Error Nội dung S-Unit-
MethodResult.req::ResponseBảng 4 Bảng mô tả định dạng gói tin PDU Reply trong giao thức WSP
Trang 26Tên kiểu dữ liệu Mô tả nguồn
Headers ContentType Nhiều octet S-Push.req::Push Headers
S-ConfirmedPush.req::Push Headers
S-Unit-Push.req::Push Headers
S-ConfirmedPush.req::Push Headers or
S-Unit-Push.req::Push Headers
Push.req::PushBảng 5 Bảng mô tả định dạng gói tin PDU Push trong giao thức WSP
+Đặc tả của PDU Suspend
Bảng 6 Bảng mô tả định dạng gói tin PDU Suspend trong giao thức WSP
Trang 27+Đặc tả của PDU Connect:
CapabilitiesLen uintvar độ dài của trường
Capabilities Capabilities CapabilitiesLen octet
octets
S-Resume.req::Client Headers
Bảng 7 Bảng mô tả định dạng gói tin PDU Connect trong giao thức WSP
2.5 Đóng gói dữ liệu nhiều phần trong WSP
Chúng ta đã biết trong HTTP đóng gói dữ liệu được sử dụng cho nhiềuphần khác nhau của dữ liệu theo định dạng MIME với nhiều phân đoạn dữliệu( được định dạng khác nhau, kiểu(type) của dữ liệu khác nhau) Theo đặc
tả của diễn đàn WAP chúng ta có một sự tương đồng các định dạng file vàphần mở rộng của các file trong giao thức HTTP với giao thức WSP Ví dụnhư trong giao thức HTTP sử dụng phần mở rộng đối với định dạng file ví dụ
là “multipart/mixed”, thì tương tự với WSP chúng ra có định dạng kèm thêmphần mở rộng là vnd.wap.multipart nên có định dạng tương ứng của WSP làapplication/vnd.wap.multipart.mixed, tóm lại quy ước chung đối với định dạngcủa WSP là application/vnd.wap.multipart.* với “*” là các kiểu định dạng củagiao thức HTTP theo đặc tả MIME
Chúng ta có định dạng dữ liệu application/vnd.wap.multipart trongWSP như sau
Trang 28Bảng 8 Định dạng dữ liệu phần header của khuôn dữ liệu trong WSP.
Chúng ta có định dạng dữ liệu của từng thành phần trong WSP như sau
Headers
ContentType CapabilitiesLen octet
Headers Độ dài HeadersLen –
ContentType octetData CapabilitiesLen octets S-Resume.req::Client Headers
Bảng 9 Định dạng dữ liệu thành phần của khuôn dữ liệu trong WSP
Trang 29CHƯƠNG IVKIẾN TRÚC MMS
1 Khái quát kiến trúc MMS
Trước khi đi vào tìm hiểu kiến trúc MMS chúng ta sẽ xem xét tới vị trícủa MMS trong kiến trúc mạng hiện nay, như chúng ta đã biết mục tiêu của hệthống MMS đó chính là tạo nên một dịch vụ đa phương tiện dành cho tínhtoán di động dựa trên nền tảng thế hệ mạng viễn thông 2G và 3G, tuy nhiên docác tính năng mở rộng của MMS và yêu cầu tận dụng được các ưu điểm mạngthông tin đã có, nên hoạt động của MMS không chỉ bó gọn trong các mạngviễn thông mà còn sử dụng các thành tố mạng của các cấu trúc mạng thông tinkhác như Internet, mạng điện thoại cố định để xây dựng một môi trườngmạng phục vụ cho mình Hình vẽ sau đây sẽ chỉ ra vị trí môi trường hoạt độngcủa hệ thống MMS trong kiến trúc của các mạng thông tin khác
Trang 30Chúng ta có kiến trúc của MMS được thể hiện thông qua hình vẽ sau đây.
Hình 17 Sơ đồ kiến trúc hệ thống MMSThành phần cơ bản của hệ thống tin nhắn đó là người gửi, thiết bịtruyền dẫn và người nhận tin, ở trong các hệ thống tin nhắn thiết bị truyền dẫn
sẽ thực hiện chức năng lưu trữ và chuyển tiếp tin nhắn đưa tin nhắn tới chongười nhận tin
Trang 31Điểm khác biệt của hệ thống tin nhắn MMS so với các hệ thống tinnhắn khác như SMS, EMS đó là độ lớn của tin nhắn( tính theo byte dữ liệu
có thể lên tới 100KB so với 160 ký tự của SMS), và điểm thứ hai đó chính là
có thể tạo ra rất nhiều các bản tin trong hệ thống đồng thời các bản tin nàyđược phân phát đồng thời với một số lượng lớn, điểm này rất khác biệt với hệthống khác ví dụ SMS thì thường các tin nhắn được tạo ra và gửi đi là đơnnhất việc gửi đi nhiều bản tin mà chúng ta nhận thấy đó thực chất là việc thựchiện nhiều lần một thao tác gửi tin đi chứ không gửi đồng bộ một lúc nhiều tinnhắn như MMS
Sau đây chúng ta đi vào tìm hiểu một số thành phần quan trọng trongkiến trúc MMS
1.1 MMS user agent
Các thiết bị cầm tay( còn gọi là MMS user agent) sẽ kết nối với MMSCthông qua giao tiếp MM1, giao tiếp này đảm bảo việc gửi và nhận của thiết bịvới MMSC được hoàn chỉnh, điểm khác biệt của giao tiếp MM1 với các giaotiếp khác đó chính là giao tiếp này là giao tiếp không dây nó liên kết thiết bịcầm tay và MMSC thông qua sóng vô tuyến
Chúng ta có thể chỉ ra các tính năng cơ bản của MMS user agent nhưsau
Trang 32 Gửi và nhận tin nhắn MMS từ thiết bị cầm tay.
Chuyển thông báo(notification) tới thiết bị cầm tay( bao gồm cácdạng thông báo: thông báo có tin nhắn tới, thông báo thông tinphản hồi khi gửi tin nhắn)
Khả năng lưu trữ tin nhắn
Chuyển đổi định dạng của tin nhắn sang định dạng qui ước củatừng giao tiếp giữa các MMSC ( giao tiếp MM1, MM2…)
Hỗ trợ việc chuyển đổi định dạng, kiểu của các thành phần tinnhắn MMS(âm thanh, hình ảnh), và có khả năng cung cấp thêmviệc quản lý các thành phần này theo quy ước bản quyền kỹthuật số
Về cơ bản MMSC liên kết với các máy chủ chuyên trách khác thôngqua các giao thức khác nhau ứng với các giao tiếp khác nhau Tuy nhiên, vớimục tiêu của đồ án này nhằm tìm hiểu và xây dựng ứng dụng MMS, và do thờigian không cho phép Trong đồ án này em chỉ quan tâm tới các giao tiếp màchúng ta có thể ứng dụng để tạo lập các chương trình ứng dụng dựa trên nềntảng MMS Các giao tiếp mà chúng ta quan tâm tới ở đây là các giao tiếpMM1, MM7 và MM3 Trong đó MM7 là giao tiếp giữa MMSC và các máychủ chuyên trách khác nhằm xây dựng ứng dụng dịch vụ gia tăng: tin nhắntheo yêu cầu, thông tin chứng khoán qua MMS hay các trang web cho phépngười sử dụng đăng ký và phải trả tiền cho mỗi tin nhắn MMS mà họ tạo ra từtrên trang web cung cấp dịch vụ gửi tới các thiết bị cầm tay … và một giaotiếp cần tìm hiểu nữa MM3 là giao tiếp giữa MMSC và các server phục vụ chocác dịch vụ nền tảng của MMS đó là mail, fax…
1.3 Ứng dụng dịch vụ gia tăng (VAS Value Added Services) MMS
Ứng dụng dịch vụ gia tăng MMS được coi là tập hợp các giải pháp đápứng nhu cầu của người sử dụng dựa trên những tính năng cơ bản của tin nhắnMMS, có thể chỉ ra các dịch vụ giá trị gia tăng như thông tin cập nhật thời tiết,tin tức hay thông tin về thị trường chứng khoán được tự động gửi tới người sửdụng thông tin cập nhật về các yêu cầu khi người sử dụng đăng ký dịch vụ
Trang 332 Tổng quan về các giao tiếp MMSC
Trước khi đi sâu vào nghiên cứu các giao tiếp MMSC chúng ta đi vàonghiên cứu kiến trúc chung các giao tiếp của hệ thống MMS
MM1
MM6 MM7
MM4
MM1 MM3
External Server #N
“Foreign” MMS Relay/Server
MMS User Agent B
Server
MMS Relay/Server
MM2
External Server #3 (e.g UMS)
MM5
MMS User Databases
HLR
MMS VAS Applications
MM9
Online Charging System
MM8
processing System
Post-Hình 18 Sơ đồ giao tiếp giữa các thành phấn trong hệ thống MMSHình vẽ trên minh họa đầy đủ các giao tiếp trong hệ thống MMS,chúng ta có thể đưa ra giải thích của các giao tiếp trên như sau
Giao tiếp MM1: giao tiếp cơ bản để thiết bị cầm tay trao đổi thông tinvới MMSC
Giao tiếp MM2: giao tiếp giữa các MMSC của cùng một mạng đốivới một nhà cung cấp nào đó
Giao tiếp MM3: giao tiếp trừu tượng giao tiếp giữa hệ thốngMMS và các hệ thống lưu trữ thông tin khác ví dụ như mail,
Trang 34nhắn MMS của người sử dụng(MMS User DataBase).
Giao tiếp MM7: giao tiếp của MMSC với các máy chủ chuyêntrách cung cấp dịch vụ giá trị gia tăng MMS
Giao tiếp MM8: giao tiếp giữa MMSC và các máy chủ chuyêntrách cung cấp dịch vụ xử lý thông tin chuyển tải
Giao tiếp MM9: giao tiếp MMSC và các máy chủ chuyên tráchcung cấp dịch vụ tính cước trực tuyến
Do đồ án này em chỉ đi sâu vào việc nghiên cứu xây dựng ứng dụngMMS nên em chỉ quan tâm tới những giao tiếp có liên quan tới đồ án, chúng ta
có hình vẽ mô tả các giao tiếp mà chúng ta quan tâm tới trong đồ án này
Hình 19 Sơ đồ các giao tiếp trong xây dựng ứng dụng MMS
2.1 Mô hình chuyển tác thông tin trong hệ thống MMS
Như chúng ta đã nghiên cứu từ trên trong kiến trúc hệ thống MMS việctrao đổi thông tin các thành phần trong kiến trúc được diễn ra qua các giaotiếp( interface) Tuy nhiên tất cả các giao tiếp đó đều được thực hiện trên nềntảng của một chồng(stack) giao thức khung giúp cho liên kết các thành phầnmột cách hoàn chỉnh phối hợp tốt với nhau, trong kiến trúc của hệ thống MMS
mà diễn đàn WAP đề xuất đã sử dụng chồng giao thức khung( Protocol
Standard network server
MM1
MM 7
MM3
Value added service application MMSC
Mobile Telephone
Trang 35Framework) dựa trên chồng giao thức của WAP làm nền tảng, chúng ta cóchồng giao thức khung trong kiến trúc MMS.
TCP
IP TCP
SMTP, POP, IMAP, HTTP
MMS
User
Agent
IP Based Gateway Relay/Server MMS
Wireless Profiled TCP
SMTP, POP3, IMAP4, HTTP, etc
Hình 20 Chồng giao thức được sử dụng trong hệ thống MMS v1.0
Trong đó với từng giao tiếp trong kiến trúc MMS lại sử dụng các giaothức khác được phân lớp như hình vẽ sau
External Server
MMS capable
UE / MS Environment MM Service
Lower Layer B
e.g TCP / UDP Lower Layer
A
MM3 Transfer Protocol MMS Relay/Server
MM3 Transfer Protocol
MM1 Transfer Protocol
Trang 36trong kiến trúc hệ thống MMS, chúng ta sẽ nghiên cứu việc thực hiện chuyểntác(Transaction) trong các giao tiếp giữa MMSC và thiết bị cầm tay Chúng ta
có thể đưa ra khái quát định nghĩa về chuyển tác đó là thực hiện các thao táctheo một thứ tự nào đó và có kiểm tra, phản hồi thông tin giữa bên gửi dữ liệu
và bên nhận dữ liệu , quá trình này được gọi là một chuyển tác
Chúng ta đi sâu vào nghiên cứu từng chuyển tác này của thiết bị cầmtay thực hiện với MMSC Sau đây là luồng thông tin khi thiết bị cầm tay gửitin nhắn MMS tới MMSC, khi thiết bị cầm tay có nhu cầu gửi tin nhắn vànhận tin nhắn từ MMSC( do một thiết bị cầm tay khác gửi đến)
MMS Relay/Server
Recipient MMS User Agent
Hình 21 Biểu đồ luồng thông tin khi có sự trao đổi thông tin giữa thiết bị cầm
tay và MMSC
có thể minh họa quá trình này như sau thiết bị cầm tay gửi một gói tin yêu cầutới MMSC bao gồm các thông tin phụ như địa chỉ người gửi, địa chỉ ngườinhận, các thành phần của gói tin, và như chúng ta đã nói trong phần trên(WSP)thiết bị cầm tay sử dụng phương thức WSP/HTTP POST để đóng gói thôngtin, truyền gói tin M-Send.req tới MMSC Sau khi MMSC nhận được yêu cầu
nó trả lại môt gói tin M-Send.conf chứa thông tin quan trọng nhất đó là MsgID
Trang 37là trường định danh đánh dấu tin nhắn thành phần này được dụng trong cácgiai đoạn sau trong giao tiếp giữa hai thành phần thiết bị cầm tay và MMSC.
Hình 22 Biểu đồ luồng thông tin khi thiết bị cầm tay gửi tin nhắn tới MMSCTiếp sau đây, chúng ta đi và tìm hiểu luồng thông tin trao đổi giữa thiết
bị cầm tay và MMSC khi thiết bị cầm tay nhận về tin nhắn MMS
Trang 38gói tin M-NotifyResp.ind trong đó lưu thông tin quan trọng đó là trạng tháiyêu cầu trả lời tới MMSC để chỉ mức độ ưu tiên của gửi thông tin phản hồinày về MMSC.
Hình 24 Biểu đồ luồng thông tin khi thiết bị cầm tay đích nhận được thông
báo có tin nhắn gửi tới
Bước tiếp theo để nhận về tin nhắn của mình thiết bị cầm tay thực hiệngửi yêu cầu tới MMSC sử dụng phương thức WSP/HTTP GET trong đó chứathông tin về địa chỉ của tin nhắn MMS gửi cho mình MMSC sau khi nhậnđược sẽ gửi trả lại cho thiết bị cầm tay nội dung của tin nhắn MMS thông quagói tin M-retrieve.conf
Hình 25 Biểu đồ luồng thông tin khi thiết bị cầm tay thực hiện nhận tin nhắnChúng ta lưu ý rằng tuỳ thuộc vào MMSC có yêu cầu hay không, thiết
bị cầm tay sẽ trả về một gói tin M-Acknowledge.ind thông báo là thực hiệnthành công truyền giao tác giữa hai thành phần này, chúng ta cũng cần nóithêm phần nội dung của tin nhắn MMS mà MMSC gửi phải bao gồm thông tinđóng gói định dạng của tin nhắn MMS theo giao tiếp nào(MM1, MM7)
Trang 39Khi MMSC gửi tin nhắn đến thiết bị cầm tay đích lúc này nó sẽ gửi tớimột gói tin thông báo cho thiết bị cầm tay nguồn một gói tin M-delivery.ind đểthông báo về trạng thái của tin nhắn đã gửi, địa chỉ đích, định danh của tinnhắn đã gửi nhằm thông báo cho người gửi về trạng thái của tin nhắn đã tớihay chưa phần thông tin này có thể coi là một báo cáo về trạng thái của tinnhắn đã gửi.
Hình 26 Biểu đồ luồng thông tin khi thiết bị cầm tay nguồn nhận đượcthông tin phản hồi về tình trạng của tin nhắn đã gửi đi
2.2 Cấu trúc và các thành phần của tin nhắn MMS
Thành phần cơ bản của tin nhắn MMS đó chính là các file hình ảnh, cácfile âm thanh và các chuỗi văn bản Tuy nhiên, chúng ta cũng cần biết rõ rằngcác thiết bị cầm tay của các hãng cung cấp thiết bị khác nhau thường chỉ hỗ trợmột số định dạng file dữ liệu đa phương tiện(multimedia) nhất định Nguyênnhân cơ bản của vấn đề này chính là do mỗi hãng có một chiến lược phát triểnsản phẩm riêng và áp dụng các chuẩn do các hãng tự đặt ra, chính vì lý do nàynên khi phát triển các ứng dụng dựa trên nền MMS thì chúng ta cần địnhhướng rõ ràng các thiết bị của các hãng mà chúng ta cần hỗ trợ
Khi bàn tới cấu trúc của tin nhắn MMS thì điều đầu tiên chúng ta cầnquan tâm tới đó chính là tin nhắn MMS không chỉ là việc gắn các file vàotrong tin nhắn text, mà hơn nữa tin nhắn MMS cho phép người gửi định dạngđược, và chỉ ra rõ ràng thứ tự trình diễn của tin nhắn cho người nhận Ví dụ
Trang 40Hình 27 Mô tả cấu trúc của một file SMILTuy nhiên với định dạng được thể hiện thông qua ngôn ngữ SMIL chỉthể hiện cách trình diễn của tin nhắn MMS chứ không phải là định dạng củatin nhắn MMS được đóng gói khi chúng ta gửi tin nhắn tới một người nào đótrên đường truyền Lý do rất đơn giản ở đây là chúng ta đều biết rằng quá trìnhtruyền dẫn dữ liệu từ một thiết bị này tới một thiết bị khác, thì chắc chắn phải
có một định dạng khung dữ liệu cần truyền cũng như đóng gói dữ liệu như thếnào Theo đặc tả của diễn đàn WAP việc đóng gói các thành phần trong tinnhắn MMS sẽ được đóng gói theo định dạng MIME(mutilpurpose internetmail extensions tham khảo trong RFC 2046) Hình vẽ sau đây có thể mô tả vịtrí đóng gói dữ liệu theo chuẩn MIME của một chương trình SMIL
SMIL program
Picture
#1
Audio track
#1
Picture
#2
Audio track
#1
Text #1