650 likes | 909 Views
TRƯỜNG CAO ĐẲNG NGHỀ ĐỒNG THÁP KHOA CÔNG NGHỆ THÔNG TIN --------. GIAO THỨC & NGUYÊN TẮC MẠNG CĂN BẢN. Trình bày: Trương Vĩnh Hảo. Mục tiêu. 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ợ
E N D
TRƯỜNG CAO ĐẲNG NGHỀ ĐỒNG THÁPKHOA CÔNG NGHỆ THÔNG TIN-------- GIAO THỨC & NGUYÊN TẮC MẠNG CĂN BẢN Trình bày: Trương Vĩnh Hảo
Mục tiêu • 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
Nội dung • Những đặc tính của giao thức • Hướng kết nối và không kết nối • Windows socket • Winsock API và mô hình OSI
Những đặt tính của giao thức (1) • Giao thức truyền thông • Giao 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ông • Là 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ông • Cá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 (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 (14) • 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 (15) • 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 (16) • 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 (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 giaothứ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à giaothức "ruột" (native protocol) của các hệ điều mạng Netware của hãng Novell. • Tương tự như giaothức TCP trong bộ TCP/IP, SPX là giaothứ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ức
Nhữ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ối • Giao thức có khả năng định tuyến và không có khả năng định tuyến
Các loại giao thức truyền thông (2) • 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ền • Dữ liệu không bảo đảm đến được nơi nhận • Dữ liệu thường dưới dạng datagrams • Ví dụ: giao thức UDP của TCP/IP
Các loại giao thức truyền thông (3) • 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ối • Ngược lại với giao thức không kết nối, kiểm soát được đường truyền • Dữ 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, SPX
Các loại giao thức truyền thông (4) • 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ơn • Ví dụ, các giao thức có khả năng định tuyến là: TCP/IP, SPX/IPX
Các loại giao thức truyền thông (5) • 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 (6) • 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/IP • SPX/IPX (Novell Netware) • Microsoft Network
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.
Windows Socket (3) • Đượ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 (4) • 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 (6) • 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 (7) • Đ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 (8) • 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"
Winsock API (1) • 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 (2) • 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 Socket
Winsock API (3) • 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 record • Trình tự thiết lập quá trình trao đổi dữ liệu dùng Stream Socket như sau: