2011年软件水平考试网络工程师全面复习笔记(26)
" K( e5 r/ E% L4 Q 三.Internet应用
) |+ h& ~" {4 X, f8 F 1.FTP--文件传输协议(File Transfer Protocol)
A) O3 W+ C2 l/ y FTP实现计算机之间的文件传输。使用FTP时,用户无需关心对应计算机的位置,以及使用的文件系统。FTP使用TCP连接和TCP端口;在进行通信时,FTP需要建立两个TCP连接,一个用于控制信息(如命令和响应,TCP端口号缺省值为21),另一个是数据信息(端口号缺省值为20)的传输。
c1 u* X5 A$ R; t3 O# Q 使用FTP命令时,要求用户在两台计算机上都具有自己的(或者可用的)帐号。
, `* N1 [0 |# C9 b& O 1)命令格式: ftp [ -dgintv][host]+ r# }7 f9 [( z- t! {1 ~
[-dgintv]:FTP命令选项
; @. g+ p4 h6 T& d" W [host]:主机名或者主机对应的IP地址2 f" u4 s" m. H8 s. y! p3 a
例:ftp 202.119.2.197
' Q! n1 _9 S3 ?* i2 H3 \# Q E( x/ o! U6 n 2)FTP工作原理
, P0 m H) ~" l" W' P" o; K5 D (1)FTP服务器运行FTPd守护进程,等待用户的FTP请求。$ h+ L* m) t' U* b
(2)用户运行FTP命令,请求FTP服务器为其服务。" \9 F0 F) J' B9 B
例:FTP 202.119.2.197
% _& A: s1 o7 |* ~ (3)FTPd守护进程收到用户的FTP请求后,派生出子进程FTP与用户进程FTP交互,建立文件传输控制连接,使用TCP端口21。
. ]2 n' U3 \/ f& {1 Q+ {1 W (4)用户输入FTP子命令,服务器接收子命令,如果命令正确,双方各派生一个数据传输进程FTP-DATA,建立数据连接,使用TCP端口20,进行数据传输。
w5 j* Q3 s, O0 s* W- D (5)本次子命令的数据传输完,拆除数据连接,结束FTP-DATA进程。
3 y! F, r0 U% _4 t0 O& e; T (6)用户继续输入FTP子命令,重复(4)、(5)的过程,直至用户输入quit命令,双方拆除控制连接,结束文件传输,结束FTP进程 : g& K3 m; V. r, h
2.WWW服务
* ?9 s( ^0 I( y& [7 D: X 浏览器与WEB服务器工作过程举例 用户通过“浏览器”访问因特网上的WEB服务器,浏览器和服务器之间的信息交换使用超文本传输协议(HTTP--HyperText Transfer Protocol)。9 C* M5 {5 l& |# {$ e1 n
例:用户访问主页Http://www.sina.com/welcome.htm ,浏览器与服务器的信息交互过程如下:2 |, ?6 [- T/ j1 [. E c+ d/ ?5 n
(1) 浏览器向DNS获取web服务器www.sina.com的IP地址:x.x.x.x$ ]) U! j+ _; M; Y. e
(2) 浏览器与IP地址为x.x.x.x 的服务器进行TCP连接,端口为80;
7 z# m2 H/ f p. n! P/ g (3) 浏览器执行HTTP协议,发送GET /welcome.htm 命令,请求读取该文件;
) w# K" |$ r6 e- `5 E (4) www.sina.com服务器返回/welcome.htm 文件到客户端;
5 _1 s5 U* @# ]) D# Z5 j% p% p; | (5) 释放TCP连接;; u% C6 ` V3 q1 ?) j
(6) 浏览器解释/welcome.htm 文件内容,并显示该文件表示的页面。( c7 x7 F* e: O5 F9 x# g; J" A
附:
& R/ h( t( c9 ^2 |$ C 一.TCP/IP服务
0 K. e! L& ?' @/ U# Z9 z 1、TCP/IP应用服务原理
- I& m; r( C5 E TCP/IP应用服务采用客户机/服务器工作模式,服务器端启动守护进程,等待客户端的请求;服务器对应客户端的请求,派生子进程与客户进程进行数据通信,提供服务。! q! p" i9 |: s# {. z! `5 j
(1)服务器(HostA)首先要启动应用程序服务进程(守护进程Server),等待客户端的请求。9 C9 n/ m* K% @* m
(2)当服务进程Server接收到客户端HostB的请求时,派生一个子进程(Child1)与HostB进行交互,实现数据通信,同时守护进程Server继续等待客户端的请求。* O4 d: l$ |4 C+ _! r/ w: Q; E) V
(3)当服务进程Server接收到客户端HostC的请求时,派生一个子进程(Child2)与HostC进行交互,实现数据通信,同时守护进程Server继续等待客户端的请求。
( `5 p, F$ y I% Z 二 .TCP/IP应用编程接口(API)/ |& e5 J- H/ }+ C/ m
为了支持用户开发面向应用的通信程序,大部分系统都提供了一组基于TCP或者UDP的应用程序编程接口(API),该接口通常以一组函数的形式出现,称为套接字(Socket)。TCP/IP应用程序之间的通信通过Socket进行。服务器拥有全局公认的Socket,任何客户端都可以向它发出连接请求和信息请求。客户端向操作系统随机申请一个Socket,系统为之分配一个Socket号。" M/ B- L7 t9 B1 g$ w! ?
|