TRƯỜNG ĐẠI HỌC QUỐC GIA HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN - INTERNET RELAY CHAT PROTOCOL TÌM HIỂU VÀ ỨNG DỤNG -2009- Muïc Luïc 0O0 Giới thiệu đề tài Phaàn Tìm hiểu Internet Relay Chat Protocol Giới thiệu tổng quan veà IRC Chương I: Một số khái niệm baûn Servers Clients 2.1 Operators Channels: 10 3.1.Channels operation : 11 Các khái niệm truyền thông 11 4.1 Truyền thông moät – moät (one – to – one communication) 11 4.2 Truyền thông – nhiều (one – to – many communication) 11 4.2.1 Dựa danh saùch (one – to – List communication) 11 4.2.2.Dựa vào channel (one – to – group communication) 12 4.2.3.Truyền thông đến - host /server mask 12 4.3 Truyeàn thông - tất cả(one to all Communication ) 13 4.3.1.Client to Client 13 4.3.2.Client to Server 13 Chương II: Những quy định IRC 13 Quy định veà code 13 Message 13 2.1 Định dạng message 14 Giá trị số trả (numeric replies) 15 Chương III: Chi tiết cho message 15 Nhóm message đăng ký kết nối 15 1.1 Server Message 20 1.2 Server Quit Message 21 - Trang 1.3 Operator message 21 1.4 Quit message 21 1.5 Pass message 22 1.6 NickMessage 22 1.7 User Message 24 Nhoùm message dùng cho việc điều khiển Channel 24 2.1 Join message 24 2.2 part message 25 2.3 Mode message 26 2.3.1 Channel mode 26 2.3.2 User mode 26 2.4 Topic message 27 2.5 Names message 28 2.6 List message 28 2.7 Invite message 29 2.8 Kick command 29 Nhóm message truy vấn đến server(server query and command) 30 3.1 Version message 30 3.2 Stats Message 30 3.3 Link Message 31 3.4 Time Message 31 3.5 Connect message 32 3.6 Trace Message 32 3.7 Admin Message 33 3.8 Info Message 33 Nhóm message gởi text (sending message) 33 4.1 Private Message 34 4.2Notice Message 34 Nhoùm message client truy vấn đến server (user-based query) 35 - Trang 5.1 Who Query 35 5.2 Who is Query 35 5.3 Whowas Message 36 Nhóm message khác (miscellaneous message) 37 6.1 Kill Message 37 6.2 Ping Message 37 6.3 Pong Message 37 6.4 Error Message 38 Nhoùm message tùy chọn(option message) 38 7.1 Away Message 38 7.2 Rehast Message 38 7.3 Restart Message 39 7.4 Summon Message 39 7.5 Users Message 39 7.6 Operwall Message 40 7.7 Userhost Message 40 7.8 Ison Message 40 Phần II: Tìm Hiểu Kỹ Thuật Lập Trình Socket 41 Chương I: Các Khái Niệm Cơ Bản Về Hệ Thống Mạng 42 Mô hình mạng, mô hình OSI, mô hình TCP 42 1.1 Mô Hình Mạng 42 1.2 Mô hình OSI 43 1.3 Mô hìnhTCP/IP 44 Giao Thức TCP UDP 44 2.1 Giao Thức UDP 46 2.2 Giao thức TCP 48 Địa Chỉ IP 49 3.1 Giới thiệu địa IP 49 3.2 Phân Loại Địa Chỉ IP 49 www.diachiweb.com - Trang 3.3 Subnet Mask (mặt nạ con) 50 Chương II: Một Số Hàm Socket 50 Khái niệm socket 50 Thư viện hàm socket (API) Java 51 2.1 Lớp InetAddress 51 2.2 Lớp Socket 52 2.3 Lớp ServerSocket 53 2.4 Lớp DatagramSocket 53 2.5 Lớp DatagramPackage 54 Chương trình minh họa cho việc sử dụng socket Java 54 3.1 Chương trình hoạt động theo giao thức TCP 54 3.1.1 Chương trình client chạy máy khách 54 3.1.2 Chương trình server chạy máy chủ 55 3.2 Chương trình hoạt động theo giao thức UDP 56 3.2.1 Chương trình client chạy máy khách 56 3.2.2 Chương trình server chạy máy chủ 59 Phần III: Xử Lý Đa Tiến Trình (multitasking) Đa Luồng (multithreading) 62 Chương I: Đa Tiến Trình (multitasking) 62 Chương II: Đa Luồng (multithreading) 64 Khái niệm luồng 64 Những tiện ích dùng thread (Advantages of multithreading) 64 Các khó khăn dùng thread 65 Mô hình hiểu trình (thread) JAVA 66 Tính chaát thread 67 Đồng hóa thread 68 Các phương thức đồng (synchronized) 68 Caùc trạng thái thread 70 Phần IV:Yêu cầu & Kiến trúc chương trình: 72 Chương I: Yêu cầu chức phi chức năng: 73 www.diachiweb.com - Trang A ChatClient: 73 B ChatServer: 74 Chương II: Kiến trúc chương trình: 75 A ChatClient: 77 B.ChatServer: 78 Kết luận 79 Hướng phát triển đề tài 79 Tài liệu tham khaûo 80 Phuï Luïc 81 www.diachiweb.com - Trang Giới Thiệu Đề Tài —ª– Đề Tài: Internet Relay Chat Protocol tìm hiểu ứng dụng thầy Mai Văn Cường hướng dẫn, luận văn sau giới thiệu ứng dụng hay nói chương trình cho phép người sử dụng chat với Internet Chương trình hoạt động theo giao thức chuẩn ủy ban IAB giao thức chuẩn (IAB Official Protocol Standards) quy định, quy định định nghóa RFC 1459, 2810, 2811, 2812, 2813 Luận văn gồm phần Ø Phần I luận văn tìm hiểu Internet Relay Chat Protocol (IRC protocol) Internet Relay Chat Protocol giao thức chuẩn cho chương trình chat tại, chương trình muốn thực Internet phải tuân theo giao thức Nội dung giao thức message gởi nhận client server Ø Phần II khái niệm mạng mô hình socket để tạo giao tiếp phục vụ cho việc truyền nhận liệu, chương trình chat application chủ yếu sử dụng phương thức socket để hoạt động Ø Phần III số vấn đề đa xử lý đa luồng giúp cho chương trình hoạt động hiệu Ø Phần IV yêu cầu chức năng, phi chức kiến trúc chương trình Ø Phần cuối hướng phát triển đề tài tài liệu tham khảo, phần phụ lục dành để tham khảo giá trị trả giao thức www.diachiweb.com - Trang Phần I: Tìm Hiểu Internet Relay Chat (IRC) protocol ü Giới thiệu tổng quan IRC ü Chương I: Một số khái niệm ü Chương II: Những quy định IRC üChương III: Chi tiết cho message www.diachiweb.com - Trang Giới Thiệu Tổng Quan Về IRC —&– Hiện Internet có nhiều loại dịch vụ, dịch vụ cung cấp cho tiện ích khác nhau, có dịch vụ chat Đây loại dịch vụ cho phép người khắp hành tinh gặp gỡ, trao đổi thông tin với mà không cần phải gặp trực tiếp Dịch vụ phát triển, có đến hàng triệu người giới sử dụng dịch vụ Vì vấn đề đặt phải có quy định chung cho hệ thống mạng IRC(Internet Relay Chat) Ủy Ban IAB giao thức chuẩn (IAB Official Protocol Standards) đưa giao thức chuẩn (Standard protocol) dùng cho tất chương trình chat tồn Đó IRC (Internet Relay Chat) protocol định nghóa RFC(Request For Comment) 1459, 2810, 1324, 2811, 2813 IRC Protocol đưa vào năm 1980, tiền thân nó, dùng cho thành viên mạng BBS trao đổi thông tin với nhau, cải tiến trở thành giao thức chuẩn cho chương trình IRC Quy mô IRC protocol toàn cầu, gồm có thành phần Client Server Hiện IRC Protocol xây dựng họ giao thức mạng phổ biến TCP/IP (TCP/IP Net Work Protocol) lý việc sử dụng họ giao thức tính xác, tin cậy, phổ biến, thích cho thảo luận từ xa IRC Protocol dùng mô hình client – server, chạy nhiều máy môi trường phân tán (distributed enviroment) Trong máy đóng vai trò server cung cấp điểm tập trung (central point) cho client kết nối đến, đồng thời thực trình truyền nhận message từ client đến client khác www.diachiweb.com - Trang Chương I: Một số khái niệm baûn Servers: : Server1 : Server2 Client2 : : : Server3 Server4 : Server5 Server6 Client4 Client1 Client3 Hình 1: mô hình hệ thống mạng IRC Server xem xương sống mạng IRC, server tâm điểm hệ thống server, chúng cho phép client server khác kết nối vào Những server kết nối theo biểu đồ hình (spanning tree) Ví dụ: client muốn trao đổi thông tin với client chúng phải thông qua server5, server6, server Clients: Client máy tính mà kết nối đến server máy tính server (Xem :Hình1.1) Client thiết bị đầu cuối không chuyển tiếp message cho máy tính khác Mỗi client phân biệt với thông qua Nickname (Nickname chuỗi có giá trị tối đa ký tự ) Server dùng Nickname để quản lý client Khi có tham gia client vào hệ thống, tất server phải có thông tin client tên client (Hostname), tên server mà kết nối đến v.v 2.1 Operators: Để quản lý số lượng user tham gia mạng (IRC network) người ta xây dựng nhóm user gọi “client operator” nhóm có đầy đủ quyền hạn mạng (IRC network) Mặc dù quyền hạn (cấp cho client operation ) xem “nguy hiểm”, nhóm www.diachiweb.com - Trang ... Tài —ª– Đề Tài: Internet Relay Chat Protocol tìm hiểu ứng dụng thầy Mai Văn Cường hướng dẫn, luận văn sau giới thiệu ứng dụng hay nói chương trình cho phép người sử dụng chat với Internet Chương... Official Protocol Standards) quy định, quy định định nghóa RFC 1459, 2810, 2811, 2812, 2813 Luận văn gồm phần Ø Phần I luận văn tìm hiểu Internet Relay Chat Protocol (IRC protocol) Internet Relay Chat. .. protocol) dùng cho tất chương trình chat tồn Đó IRC (Internet Relay Chat) protocol định nghóa RFC(Request For Comment) 1459, 2810, 1324, 2811, 2813 IRC Protocol đưa vào năm 1980, tiền thân nó, dùng