Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
628,46 KB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ-VIỄN THÔNG *********** tuthienbao.com BÁO CÁO BÀI TẬP LỚN ĐỀ TÀI: PHẦN MỀM TRUYỀN ĐIỆNVĂN SỬ DỤNG TRONG HÀNG KHÔNG Thầy giáo hướng dẫn: TS.Đỗ Trọng Tuấn Thực : Nguyễn Thành Đạt Nguyễn Thanh Tuấn Hà Nội, 07/07/2013 I Tổng quan mạng thông tin hàng không (ATN) 1 Khái niệm mạng ATN Mạng ATN xem sở hạ tầng liên mạng cho mạng thông tin hàng không.ATN sử dụng tập giao thức truyền liệu dựa mơ hình OSI tổ chức định chuẩn quốc tế ISO để liên kết hệ thống liên lạc air-ground ground-ground với Mạng ATN bao gồm ứng dụng dịch vụ truyền tin mà cho phép mạng ground-ground , air-ground hàng không hoạt động với dựa dịch vụ giao thức thông thường dựa mơ hình OSI ISO Hình 1: Mơ hình mạng ATN 2.Chức ATN Mạng ATN tiến trình ứng dụng tương ứng thiết lập nhằm hỗ trợ cho hệ thống CNS/STM Mạng ATN có chức sau: Mạng chuyên dụng dành riêng để cung cấp dịch vụ truyền liệu cho tổ chức cung cấp dịch vụ không lưu (ATM) 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 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 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 cho phép dịch vụ khơng lưu cung cấp liệu an tồn hiệu : + Các hệ thống máy bay hệ thống đất + Các hệ thống đất Cung cấp dịch vụ truyền tin, giám sát thông tin hàng không hỗ trợ dịch vụ quản lý không lưu (ATMS): + Dịch vụ không lưu ATS : - Dịch vụ kiểm số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 ATN Ứng dụng Ground-Ground + Hệ thống AMHS + Thơng tin trung tâm bên ngồi (ICC) : trao đổi liệu chuyển giao ATS Ứng dụng Air-Ground + Quản lí ngữ cảnh + Liên lạc liệu kiểm soát viên 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 Trong phạm vi tập chúng em sử dụng truyền liệu qua giao thức TCP/IP Giao thức TCP/IP Bộ giao thức TCP/IP, ngắn gọn TCP/IP ( Internet protocol suite IP suite TCP/IP protocol suite - giao thức liên mạng), giao thức truyền thông cài đặt chồng giao thức mà Internet hầu hết mạng máy tính thương mại chạy Bộ giao thức đặt tên theo hai giao thức TCP (Giao thức Điều khiển Giao vận) IP (Giao thức Liên mạng) Hình 2: Mơ hình TCP/IP Giao thức TCP gồm có tầng : Application: Tầng ứng dụng nơi chương trình mạng thường dùng làm việc nhằm liên lạc nút mạng Giao tiếp xảy tầng tùy theo ứng dụng cụ thể liệu truyền từ chương trình, định dạng sử dụng nội ứng dụng này, đóng gói theo giao thức tầng giao vận Do chồng TCP/IP khơng có tầng nằm ứng dụng tầng giao vận, tầng ứng dụng TCP/IP phải bao gồm giao thức hoạt động giao thức tầng trình diễn tầng phiên mơ hình OSI Việc thường thực qua thư viện lập trình Dữ liệu thực để gửi qua mạng truyền cho tầng ứng dụng, nơi đóng gói theo giao thức tầng ứng dụng Từ đó, liệu truyền xuống giao thức tầng thấp tầng giao vận Hai giao thức tầng thấp thông dụng TCP UDP Mỗi ứng dụng sử dụng dịch vụ hai giao thức cần có cổng Transport Trách nhiệm tầng giao vận kết hợp khả 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) đ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 ứng dụng tầng giao vận phân loại 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 xem chế vận chuyển thông thường, nghĩa trách nhiệm phương tiện vận tải đảm bảo hàng hóa/hành khách đến đích an toàn đầy đủ Tầng giao vận cung cấp dịch vụ kết nối ứng dụng với thông qua việc sử dụng cổng TCP UDP Do IP cung cấp dịch vụ phát chuyển nỗ lực tối đa (best effort delivery), tầng giao vận tầng đâu tiên giải vấn đề độ tin cậy Network Trong giao thức liên mạng, giao thức IP thực nhiệm vụ dẫn đường liệu từ nguồn tới đích IP chuyển liệu theo yêu cầu nhiều giao thức tầng khác nhau; giao thức định danh số hiệu giao thức Data Link Tầng liên kết - phương pháp sử dụng để chuyển gói tin từ tầng mạng tới máy chủ (host) khác - không phần giao thức TCP/IP, giao thức IP chạy nhiều tầng liên kết khác Các q trình truyền gói tin liên kết cho trước nhận gói tin từ liên kết cho trước điều khiển phần mềm điều vận thiết bị (device driver) dành cho card mạng, phần sụn (firmware) hay chipset chuyên dụng Những thứ thực chức liên kết liệu chẳng hạn bổ sung tín đầu (packet header) để chuẩn bị cho việc truyền gói tin đó, thực truyền frame liệu qua môi trường vật lý 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 phần: + header +dữ liệu Data offset:Trường có độ dài bít qui định độ dài phần header Reserved:dự phòng Flags gồm 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 lại số thứ tự FIN:Khơng gửi thêm số liệu Window:Số byte nhận giá trị trường báo nhận (ACK) Checksum:16 bít kiểm tra cho phần header liệu 2.2 III Cấu trúc gói tin IP Bản tin điệnvăn hàng không Trong phạm vi tập nhóm em tìm hiểu tin NOTAM Tìm hiểu tin NOTAM Khái niệm NOTAM: NOTAM ( Notice to Airmen ) thông báo quan hàng không cảnh báo phi công lái máy bay mối nguy hiểm tiềm tuyến đường bay vị trí mà ảnh hưởng đến an tồn chuyến bay Cấu trúc tin Số loại NOTAM A : số loại Series ( A or B or C ) 1234/06: số thứ tự phát hành NOTAM kèm số loại 1234: số thứ tự 06 : năm phát hành NOTAMR : tính chất NOTAM R : Replacement NOTAM có thơng tin thay NOTAM trước N : New NOTAM có thơng tin 10 C : Cancelation NOTAM hủy bỏ thông tin NOTAM trước NOTAM hết hiệu lực Mục Q: Gồm có phần, phần phân cách gạch chéo Nếu phần khơng có nội dung để trống VVVV: địa vùng FIR Ha Noi ICAO cung cấp QMXLC: NOTAM CODE gồm chữ bắt đầu chữ Q Chữ thứ thứ nội dung, chữ thứ thứ đ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 thiết bị) V - VFR (qui tắc bay mắt) K - NOTAM checklist Các giá trị liên kết sử dụng: I, V, IV, K PURPOSE - Mục đích N - cần nhận biết 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 đưa vào PIB có yêu cầu PIB (Pre-flight information bulletin): Bản thông báo tin tức trước chuyến bay 11 K - NOTAM checklist Các giá trị liên kết sử dụng: B, BO, NB, NBO, M, K 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ị liên kết sử dụng: A, E, W, AE, AW Lower/Upper - Giới hạn thấp giới hạn cao Giới hạn thấp giới hạn cao biểu mực bay (FL), gồm chữ số cho giới hạn Coordinates Radius (NM) Mục A: Code chữ địa danh sân bay FIR nơi tin tức phát sinh Nếu ảnh hưởng đến nhiều FIR phải liệt kê hết danh địa chúng mục A, không danh địa Nếu ảnh hưởng đến nhiều sân bay sân bay phát hành 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ự năm tháng ngày phút) UTC Mục C: Thời gian hết hiệu lực (nhóm 10 ký tự năm tháng ngày phút) UTC 12 Mục D: Lịch trình bay Mục E : Nội dung tin Phân tích vài tin NOTAM mẫu IV Thiết kế Phần Mềm - LẬP TRÌNH C# 3.1 Socket Socket giao diện lập trình ứng dụng mạng Thơng qua giao diện lập trình điều khiển việc truyền thơng hai máy tính sử dụng giao thức mức thấp TCP, UDP… Có thể hình dung socket thiết bị truyền thông hai chiều gửi-nhận liệu hai máy tính với 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 Socket hướng đối tượng Có đường kết nối ảo hai tiến trình Một tiến trình phải đợi tiến trình 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 server lắng nghe chấp nhận yêu cầu kết nối Mỗi thơng điệp gửi có xác nhận trở Các gói tin chuyển Đặc điểm socket khơng hướng kết nối Hai tiến trình liên lạc với không kết nối trực tiếp Thông điệp gửi phải kèm theo địa người nhận Thơng điệp gửi nhiều lần Người gửi không chắn thông điệp tới tay người nhận 13 Thơng điệp gửi sau đến trước thơng điệp gửi trước Số hiệu cổng Socket Để thực giao tiếp, hai q trình phải cơng bố số hiệu cổng socket mà sử dụng Mỗi cổng giao tiếp thể địa xác định hệ thống Khi trình gán số hiệu cổng, nhận liệu gửi đến cổng từ trình khác Quá trình lại yêu cầu tạo socket Giới thiệu NameSpace System.Net System.Net.Sockets Cung cấp giao diện lập trình đơn giản cho nhiều giao thức mạng Có nhiều lớp để lập trình Ta quan tâm đến lớp IPAdress, IPEndPoint, DNS,… Lớp IPAdress Một số Field cần ý: Any: Cung cấp địa IP để Server phải lắng nghe tất Card mạng Broadcast: Cung cấp địa IP quảng bá Loopback: trả địa IP lặp AddressFamily: trả họ IP hành Một số phương thức cần ý: Phương thức khởi tạo IPAddress(Byte[]) IPAddress(Int64) IsLoopback: Cho biết địa có phải địa lặp không Parse: Chuyển IP dạng xâu IP chuẩn ToString: Trả địa IP 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 ý Phương thức khởi tạo IPEndPoint (Int64, Int32) 14 IPEndPoint (IPAddress,Int32) Create: Tạo EndPoint từ địa Socket ToString: Trả địa IP số hiệu cổng theo khuôn dạng Địa Chỉ: Cổng, ví dụ: 192.168.1.1:8080 Lớp DNS Một số thành phần lớp HostName: Cho biết tên máy phân giải GetHostAddress: Trả tất IP trạm GetHostEntry: Giải đáp tên địa truyền vào trả đối tượng IPHostEntry GetHostName: Lấy tên máy tính cục NameSpace System.Net.Sockets Một số lớp hay dung: TcpClient, UdpClient, TcpListener, Socket, NetworkStream Để tạo Socket: Socket(AddressFamily af, SocketType st, ProtocolType pt) SocketType Dgram ProtocolType Udp Stream Raw Tcp ICMP Raw Raw Miêu tả Giao tiếp không hướng kết nối Giao tiếp hướng kết nối Internet Control Message Protocol Plain IP Packet communication Bảng 3.1 : Giao tiếp mạng 3.2 Threading Một số khái niệm Đa nhiệm (Multitasking): Là khả hệ điều hành làm nhiều công việc thời điểm 15 Tiến trình (Process): Khi chạy ứng dụng, hệ điều hành cấp phát riêng cho ứng dụng nhớ tài nguyên khác Bộ nhớ tài nguyên vật lý riêng biệt gọi tiến trình Các tài nguyên nhớ tiến trình tiến trình phép truy cập Tuyến (Thread): Trong hệ thống, tiến trình có nhiều chuỗi thực tách biệt chạy đồng thời Mỗi chuỗi thực gọi tuyến (Thread) Trong ứng dụng Thread khởi tạo gọi Thread sơ cấp hay Thread Sử dụng Thread chương trình Net Để sử dụng Thread 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 Abort() Join() Mô tả Kết thúc Thread Buộc chương trình phải chờ cho Thread kết thúc (Block) thực tiếp (Các câu lệnh đứng sau Join) Tiếp tục chạy Thread bị tạm ngưng suspended Tạm dừng Thread khoảng thời gian Bắt đầu chạy (khởi động) Thread Sau gọi phương thức này, trạng thái thread chuyển từ trạng thái hành sang Running Tạm ngưng (nghỉ) thread VS 2005 không dung phương thức Resume() Sleep() Start() Suspend() Bảng 3.2 : Các phương thức dùng Thread Một số thuộc tính thường dung Tên thuộc tính CurrentThread IsAlive IsBackground ThreadState Mơ tả Trả thread hành chạy Trả giá trị cho biết trạng thái thực thi thread hành Sets hay gets giá trị cho biết thread background hay foreground thread Lấy trạng thái Thread (đag dừng 16 hay chạy…) Bảng 3.3 : Các thuộc tính dùng Thread Tạo tuyến C# … Thread newThread = newThread(new ThreadStart(newMethod)); ….} Void newMethod() { … } Sử dụng Thread chương trình Server Đa tuyến hay ứng dụng chương trình Server, chương trình đòi hỏi thời điểm chấp nhận nhiều kết nối đến Client Để chương trình server xử lí nhiều Client thời điểm ta có mơ hình ứng dụng đa tuyến sau Hình 3.1 : Cách tạo chương trình server dùng thread 3.3 Sơ lược GPRS TCP Server Đây chương trình máy tính dùng để truyền nhận gói TCP trạm điều khiển máy bay, kết nối với đường truyền internet công cộng ADSL Chương trình ứng dụng xây dựng lớp TCP cho phép nâng cao tính linh động ứng dụng, phụ thuộc vào ứng dụng lớp cao FTP, HTTP, đồng thời cho phép giảm bớt liệu lưu thông đường truyền, tiết kiệm chi phí trì hệ thống, khơng phải thêm vào protocol tương thích với ứng dụng lớp cao Thực có hai lựa chọn đây, TCP UDP Đây 17 hai phương thức truyền nhận liệu phổ biến ứng dụng liên quan đến internet Mỗi phương thức truyền nhận có ưu nhược điểm riêng: Bảng 3.4 : Bảng so sánh ưu nhược điểm TCP UDP Các thông tin truyền nhận hệ thống yêu cầu phải có độ tin cậy cao trình truyền nhận, nên TCP lựa chọn phù hợp THỰC HIỆN Các chương trình xây dựng ngơn ngữ lập trình Microsoft Visual C# NET Mơi trường lập trình Visual cho phép tạo lập ứng dụng windows cách dễ dàng thuận tiện nhất, kèm với tảng NET cho phép triển khai thực thi ứng dụng mạnh mẽ hiệu Server trung tâm a) Chức +Chức năng: - Luôn lắng nghe kết nối từ client - Theo dõi cập nhật trạng thái client - Tạo tin NOTAM, MATAR - Cho phép gửi nhậ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 server qua port cố định mở 18 - Khi có nhiều kết nối , để xử lý server phải cung cấp cho kết nối thread – luồng để truyền nhận liệu - Khi client kết nối ngắt kết nối luồng giải phóng để dành cho client khác b) Kết đạt - Lắng nghe kết nối 19 - Kết nối thành công bắt đầu gửi nhận liệu c) Hạn chế - Chưa xử lý trình ngắt kết nối kết nối - Do khả sử lý server nên số lượng thread tạo có hạn cần tối ưu hóa thread tạo - Giải pháp: +khi gửi liệu mà client tự đóng form đường kết nối bị đứt socket đưa báo lỗi cho bên server để server sử lý Lỗi: socketException {"An existing connection was forcibly closed by the remote host"} 20 socketException.ErrorCode : 10054 +khi client thực ngắt kết nối, gửi request cho server server nhận biết d) Các ý tưởng cải tiến + tăng tốc độ xử lý server có nhiều luồng kết nối cách xử lý song song đa luồng thay xử lý luồng kết nối đến dùng +có thể gửi tất file: cách chia nhỏ file thành gói gửi gói (đã test chạy ok) Các client a) Chức + Gửi, nhận liệu với server + Tạo tin FPL b) Kết đạt - Kết nối gửi, nhận liệu - Bản tin FPL 21 c) Hạn chế - Q trình đóng kết nối gặp tồn d) Các ý tưởng cải tiến - Sử dụng phương pháp gửi đa loại liệu server, tích hợp voice IP KỊCH BẢN MÔ PHỎNG CHO BẢN TIN NOTAM …… KẾT LUẬN 22