应用层

会话层(Session)

如果用户想要完成一定的数据控制,就会对应在会话层完成

  • TCP控制传输

职责

  1. 基于令牌进行交互发言,通过数据同步保证数据完整性

  2. 进行数据分段、拼接、保证传输的有效

  3. 同步技术,保证故障恢复

服务

  1. 同步:

    • 全双工通信

    • 半双工通信

    • 单工通信

  2. 控制:

    • 会话连接、活动开始、数据校验

    • 令牌转换

同步点(CheckPoint)用于分割对话的各个部分

  • 同步点:发送一定数据后设置同步点

  • 次同步点:作为同步点的一个子集,进行数据校验

  • 主同步点:按照主同步点进行校验确认

  • 如果错误,恢复到上次已经同步的主同步点

对话分离(Seperation)是通信的有序启动、终止和管理,尽量保证了通话的效率和可靠性

设备

客户端-服务器模式(Client-Server):通过会话实现

表示层(Presentation)

负责以接收设备可以理解的形式表示数据

  • 传输语法协商

  • 接受语法协商

协商编码方式可以在会话层中实现

  • 解决不同的底层操作系统编码方式不同的问题,以防造成误解

主要功能

  • 数据格式化(format)

  • 数据压缩(compression)

  • 数据加密(encryption)

数据格式化

选择大家都能识别的编码形式传输,保证大家都能理解

  • 提供了不同类型的代码之间的转换

数据格式类型:

  1. 图形文件格式:

    • 图形交换格式GIF(Graphic Interchange Format)

    • 联合图像专家组JPEG(Joint Photographic Experts Group)

  2. 多媒体文件格式:

多媒体文件格式存储声音、音乐和视频

数据加密与压缩

数据加密可在信息传输过程中保护信息

应用层

OSI模型各层对应的一些协议:

  • 第六层对应了各种协议,第七层对应了应用界面

  • 第七层最接近用户,支持应用程序的通信组件

职责

  • 确定并确定预期的通信合作伙伴的可用性

  • 同步合作的应用程序

  • 同步协作的应用

  • 建立有关错误恢复程序的协议

  • 控制数据完整性

  • 通过网络应用为OSI模型的其余部分提供一个直接接口,或是通过独立应用程序提供非直接接口,如文字处理、电子表格、演示管理器、网络重定向器

超文本传输协议HTTP

HTTP是面向事务(transaction-orient)的客户服务器协议

HTTP 1.0协议是无状态的(stateless)

  • 每一次请求都是独立的,不记录上一次登陆的信息

  • Cookie是征求同意的存储(维持登陆状态

HTTP协议本身是无连接的,虽然它使用了面向连接的TCP向上提供的服务

万维网浏览器就是一个HTTP客户,而在万维网服务器等待HTTP请求的进程称为HTTP daemon,也称为HTTPD

  • HTTP daemon收到HTTP客户的请求后,把所需的文件返回给HTTP客户

HTTP报文结构(请求报文)

HTTP报文主要由开始行、首部行和实体主体组成

  • 在请求报文中,开始行就是请求行

  • 请求报文和应答报文的应答结构都是一样的

    1. 2xx:成功

    2. 3xx:重定向

    3. 4xx:失败

    4. 5xx:服务器内部错误(不是客户端请求的错误)

方法 意义
OPTION 请求一些选项的信息
GET 请求读取由URL所标志的信息
HEAD 请求读取由URL所标志的信息的首部
POST 给服务器添加信息
PUT 在指明的URL下存储一个文档
DELETE 删除指明的URL所标志的资源
TRACE 用来进行换回测试的请求报文
CONNECT 用于代理服务器

统一资源定位符URL

URL是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示

  • URL给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位

  • URL相当于一个文件名在网络范围的拓展,是与因特网相连的机器上的任何可访问对象的一个指针

URL一般由以下四个部分组成:

<协议>://<主机>:<端口>/<路径>

  • 协议:HTTPS或HTTP

  • 主机:域名的方式

  • 端口:对应进程

  • 路径:对应具体的文件

HTML

HTML文档是一种可以用任何文本编辑器创建的ASCII码文件

  • HTML用一对标签或几对标签来标识一个元素

    • 浏览器针对各种标签,根据所使用的显示器的尺寸和分辨率大小,重新排版并会付出所读取的页面

FTP和TFTP

FTP是一种可靠的、面向连接的服务,使用TCP传输文件

  1. FTP首先在客户端和服务器(端口21)之间建立控制连接

  2. 然后建立计算机之间用于传输数据的连接(端口20

TFTP是使用UDP的无连接服务

  1. 不支持交互,没有目录浏览功能

  2. 体积小,易于实施,更加方便

  3. TFTP在路由器上用于传输配置文件和Cisco IOS镜像

工作步骤

  1. 打开熟知端口21,使客户进程连接上
  • 可以修改熟知端口
  1. 等待客户进程发出连接请求

  2. 启动从属进程来处理客户进程发来的请求

    • 处理完毕就终止

    • 运行期间可能根据需要创建一些其他子进程

      • 主进程和从属进程的处理是并发
      1. 控制连接

      2. 数据连接

        • 需要建立上面两个连接才能完成传输
  3. 回到等待状态,继续接受其他客户进程发来的请求

Telnet协议

Telnet客户端软件提供了登录到运行Telnet服务器应用程序的远程Internet主机,然后从命令行执行命令的功能

  • 输入参数,达成一致,对服务器进行操作

  • 不同操作系统之间的快捷键和指令是有差异的,需要进行转换

SMTP和POP(电子邮件)

电子邮件服务器使用SMTP发送和POP接收邮件相互通信

  • 发送者先登录到服务器,通过服务器根据 SMTP 传输到对应的服务器,然后用户登录后通过 POP3 协议收邮件到本地

SMTP(Simple Mail Transfer Protocol):邮件发送、登陆发送等

POP3(Post Office Protocol version 3):邮件接收

  • 邮件到达邮件服务端,由客户端和服务端联系接收邮件

MIME和SMTP

很多文件并不是ASCII码的,需要用MIME进行转换(扩充)

  • MIME标准扩充了SMTP标准

MIME增加五个新的邮件首部

  1. MIME-version:标志MIME的版本

  2. Contenet-Description:可读字符串,说明此邮件主体是否是图像、音频或视频

  3. Content-Id:邮件的唯一标识符

  4. Content-Transfer-Encoding:在传送时邮件的主体是如何编码的

  5. Content-Type:说明邮件主体的数据类型和子类型

简单网络管理协议SNMP

SNMP可简化网络设备之间的管理信息交换

  • 网络管理系统NMS:通过下发请求对上网的所有主机关于流量等信息进行管理

  • 通过管理数据库MIB进行交流

  • 使用UDP通过广播进行实现

DNS域名系统

DNS管理域名并相应客户端将域名转换为关联IP地址的请求

域名

  • 使用.将字符串进行分割

  • 越靠后域名级别越高

  • www 对应到主机群

类别 域名 使用者
国家 .cn 中国
.us 美国
.uk 英国
通用 .com 企业和公司
.net 网络服务提供商
,org 非盈利组织
.edu 教育机构
.gov 政府
.mil 军方
.int 国际组织
基础设施领域 arpa 用于反向解析域名
Recently .aero 航空运输企业
.biz 公司和企业
.travel 旅游业
.jobs 人力资源管理者
.museum 博物馆
.info 各种资讯

顶级域名底下的域名由顶级域名进行管理

跟域名服务器存储位置,所以子服务器知道跟服务器地址就行

DNS域名解析

DNS系统以层次结构设置,该层级结构创建不同级别的DNS服务器

次级别的DNS服务器判断其自身能否将域名转换为IP地址

  • 如果不行,将请求发送到更高级别

  • 如果可以,将结果返回给服务端

沟通方式

  1. 无上下文:

    • 当浏览器打开时,将连接到默认页面,并且将页面的文件传输到客户端,处理完成后连接断开
  2. 有上下文:

    • 作为Telnet和FTP,建立与服务器的连接并保持该链接,直到执行所有处理,确定都完成后才断开连接