Tầng ứng dụng của TCP/IP

Một phần của tài liệu Kiến trúc mạng căn bản potx (Trang 50 - 59)

Phần lớn người sử dụng chỉ quan tâm tới các dịch vụ thông tin được cung cấp trên Internet. Các ứng dụng có sớm nhất của Internet là Telnet, FTP, SMTP, DNS ngoài ra ngày nay có hàng ngàn ứng dụng khác đang phát triển và ngày một nhiều. Sau đây chúng ta tìm hiểu và phân tích một số ứng dụng của Internet.

VI.1. Dịch vụ tên miền (Domain Name Service - DNS)

Việc định vị các máy tính trên mạng bằng các địa chỉ IP có nhiều lợi điểm như đã trình bày ở phần trên, tuy nhiên với người sử dụng, việc nhớ các con số đó là một việc tẻ nhạt khó chịu. Hơn nữa, địa chỉ IP không mang thông tin về địa lý, tổ chức hay người dùng. Vì thế, người ta xây dựng hệ thống đặt tên gọi là Domain Name Server để cung cấp cho người dùng cách đặt tên cho các máy tính với cách đặt tên thông thường quen thuộc.

Một domainame thông thường có dạng: Tên_người_dùng@Tên_miền

với tên miền được phân làm các cấp nối với nhau bởi dấu “.”. Tên miền được NIC cung cấp.

Tên miền cao nhất là cấp quốc gia được đặt bởi 2 chữ cái:  ar: Argentina  at: Austria  au: Australia  be: Belgium  ca: Canada  cn: China  de: Germany  es: Spain  fr: France  gb: Great britain  hk: Honkong  il: Israel  it: Italy  jp: Japan  kr: Korea  lu: Luxembourg  my: Malaysia  no: Norway  vn: Việt nam  ...

nếu không có gì thì được hiểu như thuộc USA

Mức tiếp theo chỉ lãnh vực hoạt động:  edu: giáo dục

gov: chính phủ  com: thương mại

mil: quân sự

org: các tổ chức phi lợi nhuận  net: các tổ chức phát triển mạng

Sau đó có thể là tên công ty và tên máy tính.

Một máy tính có thể có nhiều tên nhưng trên mạng, mỗi tên là duy nhất. Việc ánh xạ địa chỉ IP vào tên miền được thực hiện bởi các Name Server cài đặt tại máy Server và Name Resolver cài đặt trên máy trạm.

VI.2. Đăng nhập từ xa (Telnet)

Telnet cho phép người sử dụng từ một trạm làm việc của mình có thể đăng nhập (login) vào một trạm xa như là một đầu cuối (teminal) nối trực tiếp với trạm xa đó. vn fpt vdc com edu

gov mil org nic

hut vnuh

fit

Để đăng nhập vào một máy tính ta đánh lệnh: telnet [domain name | IP address]

VI.3. Thư điện tử (Electronic Mail)

Đây là một dịch vụ phổ biến nhất trên Internet trước khi World Wide Web ra đời, thông qua dịch vụ này, người sử dụng trên mạng có thể trao đổi các thông báo cho nhau trên phạm vi thế giới. Đây là một dịch vụ mà hầu hết các mạng diên rộng đều cài đặt và cũng là dịch vụ cơ bản nhất của một mạng khi gia nhập Internet. Nhiều người sử dụng máy tính tham gia mạng chỉ dùng duy nhất dịch vụ này. Dịch vụ này sử dụng giao thức SMTP (Simple Mail Transfer Protocol) trong họ giao thức TCP/IP.

Thư điện tử là phương thức trao đổi thông tin nhanh chóng và thuận tiện. Người sử dụng có thể trao đổi những bản tin ngắn hay dài chỉ bằng một phương thức duy nhất. Rất nhiều người sử dụng thường truyền tập tin thông qua thư điện tử chứ không phải bằng các chương trình truyền tập tin thông thường. TCP/IP Internet User’s Terminal Hệ điều hành Telnet Client Hệ điều hành Telnet Server Server gửi thông báo tới máy tính thực hiện Server nhận thông báo từ client Client gửi thông báo đến server Client đọc từ trạm cuối

Đặc điểm của dịch vụ thư điện tử là không tức thời (off-line) - tất cả các yêu cầu gửi đi không đòi hỏi phải được xử lý ngay lập tức.

Khi người sử dụng gửi một bức thư, hệ thống sẽ chuyển thư này vào một vùng riêng (gọi là spool) cùng với các thông tin về người gửi, người nhận, địa chỉ máy nhận... Hệ thống sẽ chuyển thư đi bằng một chương trình chạy nền (background). Chương trình gửi thư này sẽ xác định địa chỉ IP máy cần gửi tới, tạo một liên kết với máy đó. Nếu liên kết thành công, chương trình gửi thư sẽ chuyển thư tới vùng spool của máy nhận. Nếu không thể kết nối với máy nhận thì chương trình gửi thư sẽ ghi lại những thư chưa được chuyển và sau đó sẽ thử gửi lại một lần nó hoạt động. Khi chương trình gửi thư thấy một thư không gửi được sau một thời gian quá lâu (ví dụ 3 ngày) thì nó sẽ trả lại bức thư này cho người gửi.

Mọi thư trên Internet đều tuân theo một dạng chuẩn. Bao gồm phần header chứa địa chỉ người gửi, địa chỉ người nhận dạng domain name và sau đó là phần nội dung thư. Cả hai phần đều là các ký tự ASCII chuẩn. Thư chuyển trên mạng và đến được đích là nhờ vào thông tin chứa trong phần header của thư.

Ban đầu thư điện tử chỉ nhằm mục đích trao đổi các thông báo (thực chất là các tệp văn bản) giữa người sử dụng với nhau. Dần dần người ta đã phát triển thêm các biến thể trên nó để phục vụ người sử dụng tốt hơn hoặc dùng cho những mục đích riêng biệt. Đó là các dịch vụ thông tin dựa trên thư điện tử. Thực chất của các dịch vụ này là sử dụng thư có nội dung tuân theo một cú pháp đặc biệt thể hiện yêu cầu của người sử dụng. Các thư này được gửi tới một người sử dụng đặc biệt là các server, các server này phân tích nội dung thư, thực hiện các yêu cầu rồi gửi trả lại kết quả cho người yêu cầu cũng dưới dạng thư điện tử.

name server cung cấp dịch vụ tra cứu địa chỉ trên mạng

archive server cho phép người sử dụng tìm kiếm và lấy về những tệp tin dùng chung.

VI.4. Giao thức truyền tệp (File Transfer Protocol - FTP)

Đây là một phương pháp sao chép tệp từ một máy tính ở xa về máy tính của người dùng ta có thể ngồi tại máy tính của mình truyền hoặc lấy file trên một máy chủ nào đó

Ví dụ lấy tệp nettcp.c trên máy chủ sco5 về máy tính của mình: $ ftp sco5 (adsbygoogle = window.adsbygoogle || []).push({});

Connected to sco5. 220-

220 sco5.cse.com.vn FTP server (Version 2.1WU(1)) ready. Name(none): binhnn

331 Password required for binhnn. Password:

230 User binhnn logged in. Remote system type is UNIX. Using binary mode to transfer files. ftp> get nettcp.c

local: nettcp.c remote: nettcp.c 200 PORT command successful.

150 Opening BINARY mode data connection for nettcp.c (46 bytes). 226 Transfer complete.

46 bytes received in 0 seconds (0.04 Kbytes/s) ftp> bye

221 Goodbye. $

VI.5. Nhóm tin (News groups)

News groups là những nhóm người dùng thảo luận trực tuyến. Mỗi người gửi những bài bình luận về một vấn đề nào đó, tạo thành một nhóm thảo luận, những nhóm tin cho phép người dùng tiếp xúc với hàng triệu người trên thế giới có cùng mối quan tâm. Internet có gần 20.000 nhóm tin như vậy

VI.6. Tìm kiếm tệp (Archie)

Do trên Internet hiện nay có khoảng trên 3 triệu tệp và hàng nghìn ftp server và số lượng đó ngày càng tăng nhanh. Archie là một dịch vụ giúp đỡ tìm kiếm các tệp tin khác nhau theo một số các thông tin nào đó. Thông thường dịch vụ này cho phép tìm kiếm tệp theo tên hoặc một xâu con của tên tệp. Nó chưa cho phép tìm kiếm theo chủ đề hay nội dung. Tuy vậy nó trợ giúp cho ftp rất nhiều để có thể lấy tệp dễ dàng hơn.

VI.7. Tra cứu thông tin theo thực đơn (Gopher)

Sử dụng giao thức Gopher protocol để tìm kiếm tài nguyên của mạng. Dịch vụ này cho phép tìm kiếm và tra cứu thông tin theo chủ đề của thông tin. Việc tra cứu này được thực hiện qua hệ thống thực đơn thân thiện hơn với người sử dụng. Nó có ưu điểm là có thể tra cứu trên nhiều máy chủ cùng một lúc. Hạn chế của Gopher là hiển thị thông tin quá tóm tắt, các chức năng cung cấp trong thực đơn còn chưa nhiều.

VI.8. Tìm kiếm thông tin theo chỉ số (WAIS)

Khác với Gopher tìm kiếm thông tin qua các đề mục định sẵn, WAIS cho phép nguời dùng tìm kiếm các tệp dữ liệu có chứa các xâu định trước. Ngoài các ứng dụng client, server WAIS còn có một phần đặc biệt là indexer làm nhiệm vụ cập nhật các tài liệu mới, sắp xếp chúng dưới dạng thích hợp để thuận tiện cho việc tìm kiếm. WAIS server khi nhận được câu hỏi của client sẽ tìm kiếm trong cơ sở dữ liệu tạo ra bởi indexer và trả lời cho client.

VI.9. Siêu văn bản (WWW)

Người ta nói rằng WWW là linh hồn của Internet vì nó cung cấp cho người dùng một giao diện lý tưởng khi làm việc với Internet. Người dùng máy tính không cần có hiểu biết sâu về máy tính cũng có thể sử dụng nó như một công cụ đắc lực để ngồi tại nhà xem toàn bộ thế giới với số lượng thông tin đồ sộ được cập nhật từng giây.

WWW dựa trên ý tưởng siêu văn bản Hypertext trong đó chứa các Hyperlink đến các văn bản khác và như vậy, ta có thể mở rộng mãi mãi trang văn bản của mình.

WWW ngày nay được mở rộng với khái niệm siêu phương tiện Hypermedia bao gồm cả hình ảnh, âm thanh..

Ngày nay, phần lớn ứng dụng trên Internet từ giải trí đến truy cập cơ sở dữ liệu đều được thực hiện trên WWW.

Chương IV. Xây dựng ứng dụng truyền tệp I. Giao diện lập trình

I.1. Giao diện lập trình

Bộ giao thức TCP/IP đã định nghĩa đầy đủ các giao thức truyền thông để các máy tính trên mạng có thể giao tiếp với nhau, che đi cấu trúc vật lý của mạng. Tuy nhiên, để xây dựng các ứng dụng thì sử dụng TCP/IP là không đủ, bởi vì người lập trình sẽ phải tự mình xây dựng những thủ tục giải quyết từng sự kiện, một giao diện (Application Program Interface) lập trình là cần thiết để cung cấp cho người lập trình một cách tiếp cận đơn giản, dễ hiểu hơn.

UNIX cung cấp cho người lập trình hai giao diện chính cho lập trình C:

 Sockets lần đầu tiên xuất hiện trong bản BSD UNIX năm 1982 và nhanh chóng phát triển rộng rãi trong một khoảng thời gian ngắn. Được phát triển thêm vào năm 1990 để hỗ trợ giao thức ISO. Socket được gắn với khả năng truyền thông dễ dàng giữa các tiến trình cả trên mạng và trên một máy tính. Mục tiêu của nó là che dấu càng nhiều càng tốt những gì xảy ra ở tầng truyền thông phía dưới.

Tiến trình ứng dụng

Giao diện với nhân hệ điều hành

Giao diện với phần cứng

Phần cứng (adsbygoogle = window.adsbygoogle || []).push({});

 TLI (Transport Layer Interface) Phát triển đầu tiên cho UNIX System V 3.0 có những hàm và thủ tục tương đương với Socket nhưng mô hình phức tạp hơn để đạt được tính mềm dẻo hơn.

I.2. Network I/O và file I/O

Hệ điều hành UNIX, có 6 lời gọi hệ thống vào ra file đó là:  open: Mở file.

creat: Tạo file.  close: Đóng file.  read: Đọc từ file.  write: Ghi file.

lseek: Chuyển con trỏ file.

Và UNIX coi mỗi thiết bị đều như một file, có thể được truy cập như một file.

Một phần của tài liệu Kiến trúc mạng căn bản potx (Trang 50 - 59)