SCTP (Stream Control Transport Protocol)

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu ứng dụng công nghệ chuyên mạch mềm ( Softswitch ) trên mạng NGN Việt Nam (Trang 50 - 62)

Chương 2 Chuyển mạch mềm (softswitch) trong mạng thế hệ mới

2.6. Cỏc giao thức cơ bản của chuyển mạch mềm

2.6.4. SCTP (Stream Control Transport Protocol)

SCTP là giao thức hướng kết nối ở cựng cấp với TCP cú chức năng cung cấp việc truyền cỏc bản tin một cỏch tin cậy giữa cỏc người sử dụng SCTP ngang cấp [1,5].

Hình 17: Cỏc chức năng của SCTP SCTP cú cỏc chức năng sau:

- Khởi đầu liờn kết và kết thỳc (Association startup and takedown): Một liờn kết được hỡnh thành bởi yờu cầu từ người dựng SCTP. Cơ chế cookie được ỏp dụng trong suốt quỏ trỡnh khởi đầu để chống lại cỏc cuộc tấn cụng. Cơ chế cookie sử dụng thủ tục bắt tay gồm bốn bước, hai bước cuối được phộp mang dữ liệu của người dựng dành cho việc thiết lập nhanh.

SCTP cho phộp kết thỳc một liờn kết đang hoạt động theo cỏch thụng thường (vớ dụ bằng lệnh Shutdown) dựa trờn yờu cầu của người dựng SCTP. Nú cũng đưa ra phương phỏp ngắt kết nối theo kiểu bất thường (vớ dụ bằng lệnh hủy bỏ Abort) dựa trờn yờu cầu của người dựng hoặc căn cứ vào tỡnh trạng của lỗi phỏt hiện thấy bờn trong lớp SCTP.

SCTP khụng hỗ trợ trạng thỏi nửa mở (half-open) như giao thức TCP, trạng thỏi mà một bờn cú thể tiếp tục gửi dữ liệu trong khi phớa kia đó đúng. Khi cả hai phớa đầu cuối đều ngắt thỡ liờn kết ở mỗi điểm sẽ ngừng tiếp nhận dữ liệu mới từ phớa người dựng của nú và chỉ phõn phỏt dữ liệu cũn lại ở hàng đợi tại thời điểm ngắt.

- Phõn phối theo thứ tự trong cỏc luồng (Sequenced Delivery within Streams): Thuật ngữ “luồng” (Stream) dựng trong SCTP ỏm chỉ một chuỗi cú thứ tự cỏc bản tin của người dựng được chuyển đến giao thức lớp cao hơn, cú sự phõn biệt so với cỏc bản tin khỏc trong cựng một luồng. Điều này trỏi ngược hoàn toàn so với khỏi niệm luồng trong giao thức TCP, ở đõy đề cập đến một chuỗi cú thứ tự của cỏc byte.

Người dựng SCTP cú thể xỏc định rừ tại thời điểm khởi đầu liờn kết số lượng luồng dữ liệu được hỗ trợ bởi liờn kết. Con số này được thoả thuận với đầu cuối phớa xa. Cỏc bản tin của người dựng được gắn với cỏc số luồng. Bờn trong SCTP gỏn một số thứ tự luồng cho mỗi bản tin truyền đến nú bởi người dựng SCTP. ở phớa đầu thu SCTP đảm bảo cỏc bản tin được chuyển đến người dựng SCTP theo đỳng thứ tự trong luồng đó gỏn. Tuy nhiờn nếu cú một luồng bị khúa (block) và đang chờ bản tin người dựng kế tiếp theo thứ tự thỡ việc phõn phỏt cỏc luồng khỏc

vẫn cú thể được tiến hành bỡnh thường. SCTP cung cấp cơ chế bỏ qua thứ tự phõn phỏt dịch vụ. Cỏc bản tin của người dựng gửi đi sử dụng cơ chế này sẽ được chuyển đến người dựng SCTP miễn là chỳng được nhận.

- Phõn mảnh dữ liệu người dựng (User Data Fragmentation): SCTP hỗ trợ sự phõn mảnh bản tin của người dựng nhằm đảm bảo rằng gúi tin SCTP được truyền đến lớp dưới theo tuyến MTU (multiple-tenant unit). Tại phớa đầu thu cỏc mảnh dữ liệu này lại được tỏi hợp lại thành bản tin hoàn chỉnh trước khi được chuyển đến người dựng SCTP.

- Xỏc nhận và trỏnh tắc nghẽn (Acknowledgement and Congestion Avoidance): SCTP gỏn một số thứ tự truyền (TSN - transmission sequence number) cho mỗi bản tin đó phõn mảnh hoặc khụng phõn mảnh của người dựng. Phớa đầu cuối thu xỏc nhận tất cả cỏc số thứ tự TSN đó nhận được, kể cả khi cú cỏc khoảng trống trong chuỗi. Với cỏch này thỡ việc chuyển giao tin cậy được tỏch biệt hoàn toàn về mặt chức năng so với việc chuyển giao theo thứ tự luồng.

Chức năng xỏc nhận và trỏnh tắc nghẽn cú trỏch nhiệm phải truyền lại cỏc gúi tin khi cú xỏc nhận là gúi tin vẫn chưa đến đớch. Việc truyền lại gúi được quyết định bởi cỏc thủ tục trỏnh tắc nghẽn, cỏc thủ tục này tương tự như ở giao thức TCP.

- Đúng gúi mắt xớch (Chunk Bundling): Gúi tin SCTP được chuyển đến lớp dưới bao gồm một tiờu đề chung và nối tiếp là một hoặc rất nhiều mắt xớch (chunk). Mỗi mắt xớch cú thể chứa hoặc dữ liệu của người dựng hoặc thụng tin điều khiển SCTP. Người dựng SCTP cú quyền lựa chọn để đúng gúi nhiều hơn một bản tin người dựng vào trong một gúi SCTP đơn. Chức năng đúng gúi mắt xớch của SCTP cú nhiệm vụ hợp nhất cỏc gúi tin SCTP hoàn chỉnh và tỏch nú tại phớa đầu thu. Hỡnh dưới đõy miờu tả cấu trỳc chung của một gúi SCTP:

32 bit Tiê u đề chung

Mắt xích # 1 ...

Hình 18: Cấu trỳc của một gúi tin SCTP

- Kiểm tra sự hợp lệ của gúi (Packet Validation): Trong phần tiờu đề chung của SCTP cú 2 trường đú là trường thẻ xỏc minh (Verification Tag) bắt buộc và một trường tổng kiểm tra (checksum - 32 bit). Giỏ trị của thẻ xỏc minh được chọn bởi cỏc đầu cuối của liờn kết trong quỏ trỡnh khởi đầu liờn kết. Cỏc gúi nhận được mà khụng cú giỏ trị của thẻ này thỡ sẽ bị đào thải ngay lập tức nhằm hạn chế cỏc cuộc tấn cụng giả mạo đồng thời loại bỏ cỏc gúi tin SCTP cũ của liờn kết trước đú cũn sút lại. Thờm vào đú, thuật toỏn tổng kiểm tra checksum Adler-32 thiết lập bởi người gửi gúi tin SCTP cung cấp sự bảo vệ để chống lại sự giỏn đoạn dữ liệu của mạng. Phớa người nhận cũng bằng thuật toỏn checksum Adler-32 nếu kiểm tra thấy gúi tin SCTP khụng hợp lệ thỡ nú sẽ tự động loại bỏ gúi tin này.

- Quản lý đường (Path Management): Chức năng quản lý đường của SCTP sẽ chọn ra địa chỉ đớch cần truyền đối với mỗi gúi SCTP tại đầu ra dựa trờn cỏc lệnh của người dựng SCTP và tỡnh trạng hiện thời của đớch. Tại thời điểm khởi đầu liờn kết, một đường dẫn chớnh được thiết lập cho mỗi điểm đầu cuối SCTP và nú được sử dụng để gửi cỏc gúi SCTP. ở phớa đầu thu, chức năng quản lý đường cú trỏch nhiệm xỏc minh sự tồn tại của liờn kết SCTP hợp lệ đối với gúi tin SCTP đến trước khi tiếp tục xử lý nú.

Chức năng quản lý đường và kiểm tra sự hợp lệ của gúi được tiến hành đồng thời.

SCTP cú cỏc đặc điểm chớnh sau:

- Nú là giao thức Unicast (điểm - điểm). Dữ liệu được trao đổi giữa hai điểm kết cuối.

- SCTP định nghĩa cỏc bộ định thời cú khoảng thời gian ngắn hơn nhiều so với cỏc định thời của TCP.

- Đảm bảo việc truyền tải tin cậy dữ liệu của người dựng, phỏt hiện kịp thời khi mà dữ liệu bị giỏn đoạn hay khụng đỳng thứ tự và tiến hành sửa chữa nếu cần thiết.

- Thớch ứng với tốc độ truyền, phản ứng kịp thời đối với tắc nghẽn mạng và căn cứ vào đú để điều chỉnh việc truyền lại.

- Hỗ trợ multi-homing. Mỗi điểm kết cuối SCTP cú thể được biết bởi rất nhiều địa chỉ IP. Việc định tuyến đến một địa chỉ là hoàn toàn độc lập đối với cỏc địa chỉ khỏc và nếu một tuyến nào đú khụng sẵn sàng thỡ tuyến khỏc sẽ được sử dụng.

- SCTP sử dụng thủ tục khởi đầu dựa trờn cỏc cookie, để ngăn chặn cỏc cuộc tấn cụng từ chối dịch vụ.

- Hỗ trợ đúng gúi dữ liệu. Cỏc bản tin SCTP riờng lẻ cú thể chứa rất nhiều mắt xớch của dữ liệu, mỗi mắt xớch này lại cú thể chứa toàn bộ một bản tin bỏo hiệu.

- Hỗ trợ sự phõn mảnh dữ liệu, nghĩa là một bản tin bỏo hiệu cú thể được chia thành nhiều bản tin SCTP để phự hợp với đơn vị dữ liệu giao thức PDU (Protocol Datagram Unit).

- Nú là giao thức hướng bản tin (message-oriented), nú định nghĩa cấu trỳc khung của dữ liệu. Trỏi lại TCP khụng quan tõm tới cấu trỳc của dũng byte mà nú truyền.

- SCTP cú tớnh năng đa luồng (multi-streaming). Dữ liệu được phõn chia thành nhiều luồng, mỗi luồng lại được phõn phỏt độc lập với nhau về thứ tự. TCP khụng cú đặc điểm này.

2.6.4.1. M2UA (MTP2 User Adaptation)

Giao thức thớch ứng người dựng phần chuyển giao bản tin mức 2 (M2UA - MTP2 User Adaptation) được sử dụng để chuyển giao cỏc bản tin bỏo hiệu SS7 phần người dựng MTP2 (vớ dụ cỏc bản tin MTP3) qua mạng IP sử dụng cỏc dịch vụ của SCTP. Cụ thể M2UA truyền dữ liệu của người dựng MTP2 giữa một lớp MTP2 đặt tại SG và một lớp MTP3 đặt tại MGC. Như vậy nú hoạt động giống như mụ hỡnh client/server trong đú MGC là client và SG là server [1,5]. M2UA hỗ trợ:

User) vẫn được giữ lại tại điểm đầu cuối trong mạng IP, do đú lớp giao thức M2UA được yờu cầu cung cấp cho cỏc User của nú tập cỏc dịch vụ tương đương với cỏc dịch vụ mà MTP2 đó cung cấp cho MTP3.

- Giao tiếp giữa cỏc mụ-đun quản lý lớp đặt tại SG và MGC: M2UA cung cấp một số bản tin nhằm hỗ trợ cho giao tiếp giữa cỏc mụ-đun quản lý lớp đặt tại SG và MGC diễn ra thuận lợi hơn. Để thuận tiện cho việc bỏo cỏo lỗi phỏt sinh bởi quỏ trỡnh “backhauling” phần trao đổi bản tin mức 3 (MTP3), bản tin sau đõy được định nghĩa:

o M-ERROR: bản tin này được sử dụng để chỉ thị lỗi của bản tin mà M2UA nhận được.

o Backhauling: là quỏ trỡnh truyền tải bỏo hiệu từ điểm giao diện của luồng dữ liệu liờn kết (vớ dụ cổng chức năng SG ở MGU) trở về điểm xử lý cuộc gọi (vớ dụ MGCU), nếu đõy khụng phải là cuộc gọi nội hạt. - Quản lý cỏc liờn kết đang hoạt động giữa SG và MGC: Lớp M2UA ở SG cú

nhiệm vụ giữ trạng thỏi của cỏc ASP (Application Server Process - Tiến trỡnh mỏy chủ ứng dụng) đó được cấu hỡnh. Một tập cỏc hàm nguyờn thủy (primitives) giữa M2UA và module quản lý lớp (Layer Management) nhằm giỳp cho module này quản lý liờn kết giữa SG và MGC. Lớp M2UA cú thể dựa vào chỉ dẫn của module quản lý lớp để thiết lập một liờn kết SCTP với một nỳt M2UA ngang cấp.

Bờn cạnh đú thỡ M2UA cũng cú thể cần phải thụng bỏo về tỡnh trạng của liờn kết SCTP cho mụ-đun quản lý lớp. Ngoài ra mụ-đun quản lý lớp cũng cú thể cần thụng bỏo cho lớp M2UA về tỡnh trạng của AS (Application Server - Mỏy chủ dịch vụ)/ASP (vớ dụ như đang hoạt động hay bị lỗi v.v), nhờ đú cỏc bản tin cú thể được trao đổi giữa cỏc lớp M2UA đồng cấp để ngừng lưu lượng đến người dựng M2UA nội hạt.

Mụ hỡnh kiến trỳc trong đú sử dụng M2UA được chỉ ra trờn hỡnh dưới. Hỡnh vẽ này mụ tả cỏc chức năng và quan hệ giữa MGC và SG. Tại cổng bỏo hiệu SG khối chức năng NIF (Nodal Interworking Function) là chức năng liờn kết nỳt.

Xột về mặt hiệu quả thỡ MTP3 ở MGC chớnh là User của MTP2 ở SG. Cả MTP2 và MTP3 đều khụng nhận thấy rằng chỳng được đặt cỏch xa nhau. Với quỏ trỡnh xử lý này thỡ cỏc bản tin bỏo hiệu được truyền qua mạng IP từ đỉnh của một lớp SS7 đến đỏy của một lớp khỏc được miờu tả như là quỏ trỡnh “backhauling”.

Hình 19: M2UA

Cũn User của MTP3 tại MGC thụng thường sẽ là ISUP. ở phớa SG, việc miờu tả M2UA tại cựng mức với MTP2 dễ gõy ra sự hiểu lầm nhỏ. Theo nhiều cỏch khỏc nhau thỡ M2UA chớnh là người dựng của MTP2. Như vậy M2UA phải cú trỏch nhiệm đối với cỏc hoạt động khởi đầu của giao thức mà thụng thường được xử lý bởi MTP3, chẳng hạn như:

- Hoạt húa và khụng hoạt húa liờn kết; - Cỏc yờu cầu về số thứ tự;

- Cỏc thủ tục cập nhật bộ đệm truyền/truyền lại của MTP2; - Làm sạch bộ đệm.

2.6.4.2. M2PA (Message Transfer Part 2 Peer-to-Peer Adaptation)

Giao thức thớch ứng ngang cấp người dựng của phần chuyển giao bản tin mức 2 (M2PA - MTP2 User peer-to-peer Adaptation) sử dụng cỏc dịch vụ của SCTP để hỗ trợ việc truyền cỏc bản tin bỏo hiệu MTP3 của hệ thống SS7 qua mạng IP. M2PA cú khả năng xử lý đầy đủ bản tin MTP3 và quản lý mạng giữa bất kỡ hai nỳt SS7 nào giao tiếp với nhau qua mạng IP. M2PA hỗ trợ:

- Điều khiển liờn tục hoạt động của cỏc giao thức MTP3 ngang cấp qua một kết nối với mạng IP.

- Ranh giới giao diện giữa MTP2 và MTP3, quản lý cỏc liờn kết truyền tải SCTP và lưu lượng thay cho cỏc liờn kết của MTP2.

- Bỏo cỏo kịp thời cỏc thay đổi về trạng thỏi đến phần quản lý.

M2PA là giao thức ngang cấp tương đương của M2UA. Nú cung cấp một đường liờn kết giữa MTP2 và MTP3 đặt xa nhau, nú thay thế đường liờn kết mức thấp giữa MTP2 và MTP3. Người dựng của M2PA là MTP3 tại cả hai đầu cuối của kết nối (đối với M2UA thỡ một user là MTP3 và User kia là SG IWF).

M2PA là phương tiện giỳp cho cỏc lớp MTP3 cựng cấp ở cỏc SG cú thể giao tiếp trực tiếp với nhau. Thực chất nú là sự mở rộng của hệ thống bỏo hiệu SS7 thụng qua mạng IP. Mụ hỡnh kiến trỳc sử dụng M2PA được chỉ ra trờn hỡnh dưới.

Kiến trỳc này ỏp dụng cho kết nối từ SG tới SG, nú đúng vai trũ như chiếc cầu nối giữa hai mạng SS7. Trong trường hợp này mỗi SG cú thể kết nối với nhiều SG khỏc và chỳng khụng cần biết về lớp bờn trờn mà chỳng đang hỗ trợ. MTP3 cú mặt tại mỗi SG để tham gia vào việc định tuyến và quản lý cỏc liờn kết của MTP2/M2PA. Do cú sự hiện diện của MTP3 nờn mỗi SG sẽ cần phải cú mó điểm của riờng nú.

Việc thay thế cỏc liờn kết của MTP2 với M2UA nhằm để phõn biệt với trường hợp truy cập IP SCP từ SG (dịch vụ này được cung cấp bởi SUA). ở trường hợp của SUA, nú được biết lớp trờn của nú là TCAP (hoặc cỏc phần ứng dụng khỏc), trong khi đú thỡ M2PA hoàn toàn khụng biết gỡ về cỏc lớp SS7 bờn trờn của nú.

Sự khỏc nhau quan trọng về mặt chức năng của M2PA so với M2UA là M2PA bản thõn nú thực sự cung cấp dịch vụ giống như MTP2. Cũn M2UA chỉ cung cấp một giao diện cho dịch vụ của MTP2 ở phớa đầu xa. Do đú nhiệm vụ chủ yếu của M2PA là:

- Hoạt húa/ngừng hoạt hoỏ liờn kết (để đỏp lại cỏc yờu cầu từ MTP3). - Duy trỡ thụng tin về tỡnh trạng của liờn kết.

- Duy trỡ cỏc số thứ tự và cỏc bộ đệm truyền lại nhằm giỳp cho sự phục hồi lại của bản tin MTP3.

- Duy trỡ tỡnh trạng của bộ xử lý nội hạt và từ xa.

2.6.4.3. M3UA (MTP3 User Adaptation)

Lớp thớch ứng người dựng phần chuyển giao bản tin mức 3 (M3UA - MTP3 User Adaptation) định nghĩa một giao thức hỗ trợ cho việc truyền tải cỏc bản tin bỏo hiệu của người dựng MTP3 (vớ dụ cỏc bản tin ISUP/SCCP…) qua mạng IP sử dụng cỏc dịch vụ của SCTP. Giao thức này sẽ được sử dụng ở giữa một SG và một MGC hoặc một cơ sở dữ liệu thường trỳ IP (IP-resident database).

M3UA thớch hợp cho việc truyền cỏc bản tin của bất cứ phần người dựng MTP3 nào. Danh sỏch cỏc lớp giao thức (khụng hạn chế) này bao gồm ISUP,

- Radio Access Network Application Protocol) được truyền tải trong suốt bởi M3UA giống như tải trọng của SCCP bởi vỡ chỳng là cỏc giao thức của người dựng SCCP.

Thực chất M3UA tương tự như M2UA và nú hoạt động theo mụ hỡnh mỏy trạm -mỏy chủ nhằm cung cấp cho lớp bậc cao của hệ thống bỏo hiệu SS7 một giao thức để truy cập từ xa đến cỏc lớp thấp hơn.

Nhờ cú M3UA mà dịch vụ của MTP3 cú thể được cung cấp tại MGC (chẳng hạn như việc hủy kết nối ISUP ở MGC). Đõy cũng cú thể coi là sự mở rộng của hệ thống SS7 trong mạng IP.

Hỡnh dưới đõy mụ tả kiến trỳc mà ở đú M3UA được sử dụng.

Hình 21: M3UA

MTP3 ở SG khụng nhận thấy rằng User của ISUP được đặt cỏch xa nú (NIF sẽ đăng ký bản thõn nú như là ISUP với MTP3). Tương tự, ISUP ở MGC cũng sẽ khụng biết là nú khụng được phục vụ bởi một MTP3 nội hạt. Đõy lại là một vớ dụ nữa của quỏ trỡnh “backhauling” cỏc bản tin bỏo hiệu của MGC từ SG.

Lớp M3UA cú nhiệm vụ duy trỡ giao diện giữa MTP3 - ISUP qua kết nối SCTP. Cỏc lệnh và yờu cầu truyền dữ liệu xuống tầng bờn dưới của ISUP ở MGC được mang bởi M3UA và được đưa đến giao diện cao hơn của MTP3 ở SG. Cũn

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu ứng dụng công nghệ chuyên mạch mềm ( Softswitch ) trên mạng NGN Việt Nam (Trang 50 - 62)