Tải bản đầy đủ (.pdf) (112 trang)

nghiên cứu giao thức trong mạng voip

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.5 MB, 112 trang )











Sinh Viên Thực Hiện:

SV1: Trần Công Vĩnh Hưng
MSSV: 1122060423
SV2: Phan Thanh Tín
MSSV: 1122060482



































BỘ GIÁO DỤC VÀ ĐÀO TẠO
Đ
Đ


I
I


H
H



C
C


K
K




T
T
H
H
U
U


T
T


C
C
Ô
Ô
N
N

G
G


N
N
G
G
H
H




T
T
P
P
.
.
H
H
C
C
M
M


HUTECH UNIVERSITY OF TECHNOLOGY



NGHIÊN CỨU GIAO THỨC TRONG MẠNG VOIP




Ngành: Quản trị mạng
Giáo Viên Hướng Dẩn: Lê Gia Tự








HỒ CHÍ MINH - 2012


MỤC LỤC
Chương 1. Tổng quan về mạng VoIP 2
1.1. Tổng quan về mạng VoIP 2
1.2. Đặc tính của mạng VoIP 4
1.2.1. Ưu điểm 4
1.2.2. Nhược điểm 5
1.3. Yêu cầu chất lượng đối với VoIP 6
Chương 2. Các giao thức truyền tải trong VoIP 7
2.1. Giao thức IP 7
2.1.1. Giao thức IP phiên bản 4 (IPv4) 7
2.1.2. Giao thức IP phiên bản 6 (IPv6) 11

2.2. Giao thức TCP/IP 12
2.3. Giao thức UDP 17
2.4. Giao thức SCTP 17
2.5. Giao thức RTP 22
2.6. Giao thức RTCP 28
Chương 3. Giao thức báo hiệu VoIP 31
3.1. Giao thức báo hiệu H.323 31
3.1.1. Các thành phần trong mạng 31
3.1.2. Giao thức H.323 35
3.1.3. Thiết lập cuộc gọi VoIP sử dụng giao thức H.323 40
3.2. Giao thức SIP 44
3.2.1. Các thành phần trong mạng SIP 45
3.2.2. Bản tin SIP 47
3.2.3. Mô tả cuộc gọi SIP 52
3.3. So sánh giữa giao thức H.323 và SIP 54
Chương 4. Kết nối giữa mạng VoIP và PSTN 56


4.1. Mạng báo hiệu SS7 56
4.1.1. Các thành phần trong mạng báo hiệu SS7 56
4.1.2. Liên kết trong mạng SS7 57
4.1.3. Định tuyến trong mạng SS7 58
4.1.4. Giao thức trong mạng SS7 59
4.1.5. Các bước thiết lập cuộc gọi trong mạng SS7 64
4.2. Giao thức Sigtran 65
4.2.1. M2UA/ M2PA 66
4.2.2. M3UA 67
4.2.3. SUA 68
4.2.4. Kết nối mạng VoIP với mạng PSTN 69
Chương 5. Khảo sát giao thức cuộc gọi VoIP SIP – PSTN trên thực tế 74

5.1. Giới thiệu kiến trúc mạng VoIP được nghiên cứu 74
5.2. Giới thiệu chương trình Wireshark 75
5.3. Khảo sát giao thức cuộc gọi VoIP SIP – PSTN trên thực tế 76
Chương 6. Tiến hành bài lab 86
6.1. Mô Hình 86
6.2. Cấu hình các router 87
6.3. Bảng định tuyến của các router 91
6.4. Cài đặt polycom 102
6.5. Các gói tin bắt bằng Wireshare 103
6.6. Cấu hình QOS 107



DANH MỤC CÁC TỪ VIẾT TẮT
Kí hiệu
viết tắt
Viết đầy đủ
Ý nghĩa
VoIP
Voice over IP
Công nghệ truyền thoại trên mạng IP
PSTN
Public Switch
Telephone Network
Mạng điện thoại công cộng
PCM
Pulse-Code
Modulation
Bộ mã hóa mã xung
SNMP

Simple Network
Management Protocol
Giao thức quản trị mạng đơn giản
SIP
Session Initiation
Protocol
Giao thức thiết lập phiên
RTP
Real Time Protocol
Giap thức thời gian thực
RTCP
Real Time Control
Protocol
Giap thức điều khiển thời gian thực
ATM
Asynchronous
Transfer Mode
Chế độ truyền không đồng bộ
QoS
Quality of Service
Chất lượng dịch vụ
ToS
Type of Service
Kiểu dịch vụ
IP
Internet Protocol
Giao thức Internet
IPv4
IP version 4
Giao thức Internet phiên bản 4

IPv6
IP version 6
Giao thức Internet phiên bản 6
TCP
Transmission Control
Giao thức điều khiển truyền thông tin


Protocol
UDP
User Datagram
Protocol
Giao thức Datagram người dùng
SCTP
Stream Control
Transmission Protocol
Giao thức truyền điều khiển luồng
ITU-T
International
Telecommunication
Union-
Telecommunication
Standardization Sector
Hiệp hội viễn thông quốc tế
- Bộ phận chuẩn viễn thông
RAS
Register Admission
Status
Báo hiệu đăng kí, cấp phép, thông tin trạng thái
SAP

Session
Announcement
Protocol
Giao thức thông báo phiên
SDP
Session Description
Protocol
Giao thức mô tả phiên
SS7
Signaling System
No.7
Hệ thống báo hiệu số 7
SSP
Switch Service Point
Điểm dịch vụ chuyển mạch
SCP
Signal Control Point
Điểm điều khiển báo hiệu
STP
Signal Tranfer Point
Điểm truyền báo hiệu
MTP
Message Tranfer Part
Phần truyền bản tin
TCAP
Transaction
Capabilities
Application Part
Phần ứng dụng cung cấp giao dịch



TUP
Telephone User Part
Phần người dùng điện thoại
ISUP
ISDN User Part
Phần người dùng ISDN
ISDN
Integrated Services
Digital Network
Mạng tích hợp dịch vụ số
SCCP
Signaling Connection
Control Part
Phần điều khiển kết nối báo hiệu
M2UA
MTP2 User Adapter
Bộ chuyển đổi người dùng MTP2
M2PA
MTP L2 Peer-to-Peer
Adapter
Bộ chuyển đổi bản tin lớp 2 ngang hàng
M3UA
MTP3 User Adapter
Bộ chuyển đổi người dùng MTP3
IUA
ISDN User Adapter
Bộ chuyển đổi người dùng ISDN
SUA
SCCP User Adapter

Bộ chuyển đổi người dùng SCCP


1

MỞ ĐẦU
Mạng VoIP ra đời như là một cuộc các mạng của hệ thống viễn thông và xã hội.
Với những ưu điểm vượt trội, mạng VoIP đã chứng tỏ được sức sống và tính thực tiễn
cao của nó. Sự phát triển quá nhanh của mạng VoIP cũng đặt ra một vấn đề nan giải đó
là việc chuẩn hóa giữa các giao thức VoIP của nhiều nhà phát triển khác nhau. Mà
trong đó có hai giao thức được nhắc tới nhiều nhất đó là H.323 của ITU-T và SIP của
IETF. Như một tất yếu khách quan, mạng VoIP sẽ được chia thành nhiều miền giao
thức khác nhau. Nên vấn đề quan trọng để có thể triển khai được mạng VoIP vào thực
tế đó là phải hiểu được bản chất của các giao thức VoIP và quan trọng nhất đó là các
giao thức báo hiệu sử dụng trong VoIP. Tuy vâyh mới là điều kiện cần cho sự ra đời
còn vấn đề then chốt cho sự tồn tại và phát triển của mạng VoIP lại là vấn đề kết nối
với hệ thống viễn thông vốn có. Và cụ thể là vấn đề kết nối giữa mạng VoIP và mạng
PSTN. Và đây cũng là hai nội dung chính của bài Luân văn tốt nghiệp này.
Trên cơ sở nhận thức rõ sự quan trọng cũng như cách thức hoạt động của giao
thức trong mạng VoIP, thì phương pháp nghiên cứu của em trong nội dung Luận văn
chủ yếu đi sâu nghiên cứu thông qua tài liệu quy chuẩn về Giao thức VoIP (RFC của
IETF, các tài liệu chuẩn của ITU-T); đồng thời tham chiếu đến các tài liệu chuyên môn
sâu về VoIP để làm rõ các vấn đề cần giải quyết.
Từ những hiểu biết nghiên cứu lý thuyết khá sâu về chuyên môn, em sẽ tham
chiếu với mô hình thực tế. Từ đó làm rõ các vấn đề vướng mắc mà khi nghiên cứu lý
thuyết chưa thể giải quyết và lảm rõ được.


2
Chương 1. Tổng quan về mạng VoIP

1.1. Tổng quan về mạng VoIP
Đầu năm 1995 công ty VOCALTEC đưa ra thị trường sản phẩm phần mềm thực
hiện cuộc thoại qua Internet đầu tiên trên thế giới. Sau đó có nhiều công ty đã tham gia
vào lĩnh vực này. Tháng 3 năm 1996, VOLCALTEC kết hợp với DIALOGIC tung ra
thị trường sản phẩm kết nối mạng PSTN và Internet. Hiệp hội các nhà sản xuất thoại
qua mạng máy tính đã sớm ra đời và thực hiện chuẩn hoá dịch vụ thoại qua mạng
Internet. Việc truyền thoại qua internet đã gây được chú ý lớn trong những năm qua và
đã dần được ứng dụng rộng rãi trong thực tế.
Có thể định nghĩa: Voice over Internet Protocol (VoIP) là một công nghệ cho
phép truyền thoại sử dụng giao thức mạng IP, trên cơ sở hạ tầng sẵn có của mạng
Internet. VoIP là một trong những công nghệ viễn thông đang được quan tâm nhất hiện
nay không chỉ đối với các nhà khai thác, các nhà sản xuất mà còn cả với người sử dụng
dịch vụ. VoIP có thể vừa thực hiện cuộc gọi thoại như trên mạng điện thoại kênh
truyền thống (PSTN) đồng thời truyền dữ liệu trên cơ sở mạng truyền dữ liệu. Như
vậy, nó đã tận dụng được sức mạnh và sự phát triển vượt bậc của mạng IP vốn chỉ
được sử dụng để truyền dữ liệu thông thường.
Để có thể hiểu được những ưu điểm của VoIP mang lại, trước hết chúng ta đi vào
nghiên cứu sự khác biệt giữa mạng kênh PSTN hiện có với mạng chuyển mạch gói nói
chung và mạng VoIP nói riêng.
Kỹ thuật chuyển mạch kênh (Circuit Switching): Một đặc trưng nổi bật của kĩ
thuật này là hai trạm muốn trao đổi thông tin với nhau thì giữa chúng sẽ được thiết lập
một “ kênh” (circuit) cố định, kênh kết nối này được duy trì và dành riêng cho hai trạm
cho tới khi cuộc truyền tin kết thúc. Thông tin cuộc gọi là trong suốt. Quá trình thiết
lập cuộc gọi tiến hành gồm 3 giai đoạn:
 Giai đoạn thiết lập kêt nối: Thực chất quá trình này là liên kết các tuyến giữa
các trạm trên mạng thành một tuyến (kênh) duy nhất dành riêng cho cuộc gọi.
Kênh này đối với PSTN là 64kb/s (do bộ mã hóa PCM có tốc độ lấy mẫu tiếng
nói 8kb/s và được mã hóa 8 bit).
 Giai đoạn truyền tin: Thông tin cuộc gọi là trong suốt. Sự trong suốt thể hiện
qua hai yếu tố: thông tin không bị thay đổi khi truyền qua mạng và độ trễ nhỏ.

 Giai đoạn giải phóng (huỷ bỏ) kết nối: Sau khi cuộc gọi kết thúc, kênh sẽ được
giải phóng để phục vụ cho các cuộc gọi khác.


3
Qua đó, ta nhận thấy mạng chuyển mạch kênh có những ưu điểm nổi bật như
chất lượng đường truyền tốt, ổn định, có độ trễ nhỏ. Các thiết bị mạng của chuyển
mạch kênh đơn giản, có tính ổn định cao, chống nhiễu tốt. Nhưng ta cũng không thể
không nhắc tới những hạn chế của phương thức truyền dữ liệu này như:
 Sử dụng băng thông không hiệu quả: Tính không hiệu quả này thể hiện qua hai
yếu tố. Thứ nhất, độ rộng băng thông cố định 64k/s. Thứ hai là kênh là dành
riêng cho một cuộc gọi nhất định. Như vậy, ngay cả khi tín hiệu thoại là “lặng”
(không có dữ liệu) thì kênh vẫn không được chia sẻ cho cuộc gọi khác.
 Tính an toàn: Do tín hiệu thoại được gửi nguyên bản trên đường truyền nên rất
dễ bị nghe trộm. Ngoài ra, đường dây thuê bao hoàn toàn có thể bị lợi dụng để
an trộm cước viễn thông.
 Khả năng mở rộng của mạng kênh kém: Thứ nhất là do cơ sở hạ tầng khó năng
cấp và tương thích với các thiết bị cũ. Thứ hai, đó là hạn chế của hệ thống báo
hiệu vốn đã được sử dụng từ trước đó không có khả năng tùy biến cao.
Kỹ thuật chuyển mạch gói (Packet Switching): Trong chuyển mạch gói mỗi
bản tin được chia thành các gói tin (packet), có khuôn dạng được quy định trước.
Trong mỗi gói cũng có chứa thông tin điều khiển: địa chỉ trạm nguồn, địa chỉ trạm
đích và số thứ tự của gói tin,… Các thông tin điều khiển được tối thiểu, chứa các thông
tin mà mạng yêu cầu để có thể định tuyến được cho các gói tin qua mạng và đưa nó tới
đích. Tại mỗi node trên tuyến gói tin được nhận, nhớ và sau đó thì chuyển tiếp cho tới
chạm đích. Vì kỹ thuật chuyển mạch gói trong quá trình truyền tin có thể được định
tuyến động để truyền tin. Điều khó khăn nhất đối với chuyển mạch gói là việc tập hợp
các gói tin để tạo bản tin bản đầu đặc biệt là khi mà các gói tin được truyền theo nhiều
con đường khác nhau tới trạm đích. Chính vì lý do trên mà các gói tin cần phải được
đánh dấu số thứ tự, điều này có tác dụng, chống lặp, sửa sai và có thể truyền lại khi

hiên tượng mất gói xảy ra.
Các ưu điểm của chuyển mạch gói:
 Mềm dẻo và hiệu suất truyền tin cao: Hiệu suất sử dụng đường truyền rất cao vì
trong chuyển mạch gói không có khái niệm kênh cố định và dành riêng, mỗi
đường truyền giữa các node có thể được các trạm cùng chia sẻ cho để truyền
tin, các gói tin sắp hàng và truyền theo tốc độ rất nhanh trên đường truyền.


4
 Khả năng tryền ưu tiên: Chuyển mạch gói còn có thể sắp thứ tự cho các gói để
có thể truyền đi theo mức độ ưu tiên. Trong chuyển mạch gói số cuộc gọi bị từ
chối ít hơn nhưng phải chấp nhận một nhược điểm vi thời gian trễ sẽ tăng lên.
 Khả năng cung cấp nhiều dịch vụ thoại và phi thoại.
 Thích nghi tốt nếu như có lỗi xảy ra: Đặc tính này có được là nhờ khả năng
định tuyến động của mạng.
Bên cạnh những ưu điểm thì mạng chuyển mạch gói cũng bộ lộ những nhược
điểm như:
 Trễ đường truyền lớn: Do đi qua mỗi trạm, dữ liệu được lưu trữ, xử lý trước khi
được truyền đi.
 Độ tin cậy của mạng gói không cao, dễ xảy ra tắc nghẽn, lỗi mất bản tin
 Tính đa đường có thể gây là lặp bản tin, loop làm tăng lưu lượng mạng không
cần thiết.
 Tính bảo mật trên đường truyền chung là không cao.
1.2. Đặc tính của mạng VoIP
1.2.1. Ưu điểm
 Giảm chi phí: Đây là ưu điểm nổi bật của VoIP so với điện thoại đường dài
thông thường. Chi phí cuộc gọi đường dài chỉ bằng chi phí cho truy nhập
Internet. Một giá cước chung sẽ thực hiện được với mạng Internet và do đó tiết
kiệm đáng kể các dịch vụ thoại và fax. Sự chia sẻ chi phí thiết bị và thao tác
giữa những người sử dụng thoại và dữ liệu cũng tăng cường hiệu quả sử dụng

mạng. Đồng thời kỹ thuật nén thoại tiên tiến làm giảm tốc độ bit từ 64Kbps
xuống dưới 8Kbps, tức là một kênh 64Kbps lúc này có thể phục vụ đồng thời 8
kênh thoại độc lập. Như vậy, lý dó lớn nhất giúp cho chi phí thực hiện cuộc gọi
VoIP thấp chính là việc sử dụng tối ưu băng thông.
 Tích hợp dịch vụ nhiều dịch vụ: Do việc thiết kế cơ sở hạ tầng tích hợp nên có
khả năng hỗ trợ tất cả các hình thức thông tin cho phép chuẩn hoá tốt hơn và
giảm thiểu số thiết bị. Các tín hiệu báo hiệu, thoại và cả số liệu đều chia sẻ cùng
mạng IP. Tích hợp đa dịch vụ sẽ tiết kiệm chi phí đầu tư nhân lực, chi phí xây
dựng các mạng riêng rẽ.
 Thống nhất: Vì con người là nhân tố quan trọng nhưng cũng dễ sai lầm nhất
trong một mạng viễn thông, mọi cơ hội để hợp nhất các thao tác, loại bỏ các


5
điểm sai sót và thống nhất các điểm thanh toán sẽ rất có ích. Trong các tổ chức
kinh doanh, sự quản lý trên cơ sở SNMP (Simple Network Management
Protocol) có thể được cung cấp cho cả dịch vụ thoại và dữ liệu sử dụng VoIP.
Việc sử dụng thống nhất giao thức IP cho tất cả các ứng dụng hứa hẹn giảm bớt
phức tạp và tăng cường tính mềm dẻo. Các ứng dụng liên quan như dịch vụ
danh bạ và dịch vụ an ninh mạng có thể được chia sẻ dễ dàng hơn.
 Vấn đề quản lý băng thông: Trong PSTN, băng thông cung cấp cho một cuộc
gọi là cố định. Trong VoIP, băng thông được cung cấp một cách linh hoạt và
mềm dẻo hơn nhiều. Chất lượng của VOIP phụ thuộc vào nhiều yếu tố, quan
trọng nhất là băng thông. Do đó không có sự bắt buộc nào về mặt thông lượng
giữa các thiết bị đầu cuối mà chỉ có các chuẩn tuỳ vào băng thông có thể của
mình, bản thân các đầu cuối có thể tự điều chỉnh hệ số nén và do đó điều chỉnh
được chất lượng cuộc gọi.
 Nâng cao ứng dụng và khả năng mở rộng: Thoại và fax chỉ là các ứng dụng
khởi đầu cho VoIP, các lợi ích trong thời gian dài hơn được mong đợi từ các
ứng dụng đa phương tiện (multimedia) và đa dịch vụ. Tính linh hoạt của mạng

IP cho phép tạo ra nhiều tinh năng mới trong dịch vụ thoại. Đồng thời tính mềm
dẻo còn tạo khả năng mở rộng mạng và các dịch vụ.
 Tính bảo mật cao: VOIP được xây dựng trên nền tảng Internet vốn không an
toàn, do đó sẽ dẫn đến khả năng các thông tin có thể bị đánh cắp khi các gói tin
bị thu lượm hoặc định tuyến sai địa chỉ một cách cố ý khi chúng truyền trên
mạng. Các giao thức SIP (Session Ineitiation Protocol – giao thức khởi đầu
phiên) có thể thành mật mã và xác nhận các thông điệp báo hiệu đầu cuối. RTP
(Real Time Protocol) hỗ trợ mã thành mật mã của phương thức truyền thông
trên toàn tuyến được mã hoá thành mật mã đảm bảo truyền thông an toàn.
1.2.2. Nhược điểm
 Chất lượng dịch vụ chưa cao: Các mạng số liệu vốn dĩ không phải xây dựng
với mục đích truyền thoại thời gian thực, vì vậy khi truyền thoại qua mạng số
liệu cho chất lượng cuộc gọi không được đảm báo trong trường hợp mạng xảy
ra tắc nghẽn hoặc có độ trễ lớn. Tính thời gian thực của tín hiệu thoại đòi hỏi
chất lượng truyền dữ liệu cao và ổn định. Một yếu tố làm giảm chất lượng thoại
nữa là kỹ thuật nén để tiết kiệm đường truyền. Nếu nén xuống dung lượng càng
thấp thì kỹ thuật nén càng phức tạp, cho chất lượng không cao và đặc biệt là
thời gian xử lý sẽ lâu, gây trễ.


6
 Vấn đề tiếng vọng: Nếu như trong mạng thoại, độ trễ thấp nên tiếng vọng
không ảnh hưởng nhiều thì trong mạng IP, do trễ lớn nên tiếng vọng ảnh hưởng
nhiều đến chất lượng thoại.
 Kỹ thuật phức tạp: Truyền tín hiệu theo thời gian thực trên mạng chuyển
mạch gói là rất khó thực hiện do mất gói trong mạng là không thể tránh được và
độ trễ không cố định của các gói thông tin khi truyền trên mạng. Để có được
một dịch vụ thoại chấp nhận được, cần thiết phải có một kỹ thuật nén tín hiệu
đạt được những yêu cầu khắt khe: tỉ số nén lớn (để giảm được tốc độ bit
xuống), có khả năng suy đoán và tạo lại thông tin của các gói bị thất lạc Tốc

độ xử lý của các bộ Codec (Coder and Decoder) phải đủ nhanh để không làm
cuộc đàm thoại bị gián đoạn. Đồng thời cơ sở hạ tầng của mạng cũng cần được
nâng cấp lên các công nghệ mới như Frame Relay, ATM, để có tốc độ cao
hơn hoặc phải có một cơ chế thực hiện chức năng QoS (Quality of Service). Tất
cả các điều này làm cho kỹ thuật thực hiện điện thoại IP trở nên phức tạp và
không thể thực hiện được trong những năm trước đây
Ngoài ra có thể kể đến tính phức tạp của kỹ thuật và vấn đề bảo mật thông tin (do
Internet nói riêng và mạng IP nói chung vốn có tính rộng khắp và hỗn hợp, không có
gì bảo đảm rằng thông tin cá nhân được giữ bí mật).
1.3. Yêu cầu chất lượng đối với VoIP
Từ những nhược điểm chính của mạng chuyển mạch gói đã đặt ra những yêu cầu
cho VoIP như sau:
 Chất lượng thoại phải ổn định, độ trễ chấp nhận được.
 Mạng IP cơ bản phải đáp ứng được những tiêu chí hoạt động khắt khe gồm
giảm thiểu việc không chấp nhận cuộc gọi, mất mát gói và mất liên lạc. Điều
này đòi hỏi ngay cả trong trường hợp mạng bị nghẽn hoặc khi nhiều người sử
dụng chung tài nguyên của mạng cùng một lúc.
 Việc báo hiệu có thể tương tác được với báo hiệu của mạng PSTN.
 Quản lý hệ thống an toàn, địa chỉ hoá và thanh toán phải được cung cấp, tốt
nhất là được hợp nhất với các hệ thống hỗ trợ hoạt động PSTN.


7
Chương 2. Các giao thức truyền tải trong VoIP
2.1. Giao thức IP
Giao thức mạng IP được thiết kế để liên kết các mạng máy tính sử dụng phương
pháp truyền thông và nhận dữ liệu dưới dạng gói. Giao thức IP cho phép truyền các
gói dữ liệu từ điểm nguồn tới điểm đích có địa chỉ cố định. Đơn vị dữ liệu được trao
đổi là các gói dữ liệu. Các chức năng được thực hiện ở IP là:
 Đánh địa chỉ: tất cả các host trong mạng và trong liên mạng đều được cung cấp

một địa chỉ IP duy nhất. Theo giao thức IP version 4, mỗi địa chỉ IP gồm 32bit
và được chia làm 5 lớp A,B,C,D,E. Các lớp A,B,C được sử dụng để định danh
các host trên các mạng. Lớp được sử dụng cho quá trình truyền đa điểm còn lớp
E để dự phòng.
 Định tuyến: giúp xác định đường đi (tuyến)cho gói tin khi được truyền trên
mạng. Nó giúp lựa chọn đường đi tối ưu cho các gói dữ liệu. Nếu hai host cần
liên lạc không nằm trên một subnet thì bảng định tuyến sẽ được sử dụng để
quyết định việc chuyển dữ liệu và các bộ định tuyến thường xuyên trao đổi và
cập nhật thông tin trong bảng định tuyến tùy thuộc vào phương pháp định tuyến
được sử dụng.
 Truyền đa điểm:
Hiện nay có ba cách truyền các gói IP là:
o Truyền một điểm đích (unicast): các gói tin được truyền từ host nguồn
đến host đích duy nhất.
o Truyền quảng bá: gói tin được truyền đến tất cả các host trong mạng.
o Truyền đa điểm: gói tin được gửi đến một số các host nhất định trong
mạng
Ngoài ra, giao thức IP còn cung cấp khả năng phân mảnh dữ liệu lớn thành các
gói có kích thước nhỏ hơn để truyền qua mạng.
2.1.1. Giao thức IP phiên bản 4 (IPv4)
Cấu trúc của header IPv4 như sau:


8

Hình 1. Cấu trúc gói IP phiên bản 4
Ý nghĩa các trường như sau:
 Version: độ rộng 4 bit mô tả phiên bản IP
 IP Header Length(IHL): có độ rộng 4 bit, xác định độ rộng của phần tiêu đề
của gói tin IP

 Type of Service: có độ rộng 8 bit, xác định các tham số chỉ dịch vụ sử dụng
khi truyền gói tin qua mạng. Rất nhiều mạng cung cấp các dịch vụ về độ ưu
tiên lưu thông, đặc biệt khi mạng bị quá tải. Việc lựa chọn này đảm bảo
đường truyền đạt ba tiêu chuẩn là thời gian trễ, độ tin cậy, bộ thông suốt của
gói tin. Được mô tả cụ thể như sau:
o Quyền ưu tiên (3 bit)
o Độ trễ D (1 bit)
 D=0: độ trễ bình thường
 D=1: độ trễ cao
o Thông lượng T (1bit)
 T=0: thông lượng bình thường
 T=1: thông lượng cao
o Độ tin cậy (1bit):
 R=0: độ tin cậy bình thường
 R=1: độ tin cậy cao
 Total Length (16bit): xác định độ dài của gói tin kể cả phần tiêu đề. Có giá
trị tối đa là 65535 byte. Thông thường các host chỉ có thể xử lý gói tin có độ
dài là 576 byte gồm 512 byte dữ liệu và 64 byte tiêu đề. Các host chỉ có thể
gửi các gói tin cố độ dài lớn hơn 576 byte khi biết trước là host đích có khả
năng xử lý gói này.
 Indentification: cùng với trường địa chỉ nguồn, đích dùng để định danh duy
nhất cho một gói tin trong khoảng thời gian nó tồn tại.


9
 Flag : có độ rộng 3 bit, chỉ độ phân đoạn của gói tin
o Bit 0: luôn bằng 0
o Bit 1 (DF):
 DF=0: có phân đoạn
 DF=1: không phân đoạn

o Bit 2 (MF):
 MF=0: mảnh cuối cùng
 MF=1: không phải mảnh cuối cùng
 Fragment Offset: độ rộng 13 bit, chỉ rõ vị trí của phân mảnh trong gói tin
tính theo đơn vị 64bit.
 Time to Live: độ rộng 8 bit, quy định thời gian tồn tại của gói tin.
 Protocol: độ rộng 8 bit, xác định giao thức tầng giao vận. Ví dụ
o Protocol = 6: giao thức TCP
o Protocol=17: giao thức UDP
 Header Checksum: độ rộng 16 bit, mã kiểm tra CRC-16 của phần tiêu đề
cho phát hiệnlỗi
 Source Address: độ rộng 32 bit, xác định địa chỉ nguồn.
 Destination Address: độ rộng 32 bit, xác định địa chỉ đích
 Option: có độ dài thay đổi để lưu thông tin tùy biến của người dùng
 Padding: có độ dài thay đổi, đảm bảo độ dài của header luôn là bội 32 bit
 Data: có độ dài tối đa là 65535 byte chứa dữ liệu lớp cao hơn.
Đánh địa chỉ trong IPv4
Hệ thống địa chỉ này được thiết kế mềm dẻo qua một sự phân lớp, có 5 lớp địa
chỉ IP là: A, B, C, D, E. Sự khác nhau cơ bản giữa các lớp địa chỉ này là ở khả năng tổ
chức các cấu trúc con của nó.
Lớp
Nhận dạng
Địa chỉ đầu
Địa chỉ cuối
Mặt nạ mạng
A
0xxx
0.0.0.0
127.255.255.255
255.0.0.0

B
10xx
128.0.0.0
191.255.255.255
255.255.0.0
C
110x
192.0.0.0
223.255.255.255
255.255.255.0
D
1110
224.0.0.0
239.255.255.255



10
E
1111
240.0.0.0
255.255.255.255


Địa chỉ lớp A: Lớp A sử dụng byte đầu tiên của 4 byte để đánh địa chỉ mạng.
Như hình trên, nó được nhận ra bởi bit đầu tiên trong byte đầu tiên của địa chỉ có trị
giá 0. Ba byte còn lại được sử dụng để đánh địa chỉ máy trong mạng. Có 126 địa chỉ
lớp A với số máy tính trong mạng là 2563 – 2 = 16.777.214 máy cho mỗi địa chỉ lớp
A. Địa chỉ lớp A thường được cấp cho những tổ chức có số lượng máy tính lớn.
Nguyên nhân chỉ có 126 network trong khi dùng 8 bit vì bit đầu tiên mang giá trị 0

dùng để định nghĩa lớp A. Do vậy còn lại 7 bit đánh từ 0 – 127, tuy nhiên người ta
không sử dụng một địa chỉ chứa toàn các con số 1 hoặc 0 nên chỉ còn lại 126 mạng lớp
A được sử dụng. Giá trị byte đầu tiên của lớp A sẽ luôn nằm trong khoảng từ 1 tới 126,
mỗi một byte trong 3 byte còn lại sẽ có giá trị trong khoảng 1 đến 254.
Địa chỉ lớp B: Một địa chỉ lớp B được nhận ra bởi 2 bit đầu tiên của byte thứ
nhất mang giá trị 10. Lớp B sử dụng 2 byte đầu tiên của 4 byte để đánh địa chỉ mạng
và 2 byte cuối đánh địa chỉ máy trong mạng. Có 64*256 – 2 = 16.128 địa chỉ mạng lớp
B với 65.534 máy cho mỗi địa chỉ lớp B.
Địa chỉ lớp C: Một số tổ chức có quy mô nhỏ có thể xin cấp phát địa chỉ lớp C.
Một địa chỉ lớp C được nhận ra với 3 bit đầu mạng giá trị 110. Mạng lớp C sử dụng 3
byte đầu để đánh địa chỉ mạng và 1 byte cuối đánh địa chỉ máy trong mạng. Có
2.097.150 địa chỉ lớp C, mỗi địa chỉ lớp C có 254 máy.
Từ các lớp mạng cơ bản trên, ta có thể thực hiện chia subnet cho mạng để tạo
thành các mạng con (subnet) tùy theo yêu cầu cụ thể. Phần dùng để đánh mạng con
được lấy để đánh subnet được lấy từ phần dành đánh địa chỉ host.

Hình 2. Quy các địa chỉ IP khi chia subnet
Khi đó, để xác định địa chỉ mạng của trạm, ta cần phải biết mặt nạ mạng tương
ứng với IP được chia. Việc tính toán ra địa chỉ mạng của IP được tính như sau:

Dạng thập phân
Dạng nhị phân


11
Địa chỉ IP của trạm
192.168.5.130
11000000.10101000.00000101.10000010
Mặt nạ mạng
255.255.255.192

11111111.11111111.11111111.11000000
Địa chỉ mạng
192.168.5.128
11000000.10101000.00000101.10000000
2.1.2. Giao thức IP phiên bản 6 (IPv6)
Trong IPv4 trường địa chỉ nguồn và đích có độ dài 32 bit nên không thể đáp ứng
đủ nhu cầu đánh địa chỉ của mạng. Ngoài ra, do sự phát triển của Internet, bảng định
tuyến của router không ngừng lớn lên và khả năng định tuyến đã bộc lộ hạn chế. Yêu
cầu nâng cao chất lượng dịch vụ và bảo mật được đặt ra. IPv6 là giao thức Internet
mới được kế thừa đặc điểm chính của IPv4 và có nhiều cải tiến để khắc phục những
hạn chế:
 Tăng kích thước địa chỉ từ 32 bit lên 128 bit
 Phạm vi định tuyến đa điểm: giao thức này hỗ trợ phương thức truyền mới
“anycasting”. Phương thức này sử dụng để gửi các gói tin đến một nhóm
xác định.
 Phần tiều đề của IPv6 được đơn giản hóa hơn IPv4. Điều đó cho phép xử lý
gói tin nhanh hơn. Ngoài ra, IPv6 còn cung cấp một số tiêu đề phụ cho phép
giao thức IPv6 có thể sử dụng một cách mềm dẻo hơn hẳn so với IPv4.
Cấu trúc gói tin IPv6 như sau:

Hình 3. Cấu trúc gói tin IP phiên bản 6
Ý nghĩa các trường như sau:
 Version: có giá trị bằng 6 với IPv6
 Traffic Class: độ dài 8 bit, xác định độ ưu tiên
 Flow Label: độ dài 20bit, xác định các gói dữ liệu được ưu tiên trên đường
truyền nếu có xảy ra tranh chấp, thường được sử dụng cho các dịch vụ đòi
hỏi chất lượng dịch vụ cao hay thời gian thực.


12

 Payload Length: độ dài 16 bit, xác định độ dài phần dữ liệu không tính phần
tiêu đề.
 Hop Limit: độ dài 8 bit, giống như trường Time to Live của IPv4
 Source Address và Destination Address giống như IPv4 nhưng có độ dài
128bit.
 Data: có độ dài tối đa là 65535 byte.
2.2. Giao thức TCP/IP
Giao thức TCP là giao thức điều khiển truyền thông hướng kết nối và có độ tin
cậy cao. TCP cung cấp là giao thức được xây dựng phức tạp hơn UDP rất nhiều, ngoài
các dịch vụ như UDP, TCP còn cung cấp các dịch vụ khác cho ứng dụng. Dịch vụ
quan trọng nhất là truyền dữ liệu có độ tin cậy cao, các cơ chế điều khiển lưu lượng và
kiểm soát tắc nghẽn, đánh số thứ tự và số thứ tự bên nhận, bộ định thời, Cụ thể TCP
cung cấp các dịch vụ sau:
 Thiết lập liên kết: TCP là giao thức hướng kết nối, trước khi gửi dữ liệu cần
thiết lập trước đường truyền (chính là 1 liên kết lôgic giữa hai thực thể TCP),
thủ tục này gọi là thủ tục “bắt tay”. Liên kết được thiết lập phải đảm bảo tính
chính xác và độ tin cậy, một liên kết khi không còn đủ độ tin cậy thì sẽ bị huỷ
bỏ và thiết lập lại. Khi quá trình truyền tin hoàn thành thì kết nối được giải
phóng .
 Cung cấp đường truyền hai chiều (song công - full duplex).
 Đảm bảo độ tin cậy: Giao thức TCP cung cấp các tham số kiểm tra cùng với số
thứ tự (Sequence number), xác nhận (ACKnowledge ) và kiểm tra lỗi tổng
(Checksum). Các segment được đánh số tuần tự, cách làm này nhằm mục đích
loại bỏ các segment bị trùng lặp hay không đúng yêu cầu. Tại bên thu, khi nhận
được các segment thực hiện việc kiểm tra nhờ trường checksum. Nếu segment
nhận được không lỗi hay lặp, tín hiệu ACK sẽ được gửi trả lại bên phát để
khẳng định dữ liệu nhận tốt. Ngược lại nếu segment nhận được bị lỗi hay bị
trùng lặp thì segment này sẽ được loại bỏ và bên thu sẽ gửi một tin hiệu yêu cầu
bên phát phát lại segment bị lỗi đó, bằng cơ chế này sẽ đảm bảo tính chính xác
và độ tin cậy cho dữ liệu.

 Cung cấp các dịch vụ (chức năng) kiểm tra đường truyền, cho phép điều khiển
luồng và điều khiển tắc nghẽn.


13
Trong ứng dụng VoIP, giao thức TCP được sử dụng làm giao thức truyền báo
hiệu chứ không phục vụ việc truyền tín hiệu thoại. Lý do là vì phần mào đàu của TCP
lớn

Hình 4. Cấu trúc đơn vị dữ liệu TCP
Ý nghĩa các trường như sau:
 Source Port: độ dài 16 bit, xác định số hiệu cổng của trạm nguồn
 Destination Port: độ dài 16 bit, xác định số hiệu cổng của trạm đích
 Sequence Number: độ dài 32 bit. Số hiệu của byte đầu tiên của segment từ
khi bit SYN được thiết lập. Nếu bit SYN được thiết lập thì Sequence
Number là số hiệu tuần tự khởi đầu (ISN) và byte dữ liệu đầu tiên là ISN+1
 ACK Number: độ dài 32 bit, xác định số hiệu của segment tiếp theo mà trạm
nguồn đang chờ được xác nhận
 Data Offset: độ dài 4 bit, xác định vị trí bắt đầu của khối dữ liệu lớp trên
trong đơn vị dữ liệu TCP.
 Control bit:
o URG: vùng Urgent Pointer có hiệu lực
o ACK: vùng ACK có hiệu lực
o PSH: chức năng Push
o RST: khởi động lại liên kết
o SYN: đồng bộ hóa các số hiệu tuần tự
o FIN: không còn số liệu từ trạm cuối
 Window: cấp phát thẻ bài để kiểm soát luồng dữ liệu theo cơ chế cửa sổ.
Đây chính là số lượng các byte dữ liệu bắt đầu từ byte được chỉ ra trong
vùng ACK mà trạm nguồn sẵn sàng nhận.

 Checksum: mã CRC-16


14
 Urgent Pointer: con trỏ trỏe tới số hiệu tuần tự của byte đi sau dữ liệu khẩn,
cho bên nhận biết được độ dài của dữ liệu khẩn. Vùng này có hiệu lực khi
bit URG được thiết lập.
 Option: có độ dài thay đổi, khai báo các lựa chọn của TCP trong đó có độ
dài tối đa của vùng dữ liệu trong một đơn vị dữ liệu segment.
 Padding: đảm bảo phần tiêu đề của TCP luôn là bội 32 bit.
 TCP data: chứa dữ liệu lớp trên có giá trị tối đa là 536 byte. Giá trị này có
thể thay đổi nhờ khai báo trong Option
Thiết lập và hủy kết nối TCP
Để hiểu được chức năng của hàm connect, accept, close và giúp debug các ứng
dụng TCP bằng chương trình netstat, chúng ta cần hiểu làm thế nào để thiết lập và hủy
một kết nối TCP, cũng như trạng thái của TCP.

Hình 5. Bắt tay 3 bước trong thiết lập kết nối TCP
Giản đồ trên đây diễn ra khi một kết nối TCP được thiết lập:
1) Server đã sẵn sàng accept một kết nối tới. Công việc này được thực hiện bằng
việc gọi hàm socket, bind, listen. Và được gọi là “passive open” (mở ở trạng
thái bị động)
2) Client thiết lập một “active open” bằng cách gọi hàm connect. Khi đó, phía
client sẽ gửi SYN để báo cho server biết số thứ tự của dữ liệu client sẽ gửi
trong kết nối. Thông thường, SYN không chứa dữ liệu, chỉ chứa tiêu đề IP,
TCP và có thể là các tùy chọn TCP.
3) Server xác nhận SYN của server. Nó sẽ SYN với số thứ tự cho dữ liệu của nó.
Server gửi SYN và ACK cho SYN của client trong cùng một segment.
4) Client xác nhận SYN của server.
Số gói tối thiểu được truyền là ba nên được gọi là there-way handshake (bắt tay 3

bước).


15
Hủy kết nối TCP
Trong khi chỉ cần ba segment để thiết lập một kết nối TCP thì cần bốn segment
để hủy kết nối.
1) Một ứng dụng gọi hàm close trước, chúng ta gọi đầu cuối này thực hiện active-
close. Đầu cuối này sẽ gửi FIN segment để kế thúc việc gửi dữ liệu
2) Đầu cuối khác nhận FIN thực hiện “passive close”. FIN nhận được gọi xác
nhận bởi TCP. FIN nhận được cũng được truyền lên lớp ứng dụng như là end-
of-file(sau khi các dữ liệu khác đã được nhận đủ). Khi nhận được FIN nghĩa là
ứng dụng không nhận thêm dữ liệu nữa.
3) Ứng dụng sau khi nhận được end-of-file sẽ close (đóng) socket lại. TCP của nó
sẽ gửi FIN.
4) TCP của phía yêu cầu hủy kết nối nhận bản tin FIN cuối cùng, xác nhận FIN.

Hình 6. Hủy kết nối TCP
Hoạt động của TCP trong thiết lập và hủy cuộc gọi được mô tả bằng lược đồ
trạng thái. Có 11 trạng thái khác nhau cho một kết nối và luật cho phép chuyển từ
trạng thái này sang trạng thái khác dựa trên cơ sở trạng thái đã có. Ví dụ: nếu một ứng
dụng thiết lập một “active open” ở trạng thái CLOSED, TCP gửi SYN và trạng thái
mới là SYN_SENT. Nếu TCP sau đó nhận được SYN với ACK, nó sẽ gửi ACK và
một trạng thái mới ESTABLISH. Trạng thái cuối khi mà việc truyền dữ liệu diễn ra.
Hai đường mũi tên chỉ từ trạng thái ESTABLISHED tới trạng thái ngắt kết nối. Nếu
ứng dụng gọi close trước khi nhận FIN, thì trạng thái là FIN_WAIT1. Nhưng nếu ứng
dụng nhận FIN trong khi đang ESTABLISHED, trạng thái sẽ là CLOSE_WAIT.
Một lý do cần thiết phải hiểu được lược đồ trạng thái là để hiểu được 11 trạng
thái TCP với tên của nó. Trạng thái này được hiện bởi netstat, là một công cụ hữu hiệu
trong việc debug ứng client/server.



16

Hình 7. Sơ đồ thay đổi trạng thái thiết lập TCP
Truyền các gói

Hình 8. Truyền dữ liệu với TCP
Hình trên biễu diễn việc truyền gói thực diễn ra cho một TCP hoàn chỉnh: thiết lập kết
nối, truyền dữ liệu, hủy kết nối. Client trong ví dụ này thông báo MSS=536(xác định
kích thước buffer của nó) và server có kích thước buffer là 1460. Với mỗi kết nối được
thiết lập, client tạo một yêu cầu và gửi nó tới server. Yêu cầu này được gắn trọn trong
chỉ một TCP segment. Server xử lý yêu cầu và gửi trả lời (kích thước nhỏ hơn 536).
Hai gói dữ liệu được biểu diễn bằng đường mũi tên đậm. Chú ý rằng ACK của yêu cầu


17
của client được gửi kèm với trả lời của server. Cách thức này được gọi là
piggybacking và thường được thực hiện khi thời gian server xử lý và trả lời nhỏ hơn
200ms. Nếu lâu hơn, thì ACK sẽ được gửi trước khi gửi trả lời. Một điều quan trọng
trong mô hình này là: Nếu chỉ để gửi một segment yêu cầu đi và nhận một segment trả
lời thì cần tám segment khác. Nếu UDP được sử dụng, chỉ có hai segment được
truyền: yêu cầu, trả lời. Nhưng chuyển từ TCP sang UDP thì chúng ta không còn tính
tin cậy mà TCP cung cấp cho ứng dụng nữa, việc đảm bảo truyền tin sẽ do chương
trình UDP thực hiện. Một yếu tố quan trọng nữa của TCP đó là điều khiển tắc nghẽn
mà ở UDP không có. Các ứng dụng thường sử dụng UDP với các dữ liệu nhỏ cần tốc
độ truyền cao(độ trễ nhỏ).
2.3. Giao thức UDP
UDP là giao thức lớp Giao vận đơn giản nhất, được mô tả trong RFC 768. Ứng
dụng gửi bản tin tới socket UDP, sau đó được đóng gói thành một UDP paragram và

được truyền xuống lớp IP để gửi tới đích. Gói tin UDP được truyền mà không đảm bảo
rằng nó có thể tới đích, giữ đúng thứ tự và đến đích một lần. Vấn đề của người lập
trình mạng với UDP là đảm bảo tính tin cậy. Nếu datagram tới đích nhưng trường
kiểm tra tổng (checksum) có lỗi hay gói tin bị drop ở trên mạng thì nó sẽ được truyền
lại. Nếu muốn xác định được rằng gói tin đã tới đích thì cần rất nhiều tính năng trong
ứng dụng: ACK từ đầu cuối khác, điều khiển việc truyền lại, Mỗi một UDP datagram
có chiều dài và được truyền lên cùng với dữ liệu cho lớp ứng dụng. Điều này khác với
TCP là giao thức luồng byte (byte-stream protocol). Chúng ta cũng có thể nói: UDP
cung cấp dịch vụ không hướng kết nối. Ví dụ, client UDP có thể tạo một socket và gửi
datagram tới server này và sau đó gửi một datagram khác cũng tới server khác. Cũng
giống như server UDP có thể nhận nhiều datagram trên một socket UDP từ các client
khác nhau.

Hình 9. Cấu trúc đơn vị dữ liệu UDP
2.4. Giao thức SCTP
Năm 1998, nhóm làm việc của IETF được tập hợp để thiết kế một cơ chế giao
vận tin cậy để truyền báo hiệu điều khiển cuộc gọi trên mạng Internet. Kết quả là


18
Sigtran đã được ra đời cho phép truyền các bản tin SS7 trên mạng IP. Vấn đề chính mà
Sigtran cần giải quyết chính mà TCP chưa đáp ứng được đó là:
 Head of line blocking: Vấn đề xảy ra khi gửi các bản tin độc lập trên kết nối
TCP đã được thiết lập thì các bản tin được nhận sau bị làm trễ và lưu trong bộ
đệm của tầng giao vận của phía nhận tới khi các bản tin trước đó bị mất được
truyền lại và tới đích. Mà ở đó, các bản tin sau thường thiết lập các cuộc gọi độc
lập. Như vậy, trễ ở các bản tin sau là nguyên nhân sinh ra timeout trong điều
khiển cuộc gọi gây ra lỗi không mong muốn trong quá trình điều khiển cuộc
gọi.
 Multihoming: Khi một trạm với nhiều đường truy cập Internet với mục đích dự

phòng, không muốn đợi để định tuyến trong khi mạng bị tắc nghẽn để truyền tin
với trạm ngang hàng với nó. Với báo hiệu cuộc gọi, trễ này là không thể chấp
nhận được khi có nhiều đường đã có. Do TCP chỉ gắn một đường kết nối giữa
hai đầu cuối nên sẽ không thể giải quyết được vấn đề này.
Cân nhắc những vấn đề này, Sigtran được thiết kế như là một giao thức tầng giao
vận mới cho phép mang báo hiệu cuộc gọi trên mạng IP. Đồng thời, IETF mở rộng
phạm vi của nhóm thiết kế từ một nhóm nhỏ đến một nhóm chuyên trách để thiết kế
một giao thức giao vận có thể phục vụ nhiều mục đích và hoạt động tốt với nhiều ứng
dụng. Và khi đó SCTP ra đời với các đặc tính sau:
 Multistreaming: SCTP hỗ trợ đa luồng (stream) bản tin độc lập với nhau
trên một liên kết SCTP. Mỗi bản tin được gửi trên đó được gán cho một
luồng riêng. Tất cả dữ liệu trong một luồng được nhận theo thứ tự với dữ
liệu khác trong luồng. Dữ liệu trong các luồng khác nhau thì không có đặc
tính này. Do vậy, SCTP cung cấp cơ chế cho phép việc nhận dữ liệu có thứ
tự một cách cục bộ. Như vậy là nó đã giải quyết được vấn đề head-of-line
blocking. Ứng dụng của đa luồng (multistreaming) có thể hỗ trợ các ứng
dụng liên quan tới hợp kênh dữ liệu như thoại, văn bản, video trên một
đường truyền giữa hai đầu cuối thay vì mở nhiều kết nối TCP cho mỗi
luồng.
 Multihoming: giữa hai đầu cuối trong quá trình thiết lập liên kết có thể xác
định liên kết đa điểm. Việc có nhiều giao diện cho phép dữ liệu được tự
động gửi theo nhiều địa chỉ khác nhau khi có lỗi xảy ra. Điều này là hoàn
toàn không thể thực hiện được ở TCP vì nó gắn kết một đầu cuối với một
giao diện nhất định. Nếu như có lỗi xảy ra, tất cả các kết nối được gắn với

×