Bài giảng Lập trình mạng (Network Programming): Chương 2 - Lương Ánh Hoàng

32 7 0
Bài giảng Lập trình mạng (Network Programming): Chương 2 - Lương Ánh Hoàng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chương 2 - Bộ giao thức Internet TCP/IP. Chương này gồm có những nội dung cơ bản sau: Giới thiệu chung về bộ giao thức Internet TCP/IP, giao thức IPv6, giao thức TCP, giao thức UDP, hệ thống phân giải tên miền. Mời các bạn cùng tham khảo.

Chương Bộ giao thức Internet TCP/IP Lương Ánh Ho{ng hoangla@soict.hut.edu.vn Chương Bộ giao thức Internet (TCP/IP) • • • • • • 2.1 Giới thiệu 2.2 Giao thức IPv4 2.3 Giao thức IPv6 2.4 Giao thức TCP 2.5 Giao thức UDP 2.6 Hệ thống phân giải tên miền 19 2.1 Giới thiệu • Bộ giao thức Internet – TCP/IP: Transmission Control Protocol/Internet Protocol – Là giao thức truyền thông sử dụng Internet hầu hết mạng thương mại – Được chia thành tầng gồm nhiều giao thức, thuận tiện cho việc quản lý phát triển – Là thể đơn giản hóa mơ hình lý thuyết OSI 20 2.1 Giới thiệu • Bộ giao thức Internet – Gồm bốn tầng • Tầng ứng dụng – Application Layer • Tầng giao vận – Transport Layer • Tầng Internet – Internet Layer • Tầng truy nhập mạng – Network Access Layer 21 2.1 Giới thiệu • Bộ giao thức Internet – Tầng ứng dụng • Đóng gói liệu người dùng theo giao thức riêng chuyển xuống tầng • Các giao thức thông dụng: HTTP, FTP, SMTP, POP3, DNS, SSH, IMAP • Việc lập trình mạng xây dựng ứng dụng tuân theo giao thức tầng giao thức người phát triển tự định nghĩa 22 2.1 Giới thiệu • Bộ giao thức Internet – Tầng giao vận • Cung cấp dịch vụ truyền liệu ứng dụng ứng dụng • Đơn vị liệu đoạn (segment) • Các giao thức tầng này: TCP, UDP, ICMP • Việc lập trình mạng sử dụng dịch vụ giao thức tầng cung cấp để truyền liệu 23 2.1 Giới thiệu • Bộ giao thức Internet – Tầng Internet • Định tuyến truyền gói tin liên mạng • Cung cấp dịch vụ truyền liệu máy tính – máy tính nhánh mạng nhánh mạng • Đơn vị liệu gói tin (packet) • Các giao thức tầng này: IPv4, IPv6 • Việc lập trình ứng dụng mạng can thiệp vào tầng này, trừ phát triển giao thức liên mạng 24 2.1 Giới thiệu • Bộ giao thức Internet – Tầng truy nhập mạng • Cung cấp dịch vụ truyền liệu nút mạng nhánh mạng vật lý • Đơn vị liệu khung (frame) • Phụ thuộc nhiều vào phương tiện kết nối vật lý • Các giao thức tầng đa dạng: MAC, LLC, ADSL, 802.11 • Việc lập trình mạng tầng xây dựng trình điều khiển phần cứng tương ứng, thường nhà sản xuất thực 25 2.1 Giới thiệu • Bộ giao thức Internet – Dữ liệu gửi qua tầng thêm phần thông tin điều khiển (header) – Dữ liệu nhận qua tầng bóc tách thông tin điều khiển 26 2.2 Giao thức IPv4 • Giao thức IPv4 – Được IETF công bố dạng RFC 791 vào 9/1981 – Phiên thứ họ giao thức IP phiên phát hành rộng rãi – Là giao thức hướng liệu (phân biệt với hướng thoại, video) – Sử dụng hệ thống chuyển mạch gói – Truyền liệu theo kiểu Best-Effort – Khơng đảm bảo tính trật tự, trùng lặp, tin cậy gói tin – Kiểm tra tính tồn vẹn liệu qua checksum 27 2.3 Giao thức IPv6 • Giao thức IPv6 – – – – IETF đề xuất năm 1998 Sử dụng 128 bit để đánh địa thiết bị Khắc phục vấn đề thiếu địa IPv4 Vẫn chưa phổ biến chưa thể thay hoàn toàn IPv4 35 2.4 Giao thức TCP • Giao thức TCP: Transmission Control Protocol – Giao thức lõi chạy tầng giao vận – Chạy bên tầng ứng dụng IP – Cung cấp dịch vụ truyền liệu theo dòng tin cậy ứng dụng – Được sử dụng hầu hết ứng dụng mạng – Chia liệu thành gói nhỏ, thêm thơng tin kiểm sốt gửi đường truyền – Lập trình mạng sử dụng giao thức để trao đổi thơng tin 36 2.4 Giao thức TCP • Cổng (Port) – Một số nguyên khoảng 0-65535 tương ứng với kết nối ứng dụng – TCP sử dụng cổng để chuyển liệu tới ứng dụng dịch vụ – Một ứng dụng mở nhiều kết nối => sử dụng nhiều cổng – Một số cổng thông dụng: HTTP(80), FTP(21), SMTP(25), POP3(110), HTTPS(443) 37 2.4 Giao thức TCP • Đặc tính TCP – Hướng kết nối: connection oriented • Hai bên phải thiết lập kênh truyền trước truyền liệu • Được thực q trình gọi bắt tay ba bước (three ways handshake) – Truyền liệu theo dòng (stream oriented): tự động phân chia dòng liệu thành đoạn nhỏ để truyền đi, tự động ghép đoạn nhỏ thành dòng liệu gửi trả ứng dụng – Đúng trật tự (ordering guarantee): liệu gửi trước nhận trước 38 2.4 Giao thức TCP • Đặc tính TCP – Tin cậy, xác: thơng tin gửi đảm bảo đến đích, khơng dư thừa, sai sót – Độ trễ lớn, khó đáp ứng tính thời gian thực – Các đặc tính khác: QoS 39 2.4 Giao thức TCP • Header TCP – Chứa thông tin đoạn liệu tương ứng TCP Header Bit offs et 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Source port Destination port 32 Sequence number 64 Acknowledgment number 96 128 160 Data offset Reserved C E W C R E U R G A P R S F C S S Y I K H T N N Checksum Window Size Urgent pointer Options (if Data Offset > 5) 40 2.4 Giao thức TCP • Các dịch vụ TCP – Rất nhiều dịch vụ chạy TCP: FTP(21), HTTP(80), SMTP(25), SSH(22), POP3(110), VNC(4899) • Sử dụng netcat để kết nối đến dịch vụ chạy TCP: – nc.exe – Thí dụ nc.exe –vv [host] [port] -vv www.google.com 41 80 2.5 Giao thức UDP • Giao thức UDP: User Datagram Protocol – – – – Cũng giao thức lõi TCP/IP Cung cấp dịch vụ truyền liệu ứng dụng UDP chia nhỏ liệu thành datagram Sử dụng ứng dụng khắt khe mặt thời gian, chấp nhận sai sót: thoại, video, game 42 2.5 Giao thức UDP • Đặc tính UDP – Khơng cần thiết lập kết nối trước truyền (Connectionless) – Nhanh, chiếm tài nguyên dễ xử lý – Hạn chế: • Khơng có chế báo gửi (report) • Khơng đảm báo trật tự datagram (ordering) • Khơng phát mát trùng lặp thông tin (loss, duplication) 43 2.5 Giao thức UDP • Header UDP + Bits - 15 16 - 31 Source Port Destination Port 32 Length Checksum 64 Data 44 2.5 Giao thức UDP • Các dịch vụ UDP – Phân giải tên miền: DNS (53) – Streamming: MMS, RTSP – Game 45 2.6 Hệ thống ph}n giải tên miền DNS • Địa IP khó nhớ với người • DNS – Domain Name System – Hệ thống phân cấp làm nhiệm vụ ánh xạ tên miền sang địa IP ngược lại 46 2.6 Hệ thống ph}n giải tên miền DNS • DNS – Domain Name System – Các tên miền phân cấp quản lý INTERNIC – Cấp cao ROOT, sau cấp 1, cấp 2, – Thí dụ: www.hut.edu.vn Cấp Cấp Cấp Cấp Cấp Tên miền www hut edu 47 2.6 Hệ thống ph}n giải tên miền DNS • DNS – Domain Name System – Tổ chức cấp tên miền cấp trì sở liệu tên miền cấp trực thuộc, tổ chức cấp tên miền cấp trì sở liệu tên miền cấp trực thuộc – Một máy tính muốn biết địa máy chủ có tên miền đó, hỏi máy chủ DNS mà nằm trong, máy chủ DNS khơng trả lời chuyển tiếp câu hỏi đến máy chủ DNS cấp cao hơn, DNS cấp cao không trả lời lại chuyển đến DNS cấp cao 48 2.6 Hệ thống ph}n giải tên miền DNS • DNS – Domain Name System – Việc truy vấn DNS hệ điều hành thực – Dịch vụ DNS chạy cổng 53 UDP – Cơng cụ thử nghiệm: nslookup • Thí dụ: nslookup www.google.com 49 ... 0.0.0.0 127 .25 5 .25 5 .25 5 B 10xx 128 .0.0.0 191 .25 5 .25 5 .25 5 C 110x 1 92. 0.0.0 22 3 .25 5 .25 5 .25 5 D 1110 22 4.0.0.0 23 9 .25 5 .25 5 .25 5 E 1111 24 0.0.0.0 25 5 .25 5 .25 5 .25 5 29 2. 2 Giao thức IPv4 • Mặt nạ mạng (Network. .. bit phần host 1) • 2n -2 địa gán cho máy trạm (host) – Với mạng 1 92. 168.0.1 /24 • Địa mạng: 1 92. 168.0.0 • Địa quảng bá: 1 92. 168.0 .25 5 • Địa host: 1 92. 168.0. 1- 1 92. 168.0 .25 4 32 2 .2 Giao thức IPv4... Mô tả mạng Viết gọn Khối 24 -bit 10.0.0.0– 10 .25 5 .25 5 .25 5 16,777 ,21 6 Một dải trọn vẹn thuộc lớp A 10.0.0.0/8 Khối 20 -bit 1 72. 16.0.0– 1 72. 31 .25 5 .25 5 1,048,576 Tổ hợp từ mạng 1 72. 16.0.0/ 12 lớp B

Ngày đăng: 09/05/2021, 18:32

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan