Mạng máy tính hay ha thống mạng Computer Networkhay Network System là sự kết hợp các máy tính lại với nhauthông qua các thiết bị nối kết mạng và phương tian truyềnthông giao thức mạng, m
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT HÀN
Khoa Khoa Học Máy Tính
LẬP TRÌNH MẠNG
ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH CHAT ROOM
Giảng viên hướng dẫn : TS.LÊ TÂN
Sinh viên thực hiện : Hoàng Văn Tùng :
21IT321 Lớp : 21JIT
Đà Nẵng , 11 Tháng 1 năm 2023
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT HÀN
Khoa Khoa Học Máy Tính
LẬP TRÌNH MẠNG
ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH CHAT ROOM
Giảng viên hướng dẫn : TS.LÊ TÂN
Sinh viên thực hiện : Hoàng Văn Tùng
: 21IT321 Lớp : 21JIT
Trang 3Đà Nẵng , 11 Tháng 1 năm 2023
NHẬN XÉT (Giảng viên hướng dẫn)
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Đà Nẵng, 11 tháng 1 năm 2022
Giảng viên hướng dẫn
Trang 4Ts Lê TânLỜI CẢM ƠN
Trước hết chúng em xin gửi tới các thầy cô Trường Đại học CNTT & TT Việt Hàn lời chào trân trọng, lời chúc sức khỏe và lời cảm ơn sâu sắc Với sự quan tâm, dạy dỗ, chỉ bảo tận tình chu đáo của thầy cô, đến nay chúng em đã có thể hoàn thành luận văn, đề tài: "Xây dựng chương trình chat room"
Đặc biệt chúng em xin gửi lời cảm ơn chân thành nhất tới Giảng viên – Ts
Lê Tân đã quan tâm giúp đỡ nhiệt tình, hướng dẫn chúng em hoàn thành tốt đồ án
này trong thời gian qua
Chúng em xin bày tỏ lòng biết ơn đến lãnh đạo Trường Đại học CNTT & TTViệt Hàn, các Khoa Phòng ban chức năng đã trực tiếp và gián tiếp giúp đỡ chúng
em trong suốt quá trình học tập và nghiên cứu đề tài
Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế của một học viên, đồ án lớn môn học này không thể tránh được những thiếu sót Chúng em rất mong nhận được sự chỉ bảo, đóng góp ý kiến của các thầy cô để em có điều kiện
bổ sung, nâng cao ý thức của mình, phục vụ tốt hơn công tác thực tế sau này.Chúng em xin chân thành cảm ơn!
Trang 5MỞ ĐẦU
Hiện nay với sự phát triển không ngừng của công nghệ thì nhu cầu của con ngườingày càng tăng Trên thị trường hiện nay một phương tiện thông tin đã trở nên quen thuộcvới chúng ta đó là điện thoại hoặc máy tính bảng Chỉ với một vài thao tác bạn đã có thểkết nối tới bạn bè, người thân của mình trên khắp đất nước Không những nó là mộtphương tiện liên lạc mà còn đóng góp quan trọng trong các công việc làm ăn của cácdoanh nhân Còn đối với giới trẻ thì đồ điện tử đã dần trở thành một thứ đồ trang sức.Mục tiêu xây dựng ứng dụng này nhằm giúp cho mọi có thể chát từ xa và giao lưuvới nhau Mọi người có thể ở nhà hay ở mọi nơi vẫn có thể dễ dàng giao lưu một cáchnhanh chóng, tiện lợi, tiết kiệm thời gian, đáp ứng được nhu cầu thực tế Hệ thống tìmkiếm dễ dàng, giao diện thân thiện Chỉ cần đăng nhập vào hệ thống với tài khoản đã cóhay chỉ cần vài thao tác đăng ký đơn giản là mọi người có thể tự do chọn chát với nhautại hệ thống
Trang 6MỤC LỤC
NHẬN XÉT 3
LỜI CẢM ƠN 4
MỞ ĐẦU 5
DANH M-C C.C B0NG 7
DANH MỤC HÌNH 8
CHƯƠNG 1: TỔNG QUAN VỀ LẬP TRÌNH MẠNG 9
1.1 Tổng quan về mạng máy tính 9
1.1.3 Phân loại mạng 12
1.2 Mô hình mạng OSI 14
1.3 Giao thức truyền thông 16
1.4 TCP/IP 17
1.4.3 Chức năng của các tầng trong mô hình TCP/IP 19
1.5 Phương thức truyền file FTP 22
1.6 Các phương thức truyền dữ liệu trong FTP 25
1.7 Giao thức trong lập trình mạng 26
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 31
1 Phân tích hệ thống 31
2 Yêu cầu hệ thống 32
3 Biểu đồ UseCase Tổng quát 33
4 Đặc tả use case 34
CHƯƠNG 3: KẾT QUẢ ĐỀ TÀI 35
CHƯƠNG 4: Kết luận và Hướng phát triển 36
1 Kết quả: 36
2 Hướng phát triển: 36
DANH M-C TÀI LIỆU THAM KH0O 37
Trang 7DANH MỤC CGC BING
B_ng 2.1: B_ng so sánh các phương pháp 14
Trang 8DANH MỤC HÌNH
Hình 1: Mô hình mạng hình sao(Star Network) 10
Hình 2: Mô hình mạng tuyến tính (Bus Network) 11
Hình 3: Mô hình vòng (Ring Network) 12
Hình 4: Mô hình mạng OST 14
Hình 5: Mô hình TCP/IP 17
Hình 6: Chức năng của các tầng trong mô hình TCP/IP 18
Hình 7: Mô hình tầng ứng dụng (Application) 19
Hình 8: Mô hình tầng giao vận (Transport) 20
Hình 9: Mô hình tầng mạng (Internet) 21
Hình 10: Quá trình truyền dữ liệu được thực hiện qua 2 quá trình 23
Hình 11: Phương thức truyền dữ liệu trong giao thức FTP 24
Hình 12: Mô hình Socket 27
Hình 13: Tin nhắn đoạn chat trong group 34 Hình 14:
Trang 9CHƯƠNG 1: TỔNG QUAN VỀ LẬP TRÌNH MẠNG1.1 Tổng quan về mạng máy tính
1.1.1 Mạng máy tính là gì ?
Mạng máy tính hay ha thống mạng (Computer Networkhay Network System) là sự kết hợp các máy tính lại với nhauthông qua các thiết bị nối kết mạng và phương tian truyềnthông (giao thức mạng, mỗi trường truyền dẫn) theo một cấutrúc nào đó và các máy tính này trao đổi thông tin qua lại vớinhau
1.1.2 Mô hình mạng
1.1.2.1 Mạng hình sao (Star Network)
Có tất c_ các trạm được kết nối với một thiết bị trungtâm có nhiam vb nhận tín hiau từ các trạm và chuyển đếntrạm địch Tùy theo yêu cầu truyền thông trên mạng màthiết bị trung tâm có thể là hub, switch, router hay máy chủtrung tâm Vai trò của thiết bị trung tâm là thiết lập các liênkết Point- to - Point
- Ưu điểm: Thiết lập mạng đơn gi_n, dễ dàng cấuhình lại mạng (thêm, bớt các trạm), dễ dàng kiểmsoát và khắc phbc sự cố, tận dbng được tối đa tốc
độ truyền của đường truyền vật lý
Trang 10- Khuyết điểm: Độ dài đường truyền nối một trạmvới thiết bị trung tâm bị hạn chế (bán kính kho_ng100m với công ngha hian nay).
Hình 1: Mô hình mạng hình sao(Star Network) 1.1.2.2 Mạng tuyến tính (Bus Network)
Có tất c_ các trạm phân chia trên một đường truyềnchung (bus) Đường truyền chính được giới hạn hai đầu bằnghai đầu nối đặc biat gọi là terminator Mỗi trạm được nối vớitrbc chính qua một đầu nối chữ T (T connector) hoặc mộtthiết bị thu phát (transceiver) Mô hình mạng Bus hoạt độngtheo các liên kết Point-to-Multipoint hay Broadcast
- Ưu điểm: Dễ thiết kế và chi phí thấp
- Khuyết điểm: Tính ổn định kém, chỉ một nút mạng hỏng
là toàn bộ mạng bị ngừng hoạt động
Trang 11Hình 2: Mô hình mạng tuyến tính (Bus Network) 1.1.2.3 Mạng hình vòng (Ring Network)
Tín hiau được truyền đi trên vòng theo một chiều duynhất Mỗi trạm của mạng được nối với nhau qua một bộchuyển tiếp (repeater) có nhiam vb nhận tín hiau rồi chuyểntiếp đến trạm kế tiếp trên vòng Như vậy tín hiau được lưuchuyển trên vòng theo một chuỗi liên tiếp các liên kết Point-to-Point giữa các repeater
- Ưu điểm: Mạng hình vòng có ưu điểm tương tự nhưmạng hình sao
- Khuyết điểm: Một trạm hoặc cáp hỏng là toàn bộmạng bị ngừng hoạt động, thêm hoặc bởi mộttrạm khó hơn, giao thức truy nhập mạng phức tạp
Trang 12Hình 3: Mô hình vòng (Ring Network)
1.1.3 Phân loại mạng
1.1.3.1 LAN
LAN (local area network), hay còn gọi là "mạng cbc bộ",
là mạng tư nhân trong một toà nhà, một khu vực (trường họchay cơ quan chẳng hạn) có cỡ chừng vài km Chúng nối cácmáy chủ và các máy trạm trong các văn phòng và nhà máy
để chia sẻ tài nguyên và trao đổi thông tin LAN có 3 đặcđiểm:
- Giới hạn về tầm cỡ phạm vi hoạt động từ vài mét chođến 1 km
- Thường dùng kỹ thuật đơn gi_n chỉ có một đường dâycáp (cable) nổi tất c_ máy Vận tốc truyền dữ liau thôngthường là 10 Mbps 100 Mbps, 1 Gbps, và gần đây làr00 Gbps
- Ba kiến trúc mạng kiểu LAN thông dbng bao gồm:
Trang 13o Mạng bus hay mạng tuyến tính Các máy nối nhaumột cách liên tbc thành một hàng từ máy này sangmáy kia Ví db c nó là Ethernet (chuẩn IEEE 802.3)
o Mạng vòng Các máy nối nhau như trên và máy cuốilại được nối ngược trở lại với máy đầu tiên tạo thànhvòng kín Thí db mạng vòng thẻ bài IBM (IBM tokenring)
o Mạng sao
1.1.3.2 MAN
MAN (metropolitan area network), hay còn gọi là "mạng
đô thị", là mạng có cỡ lớn hơn LAN, phạm vi vài km Nó cóthể bao gồm nhóm các văn phòng gần nhau trong thànhphố, nó có thể là công cộng hay tư nhân và có đặc điểm:
- Chỉ có tối đa hai dây cáp nối
- Không dùng các kỹ thuật nổi chuyển
- Có thể hỗ trợ chung vận chuyển dữ liau và đàm thoại,hay ngay c_ truyền hình Ngày nay người ta có thểdùng kỹ thuật cáp quang để truyền tín hiau Vận tốc cóhian nay thì đạt đến 10 Gbps
1.1.3.3 WAN
WAN (wide area network), con gọi là "mạng diễnrộng", dùng trong vùng địa lý lớn thưởng cho quốc gia hayc_ lbc địa, phạm vi vài trăm cho đến vài ngàn km Chúngbao gồm tập hợp các máy nhóm chạy các chương trình cho
Trang 14người dùng Các máy này thường gọi là máy lưu tri host)hay còn có tên là máy chủ, máy đầu cuối Các máy chínhđược nối nhau bởi các mạng truyền thông con(communication subnet) hay gọn hơn là mạng con(subnet) Nhiam vb của mạng con là chuyển tái các thôngđiap (message) từ máy chủ này sang máy chủ khác.
1.2 Mô hình mạng OSI
Mô hình OSI (Open Systems Interconnection
Reference Model, viết ngắn là OSI Model hoặc OSI
Reference Model) - tạm dịch là Mô hình tham chiếu kết nối các hệ thống mở là một thiết kế dựa vào nguyên lý
tầng cấp, lý gi_i một cách trừu tượng kỹ thuật kết nốitruyền thông giữa các máy vi tính và thiết kế giao thứcmạng giữa chúng Mô hình này được phát triển thành mộtphần trong kế hoạch Kết nối các ha thống mở (OpenSystems Interconnection) do ISO và IUT-T khởi xướng Nó
còn được gọi là Mô hình bảy tầng của OSI.
Trang 15Hình 4: Mô hình mạng OST
Tường trình các tầng cấp của mẫu hình OST:
- Tầng vật lý (Physical Layer) Tăng vật lý định nghĩa tất c_các đặc t_ về dian và vật lý cho các thiết bị Trong đó baogồm bố trí của các chân cam(pin), các hiau đian thế, vàcác đặc t_ về cáp nối (cable)
- Tầng liên kết dữ liau (Dato-Link Layer): làng liên kết dữ liaucung cấp các phương tian có tính chức năng và quy trình
để truyền dữ liau giữa các thực thể mạng (truy cập đườngtruyền, đưa dữ liau vào mạng), phát hian và có thể sửachữa các lỗi trong tầng vật lý nếu có Tầng mạng (Network
Trang 16Layer) Tầng nhưng cung cấp các chức năng trình cho viactruyền các chuỗi dữ liau có độ dài đa dạng, từ một nguồntới một đích, thông qua một hoặc nhiều mạng trong khivẫn duy trì chất lượng dịch vb (quality of service) mà tầnggiao vận và quy yêu cầu.
- Tầng giao vận (Transport Layer) Tăng giao vận cung cấpdịch vb chuyên dbng chuyển dữ liau giữa các người dùngtại đầu cuối, nhờ đó các tầng trên không ph_i quan tâmđến viac cung cấp dịch vb truyền dữ liau đáng tin cậy vàhiau qu_
- Tầng phiên (Session layer): Tầng phiên kiểm soát các(phiên) hội thoại giữa các máy tính Tầng này thiết lập,qu_n lý và kết thúc các kết nối giữa trình ứng dbng địaphương và trình ứng dbng ở xa
- Tầng trình diễn (Presentation layer) Lớp trình diễn hoạtđộng như tầng dữ liau trên mạng Lớp này trên máy tínhtruyền dữ liau làm nhiam vb dịch dữ liau được gửi từ tầngApplication sang dạng Format chung Và tại máy tínhnhận, lớp này lại chuyển từ Fomat chung sang định dạngcủa tầng Application
- Tầng ứng dbng (Application layer): Tầng ứng dbng là tầnggần với người sử dbng nhất Nó cung cấp phương tian chongười dùng truy nhập các thông tin và dữ liau trên mạngthông qua chương trình ứng dbng
Trang 171.3 Giao thức truyền thông
- Giao thức truyền thông (Communication protocol) hayGiao thức liên mạng, Giao thức truyền thông, Giaothức trao đổi thông tin trong công ngha thông tin gọitắt là giao thức (protocol) - là một tập hợp các quy tắcchuẩn dành cho viac biểu diễn dữ liau, phát tín hiau,chứng thực và phát hian các lỗi dữ liau Đó là nhữngviac rất cần thiết để gửi thông tin qua các kênhtruyền thông, nhờ đó mà các thiết bị có thể kết nối vàtrao đổi thông tin với nhau
- Các giao thức dùng cho viac truyền thông tin tín hiau
số trong mạng máy tính có nhiều tính năng để đ_mb_o viac trao đổi dữ liau một cách đáng tin cậy (quamột kênh truyền thông không hoàn h_o
- Có các mô hình giao thức mang tính lý thuyết, đượcngành công ngha thông tin tôn trọng một cách tươngđối như mô hình OSI Cũng có những giao thức đượctriển khai và ứng dbng rộng rãi như TCP, IP, HTTP,FTP, SMTP, POP3…
- Có nhiều giao thức được sử dbng để giao tiếp hoặctruyền đạt thông tin trên Internet, dưới đây là một sốcác giao thức tiêu biểu:
❖ TCP (Transmission Control Protocol): thiết lập kếtnối giữa các máy tính để truyền dữ liau Nó chianhỏ dữ liau ra thành những gói (packet) và đ_mb_o viac truyền dữ liau thành công
Trang 18❖ IP (Internet Protocol): định tuyến (route) các gói
dữ liau khi chúng được truyền qua Internet, đ_mb_o dữ liau sẽ đến đúng nơi cần nhận
❖ HTTP (HyperText Transfer Protocol): cho phéptrao đổi thông tin (chủ yếu ở dạng siêu văn b_n)qua Internet
❖ FTP (File Transfer Protocol): cho phép trao đổi tậptin qua Internet
❖ SMIP (Simple Mail Transfer Protocol): cho phépgởi các thông điap thư đian tử (e-mail) quaInternet
❖ POP3 (Post Office Protocol, phiên b_n 3): chophép nhận các thông điap thư đian tử quaInternet
❖ WAP (Wireless Application Protocol): cho phéptrao đổi thông tin giữa các thiết bị không dây,như đian thoại di động
Trang 19-một bộ giao thức trao đổi thông tin được sử dbng để truyềnt_i và kết nối các thiết bị trong mạng Internet TCP/IP đượcphát triển để mạng được tin cậy hơn cùng với kh_ năng phbchồi tự động.
Hình 5: Mô hình TCP/IP 1.4.2 Cách thức hoạt động của mô hình TCP/IP
Phân tích từ tên gọi, TCP/IP là sự kết hợp giữa 2 giao thức.Trong đó (Giao thức liên mạng) cho phép các gói tin đượcIPgửi đến đích đã định sẵn, bằng cách thêm các thông tin dẫnđường vào các gói tin để các gói tin được đến đúng đích đãđịnh sẵn ban đầu Và giao thức TCP (Giao thức truyền vận)đóng vai trò kiểm tra và đ_m b_o sự an toàn cho mỗi gói tinkhi đi qua mỗi trạm Trong quá trình này, nếu giao thức TCP
Trang 20nhận thấy gói tin bị lỗi, một tín hiau sẽ được truyền đi và yêucầu ha thống gửi lại một gói tin khác Quá trình hoạt độngnày sẽ được làm rõ hơn ở chức năng của mỗi tầng trong môhình TCP/IP.
1.4.3 Chức năng của các tầng trong mô hình TCP/IP
Một mô hình TCP/IP tiêu chuẩn bao gồm 4 lớp được chồng lênnhau, bắt đầu từ tầng thấp nhất là Tầng vật lý (Physical) → Tầngmạng (Network) → Tầng giao vận (Transport) và cuối cùng là Tầngứng dbng (Application)
Hình 6: Chức năng của các tầng trong mô hình TCP/IP
Tuy nhiên, một số ý kiến lại cho rằng mô hình TCP/IP là 5 tầng, tứccác tầng 4 đến 2 đều được giữ nguyên, nhưng tầng Datalink sẽđược tách riêng và là tầng nằm trên so với tầng vật lý
Trang 21Tầng 4 - Tầng Ứng dụng (Application)
Đây là lớp giao tiếp trên cùng của mô hình Đúng với tên gọi, tầngỨng dbng đ_m nhận vai trò giao tiếp dữ liau giữa 2 máy khácnhau thông qua các dịch vb mạng khác nhau (duyat web, chat,gửi email, một số giao thức trao đổi dữ liau: SMTP, SSH, FTP, )
Dữ liau khi đến đây sẽ được định dạng theo kiểu Byte nối Byte,cùng với đó là các thông tin định tuyến giúp xác định đường điđúng của một gói tin
Hình 7: Mô hình tầng ứng dụng (Application)
Tầng 3 - Tầng Giao vận (Transport)
Trang 22Chức năng chính của tầng 3 là xử lý vấn đề giao tiếp giữa các máychủ trong cùng một mạng hoặc khác mạng được kết nối với nhauthông qua bộ định tuyến Tại đây dữ liau sẽ được phân đoạn, mỗiđoạn sẽ không bằng nhau nhưng kích thước ph_i nhỏ hơn 64KB.Cấu trúc đầy đủ của một Segment lúc này là Header chứa thôngtin điều khiển và sau đó là dữ liau.
Trong tầng này còn bao gồm 2 giao thức cốt lõi là TCP và UDP.Trong đó, TCP đ_m b_o chất lượng gói tin nhưng tiêu tốn thời giankhá lâu để kiểm tra đầy đủ thông tin từ thứ tự dữ liau cho đến viackiểm soát vấn đề tắc nghẽn lưu lượng dữ liau Trái với điều đó,UDP cho thấy tốc độ truyền t_i nhanh hơn nhưng lại không đ_mb_o được chất lượng dữ liau được gửi đi
Hình 8: Mô hình tầng giao vận (Transport)