ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN NGỌC HÀ
NGHIÊN CỨU CẢI THIỆN GIAO THỨC SCTP TRONG
MẠNG MANET
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội –2014
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN NGỌC HÀ
NGHIÊN CỨU CẢI THIỆN GIAO THỨC SCTP TRONG MẠNG
MANET
Ngành: Công nghệ thông tin
Chuyên ngành: Mạng và truyền dữ liệu máy tính
Mã số:
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƢỜI HƢỚNG DẪN KHOA HỌC: TS.DƢƠNG LÊ MINH
Hà Nội – 2014
LỜI CÁM ƠN
Trƣớc hết tôi xin gửi lời cám ơn tới các thầy cô giáo trong Trƣờng Đại học Công
nghệ - Đại Học Quốc Gia Hà Nội đã tận tình chỉ bảo tôi trong suốt khóa học, cám ơn tập
thể lớp K17 và đặc biệt là tới thầy giáo TS.Dƣơng Lê Minh, ngƣời đã nhiệt tình hƣớng
dẫn, chỉ bảo tôi trong công việc nghiên cứu và học tập.
Sau cùng tôi muốn gửi lời cám ơn tới gia đình và ngƣời thân của tôi, những ngƣời
đã luôn khuyến khích và động viên tôi trong suốt khóa học.
Do thời gian và điều kiện có hạn nên luận văn không tránh khỏi những thiếu sót,
tôi rất mong sự góp ý của bạn bè, thầy cô và những ngƣời quan tâm đến đề tài này.
LỜI CAM ĐOAN
Tôi xin cam đoan luận văn tốt nghiệp ―Nghiên cứu cải thiện giao thức SCTP trong
mạng MANET‖ là công trình nghiên cứu của tôi dƣới sự hƣớng dẫn và định hƣớng của
TS. Dƣơng Lê Minh. Trong luận văn tôi có thừa kế sử dụng lại một số đoạn mã nguồn
đƣợc giáo viên hƣớng dẫn cung cấp và chỉnh sửa cho phù hợp với mục đích và đề tài
nghiên cứu của mình, các đoạn mã nguồn thừa kế lại tôi có ghi chú rõ ràng. Ngoài ra
các kết quả số liệu thu đƣợc trong quá trình mô phỏng là do chính tôi tự thiết lập, cài
đặt và mô phỏng.
Hà Nội, Ngày 05 Tháng 11 năm 2014
1
DANH MỤC HÌNH ẢNH 3
DANH MỤC CÁC TỪ VIẾT TẮT 4
MỞ ĐẦU 5
CHƢƠNG 1: TỔNG QUAN VỀ MẠNG MANET 7
2.1 Mạng Manet và lịch sử phát triển 7
2.2 Đặc điểm mạng MANET[9] 8
2.3 Ứng dụng phổ biến của mạng MANET[9] 9
2.4 Các khó khăn và thách thức đối với mạng MANET 10
CHƢƠNG 2: GIAO THỨC SCTP (STREAM CONTROL TRANSMISSION
PROTOCOL) 11
3.1 Lịch sử và mục đích phát triển giao thức SCTP 11
3.2 Các đặc trƣng của giao thức SCTP 12
3.2.1 Tầng hoạt động của giao thức 12
3.2.2 Multi-Homing 12
3.2.3 Đa luồng (Multi-Streaming) 13
3.2.4 Phân tách các bản tin[11] 14
3.3 Đặc tả giao thức SCTP 14
3.3.1 Kiến trúc giao thức SCTP 14
3.3.2 Các chức năng chính của SCTP 15
3.3.3 Gói tin SCTP 18
3.3.4 Lƣu đồ trạng thái mô tả việc kết nối SCTP 29
3.3.5 Điều khiển tắc nghẽn và kiểm soát lỗi 34
3.3.6 Vấn đề an toàn dữ liệu 37
3.3.7 SCTP, TCP và UDP – những điểm giống và khác nhau 39
CHƢƠNG 3: ĐỀ XUẤT PHƢƠNG PHÁP GIAO TIẾP LIÊN TẦNG TRONG GIAO
THỨC SCTP 42
3.1 SCTP trong mạng MANET 42
2
3.2 Cách tiếp cận liên tầng (cross-layer) trong mạng không dây 45
3.3 Phƣơng pháp tính độ trễ trung bình truy cập kênh truyền tại tầng MAC 46
3.4 Phƣơng pháp cải tiến trong giao thức SCTP 49
CHƢƠNG 4: CÀI ĐẶT MÔ PHỎNG VÀ ĐÁNH GIÁ 52
4.1 Công cụ mô phỏng NS-2 52
4.2 Cấu hình cài đặt mô phỏng 52
4.2.1 Mô hình mô phỏng dạng chuỗi (chain) 52
4.2.2 Mô hình mô phỏng dạng lƣới (grid) 55
4.3 Đánh giá chung 58
4.4 Đề xuất hƣớng nghiên cứu trong tƣơng lai 58
3
DANH MỤC HÌNH ẢNH
Hình 1. Phân tách các bản tin cạnh nhau. 14
Hình 2: Mô hình tầng giao thức SCTP. 15
Hình 3: Mô hình thiết lập kết nối của SCTP và TCP 15
Hình 4: Cấu trúc gói tin SCTP 19
Hình 5: Phần header của gói tin SCTP 19
Hình 6: Cấu trúc trƣờng trunk 21
Hình 7: Cấu trúc Payload data 24
Hình 8: Cấu trúc INIT Chunk 25
Hình 9: Cấu trúc gói SACK chunk 27
Hình 10: Cấu trúc gói tin Heartbeat 28
Hình 11: Lƣu đồ trạng thái mô tả kết nối SCTP 30
Hình 12:Quá trình thiết lập kết nối 31
Hình 13: Quá trình xảy ra xung đột trong mạng không dây của giao thức TCP 43
Hình 14: Kiến trúc RTS/CTS của DCF 47
Hình 15: Mô hình dạng chuỗi (chain) 53
Hình 16: Mô hình dạng lƣới 6x6 56
Hình 17: Mô hình dạng lƣới 8x8 56
4
DANH MỤC CÁC TỪ VIẾT TẮT
ACK
Acknowledgement
CBR
Continuous Bit Rate
DSDV
Destination Sequenced Distance Vector
DARPA
Defence Advanced Research Project Agency
ETSI
European Telecommunications Standards
Institute
IEEE
Institute of Electrical and Electronics Engineers
IP
Internet Protocol
LAN
Local Area Network
MAC
Medium Access Control
MANET
Mobile Ad hoc Network
MAD
Medium Access Delay
NAM
Network Animation
NS
Network Simulator
OTCL
Object Oriented Tool Command Language
PYC
Physical
TCL
Tcl Tool Command Language
TCP/IP
Transmission Control Protocol/Internet Protocol
Tx
Transmission
UDP
User Datagram Protocol
5
MỞ ĐẦU
Ngày nay khi mà tầm quan trọng của các máy tính trong cuộc sống của con ngƣời
tăng lên, điều đó cũng đòi hỏi các yêu cầu mới cho việc kết nối mạng máy tính. Ngoài các
giải pháp cho mạng có dây đã đƣợc dùng từ lâu, chúng ta thấy sự gia tăng yêu cầu đối với
các giải pháp cho mạng không dây để có thể kết nối tới Internet, đọc và gửi các thông
điệp thƣ điện tử, trao đổi thông tin trong các cuộc họp… Mạng không dây đặc biệt
MANET (Mobile Adhoc Networking) bao gồm các thiết bị tự tổ chức thành mạng đạt
đƣợc sự giải phóng hoàn toàn khỏi cơ sở hạ tầng mạng cố định, có chi phí truyền thông
thấp và triển khai dễ dàng. Về mặt thực tiễn, mạng MANET rất hữu ích cho các nhu cầu
thiết lập mạng khẩn cấp tại những nơi xảy ra thảm họa nhƣ hỏa hoạn, lụt lội, động đất…
Với tất cả những lý do trên, mạng MANET là một trong những lĩnh vực nghiên
cứu có tính thời sự cao, đầy thách thức của mạng không dây và công nghệ này hứa hẹn sẽ
trở nên phổ biến với cuộc sống của con ngƣời. Tuy nhiên hiệu năng của mạng MANET
đang là cản trở rất lớn trong quá trình áp dụng rộng rãi vào thực tế và vấn đề cải thiện
hiệu năng của mạng MANET vẫn là một đề tài còn rất rộng lớn, đã có nhiều cách tiếp cận
và giao thức khác nhau đã đƣợc đề nghị để giải quyết vấn đề trên[4][5].
Ra đời sau các giao thức đƣợc sử dụng cho mạng có dây truyền thống nhƣ TCP-
UDP, giao thức SCTP đã kế thừa đƣợc những ƣu điểm và khắc phục một số nhƣợc điểm
của các giao thức truyền thống trên. SCTP đƣợc bổ sung một số đặc tính nhƣ Multi-
homing, Multi-streaming, với các tính năng này đã khắc phục đƣợc một số điểm yếu của
các giao thức truyền thống và nâng cao hiệu năng, chất lƣợng dịch vụ của các giao thức
SCTP.
Nhƣ chúng ta thấy việc áp dụng giao thức SCTP vào mạng MANET là chƣa phổ
biến. Bản thân giao thức SCTP cũng nhƣ các giao thức TCP, UDP hoạt động cũng không
hiệu quả trọng mạng MANET[6][7] và đề tài cải thiện hiệu năng của giao thức này trong
mạng MANET là một chủ đề tƣơng đối mới và chƣa có nhiều ngƣời thực hiện.
Phƣơng pháp tiếp cận giao tiếp liên tầng (crosslayer) là một phƣơng pháp tuy
không mới nhƣng đƣợc đánh giá là có hiệu quả khi áp dụng với giao thức TCP trong
mạng MANET [2]. Tuy nhiên, chƣa có nhiều công trình nghiên cứu để áp dụng phƣơng
pháp này với giao thức SCTP trong mạng MANET. Do đó, trong luận văn này tôi tập
6
trung vào nghiên cứu và áp dụng phƣơng pháp crosslayer với giao thức SCTP trong mạng
MANET từ đó đề xuất cải tiến tính năng Multi-homing của SCTP để nâng cao hiệu năng
của giao thức SCTP trong mạng MANET.
Nội dung luận văn bao gồm các phần sau: Phần mở đầu giới thiệu và đặt vấn đề
nghiên cứu. Tiếp theo chƣơng 1 trình bày tổng quan về mạng MANET bao gồm các đặc
trƣng cơ bản, ƣu điểm và các khó khăn thách thức đang gặp phải với mạng MANET trong
gian đoạn hiện nay. Chƣơng 2 tìm hiểu tổng quan về giao thức SCTP, tập trung vào tính
năng Multi-Homing để làm cơ sở nghiên cứu và đề xuất phƣơng án cải tiến. Chƣơng 3
nghiên cứu phƣơng pháp tính giá trị độ trễ trung bình MAD tại tầng MAC, sử dụng
phƣơng pháp giao tiếp liên tầng để truyền tham số này lên tầng giao vận trong giao thức
SCTP phục vụ cho việc xác định tuyến đƣờng tốt nhất tại tầng giao vận. Chƣơng 4 thiết
lập môi trƣờng mô phỏng và đánh giá kết quả của quá trình nghiên cứu. Phần cuối cùng
của luận văn là kết luận những công việc mà luận văn đã đạt đƣợc và những hƣớng
nghiên cứu tiếp theo trong tƣơng lai.
7
CHƢƠNG 1: TỔNG QUAN VỀ MẠNG MANET
2.1 Mạng Manet và lịch sử phát triển
2.1.1 Giới thiệu mạng MANET
Các thiết bị di động nhƣ smart phone, máy tính xách tay ngày nay thƣờng có dung
lƣợng lƣu trữ lớn, cấu hình cao để đáp ứng những nhu cầu không giới hạn của con ngƣời
cho việc chia sẻ thông tin. Các kết nối mạng để sử dụng các thiết bị di động gia tăng mạnh
mẽ do tính tiện lợi mà kết nối mạng không dây đem lại.
Với hàng loạt các ƣu điểm của công nghệ truyền thông không dây đang là xu hƣớng
của thời đại ngày này các mạng di động không dây đã và đang đƣợc đầu tƣ phát triển rất
mạnh trong thời gian gần đây. Mạng di động không dây có thể chia thành hai kiểu mạng:
mạng hạ tầng và mạng không hạ tầng. Trong mạng hạ tầng, truyền thông giữa các phần tử
mạng phụ thuộc vào sự hỗ trợ của hạ tầng mạng, các thiết bị đầu cuối di động truyền
thông đơn bƣớc không dây qua các điểm truy nhập (các trạm cơ sở) để tới hạ tầng mạng
cố định. Kiểu mạng không phụ thuộc hạ tầng còn đƣợc gọi chung là các mạng tùy biến di
động MANET (mobile adhoc network) là một tập hợp của những nút mạng không dây,
những nút này có thể đƣợc thiết lập tại bất kỳ thời điểm và tại bất cứ nơi nào.
MANET còn đƣợc gọi là mạng tùy biến di động, kết nối với nhau thông qua các liên
kết không dây tạo nên mạng độc lập, không phụ thuộc vào cơ sở hạ tầng mạng. Các nút
trong mạng có thể di chuyển độc lập theo mọi hƣớng, kết hợp với nhau để gửi dữ liệu tới
nút nằm ở xa khu vực kết nối. Mỗi nút trong mạng MANET vừa đóng vai trò của một
máy (host) đồng thời đảm nhận chức năng của một bộ định tuyến (router) giúp định tuyến
dữ liệu[25].Sơ lƣợc một số mốc lịch sử của mạng MANET: DARPA Packet Radio
Network (PRNet 1972) [26] có thể đƣợc coi là thế hệ đầu tiên của mạng adhoc. PRNet đã
giới thiệu một kiến trúc phân tán mà cho phép hỗ trợ động trong việc chia sẻ quảng bá
bằng sóng điện từ. Lợi ích của mô hình này đó là tính mềm dẻo, tính di động và đặc biệt
là không phụ thuộc vào cơ sở hạ tầng cố định. Từ những lợi ích và tính năng trên đã mở
ra một không gian nghiên cứu cho rất nhiều các lĩnh vực nhƣ Quân sự, giao dục, ý tế có
nhiều ý nghĩa trong thực tiến. Năm 1983, DARPA phát triển Survivable Radio Networks
(SUNRAN) nhƣ là một sự cải tiến của PRNet [26]. SURAN đã đƣợc thiết kế để có thể
8
đảm bảo đƣợc khả năng mở rộng, bảo mật, quản lý băng thông và năng lƣợng. Trong
những năm 1980 và đầu những năm 1990, một số công nghệ đã đƣợc thiết kế để cải thiện
khả năng thích ứng của sóng điện từ, vấn đề an ninh nhƣ Low-cost Packet Radio (LPR)
trong năm 1987, DARPA Global Mobile (GloMo) trong năm 1994. Trong năm 1997,
quân đội Mỹ đã triển khai Tactical Internet (TI) trên quy mô lớn mạng không dây di động
đa bƣớc. Với sự phát triển rất nhanh chóng và thƣơng mại hóa của công nghệ sóng điện
từ, mạng không dây đa bƣớc truyền với tiềm năng và lợi thế của nó đã và đang đƣợc
nghiên cứu và trở thành một lĩnh vực rất sôi động trong những năm vừa qua và hứa hẹn sẽ
còn thu đƣợc nhiều thành công hơn nữa trong việc áp dụng vào đời sống thực tế của con
ngƣời.
2.2 Đặc điểm mạng MANET[9]
Mạng MANET là mạng không dây tùy biến đƣợc tạo nên từ các nút khác nhau, không
phụ thuộc vào hạ tầng mạng cố định, do đó ta có thể nhận thấy rõ một số đặc điểm chính
của mạng MANET nhƣ sau:
Thiết bị tự trị đầu cuối (Autonomous terminal): Trong mạng MANET mỗi thiết bị đầu
cuối là một node tự trị, tức là nó có thể mang chức năng của một node thông thƣờng tham
gia kết nối và trong tƣờng hợp cần thiết nó sẽ trở thành một router có chức năng định
tuyến. Do vậy, không có ranh giới giữa thiết bị đầu cuối và thiết bị chuyển mạch trong
mạng MANET.
Hoạt động phân tán (Distributed operator): Mạng MANET là mạng không có hệ thống
quản lý tập trung, việc kiểm soát và quản lý hoạt động của mạng đƣợc chia cho các thiết
bị đầu cuối.
Định tuyến nhiều chặng (Multi hop routing): Khi nút nguồn gửi thông tin tới nút đích
mà nút đích không nằm trong phạm vi phá sóng thì các gói tin gửi đi này sẽ đƣợc định
tuyến và chuyển đi thông qua nhiều nút trung gian để tới đƣợc nút đích.
Cấu hình động (dynamic network topology): Các nút đầu cuối là các thiết bị di động di
chuyển liên tục không theo bất kì hƣớng nào, các giao thức định tuyến trong mạng phải có
khả năng thích nghi với sự thay đổi nhanh và không biết trƣớc của các nút.
Dao động về dung lƣợng liên kết (Fluctuating link capacity): Tỉ lệ lỗi bit khi truyền dữ
liệu trong mạng không dây là cao và tín hiệu không dây phụ thuộc nhiều vào các yếu tố
môi trƣờng. Việc truyền dữ liệu từ điểm đầu tới điểm cuối có thể sẽ qua nhiều chặng qua
mỗi chặng là một liên kết không dây và các liên kết này có thể không đồng nhất.
9
Bảo mật yếu: Đặc điểm của mạng MANET là truyền sóng qua môi trƣờng không khí,
điều này khiến cho cơ chế bảo mật kém hơn so với môi trƣờng truyền cáp vì nó tiềm ẩn
nhiều nguy cơ bị tấn công, nghe lén đƣờng truyền, giả mạo, DoS, … [8]
2.3 Ứng dụng phổ biến của mạng MANET[9]
Với sự gia tăng của các thiết bị di động cũng nhƣ những tiến bộ trong truyền thông
không dây, mạng MANET đang dần trở nên quan trọng với số lƣợng ngày càng tăng của
các ứng dụng phổ biến. Mạng MANET có thể áp dụng ở bất cứ nơi nào có rất ít hoặc
không có cơ sở hạ tầng thông tin liên lạc hoặc chi phí để xây dựng hạ tầng là quá đắt hoặc
bất tiện để sử dụng. Mạng MANET cho phép các thiết bị dễ dàng thêm hoặc loại bỏ các
thiết bị vào mạng. Ngay nay, các ứng dụng của mạng MANET rất đa dạng, trong nhiều
lĩnh vực khác nhau, đem lại hiệu quả và tiện lợi cho ngƣời sử dụng. Một số ứng dụng
trong các lĩnh vực nhƣ sau:
Quân sự : Hoạt động phi tập trung của mạng MANET và không phụ thuộc vào cơ
sở hạ tầng mạng là một yếu tố thiết yếu đối với lĩnh vực quân sự, nhất là trong các trƣờng
hợp chiến đấu khốc liệt, các cơ sở hạ tầng mạng bị phá hủy. Lúc này mạng MANET là
lựa chọn số một để các thiết bị truyền thông liên lạc với nhau một cách nhanh chóng. [9]
Trong hoạt động cứu trợ: Mạng MANET có thể đƣợc sƣ dụng trong các hoạt
động cấ cứu hoặc cứu hộ cho các nỗ lực cứu trợ thiên tai ví dụ nhƣ: Lũ lụt, hỏa hoạn,
động đất… Các hoạt động cứu trợ này phải diễn ra ở những nơi cơ sở hạ tầng mạng lƣới
bị phá hủy do đó yêu cầu để triển khai một mạng di động dễ dàng, nhanh chóng không
phụ thuộc vào hạ tầng là rất cần thiết. Thông tin sẽ đƣợc chuyển tiếp từ các thành viên
tham gia trong nhóm cứu hộ với nhau, truyền tiếp tới trụ sở chỉ huy …
Trƣờng học: Chúng ta cũng có thể thiết lập các mạng MANET trong trƣờng học,
lớp học, thƣ viện, sân trƣờng,… để kết nối các thiết bị di động (laptop, smartphone) lại
với nhau, giúp sinh viên, thầy cô giáo có thể trao đổi bài một cách nhanh chóng thông qua
mạng adhoc vừa tạo.
Gia đình: Tại nhà bạn có thể tạo nhanh mạng MANET để kết nối các thiết bị di
động của bạn với nhau, nhờ đó ta có thể di chuyển tự do mà vẫn đảm bảo kết nối truyền
tải dữ liệu.
10
2.4 Các khó khăn và thách thức đối với mạng MANET
Mạng MANET là mạng không có cấu trúc và không có quản trị tập trung. Bất kì
một node nào trong mạng có thể đóng vai trò độc lập nhƣ là một router để chuyển tiếp các
gói tin tới các node khác. Các node cũng có thể di chuyển một cách ngẫu nhiên và tùy ý
nên mô hình mạng thay đổi liên tục. Rất nhiều thuật toán đã đƣợc xây dựng với mục đích
điều khiển kiến sự thay đổi kiến trúc (topology) của mạng nhƣ dựa trên vị trí, dựa trên
năng lƣợng, dựa trên hƣớng và rất quan trọng đó là dựa trên các node hàng xóm đã đƣợc
phát triển cho mạng MANET [14][15].
Trong mạng Manet, mỗi node có thể có một hoặc nhiều interface phát sóng radio
mà chúng có khả năng truyền tải và có dải tần số khác nhau. Hoạt động của các node
trong mạng thông thƣờng dựa trên năng lƣợng có giới hạn của pin. Do vậy việc thiết kế
thuật toán định tuyến trong mạng MANET cũng là một thách thức nhƣ nó bị ràng buộc
bởi việc thƣờng xuyên di chuyển và mất kết nối của các node, làm sao để tổng năng lƣợng
tiêu thụ là thấp nhất, trong khi băng thông và tài nguyên tính toán có giới hạn.
Hiệu năng thấp của các giao thức giao vận trong mạng MANET cũng là một vấn
đề nghiêm trọng [16][17][18][19][20][21]. Đây là lý do chính bởi vì môi trƣờng chia sẻ
không dây và một phần lớn các gói tin bị mất trong mạng MHWN.
Trong bài báo số [17], tác giả đã phát hiện ra rằng việc phá vỡ kết nối do di chuyển
có ảnh hƣởng tới hiệu năng của giao thức TCP. Bằng thí nghiệm tác giả thấy rằng thông
lƣợng TCP bị giảm đáng kể khi các node di chuyển bởi vì TCP không có khả năng phân
biệt đƣợc giữa kết nối lỗi và tắc nghẽn.
Bảo mật cũng là một vấn đề khá nghiêm trọng trong mạng MHWN. Các lỗ hổng
đƣợc bắt nguồn từ việc chia sẻ tài nguyên của các kênh truyền không dây và việc hợp tác
kết nối giữa các node di động [22][23] theo từng giao thức định tuyến.
11
CHƢƠNG 2: GIAO THỨC SCTP (STREAM
CONTROL TRANSMISSION PROTOCOL)
3.1 Lịch sử và mục đích phát triển giao thức SCTP
Ngày nay, có hàng tỉ các kết nối Internet của các thiết bị đầu cuối trên thế giới
đƣợc sử dụng mỗi ngày. Ngƣời sử dụng có thể sử dụng các công nghệ truy cập khác nhau
nhƣ WLAN (Wireless Local Area Network), LTE (Long Term Evolution), hoặc PLC
(Power Line Communications) và các dịch vụ cung cấp này đƣợc cam kết bằng hợp đồng
với ngƣời sử dụng. Giao thức Internet Protocol (IP) đã đƣợc lựa chọn để cung cấp các kết
nối cần thiết giữa tất cả các thiết bị không dây và có dây, tuy nhiên sử dụng mạng IP
không giải quyết hết đƣợc các hạn chế (drawbacks) của mạng không dây. Các ứng dụng
đa phƣơng tiện thấy rằng việc áp dụng các giao thức giao vận hiện tại nhƣ TCP
(Transmission Control Protocol) hoặc UDP (User Datagram Protocol) là chƣa đủ tốt để có
thể đáp ứng đƣợc các yêu cầu mới về chất lƣợng dịch vụ. Một số hạn chế gặp phải đó là:
Head-of-line blocking: Một số ứng dụng cần giao thức truyền tin cậy mà không
cần duy trì tuần tự, một số khác yêu cầu truyền dữ liệu phải theo thứ tự. Khi đó hiện
tƣợng head-of-line blocking sẽ gây ra delay không cần thiết: Đó là khi truyển tải một
dòng các gói dữ liệu từ điểm tới điểm, vì một lý do nào đó, nếu gói tin đầu hay một gói tin
ở giữa bị hỏng hay mất thì sẽ phải truyền lại toàn bộ gói tin kế sau nó, dù các gói tin này
có thể vẫn nguyên vẹn gây nên độ trễ lớn của dữ liệu
TCP không hỗ trợ đa địa chỉ (Multi – Homing): TCP chỉ gắn một đƣờng kết nối
giữa 2 máy đầu cuối nên sẽ không giải quyết đƣợc vấn đề dự phòng khi xảy ra sự cố về
đƣờng truyền. Trong trƣờng hợp không có kết nối dự phòng, nếu áp dụng giao thức TCP
trong việc truyền dữ liệu thoại của tổng đài thì có thể làm tê liệt hệ thống khi đƣờng kết
nối bị hỏng.
Tấn công DOS: Sử dụng giao thức TCP không hạn chế đƣợc việc bị tấn công
DOS (Deny Of Service), đây là hình thức tấn công từ chối dịch vụ phổ biến nhất, làm cho
ngƣời dùng không thể sử dụng tài nguyên của máy tính bị tấn công đó.
Tháng 10/2000, IETF (International Engineering Task Force)- Một tổ chức quốc
tế lớn các nhà thiết kế mạng, các nhà điều hành, các nhà cung cấp và các nhà nghiên cứu
cùng quan tâm đến sự phát triển của kiến trúc và việc điều hành của mạng Internet - chính
12
thức chuẩn hoá SCTP thông qua tài liệu RFC 2960. SCTP là giao thức truyền tải số liệu
điểm - điểm trên nền giao thức IP. Ban đầu, SCTP đƣợc phát triển nhằm cung cấp chuẩn
truyền tải số liệu hƣớng thông điệp cho các mạng thông tin mà số liệu cần truyền tải trong
thời gian thực nhƣ truyền tải các thông điệp tín hiệu điện thoại trên nền IP cho các hệ
thống thƣơng mại điện tử và viễn thông. TCP và UDP đều có những hạn chế khi dùng
truyền tải tín hiệu điện thoại trên nền giao thức IP. Do vậy mà SCTP đƣợc thiết kế để đáp
ứng yêu cầu này và các ứng dụng tƣơng tự khác. Nhờ đƣợc phát triển sau và rút kinh
nghiệm từ các giao thức đƣợc phát triển trƣớc đó nhƣ TCP hay UDP, SCTP đƣợc thiết kế
đa mục đích và đa chức năng, nhờ vậy có miền các lĩnh vực áp dụng rộng rãi hơn, ngay cả
trong các lĩnh vực mà giao thức TCP đang đƣợc sử dụng với những thuận lợi hơn hẳn.
3.2 Các đặc trƣng của giao thức SCTP
3.2.1 Tầng hoạt động của giao thức
Giao thức SCTP hoạt động tại tầng giao vận cùng với các giao thức UDP và TCP, có thể
đƣợc mô tả qua hình vẽ sau:
Upper layer application
TCP, UDP, SCTP
IP
Data Link Layer
Physical Layer
SCTP là một giao thức giao vận hƣớng kết nối (oriented). Giống nhƣ TCP, giao thức
SCTP cung cấp dịch vụ đảm bảo, tin tƣởng của tầng giao vận, dữ liệu đƣợc truyền đi có
sắp thứ tự và không có lỗi. Nhƣ TCP, SCTP là một kiến trúc hƣớng nối theo phiên
(session –oriented), nó có nghĩa rằng mối liên hệ đã đƣợc tạo ra giữa 2 điểm cuối của một
kết nối SCTP trƣớc khi dữ liệu đƣợc truyền đi và mối liên hệ này sẽ đƣợc duy trì cho tới
khi tất cả dữ liệu đã đƣợc truyền đi thành công.
3.2.2 Multi-Homing
Multi-homing là tính năng mà một đầu cuối có nhiều hơn một giao tiếp kết nối
mạng và có thể giải quyết đƣợc vấn đề trong trƣờng hợp một giao tiếp kết nối mạng bị
hỏng thì sẽ sử dụng các interface còn lại để thay thế. Đây là một điểm cải tiến hơn rất
13
nhiều so với single-homed khi mà mạng LAN bị lỗi thì kết nối sẽ bị cô lập toàn bộ, với
Multi-homing kết nối dự phòng (redundant) có thể đƣợc sử dụng để củng cố lại truy cập
nội bộ. Một cặp của địa chỉ IP <source, destination> đƣợc định nghĩa nhƣ một đƣờng
chính (primary path) đƣợc sử dụng để truyền dữ liệu. Sự kết hợp của địa chỉ nguồn và
đích sẽ đƣợc xem xét nhƣ một đƣờng thay thế và sẽ đƣợc sử dụng trong trƣờng hợp
đƣờng chính lỗi, nó đƣợc phát hiện bằng cách sử dụng cơ chế định kì gửi các bản tin
heartbeat. Địa chỉ của điểm kết nối SCTP có thể đƣợc thay đổi ngay cả khi kết nối đã
đƣợc thiết lập, nó có thể thêm một IP mới trong suốt quá trình giao tiếp. Đặc tính này
đƣợc gọi là tự động cấu hình lại địa chỉ (Dynamic Address Reconfiguration or Mobile
SCTP) [10].
Giải thích rõ hơn về kiến trúc Heartbeat trong mạng sử dụng giao thức SCTP nhƣ
sau: Một SCTP nguồn sẽ thƣờng xuyên kiểm tra xem có thể kết nối đƣợc tới điểm đích từ
xa không. Điều này đƣợc làm bằng cách gửi các bản tin heartbeat. Bản tin heartbeat là
một bản tin nhỏ không có dữ liệu đƣợc gửi đi trƣớc tới địa chỉ đích và ngay lập tức đƣợc
biên nhận bởi địa chỉ đích. Phía gửi bản tin heartbeat sẽ có một bộ đếm (counter) để đếm
số lần bản tin heartbeat đƣợc gửi đi tới địa chỉ đích và không đƣợc biên nhận trong một
khoảng thời gian (RTO, Retransmission TimeOut). Nếu biến đếm đạt tới giá trị max thì sẽ
đánh dấu điểm cuối này là không hoạt động (inactive). Ngƣợc lại, khi nhận đƣợc một bản
tin biên nhận từ địa chỉ đích thì bên gửi sẽ xóa biến đếm tới địa chỉ đích đó và đánh dấu
địa chỉ đích đó là đang hoạt động. Quá trình này sẽ thực hiện lặp đi lặp lại trong suốt quá
trình truyền tin giữa các thực thể SCTP.
3.2.3 Đa luồng (Multi-Streaming)
Đây là một tính năng cho phép chia dữ liệu của ứng dụng thành nhiều luồng mà có
các đặc tính độc lập đƣợc sắp thứ tự khi nhận, do đó thông điệp bị mất ở luồng nào sẽ chỉ
ảnh hƣởng tới biên nhận của luồng đó và không ảnh hƣởng tới luồng khác. Điều này làm
đƣợc bằng cách đánh dấu độc lập dữ liệu truyền và dữ liệu nhận. SCTP sử dụng một
chuỗi số TSN (Transmission Sequence Number) cho truyền dữ liệu và phát hiện bản tin
lỗi, và cũng sử dụng một cặp Stream ID/Stream Sequence Number để xác định thứ tự của
việc nhận dữ liệu. Do đó, trong khi biên nhận, điểm cuối có thể tiếp tục nhận các bản tin
14
để không ảnh hƣởng tới luồng trong khi chờ (buffering) bản tin trong luồng ảnh hƣởng
cho tới khi có việc truyền lại.
3.2.4 Phân tách các bản tin[11]
Nếu một client gửi 2 bản tin liên tiếp nhau là 100 byte và 50 byte, thông tin cần
đƣợc gửi tới phía server cần phải là 2 bản tin phân biệt. Tuy nhiên, với TCP các bản tin
này có thể đƣợc gửi hoặc nhận nhƣ là một bản tin 150 byte và do vậy khi nhận đƣợc ứng
dụng phải phân tách lại thành 2 bản tin nhƣ ban đầu. Với SCTP và UDP thì dữ liệu đƣợc
gửi đi nhƣ 2 bản tin 100 byte và 50 byte và ứng dụng không cần phải cắt các bản tin đó để
đƣa về định dạng ban đầu.
Hình 1. Phân tách các bản tin cạnh nhau.
3.3 Đặc tả giao thức SCTP
3.3.1 Kiến trúc giao thức SCTP
SCTP là giao thức vận chuyển dữ liệu có kết nối dựa trên một giao thức vận
chuyển dữ liệu không kết nối là IP. SCTP nằm giữa tầng ứng dụng của ngƣời dùng
và tầng mạng không kết nối. SCTP cung cấp dịch vụ cơ bản là truyền tải tin cậy các
thông điệp của ngƣời dùng ngang hàng. Nó đƣợc sử dụng cho các ứng dụng cần kiểm
soát và phát hiện lỗi hay đứt đoạn của các phiên làm việc.
Nhƣ mô hình bên dƣới thì SCTP đứng cùng tầng với các giao thức TCP hoặc UDP.
SCTP là giao thức hƣớng nối nhƣng có ƣu điểm vƣợt trội so với TCP nhờ đƣợc thiết kế
đa luồng. Kiến trúc cơ bản của giao thức SCTP đƣợc mô tả nhƣ trong hình sau.
15
_____________ _____________
| SCTP User | | SCTP User |
| Application | |Application |
| | | |
| SCTP | | SCTP |
| Transport | | Transport |
| Service | | Service |
| | | |
| |One or more One or more| |
| IP Network |IP address \/ IP address| IP Network |
| Service |appearances /\ appearances| Service |
|_____________| |____________|
SCTP Node A |< Network transport >| SCTP Node B
Hình 2: Mô hình tầng giao thức SCTP.
3.3.2 Các chức năng chính của SCTP
2.3.2.1 Thiết lập và giải phóng kết nối
Kết nối sẽ đƣợc khởi tạo khi có yêu cầu kết nối gửi từ ứng dụng sử dụng giao thức
SCTP. Khác với TCP sử dụng cơ chế bắt tay 3 bƣớc để thiết lập kết nối, với SCTP sử
dụng cơ chế bắt tay 4 bƣớc để tạo kết nối. Trong quá trình khởi tạo sẽ sử dụng một cơ chế
cookie đƣợc gọi để bảo vệ đƣợc các hình thức tấn công DoS.
SCTP TCP
Hình 3: Mô hình thiết lập kết nối của SCTP và TCP
16
Trong SCTP, một client khởi tạo kết nối bằng gói INIT. Server đáp lại bằng gói
INIT-ACK, trong đó chứa cookie trạng thái – gồm tất cả các trạng thái mà server xác
nhận kết nối là hợp lệ và đƣợc gán số để xác thực. Client gửi lại cookie trạng thái của
server với bản tin COOKIE-ECHO, có kèm theo thông tin về client. Cuối cùng server xác
nhận cookie hợp lệ và liên kết đƣợc thiết lập bằng cách gửi lại bản tin COOKIE-ACK.
SCTP cũng là giao thức hƣớng kết nối nhƣ TCP, cả hai đều cần thiết lập và đóng
kết nối giữa hai bên. Tuy vậy, SCTP không chấp nhận trạng thái haft-closed nhƣ trong
TCP, khi một bên đóng kết nối nhƣng bên còn lại vẫn tiếp tục gửi dữ liệu. Khi một phía
thực hiện đóng kết nối, cả hai bên sẽ cùng dừng gửi và nhận dữ liệu. Để thực hiện điều
này, SCTP sử dụng trƣờng tag trong mỗi phân khúc (chunk). Một chunk từ kết nối đã
đóng sẽ có tag không hợp lệ.
2.3.2.2 Truyền dữ liệu tuần tự theo luồng
Khác với TCP truyền dữ liệu theo các luồng byte cố định và duy nhất thì SCTP có
thể truyền các thông điệp đi bằng nhiều luồng khác nhau. Các ứng dụng sử dụng SCTP có
thể xác định số luồng sử dụng trong truyền dữ liệu khi liên kết đƣợc khởi tạo, số luồng
này phải đƣợc ―thỏa thuận và đƣợc chấp nhận‖ bởi bên nhận. Với mỗi luồng sẽ đƣợc gán
với một ID độc lập và đƣợc mã hóa trong các gói SCTP trong kết nối, các gói tin theo
từng luồng sẽ đƣợc sắp thứ tự trong quá trình truyền cho tầng ứng dụng bên trên và việc
này đƣợc thực hiện bởi phía bên nhận. Với cách truyền dữ liệu nhƣ thế này nếu một luồng
bị chặn do phải đợi thông điệp thứ tự tiếp theo thì các luồng khác vẫn có thể truyền dữ
liệu mà không bị ảnh hƣởng. Ngoài ra SCTP còn cung cấp một lựa chọn khác để ngƣời
quản trị có thể thiết lập đƣợc cơ chế bỏ qua không phải đảm bảo các gói tin trong một
luồng là tuần tự. Các thông điệp sử dụng cơ chế này sẽ đƣợc truyền cho ứng dụng SCTP
ngay khi nhận đƣợc.
2.3.2.3 Phân mảnh dữ liệu
Giống nhƣ giao thức TCP, SCTP cũng có cơ chế phân mảnh dữ liệu để phù hợp
với một đơn vị MTU là khác nhau của các đƣờng truyền khác nhau. Khi cần thiết, những
mảnh SCTP của thông điệp ngƣời dùng đảm bảo rằng gói SCTP (Packet SCTP) đi qua
các lớp bên dƣới sẽ phù hợp với đƣờng dẫn MTU. Bên đầu nhận, các mảnh đƣợc lắp ráp
lại thành những thông điệp hoàn chỉnh trƣớc khi đƣợc đƣa đến ngƣời sử dụng SCTP.
17
2.3.2.4 Biên nhận và chống tắc nghẽn
SCTP sẽ gán một giá trị số TNS (Transmission Sequence Number) tới mỗi phân
mảnh của bản tin hoặc toàn bộ bản tin không bị phân mảnh. Các TNS này là hoàn toàn
độc lập với bất kì một luồng truyền dữ liệu nào. Phía bên nhận sẽ biên nhận tất cả các
TNS nhận đƣợc ngay cả khi thứ tự truyền là không liên tục.
Các chức năng xác nhận và tránh tắc nghẽn có nhiệm vụ gửi lại các gói tin không
đƣợc xác nhận đúng lúc. Thủ tục gửi lại trong SCTP đƣợc thực hiện giống nhƣ trong
TCP.
2.3.2.5 Xác nhận gói tin (Packet Validation)
SCTP sẽ sử dụng một trƣờng xác minh bắt buộc có chiều dài là 32 bits bao gồm
trong tiêu đề phổ biến trong SCTP để xác nhận gói tin. Giá trị thẻ xác minh đƣợc chọn bởi
mỗi một thiết bị cuối của một Asscociation kể cả Association startup. Các gói tin nhận
đƣợc mà không có thẻ xác minh sẽ bị loại bỏ, nhƣ là một cách bảo vệ chống lại các cuộc
tấn công giả mù (blind masquerade) và chống lại gói tin SCTP cũ từ các Association
trƣớc đó. Thuật toán Adler32 sẽ thiết lập trên mỗi gói tin ngƣời gửi để cung cấp thêm cơ
chế chống hỏng dữ liệu trên mạng[12]. Ngƣời nhận một gói tin SCTP với kiểm tra Adler-
32 không hợp lệ sẽ âm thầm loại bỏ gói tin đó.
2.3.2.6 Quản lý tuyến đƣờng[15]
SCTP chọn địa chỉ vận chuyển đích cho mỗi gói tin gửi đidựa trên yêu cầu của ngƣời
dùng SCTP. Phía nút gửi có thể chỉnh sửa tập các địa chỉ đích của gói tin tại tầng giao
vận. Chức năng quả lý tuyến đƣờng của SCTP sẽ chọn địa chỉ đích của tầng giao vận cho
mỗi gói tin gửi đi. Chức năng quản lý tuyến đƣờng sẽ giám sát các tuyến đƣờng bằng
cách định kì gửi các bản tin Heartbeat tới các địa chỉ đích để kiểm tra trạng thái của tuyến
đƣờng, khi có bất kì sự thay đổi nào về tuyến đƣờng sẽ đƣợc cập nhật sau một khoảng
thời gian xác định.
Tại phiên khởii tạo kết nối (Associationd Startup), một đƣờng truyền chính đƣợc
xác định cho mỗi điểm cuối (End – point) và sử dụng cho việc gửi các gói tin
SCTP.
18
Tại nơi nhận, chức năng quản lý đƣờng truyền sẽ có trách nhiệm xác minh sự tồn
tại hợp lệ của một SCTP Asssociaion bên trong gói SCTP đƣợc thông qua trƣớc
khi xử lý các tiến trình khác.Chú ý: quản lý đƣờng truyền và xác nhận gói tin đƣợc
thực hiện cùng một lúc. Do đó, mặc dù mô tả một cách riêng biệt nhƣ ở trên nhƣng
thực tế nó không thể thực hiện thành các mục riêng biệt.
3.3.3 Gói tin SCTP
Gói tin TCP đƣợc sử dụng vô cùng rộng rãi trong truyền thông mạng tuy nhiên nó
cũng có một số hạn chế đã đƣợc bộc lộ đó là khả năng mở rộng của gói tin TCP: độ lớn
của gói tin TCP bị giới hạn bởi MSS (Maximum Segment Size) trong trƣờng option của
phần tiêu đề. Vậy, khó có thể mở rộng gói tin TCP. Đây cũng là một lí do cần phải phát
triển giao thức mới. Phần tiêu đề của TCP có các cờ điều khiển không còn cần thiết:
Nguyên nhân là do TCP đƣợc thiết kết để truyền dữ liệu vào những năm 70 và 80 thế kỷ
trƣớc, khi mà đƣờng truyền tốt nhất cũng chỉ đạt vài chục KBps. Nhƣng hiện nay, tốc độ
và băng thông đã đạt đƣợc những tiến bộ vƣợt bậc, đạt tới hàng trăm Mbps, gấp hàng
nghìn lần trƣớc kia thì việc phải giới hạn độ lớn gói tin, nhất là tiêu đề của gói tin không
còn cần thiết nữa. Sự hạn chế này lại trở thành một rào cản cho sự phát triển. Yêu cầu khi
thiết kế của giao thức truyền dữ liệu hiện đại không còn là kích cỡ mà là tính đơn giản, dễ
mở rộng và dễ xử lý Việc xử lý một khối rõ ràng là dễ và đơn giản hơn so với xử lý từng
bít trong một byte, từng byte tiêu đề sẽ có ý nghĩa tốt hơn nếu đƣợc gộp với từng khối bít
cụ thể trong một gói dữ liệu. Gói tin SCTP đƣợc thiết kế để đáp ứng các yêu cầu đó.
Gói tin SCTP gồm phần tiêu đề (header) và tập các khối thông tin gọi là các chunk. Cấu
trúc của một gói tin SCTP nhƣ sau:
19
Hình 4: Cấu trúc gói tin SCTP
Một gói tin bao gồm một hoặc nhiều chunk. Số lƣợng các chunk trong một gói tin SCTP
phụ thuộc vào kích cỡ cho phép truyền tải của mạng - MTU. Riêng các gói tin INIT, INIT
ACK và SHUTDOWN COMPLETE thì chỉ có một chunk. Nếu dữ liệu của ngƣời dùng
vƣợt quá kích cỡ của gói tin SCTP, nó sẽ đƣợc phân mảnh thành các chunk để truyền đi.
2.3.3.1. Phần tiêu đề (Common header)
Trƣờng tiêu đề dùng để chứa địa chỉ gửi, địa chỉ nhận, trƣờng phát hiện lỗi và trƣờng xác
thực gói tin. Thông tin về SCTP header đƣợc mô tả nhƣ hình bên dƣới
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port Number | Destination Port Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Verification Tag |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Hình 5: Phần header của gói tin SCTP
Trƣờng địa chỉ cổng nguồn (source port number) và trƣờng địa chỉ cổng đích (destination
port number): có độ dài 16 bits (unsigned integer), là số hiệu cổng của nơi gửi, nơi nhận.
Số hiệu cổng này và địa chỉ IP của bên gửi và bên nhận đƣợc sử dụng trong thiết lập kết
20
nối giữa hai đầu cuối - đầu cuối, thông qua đó bên gửi biết gửi gói tin đi đâu cung nhƣ
bên nhận biết gói tin từ đâu đến.
Thẻ xác thực (Verification tag): Có độ dài 32 bít, dùng để xác thực tính hợp lệ của gói tin.
Ngƣời nhận đƣợc gói tin này sẽ sử dụng ―thẻ xác thực‖ để kiểm tra ngƣời gửi gói tin
SCTP. Trên việc chuyển/nhận, giá trị ―thẻ xác minh‖ này phải đƣợc thiết lập để giá trị của
Tag Bắt đầu nhận đƣợc từ thiết bị đầu cuối ngang hàng trong quá trình khởi tạo liên kết,
với các trƣờng hợp ngoại lệ sau đây:
Một gói tin lƣu trữ một Chunk init phải có ―thẻ xác thực‖ là 0.
Một gói có chứa một đoạn SHUTDOWN - COMPLETE với các thiết lập T-bit
phải có ―thẻ xác thực‖ sao chép từ các gói tin với các đoạn SHUTDOWN - ACK.
Một gói có chứa một đoạn hủy bỏ có thể có thẻ xác minh đƣợc sao chép từ các gói
tin đƣợc hủy bỏ bởi ngƣời gửi.
Một đoạn init phải là đoạn duy nhất trong các gói tin SCTP mang nó.
Trƣờng phát hiện lỗi (checksum): có độ dài 32 bít, dùng để phát hiện các bit lỗi trong gói
tin khi gói tin đƣợc vận chuyển trên mạng.
2.3.3.1. Trƣờng Trunk
Chunk là nơi chứa thông tin của gói tin, là cấu trúc độc lập và nhỏ nhất trong thiết
kế SCTP. Tuy nhiên, dù đƣợc thiết kế với đầy đủ các thông tin nhận dạng cần thiết, chunk
không thể là một gói tin độc lập để có thể gửi nhận đƣợc ngay. Chunk giúp cho việc mở
rộng, quản lý, xử lý gói tin SCTP có tính đơn giản và mềm dẻo cao. Nhờ thiết kế các
chunk, các ứng dụng mới với các tham số, dữ liệu và các lỗi mới dễ dàng đƣợc đáp ứng
với SCTP, đơn giản chỉ là việc thiết kế các loại chunk mới đáp ứng yêu cầu mà thôi. Các
trƣờng con trong chunk gồm: loại, cờ, độ dài chunk và thông tin.
21
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Chunk Type | Chunk Flags | Chunk Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
\ \
/ Chunk Value /
\ \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Chunk Type: 8 bits (unsigned integer)
Hình 6: Cấu trúc trƣờng trunk
Chunk Type: Có độ dài 8 bit. RFC4960 đã định nghĩa một danh sách Chunk và
hiện nay có 15 loại đã đƣợc xác định, trong đó có 14 chunk điều khiển và một Chunk dữ
liệu. Giá trị
ID Value Chunk Type
0 - Chunk dữ liệu (Payload Data -DATA)
1 - Chunk khởi tạo kết nối (Initiation -INIT)
2 - Chunk báo nhận đã nhận được chunk khởi tạo kết
nối (Initiation Acknowledgement - INIT ACK)
3 - Chunk báo nhận (Selective Acknowledgement - SACK)
4 - Chunk kiểm tra tình trạng đường truyền (Heartbeat
Request - HEARTBEAT)
5 - Chunk báo nhận đã nhận được chunk HEARTBEAT
(Heartbeat Acknowledgement - HEARTBEAT ACK)
6 - Chunk kết thúc kết nối (Abort - ABORT)
7 - Chunk kết thúc kết nối (Shutdown -SHUTDOWN): sự
khác biệt trong cách sử dụng sẽ được trình bầy ở phần sau.
8 - Chunk báo nhận đã nhận được chunk SHUTDOWN
(Shutdown Acknowledgement - SHUTDOWN ACK)
9 - Chunk báo lỗi (Operation Error - ERROR)
10 - Chunk trạng thái Cookie (State Cookie -COOKIE
ECHO)