1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu đánh giá hiệu suất giao thức SCTP

96 1,6K 1

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 96
Dung lượng 1,63 MB

Nội dung

Các phương pháp này được chia thành hai loại chính: loại thứ nhất là các phương pháp thực hiện che dấu sự mất gói số liệu không phải do tắc nghẽn, làm cho các đường truyền chất lượng kém

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN HỒNG MẠNH

Nghiên cứu đánh giá hiệu suất giao thức SCTP

luËn v¨n th¹c sÜ CÔNG NGHỆ THÔNG TIN

Hµ néi - 2006

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN HỒNG MẠNH

Nghiên cứu đánh giá hiệu suất giao thức SCTP

Mã số : 1.01.10

luËn v¨n th¹c sÜ CÔNG NGHỆ THÔNG TIN

Người hướng dẫn khoa học: TS Nguyễn Đình Việt

Hµ néi - 2006

Trang 3

MỤC LỤC

BẢNG DANH MỤC CÁC TỪ VIẾT TẮT 3

DANH MỤC CÁC HÌNH VẼ VÀ BẢNG BIỂU 5

MỞ ĐẦU 7

CHƯƠNG 1: GIỚI THIỆU CHUNG 11

1.1 Khái quát về mạng máy tính 11

1.1.1 Lịch sử hình thành mạng máy tính 11

1.1.2 Kiến trúc mạng 13

1.1.3 Nguyên tắc tổ chức và trao đổi số liệu 14

1.1.4 Một số mạng máy tính tiêu biểu 15

1.1.4.1 Mạng diện rộng WAN 15

1.1.4.2 Mạng cục bộ LAN 15

1.2 Mạng Internet 16

1.2.1 Kiến trúc mạng Internet 16

1.2.2 Mô hình tham chiếu ISO OSI 16

1.2.3 Mô hình SNA (Systems Netword Architecture) 18

1.2.4 Bộ giao thức TCP/IP 20

CHƯƠNG 2 GIAO THỨC TRAO ĐỔI SỐ LIỆU 22

2.1 Một số khái niệm về giao thức trao đổi số liệu 22

2.1.1 Định nghĩa 22

2.1.2 Đặc tả và kiểm chứng giao thức 22

2.2 Giao thức TCP (Transmission Control Protocol) 23

2.2.1 Giới thiệu TCP 23

2.2.2 Cấu trúc gói số liệu TCP 24

2.2.3 Thiết lập và kết thúc kết nối 26

2.2.3.1 Thiết lập kết nối 26

2.2.3.2 Kết thúc kết nối 26

2.3 Giao thức UDP (User Datagram Protocol) 27

2.4 Giao thức truyền tải thời gian thực RTP (Realtime Transfer Protocol) 28 2.5 Hạn chế của TCP, UDP và RTP 30

2.5.1 Hạn chế của TCP 31

2.5.2 Hạn chế của UDP 32

2.5.3 Hạn chế của RTP 33

2.5.4 Yêu cầu cụ thể của giao thức mới 33

CHƯƠNG 3: GIAO THỨC SCTP (STREAM CONTROL TRANSMISSION PROTOCOL) 34

3.1 Lịch sử và mục đích phát triển giao thức SCTP 34

3.2 Các tính năng nối bật của SCTP 36

3.3 Đặc tả giao thức SCTP [8] 38

3.3.1 Kiến trúc của SCTP 38

3.3.2 Các chức năng chính của SCTP 38

Trang 4

3.3.3 Gói tin SCTP 40

3.3.3.1 Phần tiêu đề (Common header) 42

3.3.3.2 Trường Chunk 42

3.3.4 Lưu đồ trạng thái mô tả việc kết nối SCTP 49

3.3.4.1.Quá trình thiết lập kết nối giữa hai đầu cuối SCTP 51

3.3.4.2 Kết thúc kết nối 52

3.3.4.3 Truyền dữ liệu 53

3.3.5 Kiểm soát lỗi và điều khiển tắc nghẽn 56

3.3.5.1 Điều khiển tắc nghẽn 56

3.3.5.2 Kiểm soát lỗi 58

3.3.6 Vấn đề an toàn dữ liệu 59

3.4 SCTP, TCP và UDP - Những điểm giống và khác biệt 60

3.5 SCTP- Giao thức vận chuyển dữ liệu của tương lai 68

CHƯƠNG 4: ĐÁNH GIÁ HIỆU SUẤT 70

CỦA GIAO THỨC 70

4.1 Giới thiệu về đánh giá hiệu suất giao thức 70

4.1.1 Khái niệm 70

4.1.2 Tầm quan trọng của đánh giá hiệu suất [2] 70

4.1.3 Một số độ đo hiệu suất 71

4.1.4 Các phương pháp đánh giá hiệu suất 71

4.2 So sánh các phương pháp đánh giá hiệu suất [2] 72

4.3 Bộ mô phỏng mạng NS-2 (Network Simulator 2) 73

4.3.1 Giới thiệu bộ mô phỏng NS-2 73

4.3.2 Cấu trúc NS-2 74

4.3.3 Mô phỏng giao thức SCTP bằng NS-2 76

CHƯƠNG 5 KẾT QUẢ ĐÁNH GIÁ HIỆU SUẤT 79

GIAO THỨC SCTP 79

5.1 Mô phỏng đánh giá hiệu suất giao thức SCTP 79

5.2 Mục đích thực hiện mô phỏng 79

5.3 Cấu hình mạng mô phỏng 80

5.4 Các mô phỏng được thực hiện và kết quả 81

5.4.1 Đánh giá thông lượng chuẩn hoá của giao thức SCTP 81

5.4.2 Khả năng chịu lỗi của SCTP khi không chia sẻ đường truyền chung 83

5.4.3 SCTP và TCP chia sẻ chung đường truyền 86

5.4.4 Đa địa chỉ (Multihome) 89

5.5 Kết luận 90

KẾT LUẬN 91

PHƯƠNG HƯỚNG NGHIÊN CỨU TIẾP THEO 91

TÀI LIỆU THAM KHẢO 93

Trang 5

BẢNG DANH MỤC CÁC TỪ VIẾT TẮT

ESP Encapsulating Security Payload

HOLB Head-of-line Blocking

HTML Hypertext Markup Language

HTTP Hypertext Transfer Protocol

IEEE Institute of Electrical and Electronic Engineers IETF Internet Engineering Task Force

ISO International Standards Organization

LAN Local Area Network

MDTP Multi-Network Datagram Transmission Protocol MTU Maximum Transfer Unit

MTP Message transfer part

M3UA MTP3 user adaptation layer

OSI Open Systems Interconnection

QoS Quality of Service

RFC Request For Comments

RTO Retransmission Time-Out

RTP Real Time Protocol

RTT Round Trip Time

RUTS Requirements for Unicast Transport/Session SCCP Signaling Connection Control Part

SCTP Stream Control Transport Protocol

SLUM Support for Lots of Unicast Multiplexed Sessions SHA-1 Secure Hash Standard 1

SIGTRAN Signaling Transport

SIP Session Initiation Protocol

SMTP Simple Mail Transport Protocol

SNMP Simple Network Management Protocol

Trang 6

SS7 Signaling System #7

ssthresh Slow Start Threshold

SUA SCCP User Adaptation Layer TCB Transmission Control Block TCP Transmission Control Protocol TSN Transmission Sequence Number UDP User Data Protocol

URL Uniform Resource Locators

Trang 7

DANH MỤC CÁC HÌNH VẼ VÀ BẢNG BIỂU

Hình 1.1 Các thành phần mạng máy tính………13

Hình 1.2 Mô hình ISO-OSI……….17

Hình 1.3 Mô hình SNA……… 19

Hình 1.4 Bộ giao thức trên mạng Internet……… 20

Hình 2.1 Gói số liệu IP với phần tiêu đề giả……… 24

Hình 2.2 Cấu trúc gói số liệu IP……… 24

Hình 2.3 Thiết lập kết nối………26

Hình 2.4 Kết thúc kết nối………27

Hình 2.5 Cấu trúc gói tin UDP………27

Hình 2.6 Kiến trúc của RTP………28

Hình 2.7 Các trường trong gói tin RTP……… 29

Hình 2.8 Lỗi HOLB……….31

Hình 3.1 Giống như TCP và UDP, SCTP cũng sử dụng giao thức IP………37

Hình 3.2 Kết nối SCTP………37

Hình 3.3 Kiến trúc SCTP………38

Hình 3.4 Các chức năng của SCTP……….………39

Hình 3.5 Cấu trúc gói tin SCTP……… …41

Hình 3.6 Tiêu đề gói tin SCTP………42

Hình 3.7 Cấu trúc chunk của SCTP………43

Hình 3.8 Các trường con của chunk Payload Data………44

Hình 3.9 Cấu trúc chunk INIT……….45

Hình 3.10 Cấu trúc của SACK………47

Hình 3.11 ví dụ về SACK báo nhận lỗi……… 47

Hình 3.12 Cấu trúc chunk HEARTBEAT……… 48

Hình 3.13 Lưu đồ trạng thái SCTP……….50

Hình 3.14 Thiết lập kết nối SCTP……… 51

Hình 3.15 Kết thúc kết nối SCTP………53

Hình 3.16 Kết nối của SCTP (hình 1)……….63

Hình 3.17 Kết nối của SCTP (hình 2)……….63

Hình 3.18 Kết nối của SCTP và TCP……… 64

Hình 3.19 Thiết lập kết nối của SCTP và TCP……… 65

Trang 8

Hình 4.1 Các phương pháp đánh giá hiệu suất………71 Hình 4.2 Cấu trúc của NS-2………74 Hình 4.3 Kiến trúc của NS-2……… …75 Hình 4.4 Mô hình nút đa địa chỉ (multihome) của SCTP trong NS-2……….76 Hình 5.1 Mạng mô phỏng……… 81 Hình 5.2 Đồ thị thông lượng chuẩn hoá theo thời gian mô phỏng………… 83 Hình 5.3 Đồ thị thông lượng của SCTP và TCP theo tỉ lệ lỗi……….84 Hình 5.4 Đồ thị thăng giáng độ trễ gói tin SCTP và TCP theo tỉ lệ lỗi…… 85 Hình 5.5 Đồ thị thông lượng của SCTP và TCP khi chia sẻ chung đường truyền……… 86 Hình 5.6 Đồ thị thông lượng của SCTP và TCP khi 4 kết nối………87 Hình 5.7 Đồ thị thăng giáng độ trễ gói tin của TCP và SCTP khi chia sẻ chung đường truyền có lỗi……….88 Hình 5.8 Ảnh hưởng của đa địa chỉ đối với thông lượng của SCTP và TCP 89 Bảng 3.1 So sánh các chức năng của SCTP đối với TCP và UDP………… 68 Bảng 5.1 Các tham số của mô hình mô phỏng………80 Bảng 5.2 Thông lượng chuẩn hoá theo thời gian mô phỏng……… 82 Bảng 5.3 Thông lượng của SCTP và TCP theo tỉ lệ lỗi……… 84 Bảng 5.4 Thăng giáng độ trễ gói tin của SCTP và TCP theo tỉ lệ lỗi……….85 Bảng 5.5 Thông lượng chuẩn hoá của SCTP và TCP khi chia sẻ chung đường truyền……… 86 Bảng 5.6 Thông lượng chuẩn hoá của 4 kết nối……… 87 Bảng 5.7 Thăng giáng độ trễ của SCTP và TCP khi chia sẻ chung đường truyền có lỗi……….88

Trang 9

MỞ ĐẦU

Thế kỷ 21 đang chứng kiến sự phát triển mạnh mẽ của Công nghệ thông tin, sự hội tụ của Công nghệ thông tin với viễn thông cũng như sự phát triển của mạng thông tin máy tính toàn cầu Internet

Mạng Internet đã ra đời và phát triển hơn 30 năm qua Hiện nay, Internet đã mở rộng thành một liên mạng trên phạm vi toàn cầu, là mạng của tất cả các mạng và được coi là cơ sở hạ tầng truyền thông của xã hội loài người hiện nay và tương lai Internet đã trở thành một thước đo đánh giá sự phát triển của một quốc gia, của một khu vực, thâm nhập vào các công sở, trường học, khách sạn Với Internet, con người có thể liên lạc với nhau dù ở bất cứ nơi nào trên trái đất, miễn là nơi đó có mạng được kết nối với mạng Internet Và thông qua Internet, khoảng cách dường như thu hẹp lại

Bộ giao thức TCP/IP được sử dụng ngay từ những ngày đầu tiên và giữ vai trò quyết định đối với sự hoạt động của mạng TCP hoạt động tốt trong các mạng truyền thông sử dụng đường truyền có dây với tỉ suất lỗi bít thấp, tin cậy và các máy tính nối mạng cố định Đối với các mạng như vậy, việc mất gói số liệu đối với TCP là một tín hiệu báo tắc nghẽn đã xẩy ra và nó sẽ phản ứng bằng cách giảm lưu lượng đưa vào mạng

Tuy nhiên, trong những năm gần đây, cùng với sự phát triển của các công nghệ mạng, hàng loạt các ứng dụng mới sử dụng Internet như truyền số liệu video, điện thoại IP (IP telephony), hội thảo từ xa (teleconferencing), học

từ xa Các ứng dụng này yêu cầu sử dụng môi trường truyền thông có tính liên tục và yêu cầu chất lượng truyền tải dữ liệu khác với các ứng dụng truyền thống (email, Web ) Các ứng dụng này có thể lưu trữ dữ liệu tại các server

và người dùng phải tải về rồi bắt đầu sử dụng, hay truyền thông âm thanh và hình ảnh có thể tương tác thời gian thực (real-time interactive audio and video) Các ứng dụng này đòi hỏi việc truyền thông tin đa phương tiện phải đáp ứng trong thời gian thực và độ trễ cũng như thăng giáng độ trễ (jitter)

Trang 10

thông tin phải nhỏ Đối với các ứng dụng như vậy, việc sử dụng giao thức TCP đạt hiệu quả thấp, không đáp ứng được sự yêu cầu

Ngoài ra, thực tế cũng yêu cầu cần phải mở rộng Internet, cho phép kết nối các mạng khác nhau vào Internet và sử dụng nhiều loại môi trường truyền với các đặc tính rất khác nhau về độ trễ lan truyền, lỗi truyền, băng thông Giao thức TCP phản ứng với sự mất gói tin do chất lượng đường truyền xấu giống như phản ứng với hiện tượng tắc nghẽn, đó là giảm lưu lượng đưa vào mạng [4] Phản ứng như vậy rõ ràng là không thích hợp và làm cho hiệu suất của TCP bị giảm rất trầm trọng

Để cải thiện điều này, có hai hướng Hướng thứ nhất là đề xuất và áp dụng nhiều phương pháp khác nhau để cải thiện hiệu suất của TCP Các phương pháp này được chia thành hai loại chính: loại thứ nhất là các phương pháp thực hiện che dấu sự mất gói số liệu không phải do tắc nghẽn, làm cho các đường truyền chất lượng kém thể hiện ra trước bên gửi như một đường truyền tốt nhưng với thông lượng có thể nhỏ hơn[7]; loại thứ hai bao gồm các phương pháp cải tiến giao thức TCP bằng một số cơ chế, làm cho bên gửi có khả năng phân biệt được nguyên nhân gây ra mất gói số liệu, nhờ đó tránh được sai lầm làm giảm hiệu suất của TCP [2] Bản chất của phương pháp này

là không thực hiện thuật toán tránh tắc nghẽn khi không xẩy ra tắc nghẽn

Tuy nhiên, các ứng dụng mới xuất hiện đòi hỏi độ tin cậy nhưng không nhất thiết phải đảm bảo tính tuần tự của toàn bộ khối lượng dữ liệu truyền tải

mà thường chỉ yêu cầu đảm bảo tính tuần tự trong từng phần của dữ liệu Sự đảm bảo tuần tự dữ liệu toàn bộ của TCP có thể làm tăng độ trễ của dữ liệu khi truyền tải (như lỗi HOLB) Ngoài ra, TCP không có cơ chế dự phòng về đường truyền, nếu đường truyền bị “đứt”, kết nối sẽ kết thúc, do vậy khó đảm bảo tính sẵn sàng, trong khi đó đây lại là một yêu cầu bắt buộc của các ứng dụng này…

Chính vì thế, hướng thứ hai là xây dựng giao thức mới hoàn toàn, tiếp thu các kinh nghiệm xây dựng từ các giao thức trước, bao gồm cả TCP và

Trang 11

đa phương tiện, ứng dụng thời gian thực hiện nay và các ứng dụng khác trong tương lai với hiệu suất cao nhất có thể Một trong các giao thức được xây dựng theo hướng trên là SCTP (Stream Control Transmission Protocol)

Tháng 10/2000, SCTP được chính thức đề xuất làm một giao thức chuẩn hoá bằng tài liệu RFC 2960 (Request for comment) Tuy nhiên, tại Việt Nam, SCTP vẫn chưa được nghiên cứu đánh giá một cách đầy đủ và cơ bản, cũng như khả năng ứng dụng vào trong thực tiễn Đây là lý do mà chúng tôi chọn đề tài “Nghiên cứu và đánh giá hiệu suất giao thức SCTP”

Mục tiêu chính của luận văn này là cung cấp một cái nhìn toàn diện về giao thức SCTP với những đánh giá và so sánh SCTP với các giao thức truyền tải số liệu đang được sử dụng rộng rãi trên mạng như TCP, UDP, một số đánh giá bước đầu về hiệu suất giao thức SCTP và khả năng ứng dụng của SCTP trong thực tế

Luận văn này bao gồm phần mở đầu, 5 chương và kết luận, với nội dung các chương được trình bầy tóm tắt dưới đây:

Chương 1, trình bầy tổng quan về lịch sử hình thành, kiến trúc, nguyên tắc tổ chức và trao đổi số liệu của mạng máy tính, các mô hình tham chiếu của mạng máy tính

Chương 2, trình bầy các khái niệm cơ bản về giao thức trao đổi số liệu, các giao thức trao đổi số liệu phổ biến của mạng Internet là TCP, UDP và RTP, hạn chế của các giao thức này trong truyền tải tín hiệu điện thoại, dẫn đến việc cần xây dựng giao thức mới đáp ứng và các yêu cầu cụ thể của giao thức mới này

Chương 3, trình bầy về lịch sử hình thành, đặc tả giao thức SCTP, cấu trúc gói tin, kiểm soát lỗi và điều khiển tắc nghẽn, đảm bảo an ninh của SCTP các điểm giống và khác của SCTP với các giao thức trao đổi số liệu khác, nhất là so sánh với TCP

Chương 4, trình bầy về đánh giá hiệu suất giao thức, các phương pháp đánh giá hiệu suất, giới thiệu về bộ mô phỏng NS-2 và khả năng của bộ mô phỏng NS-2 trong việc mô phỏng giao thức SCTP

Trang 12

Chương 5, trình bầy việc thực hiện mô phỏng giao thức SCTP: cấu hình mạng mô phỏng, xác định thông lượng chuẩn hoá của giao thức, so sánh với TCP về khả năng truyền tải dữ liệu và khắc phục lỗi, các kết luận rút ra từ các kết quả này

Trang 13

CHƯƠNG 1: GIỚI THIỆU CHUNG

1.1 Khái quát về mạng máy tính

1.1.1 Lịch sử hình thành mạng máy tính

Vào giữa những năm 50, khi những thế hệ máy tính đầu tiên được đưa vào hoạt động thực tế, chúng sử dụng đèn điện tử, có kích thước rất cồng kềnh và tốn nhiều năng lượng Vào thời điểm đó, việc nhập dữ liệu vào các máy tính được thông qua các tấm bìa mà người viết chương trình đã đục lỗ sẵn Sau một thời gian các thế hệ máy mới được đưa vào hoạt động trong đó một máy tính trung tâm có thể được nối với nhiều thiết bị vào ra (I/O), qua đó

nó có thể thực hiện liên tục hết chương trình này đến chương trình khác

Cùng với sự phát triển của những ứng dụng trên máy tính, các phương pháp nâng cao khả năng giao tiếp với máy tính trung tâm cũng đã được đầu tư nghiên cứu rất nhiều Vào giữa những năm 60 một số nhà chế tạo máy tính đã nghiên cứu thành công những thiết bị truy cập từ xa tới máy tính của họ Một trong những phương pháp thâm nhập từ xa được thực hiện bằng việc cài đặt một thiết bị đầu cuối ở một vị trí cách xa trung tâm tính toán, thiết bị đầu cuối này được liên kết với trung tâm bằng việc sử dụng đường dây điện thoại và với hai thiết bị xử lý tín hiệu (thường gọi là Modem) gắn ở hai đầu Việc liên kết từ xa đó có thể thực hiện qua những vùng khác nhau và đó là những dạng đầu tiên của hệ thống mạng

Vào giữa những năm 1970, các thiết bị đầu cuối sử dụng những phương pháp liên kết qua đường cáp nằm trong một khu vực đã được ra đời Với những ưu điểm từ nâng cao tốc độ truyền dữ liệu và qua đó kết hợp được khả năng tính toán của các máy tính lại với nhau Ðể thực hiện việc nâng cao khả năng tính toán với nhiều máy tính, các nhà sản xuất bắt đầu xây dựng các mạng phức tạp Vào những năm 1980 các hệ thống đường truyền tốc độ cao

đã được thiết lập ở Bắc Mỹ và Châu Âu và từ đó cũng xuất hiện các nhà cung cấp các dịnh vụ truyền thông với những đường truyền có tốc độ cao hơn nhiều lần so với đường dây điện thoại Với những chi phí thuê bao chấp nhận được,

Trang 14

người ta có thể sử dụng được các đường truyền này để liên kết máy tính lại với nhau và bắt đầu hình thành các mạng máy tính một cách rộng khắp

Năm 1974 công ty IBM đã giới thiệu một loạt các thiết bị đầu cuối được chế tạo cho lĩnh vực ngân hàng và thương mại, thông qua các dây cáp mạng, các thiết bị đầu cuối có thể truy cập cùng một lúc vào một máy tính dùng chung Từ đó việc nghiên cứu khả năng sử dụng chung môi trường truyền thông và các tài nguyên của các máy tính nhanh chóng được đầu tư

Năm 1977, công ty Datapoint Corporation đã bắt đầu bán hệ điều hành mạng của mình là "Attached Resource Computer Network" (hay gọi tắt là Arcnet) ra thị trường Mạng Arcnet cho phép liên kết các máy tính và các trạm đầu cuối lại bằng dây cáp mạng, qua đó đã trở thành hệ điều hành mạng cục bộ đầu tiên Từ đó đến nay đã có rất nhiều công ty đưa ra các sản phẩm của mình, đặc biệt khi các máy tính cá nhân được sử dụng một cách rộng rãi Khi số lượng máy vi tính trong một văn phòng hay cơ quan được tăng lên nhanh chóng thì việc kết nối chúng trở nên vô cùng cần thiết và sẽ mang lại nhiều hiệu quả cho người sử dụng

Ngày nay các hoạt động của con người tạo ra một lượng rất lớn thông tin, dẫn đến nhu cầu lưu trữ, vận chuyển và xử lý thông tin ngày càng cao Mạng máy tính hiện nay trở nên quá quen thuộc đối với chúng ta, trong mọi lĩnh vực như khoa học, quân sự, quốc phòng, thương mại, dịch vụ, giáo dục

ở nhiều nơi mạng đã trở thành một nhu cầu không thể thiếu được

Với nhu cầu đòi hỏi ngày càng cao của xã hội, các vấn đề kỹ thuật mạng là những mối quan tâm hàng đầu của các nhà khoa học Ví dụ như làm thế nào để truy xuất thông tin một cách nhanh chóng và tối ưu nhất, trong khi việc vận chuyển lượng thông tin quá lớn trên mạng đôi khi có thể làm tắc nghẽn mạng và gây ra mất thông tin một cách đáng tiếc

Hiện nay việc làm sao có được một hệ thống mạng chạy thật tốt, thật an toàn với lợi ích kinh tế cao đang rất được quan tâm Một vấn đề đặt ra có rất nhiều giải pháp về công nghệ, một giải pháp có rất nhiều yếu tố cấu thành,

Trang 15

hoàn chỉnh, phù hợp thì phải trải qua một quá trình phân tích, đánh giá, so sánh và chọn lọc dựa trên những ưu điểm của từng yếu tố, từng chi tiết rất nhỏ Ðể giải quyết một vấn đề phải dựa trên những yêu cầu đặt ra và dựa trên công nghệ để giải quyết Nhưng công nghệ cao nhất chưa chắc đã là công nghệ tốt nhất, mà công nghệ tốt nhất là công nghệ phù hợp nhất

PC: personal computer

Hình 1.1 Các thành phần mạng máy tính

Có thể chia các thiết bị thành các loại thiết bị sau:

Thiết bị đầu cuối là các thiết bị tính toán (máy tính cá nhân, vừa và lớn), các thiết đầu cuối thông minh hoặc không thông minh làm nhiệm vụ tính toán, xử lý, trao đổi dữ liệu và giao diện người dùng

Các thiết bị kết nối mạng, gồm các thiết bị chuyển mạch, dồn/tách kênh, các bộ tập trung Các thiết bị chuyển mạch thực hiện việc chuyển tiếp

số liệu chính xác giữa các thiết bị cuối được kết nối trong mạng Các thiết bị dồn/tách kênh thực hiện việc kết nối nhiều thiết bị đầu cuối có tốc độ trao đổi

Trang 16

dữ liệu thấp trên cùng một đường truyền có dung lượng cao Các bộ tập trung thực hiện kết nối các thiết bị cuối "không thông minh"

Hệ thống truyền dẫn, bao gồm hệ thống truyền dẫn có dây và không dây (vô tuyến), kết nối vật lý các thiết bị mạng với các thiết bị cuối Số liệu của các ứng dụng được truyền dưới dạng tín hiệu điện trên hệ thống truyền dẫn

Có các hình thức kết nối là kết nối điểm-điểm và kết nối điểm-đa điểm (kết nối quảng bá)

1.1.3 Nguyên tắc tổ chức và trao đổi số liệu

Để đơn giản việc trao đổi số liệu giữa các ứng dụng trong hệ thống mạng, hệ thống được phân chia thành các mức chức năng nhỏ, có phân cấp, độc lập và dựa vào nhau, có tác dụng tương hỗ cho nhau Nguyên tắc tổ chức này cho phép giảm độ phức tạp thiết kế và thực hiện hệ thống thông qua việc xác định các mức chức năng cấu thành hệ thống và giao diện giữa các mức chức năng đó mà không quy định bắt buộc phải thực hiện các chức năng đó như thế nào Nguyên tắc này cho phép thực hiện việc kết nối mở các hệ thống không đồng nhất, nghĩa là các hệ thống có kiến trúc phần cứng, phần mềm hệ thống và cấu trúc số liệu không giống nhau Mô hình 7 mức ISO/OSI là mô hình kết nối mở các hệ thống tính toán được xây dựng trên nguyên tắc phân mức chức năng như vậy

Có thể định nghiã kiến trúc mạng thông tin máy tính như sau:

Kiến trúc mạng thông tin máy tính là một tập hợp các mức chức năng tạo thành hệ thống mạng và các giao thức trao đổi số liệu giữa các mức chức năng tương ứng.[1]

Số liệu của các ứng dụng trao đổi trong mạng được tổ chức thành các gói có độ dài thay đổi và được trao đổi thông qua các mức chức năng cấu thành hệ thống Ở mỗi mức, các gói tin này sẽ được thêm các số liệu điều khiển thích hợp của mức đó Quy định về cấu trúc gói số liệu và cách thức trao đổi số liệu ở một mức chức năng được gọi là giao thức trao đổi số liệu ở

Trang 17

Trong quá trình phát, số liệu của một ứng dụng được chuyển lần lượt qua các mức chức năng từ cao xuống thấp, cho đến mức kết nối vật lý và được chuyển tiếp trong hệ thống truyền dẫn đến hệ thống đích Khi chuyển từ một mức chức năng này sang một mức chức năng khác, số liệu được bao gói

và thêm vào các số liệu điều khiển ở mức chức năng tương ứng Quá trình nhận số liệu ở hệ thống đích diễn ra ngược lại, ở mỗi mức, dữ liệu sẽ được bóc các thông tin điều khiển của mức đó trước khi được gửi tiếp lên mức trên 1.1.4 Một số mạng máy tính tiêu biểu

1.1.4.1 Mạng diện rộng WAN

Mạng APARNET được nghiên cứu, thiết kế và thực hiện từ cuối những năm 1960 tại đại học Berkely, bang Califonia, Mỹ, trong khuôn khổ một chương trình nghiên cứu của Bộ quốc phòng Mỹ là tiền thân của mạng Internet hiện nay Bộ giao thức trao đổi số liệu là TCP/IP và các giao thức hỗ trợ ứng dụng là SMTP, FTP và Telnet

Mạng X25 là mạng thông tin máy tính diện rộng hoạt động trên cơ sở công nghệ chuyển mạch gói, được ứng dụng rộng rãi trong dịch vụ số liệu công cộng ở các nước Tây Âu trong những năm 70 X25 có kiến trúc 3 mức với các giao thức trao đổi số liệu là X.21, HDLC

Một số mạng máy tính lớn của các công ty như SNA của IBM, DECnet của Digital Equipment Co, TRANSDATA của SIEMENTS…

1.1.4.2 Mạng cục bộ LAN

Một trong các mạng cục bộ kết nối các máy tính cá nhân PC được dùng đầu tiên vào giữa những năm 80 là mạng PC-Network của IBM, hoạt động trên cơ sở công nghệ mạng CSMA/CD PC-Network được ứng dụng chủ yếu trong lĩnh vực tự động hoá văn phòng, hỗ trợ việc quản lý tập trung và sử dụng chung hệ thống tệp cũng như các tài nguyên khác của mạng

Một số mạng PC tiêu biểu khác là Netware của Nouvell, AppleTalk của Apple và Workgroup của Microsoft, mạng MAP của General Motors Các công nghệ mạng cục bộ tiêu chuẩn được sử dụng nhiều nhất là công nghệ mạng CSMA/CD và Token Ring

Trang 18

1.2 Mạng Internet

Tiền thân của mạng Internet là mạng diện rộng APARNET, được xây dựng và phát triển dựa trên công nghệ chuyển mạch gói phục vụ nghiên cứu của Bộ Quốc phòng Mỹ giữa những năm 60 của thế kỷ 20 Ngày nay, Internet

đã trở thành mạng của các mạng thông tin máy tính toàn cầu, được kết nối với nhau dựa trên bộ giao thức trao đổi số liệu TCP/IP (Transmission Control Protocol/Internet Protocol), đáp ứng hầu hết các dịch vụ thông tin liên lạc của

xã hội và sẽ trở thành hạ tầng thông tin liên lạc của xã hội thông tin tương lai 1.2.1 Kiến trúc mạng Internet

Được thiết kế dựa trên các thành quả nghiên cứu của các mạng máy tính trước đó, Internet do vậy có kiến trúc phân tầng, hay còn gọi là mức hoặc lớp, mỗi tầng được xây dựng dựa trên tầng bên dưới nó Việc phân tầng không những cho phép giảm độ phức tạp thiết kế và thực hiện hệ thống mà còn cho phép thực hiện việc kết nối mở các hệ thống không đồng nhất khác Trong các mạng khác nhau, số tầng, tên các tầng, nội dung và chức năng của các tầng có thể khác nhau, tuy nhiên, mục đích của mỗi tầng là sử dụng các dịch vụ do các tầng bên dưới cung cấp, để cung cấp những dịch vụ nhất định cho các tầng cao hơn, sao cho các tầng này khi sử dụng các dịch vụ của nó, không cần quan tâm tới các thao tác chi tiết mà các dịch vụ phải thực hiện

Để các mạng máy tính khác nhau có thể truyền thông cho nhau, cần phải tuân theo các chuẩn, hay còn gọi là các mô hình tham chiếu

1.2.2 Mô hình tham chiếu ISO OSI

Mô hình tham chiếu ISO/OSI do tổ chức Tiêu chuẩn quốc tế ISO (Internation Standard Organization) đưa ra năm 1983 Đây là bước tiến đầu tiên tới sự chuẩn hoá quốc tế các giao thức khác nhau về truyền thông, giúp cho việc kết nối các hệ thống khác nhau dễ dàng hơn nếu các hệ thống này cũng tuân theo chuẩn Mô hình này có 7 tầng, với chức năng từng tầng cụ thể như sau:

Trang 19

Hình 1.2 Mô hình ISO-OSI Tầng vật lý (Physical layer): là tầng có nhiệm vụ tạo các kết nối về mặt vật lý như ghép nối cơ khí, điện, các giao thức để khởi tạo, kết thúc các liên kết vật lý giữa các thiết bị truyền thông Tầng này làm nhiệm vụ truyền dòng bít giữa các máy bằng kênh truyền vật lý, không xét đến ý nghĩa và cấu trúc của dòng bít

Tầng liên kết dữ liệu (data link layer): là tầng có nhiệm vụ thiết lập, duy trì, huỷ bỏ các liên kết dữ liệu, kiểm soát lỗi truyền, điều khiển lưu lượng, điều khiển truy cập môi trường đường truyền

Tầng mạng (Network layer): là tầng có nhiệm vụ định tuyến, giao tiếp giữa các mạng và điều khiển tắc nghẽn

Tầng giao vận (Transport layer): là tầng có nhiệm vụ thực hiện việc truyền tin, điều khiển lưu lượng và điều khiển tắc nghẽn kiểu đầu cuối - đầu cuối, thực hiện ghép kênh và phân kênh

Tầng phiên (Session layer): là tầng có nhiệm vụ tổ chức và đồng bộ việc trao đổi dữ liệu giữa các tiến trình ứng dụng, thiết lập, duy trì, huỷ bỏ, đồng bộ các phiên truyền thông, đăng nhập từ xa vào những hệ thống chia sẻ thời gian

Tầng trình diễn dữ liệu (presentation layer): là tầng có nhiệm vụ giải quyết các vấn đề liên quan đến cú pháp và ngữ nghĩa của thông tin được truyền, giúp các máy tính khác nhau sử dụng các biểu diễn dữ liệu khác nhau

Trang 20

có thể truyền thông với nhau, thực hiện các dịch vụ như nén hoặc mã hoá dữ liệu

Tầng ứng dụng (application layer): là tầng cuối cùng trong mô hình bẩy tầng OSI, có nhiệm vụ tạo ra giao diện thuận tiện giữa người sử dụng và môi trường truyền tin, cung cấp các dịch vụ hỗ trợ cho các ứng dụng không thuộc

mô hình OSI như email, ftp, WWW

Quá trình truyền dữ liệu trong mô hình OSI được thực hiện thông qua các tầng, từ tầng cao nhất đến tầng thấp nhất trong quá trình gửi và ngược lại trong quá trình nhận Mỗi khi đi qua một tầng, gói tin sẽ được thêm hay bớt đi phần thông tin của tầng (được gọi là header) trước khi gửi đến tầng khác Tầng nào phát hiện ra lỗi thì yêu cầu phát lại ngay tại tầng đó

1.2.3 Mô hình SNA (Systems Netword Architecture)

Tháng 9/1973, Hãng IBM giới thiệu kiến trúc mạng máy tính SNA (System Network Architecture) Tuy nhiên, SNA không phải là một chuẩn quốc tế chính thức như OSI nhưng do vai trò to lớn của hãng IBM trên thị trường công nghệ thông tin nên SNA trở thành một loại chuẩn thực tế và khá phổ biến SNA là một đặc tả gồm rất nhiều tài liệu mô tả kiến trúc của mạng

xử lý dữ liệu phân tán Nó định nghĩa các quy tắc và các giao thức cho sự tương tác giữa các thành phần (máy tính, trạm cuối, phần mềm) trong mạng SNA được tổ chức xung quanh khái niệm miền (domain) Một SNA domain

là một điểm điều khiển các dịch vụ hệ thống (Systems Services control point - SSCP) và nó sẽ điều khiển tất cả các tài nguyên đó Các tài nguyên ở đây có thể là các đơn vị vật lý, các đơn vị logic, các liên kết dữ liệu và các thiết bị

Có thể ví SSCP như là "trái tim và khối óc" của SNA Nó điều khiển SNA domain bằng cách gửi các lệnh tới một đơn vị vật lý, đơn vị vật lý này sau khi nhận được lệnh sẽ quản lý tất cả các tài nguyên trực tiếp với nó

Mạng SNA dựa trên cơ chế phân tầng, trước đây 2 hệ thống ngang hàng không được trao đổi trực tiếp Sau này SNA phát triển thành SNA mở rộng: hai tầng ngang hàng có thể trao đổi trực tiếp Với 6 tầng có tên gọi và

Trang 21

Hình 1.3 Mô hình SNA Tầng quản trị chức năng SNA (SNA Function Management), thực tế gồm hai tầng:

- Tầng dịch vụ giao tác (Transaction) cung cấp các dịch vụ ứng dụng đến người dùng Tầng này cũng cung cấp các dịch vụ cấu hình, các dịch vụ quản lý để điều khiển các hoạt động mạng

- Tầng dịch vụ trình diễn (Presentation Services): liên quan tới sự hiển thị các ứng dụng, người sử dụng đầu cuối và các dữ liệu hệ thống Tầng này cũng định nghĩa các giao thức cho việc truyền thông giữa các chương trình và điều khiển truyền thông ở mức hội thoại

Tầng kiểm soát luồng dữ liệu (Data flow control): cung cấp các dịch vụ điều khiển luồng lưu thông cho các phiên từ đơn vị logic này đến đơn vị logic khác (LU - LU) Nó thực hiện điều này bằng cách gán các số trình tự, các yêu cầu và đáp ứng, thực hiện các giao thức yêu cầu về đáp ứng giao dịch và hợp tác giữa các giao dịch gởi và nhận

Tầng kiểm soát truyền (Transmission control): cung cấp các chức năng điều khiển cơ bản các phần tài nguyên truyền trong mạng, bằng cách xác định

số trình tự nhận được và quản lý việc theo dõi mức phiên Tầng này cũng hỗ trợ cho việc mã hóa dữ liệu và cung cấp hệ thống hỗ trợ cho các nút ngoại vi Tầng kiểm soát đường dẫn (Path control): cung cấp các giao thức để tìm đường cho một gói tin qua mạng SNA và để kết nối với các mạng SNA khác, đồng thời nó cũng kiểm soát các đường truyền này

Trang 22

Tầng điều khiển liên kết dữ liệu (Data Link Control): cung cấp các giao thức cho việc truyền các gói tin thông qua đường truyền vật lý giữa hai node

và cũng cung cấp các điều khiển lưu thông và phục hồi lỗi, các hỗ trợ cho tầng này là các giao thức SDLC, System/370, X25, IEEE 802.2 và 802.5

Tầng kiểm soát vật lý (Physical control): cung cấp một giao diện vật lý với bất cứ môi trường truyền thông nào Tầng này định nghĩa các đặc trưng của tín hiệu cần để thiết lập, duy trì và kết thúc các đường nối vật lý cho việc

hỗ trợ kết nối

1.2.4 Bộ giao thức TCP/IP

Bộ giao thức TCP/IP là một trong những thành phần cơ bản nhất tạo nên mạng Internet Tương tự như mô hình tham chiếu ISO/OSI, bộ giao thức trao đổi số liệu số liệu Internet bao gồm hai phần chính: các giao thức tạo thành hệ thống truyền dẫn và các giao thức hỗ trợ ứng dụng

Khác với mô hình ISO/OSI, mức liên kết mạng Internet sử dụng giao thức kết nối mạng kiểu "không hướng nối" (connectionless) IP (Internet Protocol), tạo thành hạt nhân hoạt động của hệ thống truyền dẫn Internet Mức này sử dụng các thuật toán định tuyến RIP, OSFP, BGP… Giao thức IP cho phép kết nối một cách mềm dẻo và linh hoạt các loại mạng "vật lý" khác nhau như Ethernet, Token Ring, X25 Về bản chất, IP là một mức chức năng mới, mức liên mạng, bao trùm lên mức mạng

Physical Coax, Twisted-Pairs, Fiber Optic,

Wireless

Hình 1.4 Bộ giao thức trên mạng Internet

Trang 23

Giao thức trao đổi số liệu “hướng kết nối” TCP được sử dụng ở mức vận chuyển để đảm bảo tính chính xác và tin cậy cho việc trao đổi số liệu dựa trên giao thức“không kết nối” IP ở mức liên mạng TCP tương ứng với các chức năng của mức vận chuyển, cộng thêm một số chức năng của mức phiên

IP tương ứng với chức năng của mức mạng trong mô hình ISO/OSI Chi tiết

về giao thức TCP sẽ được trình bầy ở chương sau

Các giao thức hỗ trợ ứng dụng như FTP, telnet, WWW… không chỉ tích hợp các dịch vụ của các mức chức năng như mức phiên, mức thể hiện và mức hỗ trợ ứng dụng trong một thực thể thống nhất mà còn được cài đặt ngày càng phổ biến như là một bộ phận cấu thành của các hệ điều hành thông dụng như UNIX, Windows…

Trong chương tiếp theo, chúng ta sẽ có cái nhìn khái quát về giao thức trao đổi số liệu, là nền tảng của mạng thông tin toàn cầu Internet với hai giao thức cụ thể là TCP và UDP, cũng như giao thức truyền số liệu thời gian thực RTP Các hạn chế của các giao thức trên khi được sử dụng vào các ứng dụng mới dẫn đến sự ra đời của các giao thức mới, một trong các giao thức mới đó

là SCTP được chúng tôi nghiên cứu và trình bày kỹ trong Luận văn này

Trang 24

CHƯƠNG 2 GIAO THỨC TRAO ĐỔI SỐ LIỆU

2.1 Một số khái niệm về giao thức trao đổi số liệu

2.1.1 Định nghĩa

Theo mô hình kết nối mở các hệ thống tính toán ISO/OSI, giao thức là tập hợp các quy định về khuôn dạng số liệu và phương thức trao đổi số liệu giữa các thức thể trong cùng một mức chức năng [1] Những quy định cụ thể

về giao thức là:

- Cấu trúc khung gói số liệu, bao gồm: các số liệu đồng bộ và số lượng byte tương ứng; các số liệu điều khiển trong trường tiêu đề và số lượng byte tương ứng; độ dài số liệu giao thức; quy tắc tính byte kiểm tra để bảo vệ số liệu, phát hiện lỗi

- Phương thức trao đổi số liệu: hướng kết nối hoặc không kết nối

- Trình tự thủ tục để thiết lập việc truyền số liệu

- Phương thức phát hiện và xử lý lối truyền số liệu

2.1.2 Đặc tả và kiểm chứng giao thức

Đặc tả giao thức (Protocol specification): là xác định tất cả các yêu cầu

về khuôn dạng gói số liệu , bao gồm các số liệu điều khiển cần thiết và số liệu

sử dụng, cũng như phương thức trao đổi số liệu, bao gồm trình tự và thời gian thực hiện từng bước, xử lý với các sự kiện trong và ngoài hệ thống (ví dụ: lỗi tràn bộ đệm, lỗi đồng bộ tiến trình…) giữa các thực thể ở cùng một mức chức năng Một số phương pháp đặc tả giao thức như phương pháp lưu đồ trạng thái, sử dụng ngôn ngữ lập trình…

Kiểm chứng giao thức (Protocol verification) là hình thức minh chứng tính đúng đắn của giao thức được đặc tả, bao gồm: trình tự thực hiện, tập hợp đầy đủ trạng thái và lưu trình chuyển đổi trạng thái, không bị vòng quẩn, hoạt động ổn định…Ngoài ra, kiểm chứng giao thức cần thiết chứng minh rằng các thực thể tham gia trao đổi số liệu đáp ứng đầy đủ các yêu cầu mà đặc tả giao thức nêu ra Có hai loại kiểm chứng giao thức:

Trang 25

- Kiểm chứng thiết kế giao thức, (Protocol design verification) nghĩa là kiểm chứng đặc tả giao thức một lần

- Kiểm chứng thực hiện giao thức (Protocol implementation verification) là kiểm chứng với mỗi phiên bản thực hiện giao thức

Một số phương pháp kiểm chứng giao thức thường được sử dụng:

- Phương pháp "phân tích đạt tới " cho các đặc tả giao thức sử dụng lưu đồ thời gian và lưu đồ trạng thái

- Phương pháp "chứng minh chương trình" cho các đặc tả giao thức sử dụng ngôn ngữ lập trình

Trong phần tiếp theo, chúng ta sẽ tìm hiểu về hai giao thức truyền số liệu phổ biến trên mạng Internet hiện nay là TCP và UDP, giao thức truyền dữ liệu thời gian thực RTP, những hạn chế của chúng trong việc đáp ứng các ứng dụng mới

2.2 Giao thức TCP (Transmission Control Protocol)

2.2.1 Giới thiệu TCP

TCP là giao thức trao đổi số liệu có kết nối, đảm bảo tin cậy và chính xác giữu hai thực thể cuối trong mạng TCP đảm bảo:

- Quản lý đúng số tuần tự tính theo byte của dòng dữ liệu

- Tối ưu hoá khả năng sử dụng dải thông của mạng bằng cách giám sát và điều khiển lưu lượng số liệu từ thực thể gửi đến thực thể nhận

TCP đảm bảo trao đổi số liệu tin cậy và chính xác giữa các thực thể đầu cuối trong mạng nhờ các yếu tố sau:

 Đối thoại khi thu phát: Bên nhận phải thông báo cho bên gửi mỗi khi nhận được một gói số liệu sau một khoảng thời gian nhất định Nếu không, gói số liệu được coi là nhận sai hoặc bị mất và được phát lại

 Kiểm tra số liệu thu, phát: TCP được cài đặt các thuật toán kiểm tra số liệu khi phát và khi thu (nhờ trường checksum) Khi có sai sót trong trường này, bên thu sẽ thông báo cho bên nhận để phát lại

Trang 26

 Kiểm tra số tuần tự: Gói tin TCP khi xuống tầng dưới có thể sẽ bị chia cắt cho phù hợp, vì vậy bên nhận phải biết hợp các gói tin này theo đúng tuần tự phát

 Điều khiển lưu lượng: TCP có các thuật toán điều khiển phát căn cứ trên vùng đệm thu, phát cũng như tình trạng đường truyền, nhờ vậy tránh được tắc nghẽn trên đường truyền cũng như tối ưu hoá băng thông đường truyền

2.2.2 Cấu trúc gói số liệu TCP

Cấu trúc gói tin TCP gồm phần tiêu đề TCP “giả” (Pseudo header TCP)

và gói số liệu TCP “thực” Phần tiêu đề giả cần thiết cho việc xây dựng gói tin

IP, bao gồm các thông tin về địa chỉ IP nguồn, địa chỉ IP đích, số liệu thuộc giao thức TCP và độ dài của gói số liệu TCP thực

Hình 2.1 Gói số liệu IP với phần tiêu đề giả Cấu trúc dữ liệu gói tin TCP phần “thực” như sau:

Hình 2.2 Cấu trúc gói số liệu IP

Trang 27

Ý nghĩa của các trường trong gói tin TCP:

- Source/Destination port number: Số hiệu cổng TCP, cùng với địa chỉ IP nguồn và địa chỉ IP đích trong gói số liệu IP

- Sequence number: số tuần tự phát, định danh byte đầu tiên của data so với byte đầu của dòng dữ liệu của thực thể gửi Giá trị ban đầu là ISN+1 (Initial Sequence Number)

- Acknowledgement: Vị trí tương đối của byte cuối cùng đã nhận đúng bởi thực thể gửi gói ACK cộng thêm 1 Giá trị của trường này đúng khi bít cờ ACK=1

- Data Offset: Khoảng cách tương đối của trường dữ liệu với phần tiêu đề của TCP tính theo từ 32 bít

- Resered = 0 : để dùng trong tương lai

- Flags: có 6 bít cờ trong phần tiêu đề của TCP Giá trị cụ thể như sau:

a URG =1: có sử dụng trường Urgent pointer

b ACK =1: trường Ack đúng

c PSH =1: thực thể nhận được yêu cầu chuyển ngay segment này

d RST =1: Tái tạo kết nối; từ chối kết nối v.v

e SYN =1: đồng bộ trường số thứ tự, dùng để thiết lập kết nối TCP

f FIN =1: thông báo thực thể gửi đã kết thúc việc gửi số liệu

- Window size: Độ lớn cửa sổ nhận, quy định tổng số byte dữ liệu mà thực thể thu có thể nhận được, tính từ byte được biên nhận (ack)

- Checksum: checksum của cả TCP segment + Pseudo header Trước khi tính, trường này = 0 (Tổng các word 16 bit kiểu bù 1, kết quả thu được lại tính bù 1 - XOR)

- Urgent pointer: Vị trí tương đối của byte trong trường dữ liệu TCP cần được xử lý đầu tiên

- Options: Các tuỳ chọn Hiện nay tuỳ chọn duy nhất được dùng là MSS (Maximum Segment Size) Giá trị default = 536 byte payload + 20 byte header = 556 byte

- Pad: chèn thêm để chiều dài trường Options là bội của 32 bit

Trang 28

- Data: số liệu của ứng dụng TCP

Syn Seq=y

Ack(x+1)

Ack(y+1)

Hình 2.3 Thiết lập kết nối Bước 1: Bên A yêu cầu kết nối, gửi CONNECTION REQUEST với cờ SYN=1, giá trị khởi tạo số tuần tự Seq = x (ISN), số hiệu cổng TCP của phần mềm dịch vụ mà tiến trình làm việc muốn kết nối

Bước 2: Bên B nhận được, gửi lại ACK với các giá trị ACK (x+1), SYN=1, Seq = y (ISN)

Bước 3: A biên nhận ACK của B, khẳng định đã nhận được giá trị ISN của B với ACK (y+1), Seq = x và sẵn sàng cho kết nối

2.2.3.2 Kết thúc kết nối

Khi có nhu cầu kết thúc kết nối, thực thể A gửi yêu cầu kết thúc kết nối với cờ FIN=1 Vì kết nối TCP là song công nên mặc dù nhận được yêu cầu kết thúc kết nối của A, thực thể B vẫn có thể tiếp tục truyền số liệu cho đến khi B không còn số liệu để gửi và thông báo cho A bằng yêu cầu kết thúc kết nối với cờ FIN=1 của mình Thực thể TCP nhận được thông điệp FIN sau khi gửi FIN của mình thì kết nối TCP thực sự được kết thúc

Trang 29

Giao thức UDP (User Datagram Protocol) là giao thức ở mức vận chuyển, không hướng kết nối Vì vậy, UDP là giao thức vận chuyển không tin cậy: UDP không có cơ chế kiểm tra số tuần tự phát, số tuần tự thu và kiểm tra lỗi Ưu điểm của UDP là thực hiện đơn giản

UDP được sử dụng cho các ứng dụng mà trong đó:

- Việc phân phát tin nhanh chóng là quan trọng hơn việc phân phối tin chính xác: Email, dịch vụ tên miền DNS…

- Muốn tự cung cấp các chức năng flow control và error control

Thống kê thực tế cho thấy: 99% các gói tin UDP được vận chuyển đến đích không bị lỗi

Gói tin UDP có cấu trúc như sau:

Hình 2.5 Cấu trúc gói tin UDP

Trang 30

Gói tin UDP có cấu trúc tương tự cấu trúc gói tin TCP:

- Phần đầu “tiêu đề giả”(Pseudo header) giúp thưc thể IP xây dựng IP packet

- Trường Lenght trong “tiêu đề giả” là độ dài toàn bộ gói số liệu UDP, kể cả phần “tiêu đề giả”

- Số hiệu cổng nguồn và số hiệu cổng đích (UDP Src /Dest port) cho biết địa chỉ nguồn và địa chỉ đích của các thực thể ứng dụng sử dụng giao thức UDP

- Trường Length trong UDP segment: độ dài UDP segment, độ dài tối thiểu bằng 8

- Trường Checksum được tính cho toàn bộ gói số liệu UDP

Gói số liệu UDP được tự động loại bỏ một khi bị lỗi; chỉ những gói số liệu UDP không bị lỗi mới được chuyển cho các thực thể ứng dụng

2.4 Giao thức truyền tải thời gian thực RTP (Realtime Transfer Protocol)

Để đáp ứng các ứng dụng cần truyền tải dữ liệu thời gian thực, RTP (Realtime Transfer Protocol) đã được xây dựng và chuẩn hoá bằng RFC 1889 Giao thức RTP chạy trên UDP được sử dụng để truyền dữ liệu đa phương tiện Dữ liệu đa phương tiện được gắn kèm RTP header, được đóng gói vào gói tin RTP Mỗi gói tin RTP lại được đóng gói vào trong gói UDP rồi được truyền đi RTP cung cấp dịch vụ vận chuyển cho các ứng dụng đa phương tiện (multimedia) Tuy nhiên, RTP không cung cấp sự đảm bảo gói tin được phân phối đúng thời gian cũng như đảm bảo chất lượng dịch vụ khác Việc đóng gói gói tin RTP được thực hiện tại các hệ thống cuối (end-system) RTP có thể xem như là lớp con của tầng giao vận

Trang 31

Các trường trong RTP header như sau:

Hình 2.7 Các trường trong gói tin RTP

 Trường PT (payload type): Dài 7 bit, xác định kiểu mã hoá và nén

audio/video được dùng trong phiên RTP (RTPsession); do đó RTP hỗ trợ

128 kiểu dữ liệu Với luồng audio, trường payload type dùng để xác định kiểu mã hóa audio (PCM chẳng hạn) được sử dụng Nếu phía gửi quyết định thay đổi kiểu mã hóa trong một session, phía gửi có thể thông báo cho phía nhận sự thay đổi qua trường này Việc thay đổi kiểu mã hóa thường nhằm để tăng chất lượng audio hoặc giảm tốc độ bit của RTP stream

 Trường sequence number: Trường này có độ dài 16 bít Số tuần tự tăng

lên 1 sau khi mỗi gói RTP được gửi đi, nó có thể được phía nhận dùng để phát hiện sự mất gói tin và khôi phục lại gói tin bị mất Ví dụ: nếu phía nhận nhận được các gói RTP có khoảng trống giữa số 86 và 89 thì sẽ biết được rằng gói thứ 87, 88 bị mất và nó cố gắng khôi phục lại dữ liệu mất

 Trường timestamp: Trường này dài 32 bít Nó xác định thời điểm lấy mẫu

của byte đầu tiên trong gói dữ liệu RTP Phía nhận dùng timestamp để loại

bỏ thăng giáng độ trễ Timestamp được lấy từ đồng hồ lấy mẫu ở phía gửi

Ví dụ: timestamp tăng lên 1 sau mỗi chu kì lấy mẫu

 Trường synchronization source identifier (SSRC): Trường này dài 32

bit Nó xác định số định danh của luồng RTP Mỗi luồng trong một phiên RTP có một số SSRC phân biệt SSRC không phải là địa chỉ IP của phía

Trang 32

gửi mà là một số mà phía nguồn gán ngẫu nhiên khi một luồng mới bắt đầu

2.5 Hạn chế của TCP, UDP và RTP

Trong những năm gần đây, sự phát triển như vũ bão của các công nghệ mạng, các kỹ thuật nén, dụng lượng thiết bị lưu trữ đã làm bùng nổ các ứng dụng mới trên Internet, như là truyền dòng số liệu video(streaming video), điện thoại trên mạng IP (IP telephony), hội thảo từ xa (teleconferencing), trò chơi tương tác (interactive game), thế gới ảo (virtual world), học từ xa,… Những ứng dụng truyền thông đa phương tiện là các ứng dụng trên môi trường truyền thông liên tục, yêu cầu về băng thông, độ trễ, lỗi…khác với các

ứng dụng truyền thống như e-mail, Web, telnet, … Các ứng dụng truyền

thông đa phương tiện chủ yếu chứa dữ liệu audio và video là động, yêu cầu về băng thông cao, vô cùng nhạy với độ trễ và phụ thuộc vào ứng dụng mạng đa phương tiện cụ thể Mặt khác, các ứng dụng này cho phép một mức độ mất mát gói tin nhất định Sự mất mát này chỉ gây ra sự thực thi không đều trong audio hoặc video mà người dùng không nhận ra được và thường có thể được che dấu một phần hoặc hoàn toàn tuỳ theo từng chuẩn mã hoá khác nhau Điều này hoàn toàn ngược lại với các ứng dụng truyền thống, dữ liệu là tĩnh (text, image, v.v.) có thể bỏ qua độ trễ nhưng không chấp nhận sự mất mát

Để thấy được hạn chế của các giao thức trên trong các ứng dụng mới, chúng ta sẽ xét qua một ứng dụng cụ thể là hệ thống điện thoại hữu tuyến và khả năng sử dụng các giao thức trên trong truyền tải tín hiệu điện thoại của

hệ thống điện thoại trên mạng IP

Hệ thống điện thoại hữu tuyến được sử dụng từ hàng thế kỷ nay Đặc điểm của hệ thống này là sự chiếm dụng đường truyền khi hai đầu cuối sử dụng để đàm thoại, yêu cầu chặt chẽ về độ trễ và độ tin cậy Khi hệ thống mạng dựa trên nền IP phát triển rộng khắp (Internet), nẩy sinh nhu cầu truyền tải các tín hiệu điện thoại dựa trên mạng IP Nhu cầu này xuất phát từ một thực tế là khi thực hiện những cuộc gọi điện thoại đường dài, phải thiết lập

Trang 33

đường truyền như vậy là rất tốn kém và lãng phí Lãng phí ở điểm trong khi đàm thoại, không phải lúc nào hai đầu cuối liên tục sử dụng để thoại mà có những khoảng lặng, khi đó đường truyền không được sử dụng gì mà người dùng vẫn phải trả tiền Với việc dùng mạng Internet để truyền tải tín hiệu điện thoại, giá thành cuộc gọi sẽ rất rẻ, cuộc gọi đường dài trở thành cuộc gọi nội hạt do không phải thiết lập kênh truyền riêng giữa hai đầu cuối Tuy nhiên, các giao thức đã được phát triển và sử dụng là TCP và UDP có quá nhiều hạn chế, không thể khắc phục được, làm chất lượng cuộc gọi không tốt, dẫn tới nhu cầu phát triển giao thức mới

2.5.1 Hạn chế của TCP

TCP (Chuẩn hoá bởi IETF RFC 793) đã được phát triển trên 20 năm cho các ứng dụng đòi hỏi độ tin cậy trong truyền tải dữ liệu, độ trễ của dữ liệu vừa phải với thứ tự được đảm bảo chặt chẽ Ứng dụng truyền tín hiệu điện thoại cũng đòi hỏi độ tin cậy nhưng không nhất thiết phải đảm bảo tính tuần

tự của toàn bộ khối lượng dữ liệu truyền tải mà thường chỉ yêu cầu đảm bảo tính tuần tự trong từng phần của dữ liệu Sự đảm bảo tuần tự dữ liệu toàn bộ của TCP có thể làm tăng độ trễ của dữ liệu khi truyền tải

Trong cơ chế truyền tải dữ liệu của TCP, độ trễ lớn có thể xảy ra khi có lỗi thuộc loại HOLB (Head Of Line Blocking), đó 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 nào đó bị hỏng hay mất, thì sẽ phải truyền lại toàn bộ các gói tin kế sau

nó, dù các gói tin này có thể vẫn nguyên vẹn, dẫn đến độ trễ lớn của dữ liệu

Có thể thấy điều đó trong hình sau:

Hình 2.8 Lỗi HOLB

Trang 34

Lỗi HOLB làm tăng đáng kể độ trễ của gói tin Với một tổng đài điện thoại có thể thực hiện đồng thời hàng nghìn cuộc gọi thì độ trễ đó có thể là rất lớn do hiệu ứng “domino” và dẫn tới làm tê liệt hệ thống

TCP là giao thức hướng byte, không bảo toàn ranh giới thông điệp do vậy không phù hợp với việc truyền tải tín hiệu điện thoại dựa trên các thông điệp Ứng dụng do vậy phải có ghi nhớ ranh giới và cần các phương tiện để đảm bảo thông điệp được truyền tải trong thời gian chấp nhận được

TCP không hỗ trợ đa địa chỉ (multihome), do vậy khó đảm bảo tính sẵn sàng là một yêu cầu bắt buộc của hệ thống điện thoại Không có các kết nối

dự phòng, tổng đài điện thoại có thể bị tê liệt khi đường kết nối bị hỏng Ngoài ra, giới hạn của cơ chế truyền thông TCP (TCP socket) không đáp ứng được các yêu cầu truyền dữ liệu với độ sẵn sàng cao

Đối với các ứng dụng điện thoại, nhất là các dịch vụ điện thoại thương mại, yêu cầu về an ninh và phòng chống các tấn công có chủ ý làm tê liệt hệ thông là ưu tiên hàng đầu Nhưng TCP rất dễ bị tấn công dạng từ chối dịch vụ

- DoS như “SYN flooding”…

2.5.2 Hạn chế của UDP

UDP cũng có nhiều hạn chế khi xem xét sử dụng truyền tải tín hiệu điện thoại UDP là giao thức truyền tải dữ liệu không tin cậy, cũng như không tuần tự Bên gửi dữ liệu không thể biết dữ liệu được truyền có đến đích hay không, cũng như bên nhận có thể nhận lặp lại dữ liệu

Thứ hai, UDP không có cơ chế kiểm soát, phát hiện và tránh tắc nghẽn

Do vậy, UDP vẫn phát dữ liệu ngay cả khi mạng đã bị nghẽn, làm trầm trọng mức độ nghẽn và ảnh hưởng đến các ứng dụng khác sử dụng chung đường truyền Khi mạng bị tắc nghẽn, các gói tin sẽ tự động bị vứt bỏ, vì vậy, tính tin cậy của UDP càng không đảm bảo

Vì các lý do trên, UDP không thể đáp ứng được các yêu cầu và không phù hợp cho các ứng dụng tín hiệu điện thoại Tuy nhiên, UDP có ưu điểm là gọn nhẹ, đơn giản, hướng thông điệp nên để có thể đáp ứng nhu cầu tối ưu

Trang 35

- Phát hiện và phát lại gói tin bị mất

- Loại bỏ các thông điệp trùng lặp hay bị hỏng

- Phát hiện và có cơ chế chống tắc nghẽn

Việc xây dựng thêm để đáp ứng các yêu cầu trên sẽ làm giao thức trở lên phức tạp, cồng kênh, không khả thi, giải pháp như vậy là không phù hợp 2.5.3 Hạn chế của RTP

Mặc dù RTP được phát triển để phục vụ các ứng dụng thời gian thực và RTP dù được coi là lớp con của tầng giao vận thì RTP bản chất vẫn phải dùng UDP làm nền tảng để thực hiện việc truyền tải dữ liệu, do vậy nó sẽ kế thừa đầy đủ các điểm mạnh cũng như các hạn chế của UDP như phân tích ở phần hạn chế của UDP RTP có thể xem là một sự cải tiến UDP để phục vụ cho các ứng dụng thời gian thực Nhưng với sự không tin cậy trong truyền tải dữ liệu của UDP, RTP chỉ phù hợp với các ứng dụng cần đáp ứng yêu cầu về thời gian thực nhưng độ tin cậy có thể thấp Điều đó sẽ không phù hợp với các ứng dụng truyền tải tín hiệu điện thoại, chặt chẽ cả về thời gian và về độ tin cậy, cũng như độ an toàn

2.5.4 Yêu cầu cụ thể của giao thức mới

Chính từ các phân tích trên, nẩy sinh vấn đề cần phải phát triển một giao thức mới đáp ứng được các ứng dụng thực tiễn đang đòi hỏi, ngoài các ứng dụng về điện thoại còn là các ứng dụng đa phương tiện (multimedia) như Video trực tuyến, hội nghị truyền hình… các ứng dụng truyền tải tín hiệu điều khiển và kiểm soát dựa trên nền IP Giao thức này phải được xây dựng sẵn các tính năng:

- Truyền tải dữ liệu tin cậy và tuần tự

- Hỗ trợ Multihome, cho phép một kết nối có thể sử dụng nhiều đường truyền đồng thời, do vậy có tính sẵn sàng cao, dung lỗi đối với các lỗi vật

lý của đường truyền

- Hỗ trợ multistream, giảm tối thiểu ảnh hưởng của lỗi HoLB, nghĩa là cho phép truyền tải nhiều dòng nhỏ trong cùng một kết nối

- …

Trang 36

CHƯƠNG 3: GIAO THỨC SCTP (STREAM

CONTROL TRANSMISSION PROTOCOL)

Để cung cấp dịch vụ điện thoại thương mại với phạm vi rộng, cần phát triển giao thức truyền tải tín hiệu điện thoại qua hệ thông mạng IP đủ tin cậy Các kỹ sư của các công ty điện thoại lớn đã thấy được yêu cầu nghiêm ngặt về thời gian và độ tin cậy khi truyền tải các thông điệp tín hiệu điện thoại và đã tạo ra Hệ thống phát tín hiệu số 7 (SS7) để đáp ứng các yêu cầu trên Tuy nhiên, có những nghi ngờ về việc liệu giao thức TCP, vốn được đánh giá là tin cậy, có khả năng đáp ứng được yêu cầu trên không

Các kỹ sư của Telcordia đã thử nghiệm TCP/IP truyền tải tín hiệu điện thoại Họ đi đến kết luận rằng vấn đề chính trong việc sử dụng TCP/IP trong

Trang 37

việc cung cấp dịch vụ điện thoại thương mại là thiếu sự kiểm soát đồng hồ phát lại của TCP, nhất là ở mức người dùng và việc này nằm ở sự cài đặt TCP chứ không phải là hạn chế của giao thức Một hạn chế lớn nữa của TCP là ảnh hưởng của lỗi mất dữ liệu kiểu HoLB Trong các ứng dụng điện thoại lớn như các tổng đài xử lý, lỗi này trở thành vấn đề lớn trong việc làm trễ tín hiệu Lỗi này có thể gây hiệu ứng “domino” lên tất cả các cuộc gọi, tăng độ trễ vượt quá giới hạn cho phép Một hạn chế nữa của TCP là không hỗ trợ các đường kết nối dự phòng ở mức liên kết (link-leval redundancy support), đó là điểm hạn chế lớn nhất của TCP so với SS7 Trong SS7, sự kết nối giữa các đầu cuối thông qua một đường kết nối logic nhưng là một tập các đường kết nối vật lý, có thể lên đến 16 đường T1, do vậy khả năng dự phòng và sẵn sàng rất cao Vì là chuyển mạch gói, TCP không thể tự cố định đường đi trên đường vật lý Trong SS7, một kết nối nghĩa là „đường dẫn” (path) trong mạng IP Để

có khả năng phục hồi lỗi đường dẫn như SS7, các kỹ sư đã đi tới sự nhất trí rằng giao thức IP phục vụ cho truyền tải tín hiệu điện thoại cần hỗ trợ kết nối

dự phòng (path redundancy)

Các đề xuất cải tiến TCP để đáp ứng các yêu cầu trên đã được đưa ra bàn thảo và đều bị loại bỏ vì những hạn chế khác đã được IETF khuyến cáo trong các báo cáo như yêu cầu về truyền tải Unicast (Requirements for Unicast Transport/Session – RUTS) hay hỗ trợ nhiều phiên Unicast (Support for lots of Unicast Multiplexed Sessions – SLUM) mà TCP sẽ khó có thể sửa đổi để đáp ứng

Cuối cùng, các kỹ sư đi đến kết luận cần một giao thức mới Cuối năm

1998, tại hội thảo của IETF tại Orlando, Hoa Kỳ, Randall R Stewart và Qiaobing Xie đã đề nghị một giao thức mới là MDTP (Multi-Network Datagram Transmission Protocol), giải quyết được một số hạn chế của TCP MDTP ban đầu là một giao thức ở tầng ứng dụng và sử dụng UDP để truyền tải Các kỹ sư đã quyết định dùng giao thức MDTP để làm cơ sở để thiết kế giao thức mới Bản phác thảo (draft) đầu tiên của giao thức mới này được đệ trình vào tháng 9/1999

Trang 38

MDTP đã được sửa đổi và có tên mới là SCTP Thiết kế này đạt tới sự

ổn định cho đến năm 1999, ban giám đốc lĩnh vực truyền tải của IETF yêu cầu xem xét lại các thiết kế quan trọng Các kỹ sư đã thảo luận xem giao thức mới này nên chạy trên IP hay UDP IESG và TAD đều đề xuất chuyển SCTP chạy trực tiếp trên IP vì thấy được giá trị và ý nghĩa của giao thức mới này, cũng như tiềm năng rất to lớn của SCTP trong hàng loạt các ứng dụng rộng rãi ngoài truyền tải tín hiệu điện thoại Việc SCTP chạy trục tiếp trên IP với không gian cổng riêng là một giải pháp thiết kế đúng đắn

Ban đầu các kỹ sư thiết kế SCTP lưỡng lự trước đề xuất đó bởi như vậy SCTP sẽ phải được cài đặt trong nhân của các hệ điều hành Điều đó sẽ mất vài năm để các nhà cung cấp hệ điều hành có thể tích hợp SCTP vào nhân của

hệ điều hành của họ Ngoài ra, nó sẽ làm SCTP trở nên phức tạp hơn trong việc kiểm soát đồng hồ phát lại, là điểm mấu chốt để đảm bảo sự chặt chẽ về thời gian trong truyền tải tín hiệu điện thoại

Tuy nhiên, IESG đã thuyết phục nhóm thiết kế thấy được tương lai của giao thức SCTP chạy trên nền IP là kiến trúc đúng đắn, đem lại lợi ích về lâu dài, mặc dù điều đó có thể làm việc triển khai vào thực tế của SCTP chậm lại Cuối cùng, vào tháng 1/2000, SCTP chính thức được thiết kế để chạy trực tiếp trên IP Đến tháng 10/2000, SCTP chính thức được chuẩn hoá thông qua RFC 2960

3.2 Các tính năng nối bật của SCTP

Điểm khác biệt chính của giao thức SCTP và TCP - giao thức được sử dụng rộng rãi nhất hiện nay trên Internet- là TCP truyền tải số liệu dựa trên các gói số liệu (datagram), còn SCTP truyền tải số liệu theo các dòng (stream) Mỗi dòng là một luồng dữ liệu có hướng duy nhất trong kết nối

SCTP SCTP có khả năng đa dòng (Multistream- trong cùng một kết nối cho phép truyền tải nhiều dòng cùng lúc) và đa địa chỉ (multihoming - một thực

thể SCTP có cùng lúc nhiều địa chỉ tầng giao vận) STCP được thiết kế sẵn khả năng chống tắc nghẽn, "ngập lụt" mạng và các tấn công theo kiểu giả

Trang 39

kiểm soát thời gian, nhờ đó các ứng dụng có thể phát hiện nhanh các lỗi hay mất dữ liệu để truyền lại Hình sau cho thấy SCTP được sử dụng ở đâu trong

mô hình TCP/IP

Adaptation Protocol

IP Physical

Hình 3.1 Giống như TCP và UDP, SCTP cũng sử dụng giao thức IP Khả năng đa địa chỉ của giao thức SCTP (multihoming) tăng tính tin cậy trong vận chuyển dữ liệu Hình sau là một ví dụ về tính đa địa chỉ của SCTP Địa chỉ của nơi gửi hay nơi nhận các gói tin SCTP bao gồm địa chỉ IP

và địa chỉ cổng Các điểm gửi và nhận, do vậy sẽ lưu giữ danh sách các địa chỉ IP và địa chỉ cổng Khi một mạng bị đứt, ví dụ mạng X, nơi gửi vẫn có thể tiếp tục gửi dữ liệu thông qua mạng Y

Hình 3.2 Kết nối SCTP Được phát triển sau TCP và UDP, SCTP có các ưu điểm sau:

- Truyền tải dữ liệu không trùng lặp với mức độ lỗi chấp nhận

- Phân mảnh dữ liệu phù hợp với tốc độ truyền tải của mạng

- Có khả năng truyền tải đúng tuần tự chuỗi thông điệp của người dùng trong nhiều luồng cùng lúc SCTP có một tuỳ chọn cho việc phân phát đến đích đúng thứ tự các thông điệp của một người dùng cụ thể

Trang 40

- Có khả năng dung lỗi mạng nhờ hỗ trợ khả năng đa dòng và kết nối đa địa chỉ ở cả hai đầu của kết nối

SCTP được thiết kế hướng kết nối, nhưng khái niệm "kết nối" ở đây mạnh hơn so với kết nối của TCP nhờ được thiết kế đa dòng Kiến trúc cơ bản của SCTP được mô tả trong hình sau:

| |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 3.3 Kiến trúc SCTP 3.3.2 Các chức năng chính của SCTP

Các dịch vụ vận truyển dữ liệu của giao thức SCTP có thể phân chia thành một số dịch vụ sau:

Ngày đăng: 25/03/2015, 09:56

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w