Xây dựng chương trình truyền tệp - pdf 17

Download miễn phí Luận văn Xây dựng chương trình truyền tệp



CHƯƠNG I. MẠNG MÁY TÍNH
 
I. Mạng máy tính 5
II. Phân loại mạng máy tính 5
II.1. Phân loại theo kiến trúc (topology) của mạng 5
II.1.1. Mạng điểm-điểm (point-to-point network) 6
II.1.2. Mạng quảng bá (broadcast network) 6
II.2. Phân loại theo cách chuyển mạch (Swiched Method) 7
II.2.1. Chuyển mạch kênh (Circuit Swiched Network) 7
II.2.2. Chuyển mạch tin báo (Message Swiched Network) 7
II.2.3. Chuyển mạch gói (Packed Swiched Network) 7
II.3. Phân loại theo phạm vi hoạt động 7
II.3.1. Mạng LAN (Local Area Network) 7
II.3.2. Mạng MAN (Metropolian Area Network) 7
II.3.3. Mạng WAN (Wide Area Network) 8
II.3.4. Liên mạng (internet) 8
 
 
Chương II. Giao thức truyền thông và các mô hình tham chiếu
 
I. Giao thức truyền thông 11
II. Mô hình tham chiếu OSI 11
II.1. Giới thiệu mô hình OSI 11
II.2. Các tầng của mô hình OSI 13
II.2.1. Tầng vật lý (Physical layer) 13
II.2.2. Tầng liên kết dữ liệu (Data link layer) 13
II.2.3. Tầng mạng (Network layer) 14
II.2.4. Tầng giao vận (Transport layer) 14
II.2.5. Tầng phiên (Session layer) 15
II.2.6. Tầng trình diễn (Presentation layer) 15
II.2.7. Tầng ứng dụng (Application layer) 15
II.3. Những vấn đề về OSI 16
III. Kiến trúc giao thức IPX/SPX 16
III.1. Kiến trúc giao thức IPX/SPX 16
III.2. Gói tin IPX 17
III.3. Cơ chế hoạt động của Novell Netware 18
 
 
Chương III. Bộ Giao thức TCP/IP
 
I. Bộ giao thức TCP/IP 19
II. Kiến trúc của bộ giao thức TCP/IP 20
II.1. Kiến trúc phân tầng của TCP/IP 20
II.2. Cơ chế địa chỉ Internet 23
II.2.1. Địa chỉ lớp A 24
II.2.2. Địa chỉ lớp B 25
II.2.3. Địa chỉ lớp C 25
II.3. Mạng con và Subnet mask 25
III. Tầng mạng (Network Layer) 27
IV. Tầng Internet (Internet Layer) 28
IV.1. Gói tin IP 29
IV.2. Giao thức chuyển địa chỉ ARP (Address Resolution Protocol) và cơ giao thức chuyển ngược địa chỉ RARP (Reverse Address Resolution Protocol) 32
IV.2.1. Chuyển giao trực tiếp 32
IV.2.2. Chuyển giao địa chỉ động 32
IV.2.3. Gói tin ARP 33
IV.3. Giao thức điều khiển truyền tin (Internet Control Message Protocol - ICMP) 35
IV.3.1. Gói tin ICMP 35
IV.3.2. Điều khiển dòng dữ liệu 36
IV.3.3. Thông báo lỗi 36
IV.3.4. Định hướng lại 36
IV.3.5. Kiểm tra trạm làm việc 37
IV.4. Thuật toán dẫn đường 37
V. tầng giao vận 41
V.1. Giao thức không kết nối (User Datagram Protocol - UDP) 41
V.1.1. Gói thông tin UDP 41
V.1.2. Phân kênh, hợp kênh và Ports 42
V.2. Giao thức điều khiển truyền tin (Transmission Control Protocol - TCP) 44
V.2.1. Gói tin TCP 47
V.2.2. Cổng, kết nối và điểm kết nối 47
VI. Tầng ứng dụng của TCP/IP 49
VI.1. Dịch vụ tên miền (Domain Name Service - DNS) 49
VI.2. Đăng nhập từ xa (Telnet) 51
VI.3. Thư điện tử (Electronic Mail) 52
VI.4. Giao thức truyền tệp (File Transfer Protocol - FTP) 54
VI.5. Nhóm tin (News groups) 55
VI.6. Tìm kiếm tệp (Archie) 55
VI.7. Tra cứu thông tin theo thực đơn (Gopher) 55
VI.8. Tìm kiếm thông tin theo chỉ số (WAIS) 55
VI.9. Siêu văn bản (WWW) 56
 
 
 
 
 
Chương IV. Xây dựng chương trình truyền tệp
 
I. Giao diện lập trình 57
I.1. Giao diện lập trình 57
I.2. Network I/O và file I/O 58
I.3. Làm việc với Socket 59
I.3.1. Socket 59
I.3.2. Địa chỉ Socket 60
I.3.3. Một số lời gọi tạo lập socket 62
I.3.4. Một số lời gọi gửi dữ liệu qua socket 66
I.3.5. Một số lời gọi nhận dữ liệu từ socket 67
II. Mô hình Client-Server 67
II.1. Mô hình Client-Server sử dụng dịch vụ không kết nối 69
II.2. Mô hình Client-Server sử dụng dịch vụ hướng kết nối 70
III. Xây dựng chương trình truyền tệp 71
III.1. Thiết kế và cài đặt chương trình 71
III.1.1. Giao thức ứng dụng được xây dựng và sử dụng trong chương trình 71
III.1.2. Cài đặt chương trình 73
III.2. Một số vấn đề nảy sinh trong quá trình thực hiện và cách giải quyết 76
III.2.1. Vấn đề chuyển đổi tệp giữa hai hệ điều hành. 76
III.2.2. Vấn đề về một số lệnh tương tác 78
 
 
Phụ lục a. Một số mạng cục bộ
 
I. Mạng Ethernet và IEEE 802.3 81
II. Mạng Token-Pasing Rings (IEEE 802.5) 81
III. Mạng Token-Passing Busses (IEEE 802.4) 82
 
 
Phụ lục B. Một số kỹ thuật chọn đường đi ngắn nhất
 
I. Giải thuật Dijkstra cho việc chọn đường tập trung 84
II. Giải thuật Ford& Fulkerson cho việc chọn đường phân tán 85
 
 
Phụ lục C. Văn bản chương trình (Phần client)
 
I. Chương trình chính (main.c) 87
II. Thư viện sử dụng (Socket.c) 93

 



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

chuyển tới một thiết bị là default gateway. Kỹ thuật này đặc biệt thích hợp với trường hợp mạng máy tính được nối vào Internet thông qua một máy tính duy nhất.
Thuật toán dẫn đường cụ thể cài đặt cho TCP/IP
Mỗi nút mạng có một cơ sở dữ liệu mô tả trạng thái tổng thể của mạng (topo, độ trễ truyền dẫn..) gọi là bảng dẫn đường. Các thông tin này dùng cho việc tính tính các con đường tối ưu để chuyển các gói tin đến đích. Chúng được cập nhật thường xuyên sau một khoảng thời gian nào đó hay cập nhật mỗi khi có một thay đổi xảy ra.
(Một số thuật toán sử dụng cho việc tìm đường đi tối ưu được trình bày trong phần phụ lục B)
Khi có một gói thông tin đến một máy tính hay gateway, thuật toán dẫn đường chạy trên máy tính đó sẽ phân tích địa chỉ đích của gói thông tin và quyết định truyền nó theo đường tốt nhất tới đích (dựa vào thông tin trong bảng dẫn đường). Việc này bao gồm cả cởi gói, chọn đường, cập nhật bảng dẫn đường, đóng gói ...
Tách địa chỉ mạng đích (IN) từ địa chỉ đích (ID)
IN nối trực tiếp vào mạng
ID là tên một máy tính trong bảng
Có tồn tại default gateway
IN là tên một mạng trong bảng
-
+
-
-
-
+
+
+
Chuyển trực tiếp qua mạng
Chuyển theo thông tin trong bảng
Gửi thông báo lỗi
Cập nhật bảng dẫn đường
Kết thúc thuật toán dẫn đường
Chuyển tới
default gateway
TẦNG GIAO VẬN
Tầng giao thức ngay trên tầng Internet là Tầng giao vận (Host-to-Host Transport Layer hay thường gọi là Transport Layer). Hai giao thức quan trọng nhất của tầng này là Transmission Control Protocol (TCP) và User Datagram Protocol (UDP). TCP cung cấp dịch vụ chuyển giao thông tin có kết nối (connection-oriented), nó bao gồm cả việc kiểm tra và sửa lỗi. UDP cung cấp dịch vụ kém tin cậy hơn (unreliable) và không thiết lập liên kết trước (connectionless). Cả hai giao thức đều chuyển giao thông tin giữa tầng ứng dụng và tầng Internet. Chương trình ứng dụng có thể lựa chọn dịch vụ nào thích hợp với nó.
Giao thức không kết nối (User Datagram Protocol - UDP)
UDP cho phép chương trình ứng dụng truy cập trực tiếp đến gói tin của dịch vụ chuyển giao giống như dịch vụ mà giao thức IP cung cấp. Nó cho phép ứng dụng trao đổi thông tin qua mạng với ít thông tin điều khiển nhất. UDP là giao thức không kết nối, kém tin cậy vì nó không có cơ chế kiểm tra tính đúng đắn của dữ liệu truyền.
Gói thông tin UDP
0
31
Source port
Destination port
Message length
checksum
Data
Destination
Address
Source
Address
Type
field
IP
header
UDP data
CRC
Mỗi gói thông tin UDP gọi là một Datagram được phân làm 2 phần header và data trong đó header chứa thông tin về địa chỉ cổng nguồn, địa chỉ cổng đích, độ dài của gói và checksum
Phân kênh, hợp kênh và Ports
Phân kênh, hợp kênh chính là việc lựa chọn những tiến trình ứng dụng trong một số lớn các tiến trình sử dụng giao thức UDP, và cần chọn ra những ứng dụng tương ứng với gói thông tin chuyển đến.
Port 1
Port 2
Port 3
UDP: Demultiplexing Based on Port
IP Layer
UDP Datagram arrives
Việc này được giải quyết bằng cơ chế cổng (Port mechanism) cơ chế này gắn mỗi ứng dụng với một con số gọi là số hiệu cổng (Port number) và mỗi gói thông tin mà ứng dụng gửi đi đều mang một trường SOURCE PORT.
Tại nơi nhận, dựa vào thông tin trong trường DESTINATION PORT mà gói tin đó được truyền đến cổng tương ứng với ứng dụng. Ví dụ mọi bản TCP/IP đều có dịch vụ FTP (File Transfer Protocol) gắn với cổng 21 và TFTP (Trivial File Transfer Protocol) gắn với cổng 69 của UDP.
Việc sử dụng các port number cũng có nhiều cách
Dùng những cổng dành riêng cho từng ứng dụng đã được đăng ký trước (Well-known port assignment).
Một port number sẽ được sinh ra khi có một ứng dụng đòi hỏi (Dynamic binding).
Cách tiếp cận kết hợp các kiểu trên (Hybird) vừa sử dụng Well-known port assignment cho một số port number vừa có thể định nghĩa các port number khác khi cần thiết. Các port number thông dụng của UDP thường được dành chỗ từ 1 tới 255. Một số hệ điều hành (như 4.3 BSD UNIX) còn dành chỗ tới port number 1023, các port number có thể sử dụng được là từ số 1024 trở lên.
Một số cổng UDP dành riêng
0 Reserved
7 Echo
9 Discard
11 Active users
13 Daytime
15 Who is up or NETSTAT
17 Quote of the day
19 Character generator
37 Time
42 Name server
43 Who is
53 Domain name server
67 Boottrap protocol server
68 Boottrap protocol client
69 Trivial File Tranfer Protocol ( TFTP)
111 Sun RPC
123 Network time protocol
161 SNMP net monitor
162 SNMP traps
512 UNIX comsat
513 UNIX rwho process
514 System log
525 Timed
Có một số lý do để người lập trình ứng dụng lựa chọn UDP như một dịch vụ giao vận:
Nếu một số lượng lớn các gói tin nhỏ được truyền, thông tin cho việc kết nối và sửa lỗi có thể lớn hơn nhiều so với thông tin cần truyền. Trong trường hợp này, UDP là giải pháp hiệu quả nhất.
Những ứng dụng kiểu "Query-Response" cũng rất phù hợp với UDP, câu trả lời có thể dùng làm sự xác nhận của một câu hỏi. Nếu không nhận được sự trả lời sau một thời gian nào đó, ứng dụng chỉ cần gửi đi một câu hỏi khác.
Một số ứng dụng đã tự nó cung cấp công nghệ riêng để chuyển giao thông tin tin cậy, và không đòi hỏi dịch vụ này của transport layer.
Giao thức điều khiển truyền tin (Transmission Control Protocol - TCP)
Một số ứng dụng đòi hỏi giao thức giao vận cung cấp dịch vụ chuyển giao thông tin tin cậy sử dụng TCP bởi nó cung cấp dịch vụ kiểm tra đúng đắn và dữ liệu được truyền với một sự phối hợp thích hợp. Một số đặc điểm của dịch vụ tin cậy mà TCP cung cấp là:
Hướng dòng (Stream Orientation): TCP coi dữ liệu nó gửi đi là một dòng byte không phải là gói tin. Do đó, TCP đảm bảo số thứ tự của các byte gửi nhận. Trường Sequence number và Acknowledgment number trong header của TCP giữ dấu của các byte trong toàn bộ dòng dữ liệu truyền. TCP chuẩn không bắt hệ thống phải sử dụng một số đặc biệt nào để đánh số dòng byte, mỗi hệ thống tự chọn một số mà nó sẽ dùng làm điểm bắt đầu. Mỗi trạm cuối phải biết số thứ tự mà trạm kia dùng. Chúng phải trao đổi một segment để đồng bộ hệ thống số sẽ được sử dụng (Synchronize sequenence number - SYN) trong quá trình bắt tay. Trường Sequent number trong SYN segment chứa số bắt đầu (ISN) của dòng số đánh thứ tự, số này được chọn ngẫu nhiên. Mỗi byte trong dữ liệu được giữ dấu bởi số ISN do đó byte đầu tiên của dữ liệu mang số ISN+1. Sequent number chứa vị trí của dòng byte trong gói tin nếu ISN=0 và 4000 byte đã được chuyển giao thì con số tiếp theo sẽ là 4001.
Chuyển giao bộ đệm (Buffered Transfer): Để giảm số lượng truyền thông, giao thức cố gắng sử dụng số lượng tối thiểu các segment để truyền tải thông tin, do vậy, giao thức sử dụng tối đa độ dài có thể của segment. Trường window trong TCP header cho biết số byte tối đa mà trạm đích có thể nhận được, nếu trạm đích có khả năng chấp nhận 6000 byte thì trường window sẽ là 6000, trạm gửi có thể điều chỉnh lại dữ liệu cho phù hợp. Nếu trường window mang giá trị 0 có nghĩa là trạm gửi phải chờ tới khi nhận được một số khác 0.
Kết nối hai chiều (Full Duplex Connection): TCP/IP cung cấp kết nối cho cả hai đầu của liên kết. Điề...
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status