自考计算机网络原理(四)
第二章:网络应用
五、Internet电子邮件
(一)邮件系统结构
结构:主要包括邮件服务器、简单邮件传输协议(SMTP)、用户代理和邮读取协议等。
应用:
邮件服务器:功能是发送和接收邮件,是电子邮件体系结构的核心。
SMTP:是简单邮件传输协议。
用户代理:客户端软件。
邮件读取协议:POP3、IMAP、HTTP。
(二)SMTP简单邮件传输协议
定义:SMTP是Internet电子邮件中核过应用层协议,实现邮件服务器之间或用户代理到邮件服务器之间的邮件传输。
过程:
握手阶段
邮件传输阶段
关闭阶段
应用:
SMTP使用传输层TCP实现可靠数据传输,发送邮件时,SMTP客户端首先请求与服务器端的25号端口建立TCP连接。
特点:
SMTP只能传送7位ASCⅡ码文本内容,包括SMTP命令、答应消息以及邮件内容
SMTP传送的邮件内容中不能包含“CRLF.CRLF”,因为该信息用于表示邮件内容的结束
SMTP是”推动”协议(HTTP是”拉动“协议)
TCP链接是持久的
(三)电子邮件格式与MIME

MIME定义了将非7位ASCl1码内容转换为7位ASCl1码的编码规则。
(四)邮件读取协议
SMTP是“推动”协议,不能使用户从自己邮箱中读取邮件,而POP3(第三版邮件协议)和IMAP(互联网邮件访问协议)可作为邮件读取协议。
在Web邮件系统中,HTTP是邮件读取协议。POP3接收邮件协议使用的默认端口号是110。
六、FTP
(一)FTP文件传输协议
文件传送协议FTP:互联网的两个主机间实现文件互传的网络应用的应用层协。
FTP的服务器进程组成:主进程与从进程。
FTP专门使用的独立的控制链接传输控制信息,与传输文件信息进行分离,所以将FTP这种控制信息的传送方式称为带外控制。
FTP是有状态的协议。
(二)FTP应用
FTP使用两个“并行”的TCP连接:控制连接和数据连接。

FTP客户发出的传送请求通过控制连接发送给服务器端的控制进程的熟知端口(21),但控制连接不用来传输文件,用于传输文件的是数据连接,其对应FTP服务器熟知端口(20)。
FTP这种使用两条TCP连接分别传输控制命令与数据的方式,称为带外控制协议。
FTP客户与服务器(21号端口)建立一条TCP连接,称为控制连接,用于传输命令。控制连接是持久的。
在传输文件等数据时,客户与服务器的20号端口之间建立一条临时的TCP连接,用于传输数据,数据传输结束便断开连接,该连接称为数据连接。
七.P2P应用
概念:通信双方没有传统意义上的客户服务器之分,地位对等,通信双方都具备客户端与服务器的特征。

特点:
应用的对等方式用户的计算机
很强的应用规模伸缩性
应用在对等方之间进行、
应用充分利用了端系统的计算能力以及网络传输宽带
八、Socket编程基础

(一)概念:目前在Internet中应用最广泛的网络应用编程接口是SocketAPl。无论是客户进程还是服务器进程,都需要创建Socket,实现与底层协议接口,从而可以通过Socket将数据发送出去或接收进来。
创建套接字:socket()
(二)创建Socket套接字
网络应用进程可以创建3种类型的Socket:

数据报类型套接字SOCK_DGRAM(面向传输层UDP接口)
流式套接字SOCK_STREAM(面向传输层TCP接口)
原始套接字SOCK_RAW(面向网络层协议接口如IP、ICMP等)
客户程序和服务器程序创建套接字后,需要进一步调用其他Socket APl函数,完成端点地址绑定,发送数据和接收数据等功能。

用于服务器端和客户端的函数:
只用于服务器端函数:listen()函数、accept()等。
只用于客户端函数:如connect()函数等。

TCP提供面向连接、可靠的字节流传输服务。基于TCP客户与服务器的典型Socket API函数调用过程。
UDP提供无连接、不可靠的数据报传输服务。基于UDP客户与服务器的典型Socket APl函数调用过程。