Luận văn
Hệ thống đo các thông số mạng
trên đường truyền băng hẹp điều
khiển qua Internet
Hệ thống đo các thông số mạng trên đường truyền băng hẹp điều khiển qua Internet
Lời nói đầu
Cùng với sự phát triển của Internet thì cơ sở hạ tầng truyền dẫn thông tin ở Việt
Nam đang ngày càng được mở rộng. Sự phát triển các hệ thống truyền dẫn này đòi hỏi
cao về việc bảo trì và sửa chữa đường truyền do thiếu các thiết bị chuyên dụng thực hiện
việc kiểm tra kết nối và chất lượng đường truyền. Việc sử dụng hệ thống máy tính – máy
tính (Personal Computer – PC) có thể đáp ứng được điều này nhưng do chi phí xây dựng
hệ thống và bảo trì lớn, tính linh hoạt kém dẫn đến việc triển khai hệ thống không có
hiệu quả kinh tế.
Đề tài của chúng em là “hệ thống đo đạc các thông số mạng trên đường truyền
băng hẹp điều khiển qua Internet” nhằm mục đích khắc phục những ý trên. Dưới sự dẫn
dắt và chỉ bảo phương hướng thực hiện công việc một cách tận tình của thầy hướng dẫn,
chúng em đã tiến hành nghiên cứu phát triển xây dựng kịch bản, xây dựng chương trình
đo các thông số và mở rộng việc điều khiển qua Internet.
Chúng em xin được gửi lời cảm ơn sâu sắc đến TS. Phạm Văn Bình – Trưởng
bộ môn mạch và xử lý tín hiệu – Viện Điện Tử Viễn Thông – Đại Học Bách Khoa Hà
Nội. Trong quá trình làm đồ án, chúng em đã được TS. Phạm Văn Bình tận tình giúp
đỡ và quan tâm, cũng như cung cấp các tài liệu quý để chúng em hoàn thành công việc
được giao.
Chúng em cũng xin gửi lời cảm ơn đến tập thể giảng viên Viện Điện Tử Viễn
Thông – ĐH Bách Khoa Hà Nội đã giảng dạy và trang bị cho chúng em những kiến thức
nền tảng trong suốt bốn năm học tập trong Khoa.
1
Hệ thống đo các thông số mạng trên đường truyền băng hẹp điều khiển qua Internet
Tóm tắt đồ án
Ngày nay cơ sở hạ tầng truyền dẫn thông tin ở Việt Nam đang ngày càng được
mở rộng. Sự phát triển các hệ thống truyền dẫn này đòi hỏi cao về việc bảo trì và sửa
chữa đường truyền do thiếu các thiết bị chuyên dụng thực hiện việc kiểm tra kết nối và
chất lượng đường truyền. Việc sử dụng hệ thống máy tính – máy tính (Personal
Computer – PC) có thể đáp ứng được điều này nhưng không có ý nghĩa về hiệu quả kinh
tế và xây dựng hệ thống. Trên cơ sở đó nhóm chúng em đã nghiên cứu và phát triển một
hệ thống đo mới khắc phục được những ý trên.
Hệ thống đo đạc các thông số mạng cho modem – mạng LAN trên đường truyền
băng hẹp điều khiển qua Internet là một hệ thống đo mà trong đó vai trò các nút mạng là
máy tính được thay thế bởi thiết bị chuyên dụng là STR9-comstick (Terminal Comstick
– TC). Các thông số lớp mạng cần đo bao gồm Trễ (RTT), Thông lượng và tỷ lệ mất gói
(PLR). Người dùng có thể truy cập vào máy đo (Measurement Computer – MC) qua
Internet với giao diện Web để gửi các thông số điều khiển tiến trình đo và nhận lại kết
quả đo.
Kết quả nghiên cứu:
_Xây dựng được kịch bản đo Trễ, Thông lượng và tỷ lệ mất gói dựa trên giao
thức TCP/IP.
_Xây dựng được chương trình đo phía MC và chương trình nhúng phía TC.
_Điều khiển qua Internet phục vụ việc đo tự động, quản lý từ xa.
2
Hệ thống đo các thông số mạng trên đường truyền băng hẹp điều khiển qua Internet
Qua kiểm tra đánh giá, hệ thống đo tạo ra ở trên thực hiện tốt việc kiểm tra kết
nối và so sánh chất lượng các đường truyền băng hẹp. Qua đó thể hiện được tiềm năng
phát triển và mở rộng của đề tài khi thực hiện trên các đường truyền băng rộng.
3
Hệ thống đo các thông số mạng trên đường truyền băng hẹp điều khiển qua Internet
Summary
Today the infracstructure of information transmission in Vietnam has been more
and more expanded. The development of transmission systems require high maintenance
and repairing of transmission lines due to lack of specialized equipment to inspect the
connection and transmission quality. The use of PC – PC (Personal Computer – PC)
system may meet that condition but no sense of economic efficiency and building
systems. On that basis we group have studied and developed a new mesurement system
to overcome the above in mind.
Measurement system parameters on transmit narrow-band network control via
Internet is a measurement system in which the role of the PC-nodes is replaced by a
specialized equipment which is STR9-comstick (Terminal Comstick – TC). The
measured parameters include Round Trip Time – RTT, Throughput and Packet Loss
Rate - PLR. Users can access the meter (Measurement Computer – MC) over the Internet
with a web interface to send the parameters which control the process and receive
results.
Research results:
_Built up scripts which measures RTT, Throughput and PLR, based on TCP/IP.
_Built up programs for MC and embedded programs for TC.
_Internet control for remote processing and auto-measurement.
Through the evaluation, the created measurement system can afford effectively in
connection checking and quality comparison of narrow-band transmissions. Thereby
showing the potencial development and expansion of this project on the broadband line.
4
Hệ thống đo các thông số mạng trên đường truyền băng hẹp điều khiển qua Internet
Mục lục
Lời nói đầu 1
Tóm tắt đồ án 2
Summary 4
Mục lục 5
Danh sách các hình vẽ 6
Danh sách các bảng biểu 9
Danh sách các từ viết tắt 10
Mở đầu 11
Tổng quan hệ thống 13
Xây dựng kịch bản hệ thống 18
Xây dựng chương trình 37
Kiểm tra – đánh giá hệ thống 78
Tài liệu tham khảo 86
5
Luận văn
Hệ thống đo các thông số mạng
trên đường truyền băng hẹp điều
khiển qua Internet
Hệ thống đo các thông số mạng trên đường truyền băng hẹp điều khiển qua Internet
Danh sách các hình vẽ
Hình 1.1 Hệ thống đo xây dựng trên mạng LAN thông thường 14
Hình 1.2 Liên hệ khối đo – khối điều khiển 15
Hình 1.3 Mô hình hệ thống (trên môi trường PLC) 16
Hình 2.4 Cấu trúc IP header 18
Hình 2.5 Cấu trúc ICMP header 20
Hình 2.6 Echo request 21
Hình 2.7 Echo reply 21
Hình 2.8 Cấu trúc UDP header 22
Hình 2.9 Cấu trúc TCP header 23
Hình 2.10 Chế độ “ngưng-và-truyền” (Stop-and-go) 25
Hình 2.11 Chế độ “cửa sổ di động” (Sliding window) 25
Hình 2.12 Điều khiển lưu lượng TCP 26
Hình 2.13 Mô hình Client – Server 28
Hình 2.14 Quá trình thiết lập và kết thúc phiên TCP 29
Hình 2.15 Công thức tính trễ RTT 30
Hình 2.16 Kịch bản đo trễ RTT 31
Hình 2.17 Kịch bản đo thông lượng 31
Hình 2.18 Công thức tính thông lượng 32
Hình 2.19 STR9-comstick 34
Hình 2.20 Các thông số chính của STR9-comstick 35
Hình 3.21 Giải thuật đo trễ RTT 37
6
Hệ thống đo các thông số mạng trên đường truyền băng hẹp điều khiển qua Internet
Hình 3.22 Giải thuật đo thông lượng 39
Hình 3.23 Quá trình đo thông lượng hướng lên 40
Hình 3.24 Quá trình đo thông lượng hướng xuống 41
Hình 3.25 Giao diện chương trình MC Tool 42
Hình 3.26 Giao diện chọn kiểu đo 43
Hình 3.27 Khởi tạo chương trình 45
Hình 3.28 Bộ đếm thời gian 46
Hình 3.29 Thời gian truyền 47
Hình 3.30 Cấu trúc thư viện STR9 50
Hình 3.31 Nội dung thư viện 51
Hình 3.32 Kiến trúc thư viện phần mềm 52
Hình 3.33 Các thiết lập uIP 58
Hình 3.34 Vector ngoại lệ 62
Hình 3.35 Cấu hình ngăn xếp 63
Hình 3.36 User stack 64
Hình 3.37 Kích thước ngăn xếp 65
Hình 3.38 ARM Procedure Call Standard (APCS) 65
Hình 3.39 Giao diện HiTOP Debugger 68
Hình 3.40 Các cửa sổ thao tác HiTOP 69
Hình 3.41 Sơ đồ khối chương trình nhúng 71
Hình 3.42 Hàm khởi tạo sơ lược 71
Hình 3.43 Hàm Main sơ lược 72
Hình 3.44 Hàm uip sơ lược 73
Hình 3.45 Hàm ICMP sơ lược 75
7
Hệ thống đo các thông số mạng trên đường truyền băng hẹp điều khiển qua Internet
Hình 3.46 Hàm TCP sơ lược 77
Hình 4.47 Cấu trúc mạng PLC 78
Hình 4.48 Cấu trúc mạng PLC trong nhà 79
Hình 4.49 PLC sử dụng trạm lặp 80
Hình 4.50 Thuê bao PLC kết nối trực tiếp 80
Hình 4.51 Thuê bao PLC kết nối gián tiếp 81
Hình 4.52 Mô tả lệnh Ping qua wireshark 82
Hình 4.53 Quá trình bắt tay 3 bước 83
Hình 4.54 Khảo sát thông lượng mạng Ethernet 84
Hình 4.55 Khảo sát thông lượng đường điện 85
8
Hệ thống đo các thông số mạng trên đường truyền băng hẹp điều khiển qua Internet
Danh sách các bảng biểu
Bảng 2.1 Cấu trúc gói tin sử dụng 33
Bảng 2.2 Cấu trúc dữ liệu các gói tin 33
Bảng 3.3 Cấu trúc gói tin đo thông lượng 40
Bảng 3.4 Các module chính của chương trình 47
Bảng 3.5 Các chức năng hỗ trợ bởi thư viện STR9 49
Bảng 3.6 Cấu trúc thanh ghi bộ nhớ 54
Bảng 3.7 FMI_BootBankSize 54
Bảng 3.8 FMI_NonBootBankSize 55
9
Hệ thống đo các thông số mạng trên đường truyền băng hẹp điều khiển qua Internet
Danh sách các từ viết tắt
10
Hệ thống đo các thông số mạng trên đường truyền băng hẹp điều khiển qua Internet
Mở đầu
Yêu cầu đặt ra của hệ thống đo chủ yếu nằm ở việc thay thế máy tính bằng STR9-
comstick của hãng ST. Lý do sử dụng thiết bị này bởi vì giá thành chấp nhận được
(€40),nhỏ gọn hỗ trợ kết nối Ethernet và thư viện MicroIP đáp ứng được yêu cầu làm nút
mạng.
Dựa trên việc nghiên cứu ứng dụng của thiết bị và lý thuyết ta xây dựng kịch bản
đo Trễ, Thông lượng. Trễ (đầy đủ là thời gian trễ trọn vòng) là đại lượng đo bằng mili-
giây (ms) và chuyên dùng để kiểm tra kết nối bằng cách một bên gửi gói tin ICMP và
lắng nghe bên kia trả lời. Thông lượng là đại lượng đo bằng Mbit/s thể hiện lượng dữ
liệu gửi thành công trên đường truyền trong một đơn vị thời gian.
Sau khi có kịch bản, công việc tiếp theo là hiện thực hóa kịch bản đó thành
chương trình đo. Cụ thể là hai phần chính được thực hiện song song: lập trình cho MC
và TC đảm nhận vai trò điểm đầu và điểm cuối của kết nối, trong đó MC là máy đo và
xuất phát điểm của các tiến trình đo. Để đáp ứng được khả năng tùy biến, chương trình
đo phía MC phải có cơ chế đọc các thông số yêu cầu điều khiển quá trình đo và cơ chế
ghi lại kết quả đo được phục vụ cho việc kiểm tra, đánh giá và nghiên cứu. Kịch bản đo
và chương trình đo là nội dung chính của đề tài này.
Hoàn thành phần đo, đề tài được mở rộng về khả năng tùy biến và phát triển tính
linh hoạt bằng cách thiết lập cơ chế điều khiển từ xa, cụ thể hiện tại là qua Internet. Phần
mở rộng này chia làm hai phần: truyền yêu cầu điều khiển quá trình đo theo hướng
người dùng (User) => Web server => MC và gửi trả lại kết quả đo được theo hướng MC
=> Web server => người dùng. Kết quả đo được khi gửi trả lại Web server sẽ được lưu
11
Hệ thống đo các thông số mạng trên đường truyền băng hẹp điều khiển qua Internet
vào cơ sở dữ liệu để đáp ứng việc tìm kiếm và tra cứu sau này. Người dùng có thể tiếp
cận dễ dàng kết quả đo qua giao diện Web hiển thị.
Trên cơ sở đó, đồ án được trình bày gồm bốn chương:
Chương 1: chương này trình bày phần tổng quan của hệ thống đo, cho ta một cái
nhìn khái quát nhất bao gồm mô hình hệ thống, phương án xây dựng hệ thống dựa trên
các thành phần được triển khai ở mô hình.
Chương 2: chương này trình bày chi tiết về cơ sở lý thuyết để xây dựng hệ thống.
Nội dung cụ thể bao gồm việc tìm hiểu bộ giao thức TCP/IP, các định nghĩa thông số
mạng, truyền và nhận dữ liệu qua socket, chức năng và cấu trúc hàm của STR9-comstick
và xây dựng kịch bản đo phù hợp. Trọng tâm chính của chương là kịch bản đo và làm
quen với STR9-comstick, cho ta một cái nhìn cụ thể về những việc cần phải làm để hoàn
thành kịch bản đo.
Chương 3: chương này trình bày chi tiết về cách xây dựng chương trình đo dựa
trên kịch bản đã định trước. Nội dung cụ thể bao gồm việc ánh xạ kịch bản vào giải
thuật, định nghĩa các gói tin dữ liệu và điều khiển, xây dựng chương trình đo trên MC,
lập trình nhúng cho TC trên cơ sở lý thuyết đã nghiên cứu ở chương 2. Trọng tâm chính
của chương là chương trình đo và lập trình trên TC phải được xây dựng đảm bảo thực
hiện đúng kịch bản đo.
Chương 4: chương này trình bày sự kiểm tra, đánh giá các kết quả của hệ thống
đo đã được xây dựng ở chương 3, mở rộng với phần điều khiển qua Internet. Nội dung
chương thể hiện toàn diện các kết quả đã đạt được trong quá trình nghiên cứu thực hiện
hoàn thành đồ án.
12
Hệ thống đo các thông số mạng trên đường truyền băng hẹp điều khiển qua Internet
Tổng quan hệ thống
1.1 Giới thiệu
Một hệ thống đo các thông số mạng đơn giản trước hết bao gồm một máy đo
(MC) đóng vai trò điểm đầu và một thiết bị đóng vai trò điểm cuối (Terminal Device –
TD) của đường truyền. MC thực hiện các kịch bản đo đã đặt trước trên đường truyền tới
TD, kết quả thu được là các thông số đặc trưng của đường truyền MC – TD đó. Các
thông số mạng chính được quan tâm là trễ RTT (đo bằng ms) và thông lượng (đo bằng
Mbit/s).
Trong các hệ thống đo thông thường, tốc độ phụ thuộc vào modem – đường
truyền. Ở đây máy tính đóng vai trò lớp trên giao tiếp TCP, MC và TD được đảm nhận
bởi các PC và các hệ thống đo này phải dùng các mạng LAN văn phòng to, cồng kềnh
để phục vụ cho việc xây dựng mạng lưới đường truyền.
13
Hệ thống đo các thông số mạng trên đường truyền băng hẹp điều khiển qua Internet
Hình 1.1 Hệ thống đo xây dựng trên mạng LAN thông thường
Trên hình vẽ mô tả một hệ thống đo với các nút mạng là PC. Chương trình đo
được thiết lập trên MC và các TD thực hiện kịch bản đo định sẵn và thu thập kết quả đo
đặc trưng của đường truyền Ethernet giữa các nút mạng. Như nhận định ở trên, mô hình
này không có hiệu quả kinh tế do một số nguyên nhân chính cụ thể như sau:
_Các nút mạng là PC dẫn đến việc xây dựng hệ thống phần cứng và các phần
mềm đi kèm hệ thống tốn chi phí lớn.
_Chi phí bảo trì, sửa chữa hệ thống nhiều.
_Không thích hợp cho việc mở rộng hệ thống.
_Sử dụng và cài đặt phức tạp không tập trung.
Dựa trên cơ sở trên, nhóm chúng em đã nghiên cứu và xin đưa ra mô hình hệ
thống mới, trong đó vai trò các TD được thay bằng STR9-comstick.
14
Hệ thống đo các thông số mạng trên đường truyền băng hẹp điều khiển qua Internet
1.2 Mô hình hệ thống
Trước hết ta đưa ra sơ đồ khối của hệ thống đo. Hệ thống đơn giản bao gồm hai
khối đó là khối đo và khối điều khiển qua Internet.
Hình 1.2 Liên hệ khối đo – khối điều khiển
Đặc điểm chính của mô hình hệ thống đo đó là các PC được thay bằng STR9-
comstick. Khối chính của hệ thống đo sẽ là phần bao gồm MC, TC và đường truyền dẫn
nối chúng. Khối mở rộng là phần nối với Internet để phục vụ cho mục đích điều khiển từ
xa bao gồm máy chủ web để tương tác với người dùng. Tương tác ở đây bao gồm việc
điều khiển quá trình đo qua các thông số thiết lập kịch bản và việc nhận lại kết quả đo
được từ MC.
Từ cơ sở sơ đồ khối như trên, mô hình đưa ra là một hệ thống đơn giản bao gồm
MC và các TC được kết nối với nhau thông qua đường truyền dây tải điện (Power Line
Communication – PLC). Sở dĩ chúng em chọn đường PLC làm môi trường để kiểm tra
và xây dựng hệ thống do đây là một môi trường mới, chưa có nhiều công cụ đánh giá
kiểm tra chất lượng được phát triển. Nó đáp ứng được yêu cầu băng hẹp mà hệ thống
yêu cầu do tốc độ của STR9-comstick. Để thực hiện mô hình với đường PLC, hệ thống
cần thêm các modem đường điện (PLC modem) làm nhiệm vụ điều chế và giải điều chế
15
Hệ thống đo các thông số mạng trên đường truyền băng hẹp điều khiển qua Internet
tín hiệu từ đường Ethernet sang đường PLC và ngược lại. Các kết quả hệ thống thu được
trong quá trình kiểm tra đánh giá chủ yếu là kết quả dựa trên môi trường này.
Hình 1.3 Mô hình hệ thống (trên môi trường PLC)
Máy đo MC được nối với mạng cần đo qua các modem PLC. Các nút mạng được
thiết lập bằng các thiết bị STR9-comstick. Tiến trình đo sẽ được thực hiện giữa MC đến
TC và ngược lại, kết quả được lưu tại MC. Các thông số đo được bao gồm Trễ RTT và
Thông lượng. Yêu cầu hệ thống đòi hòi chương trình đo trên MC và chương trình nhúng
trên TC thực hiện đúng các kịch bản đo.
MC được nối với Internet qua ADSL Router. Người dùng có thể truy cập qua
Internet để gửi các thông số điều khiển quá trình đo và nhận lại kết quả đo được từ MC.
Máy chủ web làm nhiệm vụ tương tác người dùng và lưu kết quả đo được từ MC gửi về
vào cơ sở dữ liệu để phục vụ mục đích tra cứu sau này.
Với mô hình hệ thống thực tế được đưa ra như vậy, việc thực hiện đồ án đòi hỏi
phân chia các khối và công việc cần làm một cách khoa học, hệ thống. Nhóm em thực
hiện dựa trên phương án cụ thể sẽ được trình bày ở phần dưới đây.
16
Hệ thống đo các thông số mạng trên đường truyền băng hẹp điều khiển qua Internet
1.3 Nội dung phương án
Để thực hiện mô hình hệ thống như ở trên, phương án được đưa ra trong đề tài
này gồm 2 phần chính:
_Xây dựng kịch bản hệ thống: bao gồm việc nghiên cứu bộ giao thức TCP/IP,
truyền dẫn dữ liệu bằng socket, lý thuyết thông lượng, trễ. Xây dựng kịch bản đo hai
thông số trên, kịch bản điều khiển qua Internet. Thư viện microIP của STR9-comstick.
_Xây dựng hệ thống thực tế: bao gồm xây dựng chương trình đo trên MC với
giao diện GUI (sử dụng Visual Studio C#) và chương trình nhúng vào TC (Sử dụng
HiTOP Debugger). Thiết lập cơ chế điều khiển qua Internet bằng máy chủ web, tương
tác các khối truyền dẫn dữ liệu bằng socket được tích hợp trên chương trình đo.
Chương tiếp theo chúng em xin trình bày các nội dung cụ thể trong quá trình
nghiên cứu và thực hiện đồ án.
17
Hệ thống đo các thông số mạng trên đường truyền băng hẹp điều khiển qua Internet
Xây dựng kịch bản hệ thống
1.4 Cơ sở lý thuyết – bộ giao thức TCP/IP
1.4.1 IP
Giao thức IP (Internet Protocol - Giao thức Liên mạng) là một giao thức hướng
dữ liệu được sử dụng bởi các máy chủ nguồn và đích để truyền dữ liệu trong một liên
mạng chuyển mạch gói.
Hình 2.4 Cấu trúc IP header
VERS (4 bits): Chỉ ra phiên bản của trình nghi thức IP đang được dùng là Ipv4.
IP Header Length (HLEN) (4 bits): Chỉ ra chiều dài của header.
Type Of Services (TOS)(8 bits) : Chỉ ra cách thức xử lý data như thế nào.
18
Hệ thống đo các thông số mạng trên đường truyền băng hẹp điều khiển qua Internet
Total Length (16 bits): Chỉ ra chiều dài của toàn bộ gói tính theo byte, bao gồm dữ liệu
và header.
Identification (16 bits): Chỉ mã số của 1 IP datagram, giúp bên nhận có thể ghép các
mảnh của 1IP datagram lại với nhau vì IP datagram phân thành các mảnh, và các mảnh
thuộc cùng 1 IP datagram sẽ có cùng Identification.
Flag (3 bits): Được sử dụng để kiểm soát hay xác định các mảnh.
Offset (13 bits): Báo bên nhận vị trí offset của các mảnh so với gói IP datagram gốc để
có thể ghép lại thành IP datagram gốc.
Time To Live (TTL) (8 bits): Chỉ ra số bước nhảy (hop) mà một gói có thể đi qua. Con
số này sẽ giảm đi 1 khi gói tin đi qua 1 router. Khi router nào nhận gói tin thấy TTL đạt
tới 0 gói này sẽ bị loại. Đây là giải pháp nhằm ngăn chặn tình trạng lặp vòng vô hạn của
gói tin trên mạng.
Protocol (8 bit): Chỉ ra giao thức nào của tầng trên (tầng Vận chuyển) sẽ nhận phần
data sau khi công đoạn xử lí IP diagram ở tầng Network hoàn tất hoặc chỉ ra giao thức
nào của tầng trên gởi segment xuống cho tầng Network đóng gói thành IP Diagram, mỗi
giao thức có 1 mã.
_06 : TCP
_17 : UDP
_01 : ICMP
_08 : EGP
Header CheckSum (16 bits): Giúp bảo đảm sự toàn vẹn của IP Header.
Source Address (32 bits): Chỉ ra địa chỉ của thiết bị truyền IP diagram.
Destination Address(32 bits ): Chỉ ra địa chỉ IP của thiệt bị sẽ nhận IP diagram.
19
Hệ thống đo các thông số mạng trên đường truyền băng hẹp điều khiển qua Internet
Dữ liệu trong một liên mạng IP được gửi theo các khối được gọi là các gói
(packet hoặc datagram). Cụ thể, IP không cần thiết lập các đường truyền trước khi một
máy chủ gửi các gói tin cho một máy khác mà trước đó nó chưa từng liên lạc với.
Giao thức IP cung cấp một dịch vụ gửi dữ liệu không đảm bảo (còn gọi là cố
gắng cao nhất), nghĩa là nó hầu như không đảm bảo gì về gói dữ liệu. Gói dữ liệu có thể
đến nơi mà không còn nguyên vẹn, nó có thể đến không theo thứ tự (so với các gói khác
được gửi giữa hai máy nguồn và đích đó), nó có thể bị trùng lặp hoặc bị mất hoàn toàn.
1.4.2 ICMP
Giao thức ICMP (Internetwork Control Message Protocol) cho phép việc thử
nghiệm và khắc phục các sự cố của giao thức TCP/IP. ICMP bao gồm nhiều loại thông
điệp khác nhau.
Hình 2.5 Cấu trúc ICMP header
Type(8 bits): Chỉ kiểu cho ICMP messenger.
Code(8 bits): Bổ sung thêm thông tin cho Type.
Checksum (16 bits): Kiểm tra lỗi dữ liệu. Tính từ ICMP header + dữ liệu, với giá trị 0
cho trường này.
20
Hệ thống đo các thông số mạng trên đường truyền băng hẹp điều khiển qua Internet
Các gói tin Ping, cũng được biết đến như các gói tin ICMP echo request, và
ICMP echo reply. Echo request là một tin nhắn ICMP mà dữ liệu của nó dự kiến nhận lại
trong tin echo reply . Host và router phải đáp lại tất cả các echo request bằng một echo
reply chứa cả thông tin chính xác đã nhận trong tin echo request. Echo reply là một tin
ICMP phát ra để đáp lại tin echo request và là bắt buộc với tất cả host và router.
Hình 2.6 Echo request
Hình 2.7 Echo reply
Dữ liệu nhận được trong Echo request phải được bao gồm toàn bộ trong Echo
reply.
1.4.3 UDP
Giao thức UDP (User Datagram Protocol) cung cấp một giao diện đơn giản giữa
tầng mạng bên dưới và tầng ứng dụng bên trên.
UDP không đảm bảo tầng phía trên thông điệp đã gửi đi.
Do thiếu tính tin cậy, các ứng dụng UDP nói chung phải chấp nhận mất mát, lỗi
hoặc trùng dữ liệu. Một số ứng dụng như TFTP có nhu cầu phải thêm những kỹ thuật
làm tin cậy cơ bản vào tầng ứng dụng. Hầu hết các ứng dụng UDP không cần những kỹ
thuật làm tin cậy này và đôi khi nó bị bỏ đi. Streaming media, game trực tuyến và voice
over IP (VoIP) là những thí dụ cho các ứng dụng thường dùng UDP. Nếu một ứng dụng
21
Hệ thống đo các thông số mạng trên đường truyền băng hẹp điều khiển qua Internet
đòi hỏi mức độ cao hơn về tính tin cậy, những giao thức như TCP hoặc mã erasure có
thể dùng thay.
Hình 2.8 Cấu trúc UDP header
Source port (16 bits): Xác định port cả người gửi thông tin và có ý nghĩa nếu muốn
người nhận phản hồi. Nếu ko dùng đặt nó bằng 0.
Destination(16 bits): Xác nhận port nhận (trường này bắt buộc).
Length(16 bits): Xác định toàn bộ chiều dài toàn datagram: header + data.
Checksum(16 bits): Không bắt buộc kiểm tra lỗi phần header data.
1.4.4 TCP
Giao thức TCP (Transmission Control Protocol – giao thức điều khiển giao vận)
cung cấp một số lượng đáng kể dịch vụ cho lớp IP dưới và lớp ứng dụng ở trên.
Cung cấp một kết nối định hướng cho phép một ứng dụng đảm bảo gói dữ liệu đã
được nhận toàn bộ. Trong vai trò này, TCP hoạt động như một tin nhắn xác nhận giao
thức cung cấp thông tin đáng tin cậy. Nếu gói dữ liệu bị hỏng hoặc mất TCP thường xử
lý phát lại hơn là các ứng dụng phía trên.
Kết nối định hướng (connection-oriented) nghĩa là hai ứng dụng sử dụng TCP
phải thiết lập một kết nối TCP cùng nhau trước khi cùng trao đổi dữ liệu.
TCP header gồm 10 trường bắt buộc và 1 trường tùy biến.
22
Hệ thống đo các thông số mạng trên đường truyền băng hẹp điều khiển qua Internet
Hình 2.9 Cấu trúc TCP header
Source port (16 bits): Xác định port gửi .
Destination (16 bits): Xác định port nhận.
Sequence number (32 bits): có 2 nhiệm vụ:
_Nếu SYN flag bật thì nó là số thứ tự ban đầu và byte đầu tiên được gửi có số thứ tự +1.
_Nếu SYN flag ko có giá trị thì đây là số thứ tự byte đầu tiên.
ACK number (32bits): Nếu ACK flag thiết lập thì giá trị của trường là số thứ tự gói tin
tiếp theo mà bên nhận cần.
Data offset (4 bits): Quy định độ dài của phần header (32 –bit word) kích thước header
nhỏ nhất 5 words(160 bits) max là 15 words.
Reserveed (4bits): Dự trữ cho sử dụng về sau và được thiết lập bằng 0.
Flags(8 bits): chứa 8 flags mỗi flag 1 bit :
_CWR: Congestion window reduced được thiết lập bởi các máy chủ gửi để cho biết nó
đã nhận được 1 phân đoạn TCP với flag ECE và có phản ứng trong cơ chế điều khiển tắc
nghẽn.
_ECE: ECN-echo indicates.
23