计算机网络笔记6-应用层

通信方式

通常分为两大类 C/S 与 P2P

客户服务器模式 Client/Server

描述进程之间服务与被服务的关系

对等模式 P2P

两个主机通信时不区分服务方与被服务方,两个主机是平等的,对等连接通信

两种通信方式区别

  • CS 工作模式中信息资源的共享以服务器为中心
  • P2P 工作模式淡化服务提供者与服务使用者界限
  • CS 与 P2P 模式差别主要在应用层
  • P2P 网络是在 IP 网络上构建的一种逻辑覆盖网

DNS

域名与确定的 IP 地址对应,由域名到 IP 地址的节序是由若干个域名服务器程序完成的。

DNS 包括三个组成部分:

  • 域名空间
  • 域名注册
  • 域名解析

域名服务器类型

  • 根域名服务器:因特网共有 13 个不同的根 DNS 服务器从 a-m 前 13 个字母,都知道所有顶级域名服务器的域名与 IP 地址
  • 顶级域名服务器:负责管理该顶级域名服务器注册的所有二级域名
  • 权限域名服务器:负责一个区域的域名服务器
  • 本地域名服务器

DNS 缓存

每个域名服务器都有自己的高速缓存,存放最近使用过以及从何处获得的 DNS 记录,大大减轻了根域名服务器的负荷。为了保持缓存中内容正确,域名服务器应该为每项内容设置计时器,并处理超过时间的项目

DHCP

动态主机配置协议可以为主机自动分配IP地址以及其他一些重要参数

DHCP服务器

  • 地址存储管理
  • 配置参数的存储管理
  • 租用管理
  • 响应客户主机请求
  • 服务管理

DHCP客户端

  • 发起配置
  • 配置参数管理
  • 租用管理
  • 报文重传

租用管理

DHCP分配给主机的IP地址是临时的,因此DHCP只能在一段时间内使用这个分配到的IP地址,这段时间称为租用期T

SMTP、POP、IMAP

SMTP用于发送邮件,POP3IMAP用于接受读取邮件,MIMP是辅助性协议用于对SMTP的补充,可以在邮件的首部中说明邮件的数据类型,使用MIME可以在邮件中同时传送多种类型的数据

SMTP通信三个阶段

  1. 连接建立:在发送主机的SMTP客户端与接收主机的SMTP服务器之间建立
  2. 邮件发送
  3. 连接释放:发送完毕后SMTP释放TCP连接

SMTP特点

  • 不能传送可执行文件或其他二进制对象
  • 限于传送7位的ASCII码
  • SMTP服务器会拒接超过一定长度的邮件

MIME特点

  • 并没有改动SMTP或取代
  • 增加了邮件主题结构,并定义了传送非ASCII码的编码规则

FTP

因特网使用最广泛的文件传送协议,提供交互式访问,允许客户指定文件类型格式并允许文件具有存取权限,FTP屏蔽了各个计算机系统细节,消除不兼容。一个FTP服务器可以为多个客户进程提供服务

控制连接 21

控制连接在会话期间一直保持打开,客户端通过控制连接发送给服务器的控制进程。不用于传输文件。

数据连接 20

实际用于传输文件,收到文件请求时创建,传送完毕后关闭数据传送连接

TELNET

解决异构计算机互联中存在的问题,使用 TELNET 协议,引入了虚拟终端 NVT,访问远程计算机

HTTP

点击一个链接所发生的:

  1. 浏览器分析指向页面的URL
  2. 浏览器向DNS请求解析此URL的ip地址
  3. DNS解析出IP地址
  4. 浏览器与该IP地址建立TCP连接
  5. 浏览器发出读取文件命令 GET /
  6. 服务器响应将指定文件发送给浏览器
  7. TCP连接释放
  8. 浏览器解析HTML显示出网页内容

HTTP特点

  • 面向事务的客户服务器协议
  • 无状态
  • HTTP本身是无连接的,虽然使用的是面向连接的TCP服务

持续连接

HTTP/1.1使用持续连接,服务器在发送响应后任然在一段时间内保持连接,使得同一个客户与服务器可以继续在这条连接上传送后续的HTTP请求

HTTP请求报文

包括三个部分,开始行(请求方法 URL 版本),首部行(首部字段:值),实体主体

  1. OPTION 请求一些选项
  2. GET 请求读取
  3. HEAD 请求读取首部
  4. POST 给服务器添加信息
  5. PUT 存储一个文档
  6. DELETE 删除资源
  7. TRACE 用于进行环回测试的请求报文
  8. CONNECT 用于代理服务器

HTTP响应报文

开始行即状态行:版本+状态码+短语

首部行

实体主体

  • 1xx 通知信息,表示请求收到或正在处理
  • 2xx 表示成功
  • 3xx 表示重定向,要完成还需要进一步行动
  • 4xx 客户端错误
  • 5xx 服务器错误