Tài liệu thiết kế hệ thống truyền tải công nghệ số 7 trong NGN, Chương 12 ppt

10 270 0
Tài liệu thiết kế hệ thống truyền tải công nghệ số 7 trong NGN, Chương 12 ppt

Đang tải... (xem toàn văn)

Thông tin tài liệu

Ch ng 12: Khuôn dạng gói tin SCTP Gói tin SCTP bao gồm phần tiêu đề và các chunk. Chunk có thể chứa thông tin điều khiển hoặc dữ liệu ng-ời sử dụng. Khuôn dạng gói tin nh- sau: Nhiều chunk có thể đ-ợc ghép vào trong một gói tin SCTP cho tới kích th-ớc của MTU, ngoại trừ các chunk INIT, INIT ACK, và SHUTDOWN COMPLETE. Nếu một bản tin dữ liệu ng-ời sử dụng không vừa vào một gói tin SCTP thì nó có thể đ-ợc phân mảnh thành nhiều chunk. 3.2.4.1 Phần tiêu đề chung của gói tin SCTP - Số cổng nguồn (Source Port Number) (16 bit): đây là số cổng của đầu gửi của SCTP. Nó có thể đ-ợc sử dụng bởi đầu thu kết hợp với địa chỉ IP nguồn, địa chỉ cổng đích và địa chỉ IP đích phù hợp để xác định liên kết mà gói tin đ-ợc truyền. - Số cổng đích (Destination Port Number) (16 bit): đây là địa chỉ mà gói tin đ-ợc xác định để gửi đến. Phía nhận gói sẽ sử dụng số cổng này để tách các gói tin SCTP tới đầu cuối/ứng dụng phù hợp. - Thẻ kiểm tra (Verification) (32 bit): phía đầu cuối nhận gói tin này sử dụng Thẻ kiểm tra để kiểm tra tính hợp lệ của gói tin SCTP. Khi truyền thì giá trị của Thẻ kiểm tra này phải đ-ợc đặt thành giá trị của Thẻ khởi tạo nhận đ-ợc từ đầu cuối ngang hàng trong quá trình thiết lập liên kết, ngoại trừ một số tr-ờng hợp đặc biệt đối với các chunk INIT, SHUTDOWN-COMPLETE, ABORT. - Kiểm tra tổng (Checksum) (32 bit): tr-ờng này chứa kết quả kiểm tra tổng của gói tin SCTP này. 3.2.4.2 Các tr-ờng của một chunk của gói tin SCTP - Kiểu chunk (Chunk Type) (8 bit): tr-ờng này xác định loại thông tin chứa trong tr-ờng Giá trị chunk. Nó có giá trị từ 0 đến 254. Giá trị 255 đ-ợc sử dụng để dự phòng cho t-ơng lai. - Cờ (Chunk Flags) (8 bit): sự sử dụng của những bit này phụ thuộc vào kiểu chunk. Ngoại trừ những tr-ờng hợp đặc biệt đ-ợc xác định, các bit này đ-ợc đặt bằng 0 trong khi truyền và đ-ợc bỏ qua tại phía thu. - Độ dài chunk (Chunk Length) (16 bit): giá trị này thể hiện độ dài của chunk (tính theo byte) bao gồm các tr-ờng Kiểu chunk, Độ dài chunk, Cờ, Giá trị chunk. - Giá trị chunk (Chunk Value): có độ dài thay đổi Tr-ờng này chứa thông tin thực sự đ-ợc truyền trong chunk. Sự sử dụng và khuôn dạng của tr-ờng này phụ thuộc vào tr-ờng Kiểu chunk. Tổng độ dài của một chunk (bao gồm các tr-ờng Kiểu, Độ dài và Giá trị) phải là bội của 4 byte. Nếu độ dài của chunk không là bội của 4 byte thì phía gửi phỉa đệm thêm với các byte toàn 0 và phần đệm thêm này không đ-ợc tính vào trong tr-ờng Độ dài chunk. Phần đệm này không bao giờ quá 3 byte và phía thu gói tin phải loại bỏ những byte đệm này. 3.2.5 Cơ chế phân phát dữ liệu trong SCTP SCTP phân biệt các luồng bản tin khác nhau trong một liên kết SCTP. Điều này cho phép thực hiện một cơ chế mà theo đó thì chỉ cần duy trì một chuỗi các bản tin trong một luồng (phân phát theo chuỗi từng phần). Điều này sẽ làm giảm nghẽn đầu dòng không cần thiết giữa các luồng bản tin khác nhau. Hơn nữa, SCTP cho phép thực hiện một cơ chế để chuyển tiếp dịch vụ phân phát tuần tự, sao cho các bản tin đ-ợc phân phát tới ng-ời sử dụng của SCTP ngay khi chúng đ-ợc nhận đầy đủ (phân phát thứ tự đến). Điều khiển luồng và điều khiển tắc nghẽn trong SCTP đ-ợc thực hiện để đảm bảo rằng l-u l-ợng SCTP trong mạng đ-ợc coi nh- l-u l-ợng IP. Điều này cho phép thực hiện các dịch vụ SCTP không theo kiểu luồng trên nền mạng IP hiện tại. SCTP hoạt động tại hai mức: Trong một liên kết, việc truyền tải tin cậy datagram đ-ợc đảm bảo bằng cách sử dụng tr-ờng kiểm tra tổng, số thứ tự và cơ chế truyền lại có chọn lọc. Mỗi chunk dữ liệu đ-ợc nhận chính xác sẽ đ-ợc chuyển tới mức thứ hai, độc lập với mức này. Mức thứ hai thực hiện một cơ chế phân phát tin cậy dựa trên khái niệm về việc sử dụng nhiều luồng datagram độc lập trong một liên kết. Việc phát hiện lỗi và lặp chunk dữ liệu đ-ợc thực hiện bởi đánh số thứ tự tất cả các chunk dữ liệu phía gửi bằng Số thứ tự truyền tải TSN. Sự công nhận gửi từ phía thu tới phía phát đ-ợc dựa trên những số thứ tự này. Việc truyền lại đ-ợc điều khiển bởi bộ đếm thời gian. Thời gian đếm này đ-ợc tính toán từ việc kiểm tra liên tục thời gian trễ toàn trình. Ngay khi bộ đếm thời gian này bị dừng, tất cả các gói tin không đ-ợc xác nhận sẽ đ-ợc truyền lại và bộ đếm lại đ-ợc khởi động lại với thời gian đếm gấp đôi. Mỗi gói tin đ-ợc nhận sẽ đ-ợc xác nhận bằng một chunk SACK. Thông qua các SACK này phía gửi tin cũng sẽ biết đ-ợc số các khoảng trống giữa các chunk dữ liệu. Khi phía gửi nhận đ-ợc 4 SACK liên tiếp thông báo việc thiếu cùng một chunk dữ liệu thì chunk này đ-ợc gửi lại ngay lập tức. Phân phát gói tin linh hoạt SCTP gán mỗi gói tin cho một trong những luồng trong một liên kết. Khi một liên kết đ-ợc thiết lập, số các luồng khả dụng ở mỗi h-ớng đ-ợc trao đổi giữa các thực thể ngang hàng. Trong mỗi luồng, SCTP gán Số thứ tự luồng (SSN) độc lập cho các gói tin. Các số này đ-ợc sử dụng để tại phía thu để xác định số thứ tự phân phát. SCTP thực hiện việc phân phát theo thứ tự đối với mỗi luồng (đối với các gói tin không đ-ợc đánh dấu là không phát theo thứ tự). Cơ chế này tránh đ-ợc nghẽn đầu dòng giữa các luồng bản tin khác nhau. Với TCP, điều này chỉ đạt đ-ợc bằng cách thiết lập một số các kết nối cho một luồng, có nghĩa là phải tăng chi phí và dung l-ợng. Nh- đã đề cập ở trên, SCTP cho phép đánh dấu các bản tin để những bản tin này có thể đ-ợc phân phát không theo thứ tự. Nó có thể đ-ợc sử dụng cho các bản tin quan trọng để đ-ợc -u tiên tr-ớc, chẳng hạn nh- bản tin huỷ bỏ phiên của một ứng dụng. 3.2.6 Cơ chế node đa địa chỉ của STCP (Multi Homed Node) Một trong những thuộc tính quan trọng và cũng là -u điểm nổi bật của SCTP là nó cho phép hỗ trợ multi-homed node, có nghĩa là một node có thể có nhiều địa chỉ lớp mạng (địa chỉ IP). Nếu nh- node SCTP và mạng IP đ-ợc thiết lập cấu hình nh- vậy để l-u l-ợng từ một node tới node khác có thể đi trên các tuyến vật lý khác nhau nếu các địa chỉ IP khác nhau đ-ợc sử dụng thì các liên kết SCTP có thể khắc phục đ-ợc những lỗi vật lý của mạng và các vấn đề t-ơng tự nh- vậy. Quản lý địa chỉ tại quá trình thiết lập liên kết Nếu node gửi (client) là đa địa chỉ thì nó sẽ thông báo cho phía node nhận (server) về tất cả các địa chỉ IP của nó với các thông số địa chỉ của chunk INIT. Bằng cách đó, client chỉ yêu cầu biết một địa chỉ IP của server vì server cũng sẽ cung cấp toàn bộ địa chỉ IP của nó cho client trong chunk INIT-ACK. SCTP có thể xử lý cả IPv4 và Ipv6 (thậm chí cả kết hợp của hai phiên bản này). Một node SCTP coi mỗi một địa chỉ IP của các thực thể ngang hàng với nó nh- là một "tuyến truyền dẫn" tới nó. Nếu không có địa chỉ rõ ràng nào trong chunk INIT và INIT- ACK, địa chỉ IP nguồn của gói tin IP mang gói tin SCTP đ-ợc sử dụng. Lựa chọn tuyến Khi thiết lập một liên kết SCTP, một trong những địa chỉ IP trong danh sách đ-ợc gửi lại từ phía node đầu cuối xa đ-ợc lựa chọn làm tuyến cơ bản ban đầu. Các chunk dữ liệu đ-ợc truyền qua tuyến truyền dẫn cơ bản này một cách mặc định. Tuy nhiên, để truyền lại, một tuyến đang kích hoạt khác có thể đ-ợc lựa chọn nếu có thể. Để hỗ trợ việc tính thời gian trễ toàn trình, chunk SACK phải đ-ợc gửi tới địa chỉ nguồn của gói tin IP mang chunk dữ liệu gây ra SACK. Ng-ời sử dụng SCTP đ-ợc thông báo về tình trạng (trạng thái và các số liệu đo đạc) của một tuyến truyền dẫn theo yêu cầu hay khi tuyến truyền dẫn thay đổi trạng thái. Khi đó chúng chỉ dẫn cho node SCTP sử dụng tuyến truyền dẫn mới. Tóm lại, SCTP hoạt động theo kiểu TCP để truyền datagram với sự phân phát gói tin theo thứ tự một cách mềm dẻo và hỗ trợ node nhiều địa chỉ. Ví dụ: - đầu cuối A có các địa chỉ IP là 1.1.1.1, 2.2.2.2, 3.3.3.3 và địa chỉ cổng là 80. - đầu cuối B có các địa chỉ IP là 7.7.7.7, 8.8.8.8 và địa chỉ cổng là 1026. Khi đó các liên kết có thể là: 1.1.1.1:80 <----------------- -> 7.7.7.7:1026 2.2.2.2:80 <----------------- -> 7.7.7.7:1026 3.3.3.3:80 <----------------- -> 7.7.7.7:1026 1.1.1.1:80 <----------------- -> 8.8.8.8:1026 2.2.2.2:80 <----------------- -> 8.8.8.8:1026 3.3.3.3:80 <----------------- -> 8.8.8.8:1026 và ng-ợc lại 3.2.7 Quá trình thiết lập, truyền dữ liệu và huỷ bỏ liên kết giữa hai đầu cuối SCTP Trong phần này chúng ta sẽ xem xét quá trình truyền tải dữ liệu trong ba pha của một liên kết SCTP: thiết lập, truyền dữ liệu và huỷ bỏ liên kết. Giả sử đầu cuối mà khởi tạo liên kết là Node A, và đầu cuối ngang hàng nhận yêu cầu thiết lập liên kết gọi là Node B. 3.2.7.1 Quá trình thiếp lập liên kết SCTP SCTP sử dụng cơ chế bắt tay 4 b-ớc để tạo liên kết SCTP. Các nguồn tài nguyên đ-ợc dự phòng tại node SCTP trả lời (node B) cho đến khi quá trình bắt tay đ-ợc hoàn tất. - Đầu tiên Node A tạo chunk INIT và gửi tới node B, đồng thời kích hoạt bộ đếm INIT. - Node B xử lý yêu cầu và tạo Khối điều khiển truyền dẫn (TCB) chứa tất cả dữ liệu liên quan đến liên kết. Bằng cách sử dụng "hàm băm" và khóa bí mật, một Mã nhận thực bản tin (MAC) cho TCB đ-ợc tạo ra. TCB và MAC đ-ợc kết hợp (đ-ợc gọi là cookie) và gửi tới node A trong chunk INIT ACK. - Node A nhận chunk INIT ACK và dừng bộ đếm INIT. Sau đó nó tạo ra chunk COOKIE ECHO và gửi lại cho Node B, đồng thời kích hoạt bộ đếm thời gian cookie. Các chunk DATA có thể đ-ợc kết hợp trong những gói tin này. - Node B kiểm tra tính hợp lệ của cookie. Sau khi xác nhận tính hợp lệ nó gửi COOKIE ACK ng-ợc trở lại cho Node A. - Node A nhận đ-ợc COOKIE ACK và b-ớc vào pha thứ hai. Quá trình truyền thông tin có thể bắt đầu. 3.2.7.2 Quá trình truyền dữ liệu Trong quá trình truyền dữ liệu, các chunk HEARTBEAT và HEARTBEAT ACK đ-ợc trao đổi giữa các node tại các khoảng thời gian xác định đ-ợc tạo bởi bộ đếm thời gian chuẩn. Những chunk này kiểm tra sự kết nối giữa các node và qua đó bảo đảm tính hợp lệ của tuyến truyền dẫn. Các b-ớc trao đổi dữ liệu trong quá trình này đ-ợc mô tả ngắn gọn nh- sau: - Node A và Node B trao đổi các chunk dữ liệu. - Sau mỗi một chunk DATA đ-ợc nhận, node nhận sẽ gửi trở lại node gửi chunk SACK để xác nhận. - Dữ liệu đ-ợc truyền cho đến khi một trong hai node quyết định huỷ bỏ liên kết bằng cách gửi một chunk SHUTDOWN đ-ợc ghép trong một gói nào đó. 3.2.7.3 Quá trình huỷ bỏ liên kết Chunk SHUTDOWN có thể đ-ợc gửi bởi bất cứ node nào trong hai node tham gia liên kết. Giả sử ở đây node A là node bắt đầu quá trình huỷ bỏ liên kết. - Node A gửi một chunk SHUTDOWN tới node B và kích hoạt bộ đếm thời gian shutdown. - Node B xác nhận việc đã nhận đ-ợc chunk SHUTDOWN thông qua việc tạo ra chunk SHUTDOWN ACK và gửi tới Node A. - Node A nhận SHUTDOWN ACK và dừng bộ đếm thời gian shutdown. Sau đó node A tạo chunk SHUTDOWN COMPLETE và gửi tới node B. . 3.2 .7 Quá trình thiết lập, truyền dữ liệu và huỷ bỏ liên kết giữa hai đầu cuối SCTP Trong phần này chúng ta sẽ xem xét quá trình truyền tải dữ liệu trong. các địa chỉ IP là 7. 7 .7. 7, 8.8.8.8 và địa chỉ cổng là 1026. Khi đó các liên kết có thể là: 1.1.1.1:80 <----------------- -> 7. 7 .7. 7:1026 2.2.2.2:80

Ngày đăng: 24/12/2013, 20:15

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan