Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
346,5 KB
Nội dung
Network programming 1 T ng quan v giao th c ổ ề ứ m ngạ Giảng viên: Nguyễn Hoài Sơn Bộ môn Mạng và Truyền thông máy tính Khoa Công nghệ thông tin Network programming 2 N i dung bài h cộ ọ 1. Khái niệm và các yêu cầu vềgiaothứcmạng 2. Nguyên tắc thiết kế giaothức Internet Nguyên tắc cuối cuối (End-to-end arguments) Nguyên tắc phân tầng Mô hình mạng OSI Mô hình mạng TCP/IP 3. Giaothức tầng mạng 4. Giaothức tầng giao vận Network programming 3 Giao th c là gì?ứ Giaothức là “quy ước giữa hai bên truyền tin về cách thức truyền tin” Ví dụ Cuộc nói chuyện giữa hai người, phát thanh truyền hình, … Độ phức tạp truyền tin thể hiện bằng số lượng các bên tham gia truyền tin quyết định độ phức tạp của giaothức Ví dụ Giaothức trong một cuộc gọi điện thoại: Người gọi – Điện thoại, Điện thoại – tổng đài, tổng đài – tổng đài, tổng đài – điện thoại, điện thoại - người nghe, người gọi – người nghe Network programming 4 Giao th c m ng là gì?ứ ạ Giaothứcmạng là tập hợp các quy ước về định dạng và ý nghĩa của các thông báo được gửi giữa các máy tính thông qua mạng máy tính Có nhiều loại giaothứcmạng Giaothức nội mạng: Ethernet, AppleTalk, PPP, X.25, … Giaothức giữa các mạng: ATM, MPLS,TCP/IP, IPX, … Giaothức ứng dụng mạng: HTTP, FTP, SIP, … Network programming 5 Yêu c u v i các giao th c m ngầ ớ ứ ạ Phía người dùng mạng: Chất lượng dịch vụ mà ứng dụng của họ cần Đảm bảo mỗi thông báo được gửi đến đúng địa chỉkhông lỗi trong một khoảng thời gian nhất định Nhà cung cấp dịch vụ: Thiết kế hiệu quả Đảm bảo tài nguyên mạng được sử dụng hiệu quả và công bằng với mọi người dùng Hệ thống dễ điều hành và quản lý Dễ dàng phát hiện và xử lý các lỗi hệ thống Network programming 6 Internet Mạng công cộng kết nối các mạng máy tính Quy mô toàn cầu Mục đích chung, công cộng Công nghệ đa dạng Giaothức trên Internet Sử dụng giaothức TCP/IP Chuẩn mở: được chuẩn hoá bởi Internet Engineering Task Force (IETF) http://www.ietf.org Phát triển bởi cộng đồng nghiên cứu IP TCP, UDP HTTP,FTP, RTP, … Ethernet, ATM,… Network programming 7 Giao th c Internet đ c thi t k và ứ ượ ế ế xây d ng nh th nào?ự ư ế Nguyên tắc Điểm cuối-cuối A function can only be completely and correctly implemented with the knowledge and help of the applications standing at the communication endpoints “The network is fool, the terminal is clever” “The network is clever, the terminal is fool” Internet Telephone network Network programming 8 Giao th c Internet đ c thi t k và xây ứ ượ ế ế d ng nh th nào?(2)ự ư ế Nguyên tắc phân tầng: Chia giaothứcmạng thành các tầng, mỗi tầng giaothức giải quyết một phần chức năng của truyền tin Ưu điểm của việc phân tầng Cấu trúc rõ ràng – Cho phép định nghĩa rõ ràng các mối quan hệ giữa các giaothứcmạng Trừu tượng hóa chức năng – Có thể thay đổi một tầng giaothức mà không làm ảnh hưởng các tầng trên hoặc dưới Sử dụng lại – Các tầng trên có thể sử dụng lại các chức năng được cung cấp bởi tầng dưới Nhược điểm của việc phân tầng Che dấu thông tin – Giảm hiệu quả trong việc thực thi giaothức Network programming 9 Mô hình m ng phân t ngạ ầ Giaothức tầng cao sẽ tạo thông báo và gửi xuống giaothức tầng thấp thông qua giao diện giữa các tầng Giaothức tầng cao sẽ thêm thông tin điều khiển bao gồm các khóa giaothức vào tiêu đề của thông báo Thông báo của giaothức tầng trên sẽ được xử lý như dữ liệu của giaothức tầng dưới Giaothức tầng dưới sẽ sử dụng các khóa giaothức trong tiêu đề để xác định đúng giaothức tầng trên Network programming 10 Ví d v mô hình m ng phân t ngụ ề ạ ầ Toi yeu VN I love VN I love VNL:EngDHost Application Transport Network DHost = Destination service host L: Eng Application Transport Network J’aime le Vn I Love VN I love VN L:Eng DHost L:Eng [...]... (struct ip *)packetBuffer; 22 Chúng ta đã học Khái niệm và các yêu cầu về giaothức mạng Nguyên tắc thiết kế giaothức Internet 1 2 Nguyên tắc cuối cuối (End-to-end arguments) Nguyên tắc phân tầng 3 Mô hình mạng OSI Mô hình mạng TCP/IP Giaothức tầng Internet Network programming 23 Tiếp theo … Giaothức TCP Giaothức UDP Thiết lập kết nối TCP Khái niệm số hiệu cổngConcept of port... nd h a TCP/IP Network programming 15 Ví dụ về giaothức TCP/IP Sending host Receiving host “Xin chào” “Xin chào” TCP Header “Xin chào” Router “Xin TCP IP chào” Header Header “Xin chào” TCP Header “Xin TCP IP chào” Header Header “Xin TCP IP Ethernet chào” Header Header Header “Xin TCP IP Ethernet chào” Header Header Header Network programming 16 Ví dụ về giaothức TCP/IP(2) Data link Session Presentation... creating data 17 Giaothức tầng mạng Vận chuyển thông báo điểm cuối-cuối dựa trên địa chỉ IP Không kết nối: Các gói tin được xử lý tách biệt Không tin cậy: Việc vận chuyển gói tin không được đảm bảo Phân mảnh/ ghép mảnh Phát hiện lỗi Network programming 18 Địa chỉ IP Xác định một máy tính trên Internet là duy nhất độ dài 32 bit trong trường hợp của IPv4 Bao gồm ID mạng (network ID)... Engineering Task Force ) Network programming 13 Mô hình mạng TCP/IP(2) Application Transport Internet Network interface HTTP FTP Telnet Ping TCP H.323 RTP UDP IP (ICMP) Network Device Controller/Drivers Ethernet or other physical medium Hardware Network programming 14 OSI vs TCP/IP OSI: Định nghĩa khái niệm rõ ràng: dịch vụ, giao diện, giaothức TCP/IP: Được thực thi thành công Application Presentation... gán cho một card mạng chứ không phải gán cho một máy Các lớp địa chỉ A: 1.0.0.0 tới 127.255.255.255 (8 bit network address) B: 128.0.0.0 tới 191.255.255.255 (16 bit network address) C: 192.0.0.0 tới 223.255.255.255 (24 bit network address) D,E: 224.0.0.0 and higher (multicast and reserved) Địa chỉ quảng bá : 255.255.255.255 Subnet mask Chia một địa chỉ mạng thành nhiều phần mạng nhỏ hơn ... Application Ứng dụng mạng như truyền file, email, truy cập từ xa,… Presentation Định dạng dữ liệu và mã hóa Session Transport Network Data Link Physical Thiết lập và duy trì phiên Cung cấp dịch vụ truyền tin tin cậy điểm cuối-cuối Vận chuyển, định tuyến các gói tin Vận chuyển gói tin, đóng gói và kiểm tra lỗi Truyền dữ liệu nhị phân trong môi trường truyền Network programming 12 Mô hình mạng TCP/IP(1) ... (multicast and reserved) Địa chỉ quảng bá : 255.255.255.255 Subnet mask Chia một địa chỉ mạng thành nhiều phần mạng nhỏ hơn Network programming 19 Địa chỉ IP riêng Chỉ dùng cho các mạng riêng, không dùng cho mạng chung Có thể truyền tin với các máy trên Internet thông qua Network Address Translator (NAT) Bao gồm 3 subnets 10.0.0.0 ~ 10.255.255.255 (10/8) 172.16.0.0 ~ 172.31.255.255...Mô hình mạng OSI Viết tắt của Open System Interconnection Được chuẩn hóa vào năm 1983 Quy tắc phân tầng Nên phân một tầng mới khi cần một mức độ trừu tượng hóa mới Mỗi tầng nên thực hiện một chức năng được định nghĩa rõ ràng Chức năng của mỗi tầng cần dễ dàng chuẩn hóa Cần giảm thiểu thông tin chuyển qua giao diện giữa các tầng xuống ít nhất Số lượng... … Giao thức TCP Giao thức UDP Thiết lập kết nối TCP Khái niệm số hiệu cổngConcept of port number Tiêu đề gói tin TCP header Tiêu đề gói tin UDP Mô hình chủ/khách Network programming 24 Giaothức TCP Hướng kết nối : Thiết lập kết nối ảo bằng Bắt tay 3-bước trước khi dữ liêu được truyền đi Một kết nối TCP được định danh bởi (srcIP, dstIP, src Port, dst Port) Tin cậy: Bên nhận... offset */ u_int8_t th_x2:4; /* (unused) */ # endif u_int8_t th_flags; u_int16_t th_win; /* window */ u_int16_t th_sum; /* checksum */ u_int16_t th_urp; /* urgent pointer */ }; Network programming 31 Giaothức UDP Viết tắt của User Datagram Protocol Cung cấp dịch vụ truyền tin không kết nối cho các chương trình tầng ứng dụng Truyền tin không tin cậy Truyền không giới hạn Không đảm bảo việc . “The network is fool, the terminal is clever” “The network is clever, the terminal is fool” Internet Telephone network Network programming 8 Giao th c Internet đ c thi t k và xây ứ ượ ế ế d. việc thực thi giao thức Network programming 9 Mô hình m ng phân t ngạ ầ Giao thức tầng cao sẽ tạo thông báo và gửi xuống giao thức tầng thấp thông qua giao diện giữa các tầng Giao thức tầng. gồm các khóa giao thức vào tiêu đề của thông báo Thông báo của giao thức tầng trên sẽ được xử lý như dữ liệu của giao thức tầng dưới Giao thức tầng dưới sẽ sử dụng các khóa giao thức trong