C/S方式和P2P方式

  • 客户-服务器方式

    • 客户、服务器指的是通信中所涉及的两个应用进程
    • 客户是服务的请求方,服务器是服务的提供方
    • 服务器总是处于运行状态,等待客户的服务请求,服务器具有固定端口号,服务器主机也有固定的IP地址
    • C/S是服务集中型
  • 对等方式

    • 没有固定的服务请求者和服务提供者,彼此对等,对等方之间直接通信
    • 服务分散型
    • 可拓展性,性能不会随规模变大而降低,因为多了一个请求者,就多了一个提供者

DHCP服务器

DHCP作用

  • 逐个配置DNS十分麻烦
  • DHCP实现了网络中的各主机从DHCP服务器自动获取配置信息的功能

DHCP分服务器进程和客户进程,其报文通过UDP封装,服务器端口号67客户端口68

其流程如下:

  1. 客户向服务器发送DHCP发现报文(DHCP DISCOVER,内有事务ID和客户端的MAC地址),源IP地址是 0.0.0.0 (还没分配) ,目的地址是255.255.255.255,广播发送,目的是给所有的DHCP服务器发送请求
  2. DHCP服务器查看自己的数据库是否有相应MAC的配置信息,如果有,就按信息配置,如果没有,就按默认信息配置,发送DHCP提供报文(DHCP OFFER),广播发送,为了使没有IP地址的主机收到这个信息
    • DHCP OFFER中有:
      • 事务ID
      • IP地址,子网掩码,地址租期,默认网关,DNS服务器
  3. DHCP客户选择接收到的一个OFFER信号(一般先到先选),然后向DHCP服务器报告自己的选择,此时地址与之前相同(此过程客户还会使用ARP来判断是有其他客户使用,如果有,则发送谢绝报文)
  4. DHCP服务器收到并确认之后,发送DHCP ACK,确认使用
  5. 在0.5倍租用期时,会发送DHCP REQUEST报文,IP地址全部确定,如果DHCP服务器发送ACK报文,则得到新的租用期,如果发送NACK,则立即停止该地址,重新申请
  6. 如果DHCP服务器没有响应,则在0.875租用期时再次发送请求,还没有,就到期后再次广播申请

如果跨网络分配,需要将路由器配置DHCP服务器的IP地址,使之称为DHCP中继代理,因为广播会被路由器丢弃,但是单播不会,路由器有了单播IP之后,客户发送请求可以直接通过这个单播IP发到DHCP服务器

DNS服务器

DNS大多数域名在本地解析,少量在因特网上解析,效率很高

采用层次树状结构,每一级域名不超过63个字符,不区分大小写,低域名在左,完整域名不超过255

UDP封装,端口号53

顶级域名由ICANN(因特网名称与数字地址分配机构)管理

常见域名如图

国家顶级域名和通用顶级域名是同级别的,与二级域名就算名字相同,其层级也不同

DNS使用分布在各地的域名服务器来实现域名到IP地址的转换

查询方式

DNS递归查询: 用户主机

  • 本地域名服务器
  • 根域名服务器
  • 顶级域名服务器
  • 权限域名服务器
  • 逐层往下

迭代查询

  • 一级一级查
  • 每一级告知下一级的地址

实际上是二者结合使用,同时结合高速缓存,存放了查询过域名以及相关记录,定时删除

文件传送协议FTP

FTP(File Transfer Protocol)

交互式访问,指明文件的类型和格式,允许文件具有存取权限

FTP屏蔽了各计算机系统的细节,适合于在异构网络中任意计算机之间传送文件

主动模式:

  • 端口号21 与客户建立起TCP连接,用于传输控制命令,一直开启
  • 端口号20 与客户另一个端口号建立TCP连接,用于传输文件,传输时开启

被动模式:

  • 不同之处在于,有数据传输时,FTP客户通知FTP服务器开启临时端口等待连接,主动模式通知是服务器发起连接

也就是建立在TCP之上的

电子邮件

用户代理,邮件服务器(网络提供商),电子邮件所需的协议

  • 用户协议又称电子邮件客户端软件
  • 邮件服务器负责发送和接收邮件,负责维护用户的邮箱
  • 协议包括发送协议(SMTP)和邮件读取协议(POP3)

发送流程

基于SMTP的工作原理如下,需要注意共14条命令,21中应答,用于从代理到服务器,服务器到服务器,但不用于从服务器到代理(读取)

SMTP

分为:

  • 首部
  • 主体 两部分

SMTP有如下缺陷:

  • SMTP协议只能传送7比特ASCII码文本数据,不能传送可执行文件或其他的二进制对象。
  • SMTP不能满足传送多媒体邮件(例如带有图片、音频或视频数据)的需要。并且许多其他非英语国家的文字(例如中文、俄文、甚至带有重音符号的法文或德文)也无法用SMTP传送。

为解决SMTP传送非ASCII码文本的问题,提出了多用途因特网邮件扩展MIME(Multipurpose Internet Mail Extensions)

  • 增加了5个新的邮件首部字段,这些字段提供了有关邮件主体的信息。
  • 定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化。
  • 定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变。

POP3 和 IMAP 管理,读取

POP3:

  • 智能下载或删除方式,下载保留方式管理邮件
  • 不允许用户在邮件服务器上管理自己的邮件

IMAP:

  • 用户在自己的计算机上就可以操控邮件服务器中的邮箱

都是基于TCP连接的客户/服务器方

基于WWW的电子邮件

浏览器登录邮件服务器万维网网站来管理邮件

WWW万维网

HTTP

HTTP定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及万维网服务器怎样把万维 网文档传送给浏览器。

分为非持续链接方式(HTTP1.0): 每次请求都要建立TCP连接

持续链接方式(HTTP1.1): 保持连接,只要文档在同一服务器上

HTTP版本与连接方式不一定直接相关,详见其报文

流水非流水: 是否请求完一次数据再请求

HTTP报文格式

HTTP是面向文本的,每个字段都是一些ASCII码,字段的长度不确定

Cookie是一种对无状态的HTTP进行状态化的技术

其原理为:

万维网缓存与代理服务器

  • 使用缓存机制
  • Web缓存,又称代理服务器
  • 新请求到达时,发现这个请求与赞数存放的请求相同,返回暂存的响应,不需要按URL地址再次访问该资源
  • 代理服务器中文档有时间限制,如果过期会再向原资源获取