邮局协议 POP(Post Office Protocol) 是一个非常简单、但功能有限的邮件读取协议,现在使用的是它的第三个版本 POP3。
POP 也使用客户服务器的工作方式。
在接收邮件的用户 PC 机中必须运行 POP 客户程序,而在用户所连接的 ISP 的邮件服务器中则运行 POP 服务器程序。
------------------------------------------
因特网报文存取协议IMAP(Internet Message Access Protocol)也是按客户服务器方式工作,现在较新的是版本 4,即 IMAP4。
用户在自己的 PC 机上就可以操纵 ISP(Internet Service Provider) 的邮件服务器的邮箱,就像在本地操纵一样。
因此 IMAP 是一个联机协议。当用户 PC 机上的 IMAP 客户程序打开 IMAP 服务器的邮箱时,用户就可看到邮件的首部。若用户需要打开某个邮件,则该邮件才传到用户的计算机上。
IMAP 的特点
允许收件人只读取邮件中的某一个部分。
二十一、发送和接收电子邮件的几个重要步骤
1)
?发件人调用 PC 机中的用户代理撰写和编辑要发送的邮件。
2) ? 发件人的用户代理把邮件用 SMTP 协议发给发送方邮件服务器, 3) ? SMTP 服务器把邮件临时存放在邮件缓存队列中,等待发送。
4) ? 发送方邮件服务器的 SMTP 客户与接收方邮件服务器的 SMTP 服务器建立 TCP 连 接,然后就把邮件缓存队列中的邮件依次发送出去。
5) ? 运行在接收方邮件服务器中的SMTP服务器进 程收到邮件后,把邮件放入收件人的用户 邮箱中,等待收件人进行读取。
6) ? 收件人在打算收信时,就运行 PC机中的用户代理,使用 POP3(或 IMAP)协议读取发送给自己的邮件。
7) 请注意,POP3 服务器和 POP3 客户之间的通信是由 POP3 客户发起的。
二十二、基于万维网的电子邮件
? 电子邮件从 A 发送到网易邮件服务器是使用 HTTP 协议。 ? 两个邮件服务器之间的传送使用 SMTP。
? 邮件从新浪邮件服务器传送到 B 是使用 HTTP 协议。
36th
二十三、通用因特网邮件扩充 MIME
SMTP 有以下缺点:
1) SMTP 不能传送可执行文件或其他的二进制对象。
2) SMTP 限于传送 7 位的 ASCII 码。许多其他非英语国家的文字(如中文、俄文,甚至带重音符号的法文或德文)就无法传送。
3) SMTP 服务器会拒绝超过一定长度的邮件。
4) 某些 SMTP 的实现并没有完全按照[RFC 821]的 SMTP 标准。 MIME 的特点:
MIME 并没有改动 SMTP 或取代它。
MIME 的意图是继续使用目前的[RFC 822]格式,但增加了邮件主体的结构,并定义了传送非 ASCII 码的编码规则。
MIME 和 SMTP 的关系
MIME 主要包括三个部分:
1) 5 个新的邮件首部字段,这些字段提供了有关邮件主体的信息。
① MIME-Version: 标志 MIME 的版本。现在的版本号是 1.0。若无此行,则为英文文本。 ② Content-Description: 这是可读字符串,说明此邮件是什么。和邮件的主题差不多。 ③ Content-Id: 邮件的唯一标识符。
④ Content-Transfer-Encoding: 在传送时邮件的主体是如何编码的。 ⑤ Content-Type: 说明邮件的性质。
2) 定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化。
MIME的标准规定 Content-Type 说明必须含有两个标识符,即内容类型(type)和子类型
37th
(subtype),中间用“/”分开,如text/html,text/css等。
MIME 标准定义了 7 个基本内容类型和 15 种子类型。
3) 定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变。
① 最简单的编码就是 7 位 ASCII 码,而每行不能超过 1000 个字符。MIME 对这种由 ASCII 码构成的邮件主体不进行任何转换。
② 另一种编码称为 quoted-printable,这种编码方法适用于当所传送的数据中只有少量的非 ASCII 码。
③ 对于任意的二进制文件,可用 base64 编码。
二十四、动态主机配置协议 DHCP(Dynamic Host Configuration Protocol)
动态主机配置协议 DHCP 提供了即插即用连网(plug-and-play networking)的机制。 这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与。 DHCP 使用客户服务器方式:
需要 IP 地址的主机在启动时就向 DHCP 服务器广播发送发现报文(DHCPDISCOVER),这时该主机就成为 DHCP 客户。
本地网络上所有主机都能收到此广播报文,但只有 DHCP 服务器才回答此广播报文。
DHCP 服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的 IP 地址池(address pool)中取一个地址分配给该计算机。DHCP 服务器的回答报文叫做提供报文(DHCPOFFER)。
DHCP中继代理(relay agency)
并不是每个网络上都有 DHCP 服务器,这样会使 DHCP 服务器的数量太多。现在是每一个网络至少有一个 DHCP 中继代理,它配置了 DHCP 服务器的 IP 地址信息。
当 DHCP 中继代理收到主机发送的发现报文后,就以单播方式向 DHCP 服务器转发此报文,并等待其回答。收到 DHCP 服务器回答的提供报文后,DHCP 中继代理再将此提供报文发回给主机。
租用期(lease period)
? DHCP 服务器分配给 DHCP 客户的 IP 地址的临时的,因此 DHCP 客户只能在一段有限的时间
38th
内使 用这个分配到的 IP 地址。DHCP 协议称这段时间为租用期。
? 租用期的数值应由 DHCP 服务器自己决定。
? DHCP 客户也可在自己发送的报文中(例如,发现报文)提出对租用期的要求。
二十五、简单网络管理协议 SNMP
SNMP 使用无连接的 UDP
二十六、应用进程跨越网络的通信
1、系统调用
大多数操作系统使用系统调用(system call)的机制在应用程序和操作系统之间传递控制权。 对程序员来说,每一个系统调用和一般程序设计中的函数调用非常相似,只是系统调用是将控制权传递给了操作系统。
多个应用进程使用系统调用的机制
2、应用编程接口API(Application Programming Interface)
当某个应用进程启动系统调用时,控制权就从应用进程传递给了系统调用接口。
此接口再将控制权传递给计算机的操作系统。操作系统将此调用转给某个内部过程,并执行所请求的操作。
内部过程一旦执行完毕,控制权就又通过系统调用接口返回给应用进程。
系统调用接口实际上就是应用进程的控制权和操作系统的控制权进行转换的一个接口,即应用编程接口 API。
2.1 几种应用编程接口 API
① Berkeley UNIX 操作系统定义了一种 API,它又称为套接字接口(socket interface)。 ② 微软公司在其操作系统中采用了套接字接口 API,形成了一个稍有不同的 API,并称之为 Windows Socket。
③ AT&T 为其 UNIX 系统 V 定义了一种 API,简写为 TLI (Transport Layer Interface)。
39th
2.1.1 套接字的作用
? 当应用进程需要使用网络进行通信时就发出系统调用,请求操作系统为其创建“套接字”,以便把网络通信所需要的系统资源分配给该应用进程。 ? 操作系统为这些资源的总和用一个叫做套接字描述符的号码来表示,并把此号码返回给应用进程。应用进程所进行的网络操作都必须使用这个号码。
? 通信完毕后,应用进程通过一个关闭套接字的系统调用通知操作系统回收与该“号码”相关的所有资源。
调用 socket 创建套接字
=========================================================
第七章 网络安全
一、计算机网络面临的安全性威胁
计算机网络上的通信面临以下的四种威胁: (1) 截获——从网络上窃听他人的通信内容。 (2) 中断——有意中断他人在网络上的通信。 (3) 篡改——故意篡改网络上传送的报文。 (4) 伪造——伪造信息在网络上传送。 截获信息的攻击称为被动攻击,而更改信息和拒绝用户使用资源的攻击称为主动攻击。
40th