Hiểu được các nguyên tắc của giao thức
Phân biệt được sự khác nhau giữa hướng kết nối và không kết nối
Nắm được giao thức nào mà Windows hỗ trợ
Có khả năng tạo được các Socket
59 trang |
Chia sẻ: Mr Hưng | Lượt xem: 957 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Giao thức và nguyên tắc mạng căn bản, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
GIAO THỨC & NGUYÊN TẮC MẠNG CĂN BẢNTrình bày: Trương Vĩnh HảoTRƯỜNG CAO ĐẲNG NGHỀ ĐỒNG THÁPKHOA CÔNG NGHỆ THÔNG TIN--------Mục tiêuHiểu được các nguyên tắc của giao thứcPhân biệt được sự khác nhau giữa hướng kết nối và không kết nốiNắm được giao thức nào mà Windows hỗ trợCó khả năng tạo được các Socket Nội dungNhững đặc tính của giao thứcHướng kết nối và không kết nốiWindows socketWinsock API và mô hình OSI Những đặt tính của giao thức (1)Giao thức truyền thôngGiao thức giao tiếp hay còn gọi là Giao thức truyền thông, Giao thức liên mạng, Giao thức tương tác, Giao thức trao đổi thông tin (tiếng Anh là communication protocol) - trong công nghệ thông tin gọi tắt là giao thức (protocol) Những đặt tính của giao thức (2)Giao thức truyền thôngLà một tập hợp các quy tắc chuẩn dành cho việc biểu diễn dữ liệu, phát tín hiệu, chứng thực và phát hiện lỗi dữ liệu - những việc cần thiết để gửi thông tin qua các kênh truyền thông, nhờ đó mà các máy tính (và các thiết bị) có thể kết nối và trao đổi thông tin với nhau. Những đặt tính của giao thức (3)Giao thức truyền thôngCác giao thức truyền thông dành cho truyền thông tín hiệu số trong mạng máy tính có nhiều tính năng để đảm bảo việc trao đổi dữ liệu một cách đáng tin cậy qua một kênh truyền thông không hoàn hảo. Như vậy các máy trên mạng muốn giao tiếp với nhau thì phải có chung một giao thức.Những đặt tính của giao thức (4)Có nhiều giao thức được sử dụng để giao tiếp hoặc truyề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) IP (Internet Protocol) UDP (User Datagram Protocol )SPX (Sequenced Packet Exchange) Những đặt tính của giao thức (5)WAP (Wireless Application Protocol)HTTP (HyperText Transfer Protocol)FTP (File Transfer Protocol) SMTP (Simple Mail Transfer Protocol)POP3 (Post Office Protocol, phiên bản 3)MIME (Multipurpose Internet Mail Extension)Những đặt tính của giao thức (6)Giao thức TCP (Transmission Control Protocol - "Giao thức điều khiển truyền vận")Là một trong các giao thức cốt lõi của bộ giao thức TCP/IP. Sử dụng TCP, các ứng dụng trên các máy chủ được nối mạng có thể tạo các "kết nối" với nhau, mà qua đó chúng có thể trao đổi dữ liệu hoặc các gói tin. Giao thức này đảm bảo chuyển giao dữ liệu tới nơi nhận một cách đáng tin cậy và đúng thứ tự. TCP còn phân biệt giữa dữ liệu của nhiều ứng dụng (chẳng hạn, dịch vụ Web và dịch vụ thư điện tử) đồng thời chạy trên cùng một máy chủ. Những đặt tính của giao thức (7)TCP hỗ trợ nhiều giao thức ứng dụng phổ biến nhất trên Internet và các ứng dụng kết quả, trong đó có WWW, thư điện tử và Secure Shell.TCP làm nhiệm vụ của tầng giao vận trong mô hình OSI đơn giản của các mạng máy tính.Những đặt tính của giao thức (8)Những đặt tính của giao thức (9)Sơ đồ bên dưới đây cho chúng ta thấy TCP header nằm ở vị trí nào trong frame do một máy tính đã tạo ra và gởi vào mạng Chúng ta có thể thấy rằng TCP header chứa đựng mọi tuỳ chọn mà giao thức hổ trợ, được đặt ngay đằng sau IP header (tầng 3), và trước phần dữ liệu chứa đựng các thông tin của các tầng cao hơn (các tầng 5,6,7) Những đặt tính của giao thức (10)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.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).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. Những đặt tính của giao thức (11)Giao thức IP (Internet Protocol - Giao thức Liên mạng)Các thiết bị định tuyến liên mạng chuyển tiếp các gói tin IP qua các mạng tầng liên kết dữ liệu được kết nối với nhau. Việc không có đảm bảo về gửi dữ liệu có nghĩa rằng các chuyển mạch gói có thiết kế đơn giản hơn. Giao thức IP rất thông dụng trong mạng Internet công cộng ngày nay.Những đặt tính của giao thức (12)Giao thức IP (Internet Protocol - Giao thức Liên mạng)Giao thức tầng mạng thông dụng nhất ngày nay là IPv4; đây là giao thức IP phiên bản 4. IPv6 được đề nghị sẽ kế tiếp IPv4: Internet đang hết dần địa chỉ IPv4, do IPv4 sử dụng 32 bit để đánh địa chỉ (tạo được khoảng 4 tỷ địa chỉ); IPv6 dùng địa chỉ 128 bit, cung cấp tối đa khoảng 3.4×1038 địa chỉ.Những đặt tính của giao thức (13)Trên Internet thì địa chỉ IP của mỗi người là duy nhất và nó sẽ đại diện cho chính người đó, địa chỉ IP được sử dụng bởi các máy tính khác nhau để nhận biết các máy tính kết nối giữa chúng. Đây là lí do tại sao bạn lại bị IRC cấm, và là cách người ta tìm ra IP của bạn. Địa chỉ IP có thể dễ dàng phát hiện ra, người ta có thể lấy được qua việc lướt web, sử dụng email, dùng các lệnh xâm nhập (netstat –n, telnet), các đoạn code do người lập trình viết .v.v.Những đặt tính của giao thức (14)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). Những đặt tính của giao thức (14)Giao thức TCP/IP:Là một tập hợp các tầng, mỗi tầng giải quyết một tập các vấn đề có liên quan đến việc truyền dữ liệu, và cung cấp cho các giao thức tầng cấp trên một dịch vụ được định nghĩa rõ ràng dựa trên việc sử dụng các dịch vụ của các tầng thấp hơn.Những đặt tính của giao thức (15)Giao thức TCP/IP:TCP là tầng trung gian giữa giao thức IP bên dưới và một ứng dụng bên trên. Các ứng dụng thường cần các kết nối đáng tin cậy kiểu đường ống để liên lạc với nhau, trong khi đó, giao thức IP không cung cấp những dòng kiểu đó, mà chỉ cung cấp dịch vụ chuyển gói tin không đáng tin cậy. Những đặt tính của giao thức (16)Những đặt tính của giao thức (17)Giao thức TCP/IP:Hiện nay, một số hệ điều hành thương mại có bao gồm và cài đặt sẵn chồng TCP/IP. Đối với đa số người dùng, chúng ta không cần phải lùng tìm bản lập trình thực thi của nó. TCP/IP được bao gồm trong tất cả các phiên bản Unix thương mại và các phân phối của Linux, cũng như với Mac OS X, Microsoft Windows, và Windows Server. Những đặt tính của giao thức (18)UDP (User Datagram Protocol) Là một trong những giao thức cốt lõi của giao thức TCP/IP. Dùng UDP, chương trình trên mạng máy tính có thể gởi những dữ liệu ngắn được gọi là datagram tới máy khác. UDP không cung cấp sự tin cậy và thứ tự truyền nhận mà TCP làm; các gói dữ liệu có thể đến không đúng thứ tự hoặc bị mất mà không có thông báo. Tuy nhiên UDP nhanh và hiệu quả hơn đối với các mục tiêu như kích thước nhỏ và yêu cầu khắt khe về thời gian. Những đặt tính của giao thức (19)UDP (User Datagram Protocol) Những ứng dụng phổ biến sử dụng UDP như DNS (Domain Name System), ứng dụng streaming media, Voice over IP, Trivial File Transfer Protocol (TFTP), và game trực tuyến.Những đặt tính của giao thức (20)SPX (Sequenced Packet Exchange) Là một giao thức mạng thuộc lớp vận chuyển (transport layer network protocol) trong mô hình mạng OSI gồm 7 lớp. Cũng như IPX, SPX là giao thức "ruột" (native protocol) của các hệ điều mạng Netware của hãng Novell.Tương tự như giao thức TCP trong bộ TCP/IP, SPX là giao thức đảm bảo toàn bộ thông điệp truyền đi từ một máy tính trong mạng đến một máy tính khác một cách chính xác. Những đặt tính của giao thức (21)Giao thức HTTP (HyperText Transfer Protocol - Giao thức truyền tải siêu văn bản) Là một trong năm giao thức chuẩn về mạng Internet, được dùng để liên hệ thông tin giữa Máy cung cấp dịch vụ (Web server) và Máy sử dụng dịch vụ (Web client) là giao thức Client/Server dùng cho World Wide Web-WWW, HTTP là một giao thức ứng dụng của bộ giao thức TCP/IP (các giao thức nền tảng cho Internet). Những đặt tính của giao thức (22)Giao thức FTP (File Transfer Protocol, "Giao thức truyền tập tin") FTP thường được dùng để trao đổi tập tin qua mạng lưới truyền thông dùng giao thức TCP/IP.Máy chủ FTP, dùng chạy phần mềm cung cấp dịch vụ FTP, gọi là trình chủ, lắng nghe yêu cầu về dịch vụ của các máy tính khác trên mạng lưới. Máy khách chạy phần mềm FTP dành cho người sử dụng dịch vụ, gọi là trình khách, thì khởi đầu một liên kết với máy chủ. Những đặt tính của giao thức (23)Giao thức FTP (File Transfer Protocol, "Giao thức truyền tập tin") Một khi hai máy đã liên kết với nhau, máy khách có thể xử lý một số thao tác về tập tin, như tải tập tin lên máy chủ, tải tập tin từ máy chủ xuống máy của mình, đổi tên của tập tin, hoặc xóa tập tin ở máy chủ v.v. Vì giao thức FTP là một giao thức chuẩn công khai, cho nên bất cứ một công ty phần mềm nào, hay một lập trình viên nào cũng có thể viết trình chủ FTP hoặc trình khách FTP. Những đặt tính của giao thức (24)Giao thức SMTP (Simple Mail Transfer Protocol - giao thức truyền tải thư tín đơn giản) Là một chuẩn truyền tải thư điện tử qua mạng Internet. Giao thức hiện dùng được là ESMTP (extended SMTP - SMTP mở rộng)Những đặt tính của giao thức (25)Giao thức WAP (Wireless Application Protocol - Giao thức Ứng dụng Không dây) Là một tiêu chuẩn công nghệ cho các hệ thống truy nhập Internet từ các thiết bị di động như điện thoại di động, PDA, v.v... Mặc dù tiêu chuẩn này chưa được chuẩn hóa trên toàn cầu, nhưng những ứng dụng của giao thức này đã tác động rất lớn đến ngành công nghiệp di động và các lĩnh vực dịch vụ liên quan. Những đặt tính của giao thức (26)Giao thức WAP (Wireless Application Protocol - Giao thức Ứng dụng Không dây) WAP là giao thức truyền thông mang lại rất nhiều ứng dụng cho người sử dụng thiết bị đầu cuối di động như E-mail, web, mua bán trực tuyến, ngân hàng trực tuyến, thông tin chứng khoán, v.v...Những đặt tính của giao thức (27)Post Office Protocol phiên bản 3 (POP3) Là một giao thức tầng ứng dụng, dùng để lấy thư điện tử từ server mail, thông qua kết nối TCP/IP. POP3 và IMAP4 (Internet Message Access Protocol) là 2 chuẩn giao thức Internet thông dụng nhất dùng để lấy nhận email. Hầu như các máy tính hiện nay đều hỗ trợ cả 2 giao thứcNhững đặt tính của giao thức (28)MIME (Multipurpose Internet Mail Extensions)Là một chuẩn Internet về định dạng cho thư điện tử. Hầu như mọi thư điện tử Internet được truyền qua giao thức SMTP theo định dạng MIME. Vì gắn liền với chuẩn SMTP và MIME nên đôi khi thư điện tử Internet còn được gọi là thư điện tử SMTP/MIME.Các loại giao thức truyền thông (1)Có 2 loại:Giao thức hướng kết nối và phi kết nốiGiao thức có khả năng định tuyến và không có khả năng định tuyến Giao thức phi kết nối (Connectionless protocol)Đặc điểm của giao thức không kết nối:Không kiểm soát đường truyềnDữ liệu không bảo đảm đến được nơi nhậnDữ liệu thường dưới dạng datagramsVí dụ: giao thức UDP của TCP/IPCác loại giao thức truyền thông (2)Giao thức hướng kết nối (Connection-oriented protocol)Đặc điểm của giao thức hướng kết nốiNgược lại với giao thức không kết nối, kiểm soát được đường truyềnDữ liệu truyền đi tuần tự, nếu nhận thành công thì nơi nhận phải gởi tín hiệu ACK (ACKnowledge)Ví dụ: các giao thức TCP, SPXCác loại giao thức truyền thông (3)Giao thức có khả năng định tuyến (Routable protocols)Là các giao thức cho phép đi qua các thiết bị liên mạng như Router để xây dựng các mạng lớn có qui mô lớn hơnVí dụ, các giao thức có khả năng định tuyến là: TCP/IP, SPX/IPXCác loại giao thức truyền thông (4) Giao thức không có khả năng định tuyến (Non - Routable protocols)Ngược với giao thức có khả năng định tuyến, các giao thức này không cho phép đi qua các thiết bị liên mạng như Router để xây dựng các mạng lớn.Ví dụ về giao thức không có khả năng định tuyến là : NETBEUI Các loại giao thức truyền thông (5) Các loại thức thường sử dụng: Hiện nay có 3 loại giao thức thường hay sử dụng:TCP/IPSPX/IPX (Novell Netware)Microsoft NetworkCác loại giao thức truyền thông (6) Windows Socket (1)Socket là một phương pháp để thiết lập kết nối truyền thông giữa một chương trình yêu cầu dịch vụ (client) và một chương trình cung cấp dịch vụ (server) trên mạng LAN, WAN hay Internet và đôi lúc là giữa những quá trình ngay bên trong máy tính. Mỗi socket có thể được xem như một điểm cuối trong một kết nối. Windows Socket (2)Một socket trên máy yêu cầu dịch vụ có địa chỉ mạng được cấp sẵn để "gọi" một socket trên máy cung cấp dịch vụ. Một khi socket đã được thiết lập phù hợp, hai máy tính có thể trao đổi dịch vụ và dữ liệu. Được khai sinh tại trường đại học Berkeley vào những năm 1980, socket xuất hiện lần đầu trong thế giới Unix là Berkeley Sockets Interface, một chương trình thiết bị được thiết kế để giúp máy tính nối mạng ở khắp mọi nơi có thể trao đổi thông tin với nhau. Windows Socket (3)Giữa những năm 1990, Microsoft đã tạo riêng socket của họ là Windows Sockets (được biết rộng rãi với tên WinSock), nhờ vậy các ứng dụng Windows có thể "nói chuyện" với nhau qua các kết nối mạng Windows Socket (4)Windows Socket (5)Với sự phát triển của Web, socket vẫn tiếp tục đóng vai trò quan trọng trong việc duy trì các luồng truyền thông trên Internet. Các ứng dụng có liên quan đến Internet đều viết ở lớp bên trên socket, ví dụ socket tích hợp một số phần của địa chỉ Web site, trình duyệt web và công nghệ bảo mật Secure Socket Layer. Windows Socket (6)Điều khiển Winsock có hai giao thức khác nhau luôn sẵn sàng để sử dụng là giao thức TCP và UDP. TCP (Transmission Control Protocol) là một giao thức dựa vào việc kết nối (hướng kết nối), điều đó nghĩa là, để chúng ta có thể gửi và nhận dữ liệu ra và vào Winsock thì một kết nối phải được duy trì. TCP rất an toàn, rất nhiều chỉ tiêu và phương pháp kỹ thuật để đảm bảo tính an toàn được cài đặt khi triển khai TCP. Dữ liệu sẽ được kiểm tra đi, kiểm tra lại cho tới khi nó được chắc chắn là đã gửi đến nơi.Windows Socket (7)UDP (User Datagram Protocol). Nó là giao thức phi kết nối (không kết nôi), điều này nghĩa là, chúng ta sẽ không cần phải tạo ra (hoặc là có) một kết nối trước khi gửi dữ liệu. Nhưng chúng ta vẫn cần các tham số về cổng và địa chỉ để định nơi đến cho chương trình của mình. UDP cũng hữu ích trong một số trường hợp. Vì nó gửi dữ liệu rất nhanh, không phải tải những phần header nặng nề như của TCP. UDP nhanh, nhưng không đảm bảo cho bạn là dữ liệu của bạn gửi đi đã "đi đến nơi, về đến chốn"Windows Socket (8)WinSock API:WinSock API (Windows Sockets Application Programming Interface) là thư viện các hàm giao diện lập trình mạng cho Microsoft Windows. WinSock tương thích với họ nghi thức mạng TCP/IP.Winsock API (1)Socket :Socket là đầu (endpoint) trao đổi dữ liệu giữa các quá trình, qua đó các ứng dụng WinSock gởi / nhận dữ liệu qua mạng.Có Hai loại Socket: Stream Socket và Datagram SocketWinsock API (2)Stream Socket :Dựa trên nghi thức TCP ( Tranmission Control Protocol ), việc truyền dữ liệu chỉ thực hiện giữa hai quá trình đã thiết lập kết nối. Dữ liệu được truyền tin cậy, đúng trình tự và không lập lại.Dữ liệu được truyền như dòng liên tục các byte không phân biệt ranh giới các recordTrình tự thiết lập quá trình trao đổi dữ liệu dùng Stream Socket như sau:Winsock API (3)Winsock API (4)Winsock API (5)Datagram Socket :Dựa trên nghi thức UDP ( User Datagram Protocol ), việc truyền dữ liệu không yêu cầu có sự thiết lập kết nối giữa hai quá trình. Dữ liệu truyền không tin cậy, có thể không đúng trình tự hoặc lập lại.Dữ liệu được truyền như dòng các record.Trình tự thiết lập quá trình trao đổi dữ liệu dùng Datagram Socket như sau:Winsock API (6)Winsock API (7)Port :Port xác định duy nhất một quá trình trên một máy trong mạng.Một TCP/IP Socket gồm một địa chỉ IP kết hợp với một port? Xác định duy nhất một quá trình trên mạng. Winsock API (8)Một số port dành riêng :Winsock API (9)Lập trình winsockCác file cần thiết :WINSOCK.DLL hay WSOCK32.DLL ( tuỳ version 16 hay 32 bit của Windows ).WINSOCK.LIB hay WSOCK32.LIB.WINSOCK.H.Giới thiệu một số hàm của WinSock (tham khảo trong tài liệu Giao thức và nguyên tắc mạng căn bản (file word)):Winsock API (10)Ứng dụng CLIENT – SERVERỨng dụng Client - Server là gì?Trước tới giờ, người ta lập trình với mục đích là tạo ra được một ứng dụng. Nhưng ứng dụng đó chỉ hoạt động độc lập 1 mình riêng lẽ.Mục tiêu lập trình mạng sẽ đưa ra những ứng dụng dạng Client – Server. Tức là sẽ có 2 loại ứng dụng chính đó là Client và Server.Winsock API (11)Quy trình hoạt động của ứng dụng Server – Client như sau: Server có nhiệm vụ của là lắng nghe, chờ đợi kết nối từ Client trên địa chỉ IP của mình với PORT được quy định sẵn. Khi client gởi dữ liệu tới Server thì nó phải giải quyết một công việc là nhận dữ liệu đó -> xử lý -> trả kết quả lại cho Client.Client là ứng dụng được phục vụ, nó chỉ gởi truy vấn và chờ đợi kết quả từ Server.Winsock API (12)Trong mô hình TCP/IP có 2 giao thức là TCP và UDP và 2 giao thức này sẽ quyết định cách thức hoạt động của Client - Server như thế nào?
Các file đính kèm theo tài liệu này:
- giao_thuc_va_ngtac_mang_can_ban_6388.ppt