Tải bản đầy đủ (.docx) (21 trang)

phần mềm truyền điện văn sử dụng trong hàng không

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 (586.24 KB, 21 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ-VIỄN THÔNG
***********
BÁO CÁO BÀI TẬP LỚN
ĐỀ TÀI: PHẦN MỀM TRUYỀN ĐIỆN VĂN SỬ DỤNG TRONG
HÀNG KHÔNG.
Thầy giáo hướng dẫn: TS.Đỗ Trọng Tuấn
Thực hiện : Nguyễn Thành Đạt
Nguyễn Thanh Tuấn


Hà Nội, 07/07/2013
1
I. Tổng quan về mạng thông tin hàng không (ATN)
1. Khái niệm về mạng ATN
Mạng ATN được xem là cơ sở hạ tầng liên mạng cho mạng thông tin
hàng không.ATN sử dụng một tập các giao thức truyền dữ liệu dựa trên
mô hình OSI của tổ chức định chuẩn quốc tế ISO để liên kết các hệ thống
liên lạc air-ground và ground-ground với nhau.
Mạng ATN bao gồm các ứng dụng và các dịch vụ truyền tin mà cho
phép các mạng con ground-ground , air-ground của hàng không hoạt động
được với nhau dựa trên các dịch vụ giao thức thông thường nhưng dựa
trên mô hình OSI của ISO.
Hình 1: Mô hình mạng ATN
2.Chức năng của ATN
2
Mạng ATN và các tiến trình ứng dụng tương ứng được thiết lập nhằm
hỗ trợ cho hệ thống CNS/STM. Mạng ATN có những chức năng sau:
• Mạng chuyên dụng và dành riêng để cung cấp các dịch vụ truyền dữ
liệu cho các tổ chức cung cấp dịch vụ không lưu (ATM) và hàng
không theo hình thức sau:


+ Công tác thông tin cho dịch vụ không lưu(ATSC)
+ Công tác điều hành khai thác hàng không (AOC)
+ Công tác thông tin phục vụ cho các hãng hàng không (AAC)
+ Công tác thông tin cho hành khách (APC)
• Mạng cung cấp, theo nghĩa hoàn toàn trong suốt với người dùng,
dịch vụ truyền từ người dùng tới người dùng tin cậy và cho phép
các dịch vụ không lưu cung cấp dữ liệu an toàn và hiệu quả giữa :
+ Các hệ thống trên máy bay và hệ thống dưới đất
+ Các hệ thống dưới đất.
• Cung cấp các dịch vụ truyền tin, giám sát và thông tin hàng không
hỗ trợ các dịch vụ quản lý không lưu (ATMS):
+ Dịch vụ không lưu ATS :
- Dịch vụ kiểm soát không lưu ATC
- Dịch vụ thông tin bay FIS
- Dịch vụ cảnh báo
+ Quản lý luồng không lưu ATFM
+ Quản lý bầu trời Airspace Management
3.Các ứng dụng của ATN
• Ứng dụng Ground-Ground
+ Hệ thống AMHS
+ Thông tin giữa các trung tâm bên ngoài (ICC) : trao đổi dữ liệu
chuyển giao ATS
• Ứng dụng Air-Ground
+ Quản lí ngữ cảnh
+ Liên lạc dữ liệu giữa kiểm soát viên và người lái (CPDLC)
+ Hệ thống giám sát tự động phụ thuộc (ADS)
+ Dịch vụ thông tin chuyến bay (Flight Information Service )
II. Tổng quan giao thức TCP/IP
3
Trong phạm vi bài tập chúng em sử dụng truyền dữ liệu qua giao thức TCP/IP

1. Giao thức TCP/IP
Bộ giao thức TCP/IP, ngắn gọn là TCP/IP ( Internet protocol
suite hoặc IP suite hoặc TCP/IP protocol suite - bộ giao thức liên mạng),
là một bộ các giao thức truyền thông cài đặt chồng giao
thức mà Internet và hầu hết các mạng máy tính thương mại đang chạy trên
đó. Bộ giao thức này được đặt tên theo hai giao thức chính của nó là TCP
(Giao thức Điều khiển Giao vận) và IP (Giao thức Liên mạng).
Hình 2: Mô hình TCP/IP
Giao thức TCP gồm có 4 tầng :
• Application:
4
Tầng ứng dụng là nơi các chương trình mạng thường dùng nhất làm việc nhằm
liên lạc giữa các nút trong một mạng.
Giao tiếp xảy ra trong tầng này là tùy theo các ứng dụng cụ thể và dữ liệu được
truyền từ chương trình, trong định dạng được sử dụng nội bộ bởi ứng dụng này,
và được đóng gói theo một giao thức tầng giao vận.
Do chồng TCP/IP không có tầng nào nằm giữa ứng dụng và các tầng giao vận,
tầng ứng dụng trong bộ TCP/IP phải bao gồm các giao thức hoạt động như các
giao thức tại tầng trình diễn và tầng phiên của mô hình OSI. Việc này thường
được thực hiện qua các thư viện lập trình.
Dữ liệu thực để gửi qua mạng được truyền cho tầng ứng dụng, nơi nó được đóng
gói theo giao thức tầng ứng dụng. Từ đó, dữ liệu được truyền xuống giao thức
tầng thấp tại tầng giao vận.
Hai giao thức tầng thấp thông dụng nhất là TCP và UDP. Mỗi ứng dụng sử dụng
dịch vụ của một trong hai giao thức trên đều cần có cổng.
• Transport
Trách nhiệm của tầng giao vận là kết hợp các khả năng truyền thông điệp trực
tiếp (end-to-end) không phụ thuộc vào mạng bên dưới, kèm theo kiểm soát
lỗi (error control), phân mảnh (fragmentation) và điều khiển lưu lượng. Việc
truyền thông điệp trực tiếp hay kết nối các ứng dụng tại tầng giao vận có thể

được phân loại như sau:
+ định hướng kết nối (connection-oriented), ví dụ TCP
+ phi kế nối (connectionless), ví dụ UDP
Tầng giao vận có thể được xem như một cơ chế vận chuyển thông thường, nghĩa
là trách nhiệm của một phương tiện vận tải là đảm bảo rằng hàng hóa/hành
khách của nó đến đích an toàn và đầy đủ.
5
Tầng giao vận cung cấp dịch vụ kết nối các ứng dụng với nhau thông qua việc sử
dụng các cổng TCP và UDP. Do IP chỉ cung cấp dịch vụ phát chuyển nỗ lực tối
đa (best effort delivery), tầng giao vận là tầng đâu tiên giải quyết vấn đề độ tin
cậy.
• Network
Trong bộ giao thức liên mạng, giao thức IP thực hiện nhiệm vụ cơ bản dẫn
đường dữ liệu từ nguồn tới đích. IP có thể chuyển dữ liệu theo yêu cầu của
nhiều giao thức tầng trên khác nhau; mỗi giao thức trong đó được định danh bởi
một số hiệu giao thức duy nhất
• Data Link
Tầng liên kết - phương pháp được sử dụng để chuyển các gói tin từ tầng mạng
tới các máy chủ (host) khác nhau - không hẳn là một phần của bộ giao thức
TCP/IP, vì giao thức IP có thể chạy trên nhiều tầng liên kết khác nhau. Các quá
trình truyền các gói tin trên một liên kết cho trước và nhận các gói tin từ một liên
kết cho trước có thể được điều khiển cả trong phần mềm điều vận thiết bị (device
driver) dành cho card mạng, cũng như trong phần sụn (firmware) hay
các chipset chuyên dụng. Những thứ đó sẽ thực hiện các chức năng liên kết dữ
liệu chẳng hạn như bổ sung một tín đầu (packet header) để chuẩn bị cho việc
truyền gói tin đó, rồi thực sự truyền frame dữ liệu qua một môi trường vật lý.
2. Cấu trúc gói tin
2.1. Cấu trúc gói tin TCP
Một gói tin TCP bao gồm 2 phần:
+ header

6
+dữ liệu
Data offset:Trường có độ dài 4 bít qui định độ dài của phần header
Reserved:dự phòng.
Flags gồm 6 cờ:
 URG:Cờ cho trường Urgent pointer
 ACK:Cờ cho trường Acknowledgement
 PSH:Hàm Push
 RST:Thiết lập lại đường truyền
 SYN:Đồng bộ lại số thứ tự
 FIN:Không gửi thêm số liệu
Window:Số byte có thể nhận bắt đầu từ giá trị của trường báo nhận (ACK)
Checksum:16 bít kiểm tra cho cả phần header và dữ liệu.
7
2.2. Cấu trúc gói tin IP
III. Bản tin điện văn trong hàng không.
Trong phạm vi bài tập nhóm em tìm hiểu về bản tin NOTAM
1. Tìm hiểu về bản tin NOTAM
• Khái niệm NOTAM:
NOTAM ( Notice to Airmen ) là 1 thông báo của các cơ quan hàng
không cảnh báo các phi công lái máy bay về mối nguy hiểm tiềm
năng cùng 1 tuyến đường bay hoặc tại 1 vị trí mà có thể ảnh hưởng
đến sự an toàn của chuyến bay.
• Cấu trúc bản tin
8
Số loại NOTAM
 A : số loại Series ( A or B or C )
 1234/06: số thứ tự phát hành NOTAM đi kèm số loại
1234: số thứ tự
06 : năm phát hành

 NOTAMR : tính chất của NOTAM
R : Replacement . NOTAM có thông tin thay thế 1 NOTAM trước
N : New . NOTAM có thông tin mới
C : Cancelation . NOTAM hủy bỏ thông tin 1 NOTAM trước và NOTAM
này cũng hết hiệu lực.
9
Mục Q:
Gồm có 8 phần, mỗi phần được phân cách bằng một gạch chéo. Nếu phần nào
không có nội dung thì để trống.
 VVVV: địa chỉ vùng FIR Ha Noi do ICAO cung cấp.
 QMXLC: NOTAM CODE gồm 5 chữ bắt đầu bằng chữ Q. Chữ thứ 2 và
thứ 3 chỉ nội dung, chữ thứ 4 và thứ 5 chỉ điều kiện liên quan đến nội dung
đó.
MX: đường băng.
LC : đóng cửa.
 Traffic: loại quy tắc bay
I–IFR(qui tắc bay bằng thiết bị)
V - VFR (qui tắc bay bằng mắt)
K - NOTAM checklist
Các giá trị và liên kết có thể sử dụng: I, V, IV, K.
 PURPOSE - Mục đích
N - cần được nhận biết ngay lập tức
B - cần thiết phải đưa vào PIB
O - liên quan khai thác bay
M - thông tin khác chỉ đưa vào PIB khi có yêu cầu . PIB (Pre-flight
information bulletin): Bản thông báo tin tức trước chuyến bay.
K - NOTAM checklist
Các giá trị và liên kết có thể sử dụng: B, BO, NB, NBO, M, K.
10
 SCOPE - Phạm vi ảnh hưởng

A - sân bay
E - đường bay
W - cảnh báo nguy hiểm.
K – NOTAM checklist
Các giá trị và liên kết có thể sử dụng: A, E, W, AE, AW.
 Lower/Upper - Giới hạn thấp và giới hạn cao
Giới hạn thấp và giới hạn cao chỉ được biểu hiện bằng mực bay (FL), gồm
3 chữ số cho từng giới hạn.
 Coordinates và Radius (NM)
Mục A:
Code 4 chữ chỉ địa danh sân bay hoặc FIR nơi tin tức phát sinh. Nếu ảnh
hưởng đến nhiều FIR thì phải liệt kê hết các chỉ danh địa chỉ của chúng
trong mục A, nhưng không được quá 7 chỉ danh địa chỉ.
Nếu ảnh hưởng đến nhiều sân bay thì mỗi một sân bay sẽ phát hành một
NOTAM.
VD: VVNB: mã sân bay Nội Bài.
Mục B: Thời gian bắt đầu có hiệu lực (nhóm 10 ký tự chỉ năm tháng ngày
giờ và phút) giờ UTC.
Mục C: Thời gian hết hiệu lực (nhóm 10 ký tự chỉ năm tháng ngày giờ và
phút) giờ UTC.
Mục D: Lịch trình bay
Mục E : Nội dung chính của bản tin
11
2. Phân tích một vài bản tin NOTAM mẫu
IV. Thiết kế Phần Mềm
- LẬP TRÌNH C#
3.1. Socket
Socket là một giao diện lập trình ứng dụng mạng. Thông qua giao diện này
chúng ta có thể lập trình điều khiển việc truyền thông giữa hai máy tính sử dụng giao
thức mức thấp là TCP, UDP… Có thể hình dung socket như là thiết bị truyền thông hai

chiều gửi-nhận dữ liệu giữa hai máy tính với nhau.
Các loại socket
 Socket hướng kết nối (TCP Socket)
 Socket không hướng kết nối (UDP Socket)
 Raw Socket
Đặc điểm của Socket hướng đối tượng
 Có 1 đường kết nối ảo giữa hai tiến trình.
 Một trong 2 tiến trình phải đợi tiến trình kia yêu cầu kết nối.
 Có thể sử dụng để liên lạc theo mô hình Client/Server
 Trong mô hình Client/Server thì server lắng nghe và chấp nhận một yêu cầu
kết nối.
 Mỗi thông điệp gửi đều có xác nhận trở về.
 Các gói tin chuyển đi tuần tự.
Đặc điểm của socket không hướng kết nối
 Hai tiến trình liên lạc với nhau không kết nối trực tiếp.
 Thông điệp gửi đi phải kèm theo địa chỉ của người nhận.
 Thông điệp có thể gửi nhiều lần.
 Người gửi không chắc chắn thông điệp tới tay người nhận.
 Thông điệp gửi sau có thể đến trước thông điệp gửi trước đó.
Số hiệu cổng của Socket.
 Để có thể thực hiện các cuộc giao tiếp, một trong hai quá trình phải công bố
số hiệu cổng của socket mà mình sử dụng.
12
 Mỗi cổng giao tiếp thể hiện một địa chỉ xác định trong hệ thống. Khi quá
trình được gán một số hiệu cổng, nó có thể nhận dữ liệu gửi đến cổng này từ
các quá trình khác.
 Quá trình còn lại cũng yêu cầu tạo ra một socket.
Giới thiệu về NameSpace System.Net và System.Net.Sockets
Cung cấp một giao diện lập trình đơn giản cho rất nhiều các giao thức mạng.
Có rất nhiều lớp để lập trình.

Ta chỉ quan tâm đến lớp IPAdress, IPEndPoint, DNS,…
Lớp IPAdress
Một số Field cần chú ý:
 Any: Cung cấp một địa chỉ IP để chỉ ra rằng Server phải lắng nghe trên tất cả
các Card mạng.
 Broadcast: Cung cấp một địa chỉ IP quảng bá.
 Loopback: trả về một địa chỉ IP lặp.
 AddressFamily: trả về một họ IP hiện hành.
Một số phương thức cần chú ý:
 Phương thức khởi tạo
 IPAddress(Byte[])
 IPAddress(Int64)
 IsLoopback: Cho biết địa chỉ có phải địa chỉ lặp không.
 Parse: Chuyển IP dạng xâu về IP chuẩn.
 ToString: Trả địa chỉ IP về dạng xâu.
 TryParse: Kiểm tra IP ở dạng xâu có hợp lệ không.
Lớp IPEndPoint
Một số phương thức cần chú ý
 Phương thức khởi tạo
 IPEndPoint (Int64, Int32)
 IPEndPoint (IPAddress,Int32)
 Create: Tạo một EndPoint từ một địa chỉ Socket
 ToString: Trả về địa chỉ IP và số hiệu cổng theo khuôn dạng Địa Chỉ: Cổng,
ví dụ: 192.168.1.1:8080
Lớp DNS
13
Một số thành phần của lớp
 HostName: Cho biết tên của máy được phân giải.
 GetHostAddress: Trả về tất cả IP của một trạm.
 GetHostEntry: Giải đáp tên hoặc địa chỉ truyền vào và trả về đối tượng

IPHostEntry
 GetHostName: Lấy về tên của máy tính cục bộ
NameSpace System.Net.Sockets
Một số lớp hay dung: TcpClient, UdpClient, TcpListener, Socket,
NetworkStream
Để tạo ra Socket: Socket(AddressFamily af, SocketType st, ProtocolType pt)
SocketType ProtocolType Miêu tả
Dgram Udp Giao tiếp không hướng
kết nối
Stream Tcp Giao tiếp hướng kết nối
Raw ICMP Internet Control Message
Protocol
Raw Raw Plain IP Packet
communication
Bảng 3. : Giao tiếp trong mạng
3.2. Threading
Một số khái niệm
 Đa nhiệm (Multitasking): Là khả năng hệ điều hành làm nhiều công việc tại một
thời điểm.
 Tiến trình (Process): Khi chạy một ứng dụng, hệ điều hành sẽ cấp phát riêng cho
ứng dụng đó bộ nhớ và các tài nguyên khác. Bộ nhớ và tài nguyên vật lý riêng
biệt này được gọi là một tiến trình. Các tài nguyên và bộ nhớ của một tiến trình
thì chỉ tiến trình đó được phép truy cập.
14
 Tuyến (Thread): Trong hệ thống, một tiến trình có thể có một hoặc nhiều chuỗi
thực hiện tách biệt nhau và có thể chạy đồng thời. Mỗi chuỗi thực hiện này được
gọi là một tuyến (Thread). Trong một ứng dụng Thread khởi tạo đầu tiên gọi là
Thread sơ cấp hay Thread chính.
Sử dụng Thread trong các chương trình .Net
Để sử dụng Thread trong .Net ta sử dụng NameSpace System.Threading

Một số phương thức thường dùng
Tên phương thức Mô tả
Abort() Kết thúc Thread
Join() Buộc chương trình phải chờ cho Thread
kết thúc (Block) thì mới thực hiện tiếp
(Các câu lệnh đứng sau Join)
Resume() Tiếp tục chạy Thread đã bị tạm ngưng -
suspended
Sleep() Tạm dừng Thread trong một khoảng thời
gian.
Start() Bắt đầu chạy (khởi động) một Thread.
Sau khi gọi phương thức này, trạng thái
của thread chuyển từ trạng thái hiện
hành sang Running
Suspend() Tạm ngưng (nghỉ) thread. VS 2005
không dung phương thức này.
Bảng 3. : Các phương thức dùng trong Thread
Một số thuộc tính thường dung
Tên thuộc tính Mô tả
CurrentThread Trả về thread hiện hành đang chạy
IsAlive Trả về giá trị cho biết trạng thái thực thi
của thread hiện hành.
IsBackground Sets hay gets giá trị cho biết thread là
background hay foreground thread
ThreadState Lấy về trạng thái của Thread (đag dừng
hay đang chạy…)
Bảng 3. : Các thuộc tính dùng trong Thread
Tạo một tuyến trong C#

15

Thread newThread = newThread(new ThreadStart(newMethod));
….}
Void newMethod()
{

}
Sử dụng Thread trong các chương trình Server
Đa tuyến hay được ứng dụng trong các chương trình Server, các chương trình
đòi hỏi tại một thời điểm chấp nhận nhiều kết nối đến Client.
Để các chương trình server có thể xử lí nhiều Client tại một thời điểm ta có mô
hình ứng dụng đa tuyến như sau
Hình 3. : Cách tạo ra chương trình server dùng thread
3.3. Sơ lược về GPRS TCP Server
Đây là chương trình trên máy tính dùng để truyền nhận các gói TCP giữa trạm
điều khiển và máy bay, được kết nối với đường truyền internet công cộng ADSL.
Chương trình ứng dụng được xây dựng trên lớp TCP cho phép nâng cao tính linh
động của ứng dụng, do không phải phụ thuộc vào các ứng dụng ở lớp cao hơn như
FTP, HTTP, đồng thời cho phép giảm bớt dữ liệu lưu thông trên đường truyền, tiết
kiệm chi phí duy trì hệ thống, do không phải thêm vào các protocol tương thích với các
ứng dụng ở các lớp cao. Thực ra có hai sự lựa chọn ở đây, đó là TCP và UDP. Đây là
hai phương thức truyền nhận dữ liệu phổ biến trong các ứng dụng liên quan đến
internet. Mỗi phương thức truyền nhận đều có ưu nhược điểm riêng:
16
Bảng 3. : Bảng so sánh ưu nhược điểm của TCP và UDP
Các thông tin truyền nhận trong hệ thống yêu cầu phải có độ tin cậy cao trong
quá trình truyền nhận, nên TCP là sự lựa chọn phù hợp.
THỰC HIỆN
Các chương trình được xây dựng bằng ngôn ngữ lập trình Microsoft Visual C#
trên nền .NET. Môi trường lập trình Visual cho phép tạo lập ứng dụng windows một
cách dễ dàng và thuận tiện nhất, đi kèm với đó nền tảng .NET cho phép triển khai và

thực thi ứng dụng rất mạnh mẽ và hiệu quả.
1. Server trung tâm
a) Chức năng
+Chức năng:
- Luôn luôn lắng nghe kết nối từ client
- Theo dõi và cập nhật các trạng thái của client
- Tạo ra các bản tin NOTAM, MATAR
- Cho phép gửi và nhận các bản tin text
+Thực hiện:
- Server lắng nghe kết nối
- Một client (máy bay) muốn liên lạc với Server(trạm điều khiển)
phải kết nối tới IP tĩnh của server và qua 1 port cố định đã được mở
17
- Khi có nhiều kết nối , để xử lý được thì server phải cung cấp cho
mỗi kết nối đó 1 thread – luồng để truyền nhận dữ liệu
- Khi client mất kết nối hoặc ngắt kết nối thì luồng đó sẽ được giải
phóng để dành cho client khác.
b) Kết quả đạt được
- Lắng nghe kết nối
18
- Kết nối thành công và bắt đầu gửi nhận dữ liệu
c) Hạn chế
- Chưa xử lý được quá trình ngắt kết nối hoặc mất kết nối
- Do khả năng sử lý của server nên số lượng thread tạo được là có
hạn vì vậy cần tối ưu hóa các thread tạo ra.
- Giải pháp:
+khi đang gửi dữ liệu mà client tự đóng form thì đường kết nối sẽ
bị đứt và socket sẽ đưa ra báo lỗi cho bên server để server sử lý.
19
Lỗi: socketException {"An existing connection was forcibly closed

by the remote host"}
socketException.ErrorCode : 10054.
+khi client thực hiện ngắt kết nối, nó sẽ gửi request cho server và
server nhận biết được.
d) Các ý tưởng cải tiến
+ tăng tốc độ xử lý của server khi có nhiều luồng kết nối bằng cách xử lý
song song đa luồng thay vì xử lý từng luồng kết nối đến như hiện đang dùng.
+có thể gửi tất cả các file: bằng cách chia nhỏ các file ra thành các gói và gửi
từng gói 1 (đã test chạy ok).
2. Các client
a) Chức năng
+ Gửi, nhận dữ liệu với server
+ Tạo bản tin FPL
b) Kết quả đạt được
- Kết nối và gửi, nhận dữ liệu
- Bản tin FPL
20
c) Hạn chế
- Quá trình đóng kết nối còn gặp tồn tại.
d) Các ý tưởng cải tiến
- Sử dụng phương pháp gửi đa loại dữ liệu như server, tích hợp cả
voice IP.
KỊCH BẢN MÔ PHỎNG CHO BẢN TIN NOTAM
……
KẾT LUẬN
21

×