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

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

88 575 1
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề 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
Người hướng dẫn TS. Phạm Văn Bình – Trưởng bộ môn Mạch và Xử lý Tín hiệu
Trường học Đại Học Bách Khoa Hà Nội
Chuyên ngành Kỹ thuật điện tử, Viễn thông
Thể loại Luận văn
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 88
Dung lượng 2,2 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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ở

Trang 1

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

Trang 2

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

Trang 3

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

Trang 4

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.

Trang 5

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

Trang 6

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

Trang 7

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

Trang 8

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

Trang 9

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

Trang 10

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

Trang 11

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

Trang 12

Danh sách các từ viết tắt

Trang 13

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 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

STR9-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

Trang 14

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

Trang 15

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

Trang 16

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

Trang 17

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 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ừ

STR9-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ế

Trang 18

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

Trang 19

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

Trang 20

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.

Trang 21

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.

Trang 22

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

Trang 23

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.

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

Trang 24

đò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.

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

Trang 25

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

Trang 26

_URG: Chỉ ra field urgent pointer.

_ACK: Chỉ ra trường ACK Tất cả gói tin sau khi gởi SYN ban đầu được gửi đi bởi client cần phải có flag này được thiết lập

_PSH: Hàm PUSH Yêu cầu đẩy bộ đệm dữ liệu cho ứng dụng nhận

_RST: Thiết lập lại đường truyền

_SYN: Đồng bộ lại số thứ tự

_FIN : Không thêm dữ liệu từ người gửi (kết thúc)

Window size(16 bits): Xác định số byte mà người nhận sẵn sàng nhận.

Checksum (16 bits): Trường này được sử dụng để kiểm tra lỗi của header và dữ liệu Urgent pointer (16 bits): Chỉ có giá trị nếu URG flag được thiết lập.Chế độ TCP

urgent là một cách để người gửi truyền dữ liệu đến thiết bị cuối

Option: Đây là trường tùy chọn nếu có thì độ dài bội số của 32 bits.

1.4.5 Các cơ chế quan trọng của TCP

(a) Flow control (điều khiển lưu lượng)

Chúng ta cần phân biệt khái niệm này với khống chế tắc nghẽn (congestion control) - điều khiển luồng dữ liệu khi tắc nghẽn đã xảy ra Điều khiển lưu lượng có vai trò quan trọng, vì tình trạng một máy tính gửi thông tin tới một máy tính khác, với một tốc độ cao hơn tốc độ mà máy tính đích có thể nhận và xử lý có thể xảy ra Tình huống này có thể xảy ra nếu các máy tính nhận phải chịu tải giao thông về dữ liệu cao hơn máy tính nhận, hoặc nếu máy tính nhận có năng lực xử lý kém hơn máy tính gửi

Điều khiển lưu lượng truyền có thể được áp dụng biệt lập trên mỗi chiều mà tín hiệu được truyền thông, cho phép tần số truyền tin trên mỗi chiều khác nhau Phương

Trang 27

pháp điều khiển lưu lượng truyền có hai cách, hoặc là dùng chế độ "ngưng-và-truyền" (stop-and-go) hoặc dùng hình thức cửa sổ di động (sliding window).

Hình 2.10 Chế độ “ngưng-và-truyền” (Stop-and-go)

Hình 2.11 Chế độ “cửa sổ di động” (Sliding window)

Trong mỗi một TCP segment, bên nhận quy định lượng dữ liệu sẵn sàng nhận trong bộ đệm trường receiver window Bên gửi chỉ có thể gửi dữ liệu trước khi chờ 1 tin ACK cập nhật về window size từ máy đích

Trang 28

Khi host gửi về window size bằng 0 thì bên gửi phải ngừng gửi và bắt đầu đếm thời gian tồn tại (persist timer) người gửi không thể gửi nhiều dữ liệu hơn cho đến khi nhận được một bản cập nhật cửa sổ kích thước mới từ người nhận Khi bộ hẹn giờ vẫn tồn tại hết hạn, người gửi TCP cố gắng phục hồi bằng cách gửi một gói nhỏ để thu các phản ứng bằng cách gửi một xác nhận có chứa các kích thước cửa sổ mới.

Dữ liệu nhận được từ mạng được lưu trữ trong bộ đệm Cửa sổ thông báo được

sử dụng để thông báo cho máy chủ từ xa của các kích thước cửa sổ hiện hành Nếu các ứng dụng ở máy đích không thể xử lý dữ liệu đủ nhanh, kích thước cửa sổ sẽ giảm xuống bằng không và các máy chủ sẽ ngừng gửi dữ liệu Sau khi các ứng dụng máy đích

đã xử lý một số dữ liệu xếp hàng, tăng kích thước cửa sổ, và các máy chủ từ xa bắt đầu truyền lại

Hình 2.12 Điều khiển lưu lượng TCP

(b) Congestion control (điều khiển tắc nghẽn)

TCP sử dụng một số cơ chế nhằm đạt được hiệu suất cao và ngăn ngừa khả năng nghẽn mạng Các cơ chế này bao gồm : thuật toán slow-start, thuật toán tránh nghẽn mạng (congestion avoidance), thuật toán truyền lại và phục hồi nhanh

_Thuật toán Slow-start là một trong những thuật toán mà TCP sử dụng để kiểm soát tắc nghẽn trong mạng Slow-start đầu hoạt động bằng cách tăng cửa sổ TCP

Trang 29

congestion mỗi khi nhận được nhận được ACK segment.Điều này tiếp tục cho tới khi không nhận được một ACK thông báo về các segment đã gửi Nếu một sự kiện mất mát xảy ra, TCP giả định rằng đó là do sự tắc nghẽn mạng và tiến hành các bước để giảm tải được cung cấp trên mạng.

_Thuật toán tránh nghẽn mạng (congestion avoidance)

_Thuật toán truyền lại (fast retransmit): người gửi TCP sử dụng một bộ đếm thời gian để nhận ra các phân đoạn bị mất Nếu 1 ACK không nhận được cho một phân đoạn

cụ thể trong một thời gian nhất định (một chức năng ước tính thời gian trễ khứ), người gửi sẽ cho rằng phân đoạn đã bị mất trong mạng, và sẽ truyền lại các phân đoạn.The fast retransmit hoạt động như sau: nếu một người gửi TCP nhận được 3 bản sao ACK có cùng 1 ACK number Người gửi có thể là tin rằng các phân đoạn có cao hơn kế tiếp số thứ tự đã bị bỏ (drop), và sẽ không đến trong trật tự Người gửi sau đó sẽ truyền lại các gói tin đã được coi là đã giảm trước khi chờ đợi thời gian chờ của nó

_Thuật toán phục hồi nhanh (fast recovery)

Trang 30

1.5 Mô hình Client – Server

1.5.1 Mô hình

Hình 2.13 Mô hình Client – Server

(a) Phía server

Tạo socket : gồm khai báo domain, type, protocol.

Thông thường domain là AF_INET

TYPE : kiểu kết nối virtual circuit nhận truyền đáng tin cậy

PROTOCOL: giao thức truyền tải TCP

Trang 31

bind : gán port , ip cho socket

listen : quy định 1 số lượng cụ thể chờ xếp hang cho serve socket

accept : server chấp nhận 1 yêu cầu kết nối từ client Tạo socket mới truyền và nhận dữ

liệu

(b) Phía client

Tạo socket

connect : kết nối đến server Quá trình kết nối theo kiểu bắt tay 3 bước.

Kết nối thành công: Bắt đầu quá trình truyền nhận dữ liệu giữa Client – Server.

1.5.2 Kết nối bắt tay 3 bước

Hình 2.14 Quá trình thiết lập và kết thúc phiên TCP

Để thiết lập kết nối TCP sử dụng bắt tay 3 bước (3 ways handshake) Trước khi client thử một kết nối đến server , server phải mở port cho kết nối đó Ba bước diễn ra như sau:

Trang 32

_Client yêu cầu mở cổng dịch vụ bằng cách gửi một gói tin SYN đến server, trong gói tin này tham số sequence number gán giá trị ngẫu nhiên X.

_Server hồi đáp bằng cách gửi lại client gói tin SYN-ACK, trong gói tin này ACK number gán X+1, sequence number gán Y

_Để hoàn tất bắt tay 3 bước, client gửi tới server gói tin tin ACK, trong gói tin này tham số sequence number gán X+1, ACK number gán Y+1

Như vậy sau khi có kết nối ta đã có đủ thông tin: Từ IP nào, port nào , giao thức vận chuyển (TCP/UDP) đến địa chỉ IP và port bên kia để bắt đầu việc truyền và nhận dữ liệu

Trên đường truyền khảo sát là đường truyền Powerline, khoảng thời gian trễ giữa

MC – Modem và Modem – TC là rất nhỏ và có thể bỏ qua so với khoảng thời gian trễ giữa Modem – Modem (đoạn đường truyền chính cần đo) Vì thế kết quả nhận được có thể được coi là trễ trên đường truyền Powerline

Chú ý phân biệt Ping và Pong qua trường Type và Code của gói tin ICMP

Trang 33

Hình 2.16 Kịch bản đo trễ RTT

1.6.2 Đo thông lượng

Hình 2.17 Kịch bản đo thông lượng

Trang 34

Để đo thông lượng, ta định nghĩa thông lượng là lượng dữ liệu gửi thành công trên đường truyền trong một đơn vị thời gian.

Quá trình đo được thực hiện theo trình tự sau:

_Thực hiện kết nối giữa MC – TC theo mô hình Client – Server Đặt MC và TC vào trạng thái sẵn sàng cho quá trình truyền và gửi dữ liệu

_Bắt đầu đo, MC gửi gói tin Request đến TC để thông báo bắt đầu quá trình đo

TC nhận và gửi trả lại MC gói Request_ACK để báo hiệu TC đã sẵn sàng nhận dữ liệu.

_Nhận được gói Request_ACK, MC thực hiện truyền một lượng lớn dữ liệu được phân thành nhiều gói Data có kích thước định sẵn cho TC Trong quá trình này TC

nhận và cập nhật bộ đếm dữ liệu đã nhận

_Khi lượng dữ liệu truyền đã đủ, MC gửi gói Fin để thông báo kết thúc quá trình truyền dữ liệu TC nhận và gửi trả lại MC gói Fin_ACK để báo hiệu TC dã kết thúc

trạng thái nhận dữ liệu và chuẩn bị gửi kết quả nhận được cho MC

_TC tạo và gửi gói Result chứa thông tin lượng dữ liệu đã nhận cho MC MC lấy

thông tin này để tổng hợp ra thông lượng đo được theo công thức:

Hình 2.18 Công thức tính thông lượng

1.6.3 Cấu trúc gói tin

Để thực hiện việc đo, ta phải định nghĩa các gói tin được sử dụng trong quá trình

truyền dữ liệu để đảm bảo thực hiện đúng kịch bản đo Cụ thể là các gói Request, Data, Fin, Result và ACK.

Dưới đây là mô tả cấu trúc một gói tin dữ liệu được sử dụng trong quá trình đo,

độ dài dữ liệu được cố định trong hai trường hợp là 1000 bytes và 100 bytes

Trang 35

Bảng 2.1 Cấu trúc gói tin sử dụng

Sau phần IP header và TCP header, 5 bytes đầu tiên của phần dữ liệu gói tin sẽ được sử dụng để định dạng gói tin theo cấu trúc 1 – 4 Giá trị byte đầu tiên Code xác định loại gói trong các gói tin kể trên Dãy 4 bytes tiếp theo Parameter lưu thông số đặc

trưng tùy thuộc vào loại gói tin đó Sau dãy 5 bytes này sẽ là dữ liệu ngẫu nhiên có độ dài tùy thuộc vào kích thước gói tin đã được định sẵn

Bảng 2.2 Cấu trúc dữ liệu các gói tin

1.7 Điều khiển qua Internet

Ở Server ảo đặt tại MC, khi có dữ liệu đến, Server thực hiện việc bóc tách nội dung dữ liệu nhận được và cập nhật nội dung đó vào cơ sở dữ liệu Server ảo đóng vai trò trung gian giữa Web server và MC

Trang 36

1.7.2 Hiển thị dữ liệu lên Web

Để thuận tiện cho việc điều khiển, ta phải thiết kế giao diện Web giúp người dùng nhập các thông số điều khiển, hiển thị kết quả đo được và tra cứu cơ sở dữ liệu đo

544 Kb flash memory – 96 Kb SRAM

3xUART, 2xSPI, 80 I/Os, 4xTimers

10-bit ADC, CAN, USB, Real Time Clock, AC Motor Control

Ethernet MAC.

Trang 37

Hình 2.20 Các thông số chính của STR9-comstick

Một số ưu điểm của STR9-comstick:

_Hỗ trợ Ethernet

_SRAM và Flash Memories lớn

_Thiết kế nhỏ gọn, dễ dàng cho việc triển khai cài đặt hệ thống

_Tiêu thụ điện năng thấp

_Hỗ trợ công cụ phát triển phần mềm độc lập và bộ thư viện đầy đủ

Trang 38

1.9 Thư viện MicroIP (uIP)

Cùng với thành công của Internet, bộ giao thức TCP/IP đã trở thành chuẩn giao tiếp toàn cầu TCP/IP là giao thức cơ bản được sử dụng để chuyển trang web, email, file v.v… trên Internet Đối với các hệ thống nhúng, khả năng hỗ trợ TCP/IP có thể làm chúng kết nối trực tiếp vào mạng nội bộ hoặc thậm chí là mạng Internet toàn cầu Các thiết bị nhúng hỗ trợ đầy đủ TCP/IP sẽ là những công dân mạng hạng nhất do có thể giao tiếp đầy đủ với các máy khác trong mạng

TCP/IP truyền thống yêu cầu quá nhiều cả về kích thước mã lệnh và cách sử dụng

bộ nhớ trong các hệ thống 8 hoặc 16-bit Kích thước mã khoảng vài trăm KB và yêu cầu

bộ nhớ ram hàng trăm KB khiến các hệ thống với vài chục KB RAM và bộ nhớ không thể đáp ứng đầy đủ bộ giao thức này

Bộ giao thứ uIP được thiết kế theo chỉ định tuyệt đối tối thiểu các tính năng cần thiết cho để giao tiếp với một thiết bị hỗ trợ TCP/IP đầy đủ Hầu hết các hệ thống nhúng luôn luôn tương tác với các hệ thống hỗ trợ đầy đủ TCP/IP Theo giả định này, uIP loại

bỏ một số cơ chế của TCP/IP hiếm khi được sử dụng và chỉ giữ lại những cơ chế cần thiết Nó chỉ có thể xử lý một giao diện mạng duy nhất và có chứa các giao thức IP, ICMP, UDP và TCP uIP được viết bằng ngôn ngữ lập trình C

Do đặc điểm hệ thống nên STR9-comstick chỉ hỗ trợ thư viện MicroIP và ta sẽ phát triển hệ thống dựa trên nghiên cứu thư viện này

Trang 39

Xây dựng chương trình

1.10 Giải thuật

1.10.1 Đo Trễ (RTT)

Hình 3.21 Giải thuật đo trễ RTT

Phía TC, TC thực hiện vòng lặp liên tục đọc bộ đệm gói tin gửi đến Trạng thái lúc này của TC là trạng thái chờ (Standby)

Bằng cách kiểm tra bộ đệm này, TC nhận biết được đó có phải là gói PING gửi

từ MC hay không Nếu không phải thì TC tiếp tục ở trạng thái chờ

Trang 40

Nếu gói tin gửi đến là gói PING, chương trình nhảy khỏi vòng lặp và chuyển trạng thái thành “Ping” Lúc này TC đã nhận được yêu cầu ping từ MC.

Chương trình thực hiện việc chuyển trường Type của gói PING gửi đến thành 0 (từ giá trị là 8), đảo ngược giá trị của hai trường Source IP Address và Destination IP Address Lúc này TC đã có một gói tin PONG đúng yêu cầu.

Gói PONG vừa được tạo sẽ được gán cho biến dữ liệu gửi để thực hiện việc truyền lại cho MC Kết thúc quá trình gửi, TC chuyển trở lại trạng thái chờ và thực hiện vòng lặp mới

1.10.2 Đo thông lượng

Bắt đầu tiến trình đo, TC thực hiện việc khởi tạo socket, thiết lập lắng nghe TCP

ở cổng định trước (Mặc định là 2001).

MC thực hiện lệnh kết nối TCP (cụ thể gồm 3 bước SYN, SYN+ACK, ACK) qua

cổng định trước với TC MC sẽ bắt đầu tiến trình đo nếu kết nối thành công

TC lúc này ở trạng thái chờ và thực hiện vòng lặp liên tục đọc bộ đệm Nếu đó là

gói tin TCP thì chương trình thực hiện việc kiểm tra 5 bytes đầu tiên của dữ liệu gói tin

đó và thực hiện các tiến trình tương ứng theo kịch bản đo

_Là gói Request, TC tạo gói Request_ACK và gửi lại MC TC chuyển sang

trạng thái “Throughput”

_Là gói Data, TC cập nhật bộ đếm dữ liệu nhận được.

_Là gói Fin, TC tạo gói Fin_ACK và gửi lại MC Tiếp đó TC tạo gói Result và

gửi lại MC

Kết thúc tiến trình, TC chuyển sang trạng thái chờ và thực hiện vòng lặp mới

Ngày đăng: 08/03/2014, 01:22

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Adam Dunkels, The uIP Embedded TCP/IP Stack, June 2006 Sách, tạp chí
Tiêu đề: The uIP Embedded TCP/IP Stack
[2] www.hitex.co.uk, The Insider’s Guide To The STR91x ARM®9, June 2006 Sách, tạp chí
Tiêu đề: The Insider’s Guide To The STR91x ARM®9
[3] www.st.com, STR91x softwar library, May 2006 Sách, tạp chí
Tiêu đề: STR91x softwar library
[4] www.wikipedia.com [5] www.msdn.com [6] www.php.net Khác
[7] www.codeproject.com [8] www.congdongcviet.com Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Hệ thống đo xây dựng trên mạng LAN thông thường - 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 (Trang 16)
Hình 1.2 Liên hệ khối đo – khối điều khiể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ình 1.2 Liên hệ khối đo – khối điều khiển (Trang 17)
Hình 1.3 Mô hình hệ thống (trên môi trường PLC) - 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.3 Mô hình hệ thống (trên môi trường PLC) (Trang 18)
Hình 2.5 Cấu trúc ICMP header Type(8 bits): Chỉ kiểu cho ICMP messenger. - 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.5 Cấu trúc ICMP header Type(8 bits): Chỉ kiểu cho ICMP messenger (Trang 22)
Hình 2.13 Mô hình Client – Server - 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.13 Mô hình Client – Server (Trang 30)
Hình 2.14 Quá trình thiết lập và kết thúc phiên TCP - 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.14 Quá trình thiết lập và kết thúc phiên TCP (Trang 31)
Hình 3.22 Giải thuật đo thông lượng - 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 (Trang 41)
Hình 3.25 Giao diện chương trình MC Tool - 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.25 Giao diện chương trình MC Tool (Trang 44)
Hình 3.39 Giao diện HiTOP Debugger - 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.39 Giao diện HiTOP Debugger (Trang 70)
Hình 3.40 Các cửa sổ thao tác HiTOP - 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.40 Các cửa sổ thao tác HiTOP (Trang 71)
Hình 3.41 Sơ đồ khối chương trình nhúng - 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.41 Sơ đồ khối chương trình nhúng (Trang 73)
Hình 4.47 Cấu trúc mạng PLC - 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 4.47 Cấu trúc mạng PLC (Trang 80)
Hình 4.48 Cấu trúc mạng PLC trong nhà - 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 4.48 Cấu trúc mạng PLC trong nhà (Trang 81)
Hình 4.54 Khảo sát thông lượng mạng Ethernet - 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 4.54 Khảo sát thông lượng mạng Ethernet (Trang 86)
Hình 4.55 Khảo sát thông lượng đường điệ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ình 4.55 Khảo sát thông lượng đường điện (Trang 87)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w