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

Mạng máy tính là hệ thống các máy tính độc lập (autonomous) được kết nối với nhau. Khái niệm độc lập ở đây có nghĩa là chúng không có mối quan hệ chủ/tớ (master/slave) rõ ràng. Hai máy tính được gọi là được kết nối với nhau nếu chúng có khả năng trao đổi thông tin. Sự kết nối có thể thông qua dây dẫn, tia laser, sóng điện từ hay vệ tinh viễn thông. Việc kết nối các máy tính có những ưu điểm sau

doc107 trang | Chia sẻ: luyenbuizn | Lượt xem: 967 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Xây dựng chương trình truyền tệp, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƯƠNG I. MẠNG MÁY TÍNH CHƯƠNG I . MẠNG MÁY TÍNH MẠNG MÁY TÍNH Mạng máy tính là hệ thống các máy tính độc lập (autonomous) được kết nối với nhau. Khái niệm độc lập ở đây có nghĩa là chúng không có mối quan hệ chủ/tớ (master/slave) rõ ràng. Hai máy tính được gọi là được kết nối với nhau nếu chúng có khả năng trao đổi thông tin. Sự kết nối có thể thông qua dây dẫn, tia laser, sóng điện từ hay vệ tinh viễn thông... Việc kết nối các máy tính có những ưu điểm sau Sử dụng chung tài nguyên (resource sharing): Chương trình, dữ liệu, thiết bị có thể được dùng chung bởi người dùng từ các máy tính trên mạng. Tăng độ tin cậy của hệ thống thông tin (reliability): Nếu một máy tính hay một đơn vị dữ liệu nào đó bị hỏng thì luôn có thể sử dụng một máy tính khác hay một bản sao khác của dữ liệu, nhờ đó, khả năng mạng bị ngừng sử dụng được giảm thiểu. Tạo ra môi trường truyền thông mạnh giữa nhiều người sử dụng trên phạm vi địa lý rộng: Mục tiêu này ngày càng trở nên quan trọng nhất là khi mạng máy tính đã phát triển trên phạm vi toàn cầu như ngày nay. Tiết kiệm chi phí: Do tài nguyên được dùng chung, hệ thống tin cậy hơn nên chi phí thiết bị và bảo dưỡng của mạng máy tính thấp hơn so với trường hợp máy tính riêng lẻ. PHÂN LOẠI MẠNG MÁY TÍNH Phân loại theo kiến trúc (topology) của mạng Phân loại theo kiến trúc là cách phân loại mạng máy tính theo cách kết nối các máy tính trong mạng Mạng điểm-điểm (point-to-point network) Các đường truyền nối các cặp nút với nhau, mỗi nút có trách nhiệm lưu trữ tạm thời sau đó chuyển tiếp dữ liệu tới đích. Cách làm việc này còn gọi là lưu và chuyển tiếp (store-and-forward). Mạng điểm-điểm cần sử dụng lượng cáp nối lớn hoặc nhiều đường điện thoại thuê riêng (leased telephone lines), mỗi đường nối một cặp điểm làm việc. Nếu 2 điểm làm việc muốn gửi thông tin cho nhau mà không có đường truyền trực tiếp, dữ liệu của chúng cần được truyền qua một số nút khác do đó, thuật toán dẫn đường có vai trò rất quan trọng trong kiến trúc mạng điểm-điểm. Star Tree Ring Mạng quảng bá (broadcast network) Tất cả các nút cùng dùng chung một đường truyền vật lý. Dữ liệu được tiếp nhận bởi tất cả các máy tính, nếu máy tính nào kiểm tra thấy gói tin được gửi cho mình, nó sẽ giữ lại và xử lý. Các mạng quảng bá thường cho phép sử dụng địa chỉ broadcasting để gửi thông báo tới toàn mạng. Satellite Bus Ring Phân loại theo phương thức chuyển mạch (Swiched Method) Chuyển mạch kênh (Circuit Swiched Network) Thông tin truyền qua một kênh vật lý cố định, tốc độ và độ tin cậy cao nhưng lãng phí đường truyền do không sử dụng hết. Chuyển mạch tin báo (Message Swiched Network) Liên lạc được thiết lập khi có thông tin cần truyền, thông tin được định dạng gồm header và data và có độ dài không cố định: Mối liên lạc được thiết lập và chỉ giải phóng khi truyền xong dữ liệu do đó không quản lý được thời gian chiếm đường truyền Chuyển mạch gói (Packed Swiched Network) Thông tin được cắt ra thành các gói có độ dài quy định Ví dụ Erthenet IEEE 802.3 chia message thành các gói 1500 bytes. Mỗi gói đều có header và data. Các gói của các message khác nhau có thể truyền xen kẽ trên đường truyền do đó thời gian chờ đợi chung của hệ thống giảm. Phân loại theo phạm vi hoạt động Theo phạm vi hoạt động, người ta chia mạng máy tính thành những loại sau Mạng LAN (Local Area Network) Thường là mạng được sử dụng cho một công ty, trường học hay trong một toà nhà, khoảng cách tương đối nhỏ (cỡ vài trăm m tới vài Km) tốc độ truyền lớn, độ trễ nhỏ. (Phụ lục A trình bày một số mạng cục bộ thường được sử dụng) Mạng MAN (Metropolian Area Network) Mạng được cài đặt trong phạm vi một đô thị hay trung tâm kinh tế - xã hội (có bán kính khoảng 100 Km) Mạng WAN (Wide Area Network) Mạng diện rộng có thể bao trùm một vùng rộng lớn cỡ quốc gia hay lục địa. Liên mạng (internet) Phần lớn các mạng cục bộ đều độc lập với nhau về phần cứng cũng như phần mềm, chúng được thiết lập nhằm mục đích phục vụ những nhóm người cụ thể nào đó. Trong mỗi mạng đó, người dùng tự lựa chọn một công nghệ phần cứng phù hợp với công việc của họ. Một điều quan trọng nữa là không thể xây dựng một mạng chung dựa trên một công nghệ sử dụng trên một mạng đơn lẻ nào đó bởi vì không có công nghệ mạng nào có thể thoả mãn nhu cầu cho tất cả mọi người. Một số người có nhu cầu sử dụng đường nối cao tốc để truyền dữ liệu của mình trong khi các mạng LAN không thể mở rộng phạm vi hoạt động quá xa. Một số mạng tốc độ chậm lại có thể kết nối máy tính tới hàng ngàn dặm... Liên mạng máy tính (internetworking hay internet) là một công nghệ được đưa ra nhằm kết nối các mạng thành một thể thống nhất. Công nghệ internet che dấu đi kiến trúc vật lý của mạng và cho phép máy tính truyền thông một cách độc lập với liên kết vật lý của mạng. Một liên mạng đã khá quen thuộc với chúng ta là mạng Internet Giới thiệu mạng Internet Internet là một tổ hợp hàng triệu máy được kết nối với nhau thông qua các thiết bị ghép nối thường gọi là gateway để có thể chia sẻ thông tin với nhau, trong đó có đủ loại máy tính, và chúng sử dụng nhiều hệ điều hành khác nhau. Thông tin trên Internet gồm đủ loại từ thư điệu tử, các file đồ hoạ đến video và còn nhiều thứ khác được cung cấp bởi những người sử dụng Internet bằng nhiều phương thức, với nhiều tư tưởng khác nhau. Quy mô của Internet Có bao nhiêu máy được kết nối vào Internet? Con số cụ thể luôn luôn thay đổi, những địa chỉ mới luôn luôn được cập nhật từng giây chúng ta có thể truy nhập địa chỉ Web site của tổ chức Network Wizards để biết những số liệu mới nhất Thời gian Số lượng máy Tháng 1 năm 1996 14,252,000 Tháng 1 năm 1997 21,819,000 Tháng 1 năm 1998 29,670,000 Những máy chủ (host) mạnh thường sử dụng những hệ điều hành đa nhiệm, ví dụ như UNIX, để người sử dụng kết nối vào, như thế có nghĩa là số máy của người sử dụng mạng nhiều hơn những con số trên. Những máy chủ được định vị tại các điểm như thư viện, các trường đại học, các tổ chức chính phủ, các đại lý, các công ty, các trường trung học, tiểu học trên toàn thế giới. Những máy chủ này được kết nối với nhau qua đường điện thoại và chỉ mất khoảng 640/1000 giây để bắt đầu nhận thông báo từ Bắc Mỹ tới Nam cực. Các dịch vụ mà Internet cung cấp Phần lớn người sử dụng Internet không cần biết đến của công nghệ sử dụng trên Internet, đối với họ Internet chỉ đơn giản là một bộ chương trình phần mềm mang lại cho họ những khả năng truyền thông có ích. Chính điều này mang lại cho Internet số người dùng đông đảo tới như vậy. Các dịch vụ mức ứng dụng ban đầu trên Internet Thư điện tử (Electronic mail) Cho phép người dùng ngồi trước máy tính tại nhà mình gửi E-mail tới bất cứ ai ở đâu trên thế giới nếu họ có địa chỉ E-mail. Họ có thể tham gia các nhóm thảo luận (discussion group) về những đề tài khác nhau hay bắt đầu một nhóm mới về những chủ đề mà họ ưa thích. Truyền file (File Transfer) Nếu cần một chương trình phần mềm mới như các tiện ích nén file, các chương trình diệt virus, một phần mềm trò chơi, hình ảnh hay âm thanh, người dùng có thể tải xuống bất cứ lúc nào với File Transfer. Truy nhập từ xa (Remote login) Có lẽ điều thú vị nhất trong các ứng dụng của Internet là Remote login, nó cho phép người dùng kết nối vào một máy tính ở xa như một trạm cuối để sử dụng máy tính đó. Dịch vụ mức mạng của Internet Một lập trình viên viết chương trình ứng dụng trên Internet cần có một cái nhìn khác với người chỉ đơn giản sử dụng dịch vụ Internet. Ở tầng mạng, Internet cung cấp 2 kiểu dịch vụ mà các ứng dụng của Internet thường dùng đó là Dịch vụ truyền không kết nối (Connectionless Paket Delivery Service) là một phương thức truyền dữ liệu mà các mạng chuyển mạch gói cung cấp. Điều này chỉ đơn giản là mạng Internet chuyển các gói tin từ máy này sang máy khác dựa vào thông tin địa chỉ của gói đến đích của nó. Việc chia nhỏ gói tin truyền này có một lợi điểm là nếu một đường đi bị bận hoặc bị đứt, thì các gói có thể được truyền theo một đường khác. Dịch vụ truyền tin cậy (Reliable Stream Transport Service) Phần lớn các ứng dụng đòi hỏi nhiều dịch vụ hơn chỉ truyền thông không kết nối bởi vì chúng cần tự động sửa lỗi, kiểm tra tính toàn vẹn của thông tin truyền đi trên mạng. Reliable Stream Transport Service giải quyết vấn đề này cho ta. CHƯƠNG II . GIAO THỨC TRUYỀN THÔNG VÀ CÁC MÔ HÌNH THAM CHIẾU GIAO THỨC TRUYỀN THÔNG Để các máy tính trên mạng có thể trao đổi thông tin với nhau, chúng cần có một bộ những phần mềm cùng làm việc theo một chuẩn nào đó. Giao thức truyền thông (protocol) là tập quy tắc quy định phương thức truyền nhận thông tin giữa các máy tính trên mạng. Các mạng máy tính hiện đại được thiết kế bằng cách phân chia cấu trúc ở mức độ cao nhằm làm giảm sự phức tạp khi thiết kế. Các giao thức mạng thường được chia làm các tầng (layer), mỗi tầng được xây để dựng dựa trên dịch vụ của tầng dưới nó và cung cấp dịch vụ cho tầng cao hơn. MÔ HÌNH THAM CHIẾU OSI Giới thiệu mô hình OSI Mô hình mạng máy tính do tổ chức tiêu chuẩn hoá quốc tế (International Standard Organization - ISO) đưa ra năm 1983 được gọi là mô hình tham chiếu các hệ thống mở (Open Systems Interconect referent model - OSI). Các điều khoản mô tả trong mô hình được sử dụng rộng rãi trong lý thuyết truyền thông, do đó, trong thực tế khó có thể nói về truyền thông mà không sử dụng thuật ngữ của OSI. Mô hình tham chiếu OSI chứa 7 tầng mô tả chức năng của giao thức truyền thông. Mỗi tầng của mô hình OSI miêu tả một chức năng được thực hiện khi dữ liệu di chuyển giữa các ứng dụng giữa các mạng. Tầng ứng dụng bao gồm các trình ứng dụng sử dụng mạng. Tầng trình diễn tiêu chuẩn hoá dữ liệu cung cấp cho tầng ứng dụng. Tầng phiên quản trị các phiên làm việc giữa các ứng dụng. Tầng giao vận cung cấp kết nối trạm-trạm, xử lý lỗi. Tầng mạng quản trị việc kết nối qua mạng cho các tầng trên. Tầng liên kết dữ liệu cung cấp phân phát dữ liệu tin cậy qua đường truyền vật lý. Tầng vật lý định rõ các đặc thù của thiết bị mạng. Các lớp giao thức được xếp chồng lớp nọ trên lớp kia. Chính sự xuất hiện của nó, cấu trúc thường được gọi là stack hoặc giao thức xếp chồng. Việc phân tầng của OSI tuân theo một số nguyên tắc sau Một lớp được tạo ra khi cần đến mức trừu tượng hoá tương ứng. Mỗi lớp cần thực hiện các chức năng được định nghĩa rõ ràng. Việc chọn chức năng cho mỗi lớp cần chú ý tới việc định nghĩa các quy tắc chuẩn hoá quốc tế. Ranh giới các mức cần chọn sao cho thông tin đi qua là ít nhất (tham số cho chương trình con là ít). Số mức phải đủ lớn để các chức năng tách biệt không nằm trong cùng một lớp và đủ nhỏ để mô hình không quá phức tạp. Một mức có thể được phân thành các lớp nhỏ nếu cần thiết. Các mức con có thể lại bị loại bỏ. Hai hệ thống khác nhau có thể truyền thông với nhau nếu chúng bảo đảm những nguyên tắc chung (cài đặt cùng một giao thức truyền thông). Các chức năng được tổ chức thành một tập các tầng đồng mức cung cấp chức năng như nhau. Các tầng đồng mức phải sử dụng một giao thức chung. Một tầng không định nghĩa một giao thức đơn, nó định nghĩa một chức năng truyền thông có thể được thi hành bởi một số giao thức. Do vậy, mỗi tầng có thể chứa nhiều giao thức, mỗi giao thức cung cấp một dịch vụ phù hợp cho chức năng của tầng. Ví dụ cả giao thức truyền file (File Transfer Protocol - FTP) và giao thức thư điện tử (Simple Mail Transfer Protocol - SMTP) đều cung cấp dịch vụ cho người dùng và cả hai đều thuộc tầng ứng dụng. Mỗi mức ngang hàng giao thức truyền thông (sự bổ xung của các giao thức cùng mức tương đương trên hệ thống khác). Mỗi mức phải được chuẩn hoá để giao tiếp với mức tương đương với nó. Trên lý thuyết, giao thức chỉ biết đến những gì liên quan tới lớp của nó mà không quan tâm tới mức trên hoặc dưới của nó. Tuy nhiên phải có sự thoả thuận để chuyển dữ liệu giữa các tầng trên một máy tính, bởi mỗi tầng lại liên quan tới việc gửi dữ liệu từ ứng dụng tới một ứng dụng tương đương trên một máy khác. Tầng cao hơn dựa vào tầng thấp hơn để chuyển dữ liệu qua mạng phía dưới. Dữ liệu chuyển xuống ngăn xếp từ tầng này xuống tầng thấp hơn cho tới khi được truyền qua mạng nhờ giao thức của tầng vật lý. Ở đầu nhận, dữ liệu đi lên ngăn xếp tới ứng dụng nhận. Những tầng riêng lẻ không cần biết các tầng trên và dưới nó xử lý ra sao, nó chỉ cần biết cách chuyển nhận thông tin từ các tầng đó. Sự cô lập các hàm truyền thông trên các tầng khác nhau giảm thiểu sự tích hợp công nghệ của đầu vào mỗi bộ giao thức. Các ứng dụng mới có thể thêm vào mà không cần thay đổi tầng vật lý của mạng, phần cứng có thể được bổ sung mà không cần viết lại các phần mềm ứng dụng. Các tầng của mô hình OSI Tầng vật lý (Physical layer) Tầng vật lý liên quan tới việc truyền dòng bit giữa các máy bằng kênh truyền thông vật lý, ở đây, cấu trúc của dữ liệu không được quan tâm đến. Việc thiết kế tầng vật lý cần quan tâm đến các vấn đề về ghép nối cơ khí, điện tử, thủ tục và môi trường truyền tin bên dưới nó ví dụ mức điện áp tương ứng với bit 0 - 1, thời gian tồn tại của xung... Tầng liên kết dữ liệu (Data link layer) Liên kết, thiết lập, duy trì, huỷ bỏ các liên kết dữ liệu là nhiệm vụ của tầng data link. Ngoài ra tầng data link còn kiểm soát lỗi đường truyền, thông lượng. Tầng này thực hiện việc đóng gói thông tin gửi thành các frame, gửi các frame một cách tuần tự đi trên mạng, xử lý các thông báo xác nhận (Acknowledgement frame) do bên nhận gửi về. Xác định ranh giới giữa các frame bằng cách ghi một số byte đặc biệt vào đầu và cuối frame. Giải quyết vấn đề thông lượng truyền giữa bên gửi và bên nhận (Vấn đề này có thể được giải quyết bởi một số lớp trên). Tầng mạng (Network layer) Vấn đề chủ chốt của tầng mạng là dẫn đường, định rõ các gói tin (packet) được truyền theo những con đường nào từ nguồn đến đích. Các con đường này có thể cố định, ít bị thay đổi, được thiết lập khi bắt đầu liên kết hay động (dynamic) thay đổi tuỳ theo trạng thái tải của mạng. Nếu có nhiều gói tin truyền trên mạng có thể xảy ra tình trạng tắc nghẽn, tầng mạng phải giải quyết vấn đề này. Thực hiện chức năng giao tiếp với các mạng bao gồm việc đánh lại địa chỉ, cắt hợp gói tin cho phù hợp với các mạng. Ngoài ra tầng mạng còn thực hiện một số chức năng kế toán, ví dụ, một số Firewall (packet filtering) được cài đặt trên tầng này để thống kê số lượng các gói tin truyền qua mạng hay ngăn cấm hoặc cho phép các gói tin của giao thức nào đó. Tầng giao vận (Transport layer) Kiểm soát việc truyền tin từ nút tới nut (end-to-end): Bắt đầu từ tầng này, các thực thể đã có thể nói chuyện một cách logic với nhau. Thực hiên việc ghép kênh và phân kênh: Mỗi ứng dụng có thể gửi dữ liệu đi theo nhiều con đường, một đường truyền lại có thể được nhiều ứng dụng sử dụng, phân kênh/hợp kênh giải quyết vấn đề phân chia dữ liệu cho các ứng dụng. Khắc phục sai sót trong quá trình truyền tin: Việc khắc phục sai sót được thực hiện trên nhiều tầng khác nhau, nhưng hiệu quả nhất là ở các tầng cao, việc khắc phục sai sót làm ở tầng giao vận là hợp lý nhất. Tầng phiên (Session layer) Tầng này cho phép người sử dụng trên các máy khác nhau thiết lập, duy trì, huỷ bỏ, đồng bộ phiên truyền thông giữa họ. Cung cấp một số dịch vụ hữu ích cho người sử dụng như cho phép người dùng logon vào hệ thống chia sẻ thời gian, truyền tệp giữa các máy tính. Quản lý token: cơ chế thẻ bài được tầng phiên cung cấp để tránh hiện tượng tranh chấp đường truyền trên mạng. Thực hiện đồng bộ (Synchronization): thực hiện đối với những dữ liệu lớn bằng cách thêm vào các thông tin kiểm tra, sửa lỗi. Tầng trình diễn (Presentation layer) Giải quyết vấn đề liên quan tới cú pháp và ngữ nghĩa của thông tin như chuyển đổi thông tin theo một chuẩn nào đó được cả hai bên sử dụng (mã ASCII - EDBCDIC). Nén/giãn dữ liệu để giảm số lượng bit truyền trên mạng. Mã hoá dữ liệu để thực hiện quyền truy cập. Tầng ứng dụng (Application layer) Tầng ứng dụng cung cấp giao diện sử dụng cho người dùng và môi trường truyền tin. Thực hiện chức năng chuyển file trong đó có giải quyết vấn đề không tương thích như cách đặt tên file hay các mã điều khiển trong một tệp văn bản... Cung cấp các dịch vụ Electronic mail, Remote login, Directory lookup... Những vấn đề về OSI Bản thân OSI không phải là một kiến trúc mạng bởi vì nó không chỉ ra chính xác các dịch vụ và các nghi thức được sử dụng trong mỗi tầng. Mô hình này chỉ ra mỗi tầng cần thực hiện nhiệm vụ gì. ISO đã đưa ra các tiêu chuẩn cho từng tầng, nhưng các tiêu chuẩn này không phải là một bộ phận của mô hình tham chiếu. Mô hình OSI ra đời sau khi các giao thức TCP/IP (TCP/IP sẽ được trình bày ở phần sau) đã được sử dụng rộng rãi, nhiều công ty đã đưa ra các sản phẩm TCP/IP, vì vậy, mô hình OSI chỉ được sử dụng trong thực tế như một chuẩn về lý thuyết. Trong mô hình OSI, một số chức năng như điều khiển thông lượng, kiểm tra lỗi xuất hiện lặp lại trong một số tầng. Điều này có nguyên nhân do mô hình OSI được chia làm các tầng khác nhau, mỗi tầng tương ứng với một đối tượng độc lập (có dữ liệu và các phương thức riêng của nó, độc lập với các đối tượng khác). Mô hình OSI không có các dịch vụ và giao thức không hướng kết nối mặc dù hầu hết các mạng đều có sử dụng. Mô hình quá phức tạp cho việc cài đặt làm cho OSI khó có thể ứng dụng rộng rãi trên thực tế. KIẾN TRÚC GIAO THỨC IPX/SPX Một hệ thống mạng máy PC được sử dụng phổ biến nhất trên thế giới trong thời gian vừa qua là mạng Novell Netware. Nó được thiết kế cho các công ty, để chuyển từ việc sử dụng máy tính lớn (Mainframe) sang sử dụng PC. Mỗi PC làm chức năng khách hàng (client), một số máy mạnh hoạt động như máy phục vụ (Server), chúng cung cấp các dịch vụ file, các dịch vụ CSDL và các dịch vụ khác cho một nhóm khách hàng. Nói cách khác, Novell Netware hoạt động theo mô hình file-server. Kiến trúc giao thức IPX/SPX Application SAP File server Transport NCP SPX Network IPX Datalink Ethernet Token ring ARCnet Physical Ethernet Token ring ARCnet Novell Netware sử dụng chồng giao thức IPX/SPX dựa trên một hệ thống mạng cũ của hãng Xerox-XNSTM nhưng có một số thay đổi. Novell Netware ra đời trước OSI và không dựa trên mô hình này. Tầng vật lý và tầng Data link có thể được chọn trong số nhiều chuẩn công nghiệp khác nhau bao gồm Ethernet, IBM token ring và ARCnet. Tầng mạng không định hướng nối kết, không bảo đảm (unreliable connectionless) có tên là IPX (Internet Packet eXchange). Nó chuyển các packet từ nguồn tới đích một cách trong suốt với người dùng ngay cả khi nguồn và đích nằm ở các mạng khác nhau. IPX sử dụng địa chỉ 12 byte. Tầng giao vận: Giao thức NCP (Network Core Protocol) cung cấp nhiều dịch vụ khác ngoài việc vận chuyển dữ liệu của người sử dụng, nó chính là trái tim của Novell Netware. Giao thức thứ hai của tầng này là SPX (Sequenced Packet eXchange). Nó chỉ thực hiện việc vận chuyển. Các ứng dụng có thể lựa chọn sử dụng một trong các giao thức của tầng này ví dụ hệ thống file sử dụng NCP, Lotus Note sử dụng SPX. Tầng Application nằm trên cùng, có nhiều giao thức khác nhau cung cấp cho người sử dụng các dịch vụ như đã trình bày ở trên. Gói tin IPX Điểm mấu chốt của kiến trúc IPX/SPX là gói tin IPX có cấu trúc như sau Offset Field Length (byte) 0 Checksum 2 2 Packet length 2 4 Transport control 1 5 Packet type 1 6 Destination Address 12 18 Source Address 12 30 ? Checksum: ít khi sử dụng vì tầng Data link bên dưới đã cung cấp checksum Packet length: chứa chiều dài của packet tính cả header và data Packet type: đánh dấu các packet điều khiển khác nhau. Destination Address: địa chỉ đích của gói tin. Source Address: địa chỉ nguồn của gói tin. Data: Chiếm phần cuối của gói, có độ dài phụ thuộc vào trường paket length trên. Cơ chế hoạt động của Novell Netware Cứ khoảng mỗi phút một lần, mỗi server lại phát đi (broadcast) một packet, cho biết địa chỉ của chính nó và các dịch vụ mà nó cung cấp. Việc này sử dụng giao thức SAP (Service Advertising Protocol). Các packet này được tiến trình dịch vụ (special agent process) chạy trên các máy router nhận và thu thập. Các agent sử dụng thông tin chứa trong đó để xây dựng CSDL về các server. Khi một máy client khởi động, nó phát một request để hỏi xem server gần nhất ở đâu. Agent trên máy router địa phương tiếp nhận yêu cầu này, kiểm tra CSDL về server, lựa chọn server phù hợp gửi lại thông tin cho client. Từ thời điểm đó, Client có thể thiết lập kết nối NCP với server và sử dụng các dịch vụ của server. Trong quá trình kết nối, client và server thoả thuận với nhau về chiều dài cực đại của dữ liệu, trong quá trình sử dụng, client có thể tra cứu CSDL của server để biết thông tin của các server khác. CHƯƠNG III. GIAO THỨC TCP/IP GIAO THỨC TCP/IP Vào cuối những năm 1960 và đầu 1970, Trung tâm nghiên cứu cấp cao (Advanced Research Projects Agency - ARPA) thuộc bộ quốc phòng Mĩ (Department of Defense - DoD) được giao trách nhiệm phát triển mạng ARPANET. Mạng ARPANET bao gồm mạng của những tổ chức quân đội, các trường đại học và các tổ chức nghiên cứu và được dùng để hỗ trợ cho những dự án nghiên cứu khoa học và quân đội (Ngày nay, ARPA được gọi là DARPA). Năm 1984, DoD chia ARPANET ra thành 2 phần: ARPANET sử dụng cho nghiên cứu khoa học và MILNET sử dụng cho quân đội. Đầu những năm 1980, một bộ giao thức mới được đưa ra làm giao thức chuẩn cho mạng ARPANET và các mạng của DoD mang tên DARPA Internet protocol suit, thường được gọi là bộ giao thức TCP/IP hay còn gọi tắt là TCP/IP. Năm 1987 tổ chức nghiên cứu quốc gia Hoa Kỳ (National Science Foundation - NSF) tài trợ cho việc kết nối 6 trung tâm siêu tính trên toàn liên bang lại với nhau thành một mạng với tên gọi NSFNET. Về mặt vật lý, mạng này kết nối 13 điểm làm việc bằng đường điện thoại cao tốc được gọi là NSFNET backbone. Khoảng 8 đường backbone đã được xây dựng. NSFNET được mở rộng với hàng chục mạng địa phương kết nối vào nó và kết nối vào mạng Internet của DARPA. Cả NSFNET và các mạng con của nó đều sử dụng bộ giao thức TCP/IP. TCP/IP có một số ưu điểm như sau: Giao thức chuẩn mở sẵn sàng phát triển độc lập với phần cứng và hệ điều hành. TCP/IP là giao thức lý tưởng cho việc hợp nhất phần cứng và phần mềm khác nhau, ngay cả khi truyền thông trên Internet. Sự độc lập rành mạch với phần cứng vật lý của mạng cho phép TCP/IP hợp nhất các mạng khác nhau. TCP/IP có thể chạy trên mạng Ethernet, mạng Token ring, mạng quay số (Dial-up line), mạng X.25, mạng ảo và mọi loại môi trường vật lý truyền thông. Một sơ đồ địa chỉ dùng chung cho phép mỗi thiết bị TCP/IP có duy nhất một địa chỉ trên mạng ngay cả khi đó là mạng toàn cầu Internet. Tiêu chuẩn hoá mức cao của giao thức phù hợp với ích lợi của dịch vụ người dùng. Được tích hợp vào hệ điều hành UNIX, Hỗ trợ mô hình client-server, mô hình mạng bình đẳng, Hỗ trợ kỹ thuật dẫn đường động. DARPA hỗ trợ việc nghiên cứu kết nối nhiều loại mạng khác nhau lại thành một mạng toàn cầu Internet. Ngoài việc sử dụng cho tất cả các máy trên Internet, TCP/IP còn được sử dụng trong mạng nội bộ của một số tổ chức chính phủ hoặc thương mại, những mạng này gọi là Intranet. TCP/IP vừa có thể kết nối một số lượng lớn các máy tính (150.000 máy trên nước Mĩ, Châu Âu, Châu Á) lại có thể chỉ kết nối hai máy tính trong phòng làm việc. Dưới đây, chúng ta xem xét một số nội dung về bộ giao thức truyền thông TCP/IP. KIẾN TRÚC CỦA BỘ GIAO THỨC TCP/IP Kiến trúc phân tầng của TCP/IP Application Layer Presentation Layer Application Layer Session Layer Transport Layer Transport Layer Network Layer Internet Layer Data link Layer Physical Layer Network access Layer Các lớp tương ứng giữa OSI và TCP/IP Có nhiều giao thức trong bộ giao thức truyền thông TCP/IP, nhưng hai giao thức quan trọng nhất được lấy tên đặt cho bộ giao thức này là TCP (Transmission Control Protocol) và IP (Internet Protocol). Bộ giao thức TCP/IP được phân làm 4 tầng Tầng mạng (Network Layer) Tầng Internet (Internet Layer) Tầng giao vận (Transport Layer) Tầng ứng dụng (Application Layer) Application Layer Transport Layer (Host Layer) Internet Layer (Getway Layer) Network Interface Layer RIP SNMP SMTP Transsmission Control Protocol User Datagram Protocol TELNET FTP Internet Protocol ICMP ARP Token Ring Fiber Token Bus Ethernet DNS Các tầng của bộ giao thức TCP/IP FTP (File transfer Protocol): Giao thức truyền tệp cho phép người dùng lấy hoặc gửi tệp tới một máy khác. Telnet: Chương trình mô phỏng thiết bị đầu cuối cho phép người dùng login vào một máy chủ từ một máy tính nào đó trên mạng. SMTP (Simple Mail Transfer Protocol): Một giao thức thư tín điện tử. DNS (Domain Name server): Dịch vụ tên miền cho phép nhận ra máy tính từ một tên miền thay cho chuỗi địa chỉ Internet khó nhớ. SNMP (Simple Network Management Protocol): Giao thức quản trị mạng cung cấp những công cụ quản trị mạng. RIP (Routing Internet Protocol): Giao thức dẫn đường động. ICMP (Internet Control Message Protocol): Nghi thức thông báo lỗi. UDP (User Datagram Protocol): Giao thức truyền không kết nối cung cấp dịch vụ truyền không tin cậy nhưng tiết kiệm chi phí truyền. TCP (Transmission Control Protocol): Giao thức hướng kết nối

Các file đính kèm theo tài liệu này:

  • docXây dựng chương trình truyền tệp.doc
Tài liệu liên quan