06 会话、表示、应用层
- The Session Layer
- The Presentation Layer
- The Application Layer
一、第5层:会话层
- 负责管理不同计算机之间的会话和数据交换。会话层主要关注如何建立、管理、终止会话以及如何确保数据传输的完整性和有效性。
1. 作用
- 会话层的核心作用是负责会话的建立、管理和终止,确保数据传输在不同设备间顺畅进行。主要包括:
- 基于令牌(Token)进行交互发言,通过数据同步保证数据完整性(应用逻辑)
- 进行数据分段、拼接,保证传输的有效。
- 同步技术,保证故障恢复
2. 服务
- 双向同步通讯 TWA(Two-Way Alternate)
- 全双工通信
- 半双工通信
- 单工通信
- 双向交替控制 TWS(Two-Way Simultaneous)
- 会话连接、活动开始、数据校验(同步)
- 令牌转换等
- 是否同步 synchronized 了您的会话的主题?
3. 同步点 CheckPoint
- **同步点(CheckPoint)**用于分隔会话session的各个部分,以前称为对话(dialogues)
- 同步点:发送一定数据后设置同步点
- 次同步点:作为同步点的一个子集,进行数据校验
- 主同步点:按照主同步点进行校验确认
- 如果错误,恢复到上次都已经同步的主同步点
- 对话分隔(Seperation):会话层通过同步点分隔不同的对话(会话段),确保各个会话部分的有序启动、进行与终止。尽量保证了数据交换的效率和可靠性。
4. Some Applications of Layer 5
- NFS
- SQL
- RPC
- X Window System
- ASP
- SCP
二、第6层:表示层
- The Presentation Layer
- 表示层负责以接收设备可以理解的形式表示数据。
- 传送语法协商
- 接受语法协商
- 表示层具有 3 个主要功能:
- 数据格式化(formatting)
- 数据压缩(compression):早期网络比较慢,倾向于先压缩在发送
- 数据加密(encryption)
1. Data Formatting 数据格式化
- 想象两个不同(dissimilar)的系统。
- 一种使用扩展二进制编码的十进制交换码(EBCDIC,Extended Binary Coded Decimal Interchange Code)格式化文本
- 另一种使用美国信息交换标准码(ASCII)格式化文本
- 第六层提供了这两种不同类型的代码之间的转换
1.1 Graphic File Formats 图形文件格式
- 互联网通常使用两种二进制文件格式来显示图像:
- 图形交换格式(GIF)
- 联合图像专家组(JPEG)
- 任何具有GIF和JPEG文件格式阅读器的计算机都可以读取这些文件类型,无论计算机类型如何。
1.2 Multimedia File Format 多媒体文件格式
- 多媒体文件格式是另一种类型的二进制文件,用于存储声音、音乐和视频。
- 这些文件可以完全下载后播放,或者在下载的同时播放。
- 后一种方法称为流式音频。
2. Encryption & Compression 数据加密&压缩
- 第六层负责数据加密:
- 数据加密可在信息传输过程中保护信息。
- 表示层还负责文件的压缩。
三、第7层:应用层
- The Application Layer
- 上图中各层的一些协议和使用:会话层对端口进行管理
- 第七层对应了应用界面,第六层对应了各种协议
1. 职责
- 应用层(最接近用户)支持应用程序的通信组件。
- 应用层:
- 识别并建立预期通信伙伴的可用性
- 同步协作应用程序Synchronizes cooperating applications
- 就错误恢复程序达成一致
- 控制数据完整性 data integrity
2. HTTP 超文本传输协议
- HyperText Transfer Protocol
2.1 统一资源定位符URL (Uniform Resource Locator)
- 统一资源定位符URL 是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示
- URL 给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位
- 只要能够对资源定位,系统就可以对资源进行各种操作,如存取、更新、替换和查找其属性
- URL 相当于一个文件名在网络范围的扩展。因此URL 是与因特网相连的机器上的任何可访问对象的一个指针
<URL的访问方式>://<主机>:<端口>/<路径>
- 访问方式:协议 HTTPS 或者 HTTP
- 主机:域名的方式
- 端口对应进程
- 路径对应具体的文件
2.2 HTTP
- HTTP 是面向事务的客户服务器协议
- HTTP 1.0 协议是无状态的(stateless)
- HTTP 协议本身也是无连接的,虽然它使用了面向连接的TCP 向上提供的服务
- 万维网浏览器就是一个HTTP 客户,而在万维网服务器等待HTTP 请求的进程常称为HTTP daemon,有的文献将它缩写为HTTPD
- HTTP daemon 在收到 HTTP 客户的请求后,把所需的文件返回给HTTP 客户
2.3 HTTP的报文结构(请求报文)
- 报文由三个部分组成,即开始行、首部行和实体主体。
- 在请求报文中,开始行就是请求行。
2.4 HTTP 请求报文的一些方法
2.5 HTML(HyperText Markup Language) 超文本标记语言
- 定义了许多用于排版的命令(标签)
- HTML 文档是一种可以用任何文本编辑器创建的ASCII 码文件
- 仅当HTML 文档是以.html 或.htm 为后缀时,浏览器才对此文档的各种标签进行解释
- 当浏览器从服务器读取HTML 文档,针对HTML 文档中的各种标签,根据浏览器所使用的显示器的尺寸和分辨率大小,重新进行排版并恢复出所读取的页面
- HTML 用一对标签(一个开始标签和一个结束标签)或几对标签来标识一个元素
3. FTP and TFTP 文件传输协议
- File Transfer Protocol
- Trivial File Transfer Protocol 简单文件传输协议
- FTP: 是一种可靠的、面向连接的服务,使用TCP**传输文件。
- FTP首先在客户端和服务器之间建立控制连接(端口21)。
- 然后建立第二个连接,通过该连接在计算机之间传输数据(端口20)。
- Trivial File Transfer Protocol
- TFTP:是一种无连接的服务,使用UDP。
- 小巧且易于实现。
- 例如,TFTP用于路由器传输配置文件和Cisco IOS镜像。
3.1 FTP主进程工作步骤
- 打开熟知端口(端口号为21),使客户进程能够连接上
- 等待客户进程发出连接请求
- 启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程
- 回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行
3.2 FTP的屏幕信息举例
- [01] ftp nic.ddn.mil
- 用户要用 FTP 和远地主机(网络信息中心 NIC 上的主机)建立连接。域名:nic.ddn.mil
- [02] connected to nic.ddn.mil
- 本地 FTP 发送的连接成功信息
- [03] 220 nic FTP server(Sunos 4.1)ready.
- 从远地服务器返回的信息,220 表示“服务就绪”
- [04] Name: anonymous
- 本地 FTP 提示用户键入名字。用户键入的名字表示“匿名”。用户只需键入 anonymous 即可(匿名)
- [05] 331 Guest login ok, send ident as password.
- 数字 331 表示“用户名正确”,需要口令
- [06] Password: abc@xyz.math.yale.edu
- 本地 FTP 提示用户键入口令。用户这时可键入 guest 作为匿名的口令,也可以键入自己的电子邮件地址,即耶鲁大学数学系名为 xyz 的主机上的 abd(匿名密码是随意输入的)
- [07] 230 Guest login ok, access restrictions apply.
- 数字 230 表示用户已经注册完毕
- [08] ftp> cd rfc
- “ftp>”是 FTP 的提示信息。用户键入的是将目录改变为包含 RFC 文件的目录
- [09] 250 CWD command successful.
- 字符”CWD”是 FTP 的标准命令,表示 Change Working Directory
- [10] ftp> get rfc1261.txt nicinfo
- 用户要求将名为 rfc1261.txt 的文件复制到本地主机上,并改名为 nicinfo(get 获取到本地)
- [11] 200 PORT command successful.
- 字符 PORT 是 FTP 的标准命令,表示要建立数据连接。200 表示“命令正确”
- [12] 150 ASCII data connection for rfc1261.txt(128.36.12.27,1401)(4318 bytes).
- 数字 150 表示”文件状态正确,即将建立数据连接”
- [13] 226 ASCII Transfer complete. local: nicinfo remote: rfc1261.txt 4488 bytes received in 15 seconds(0.3 Kbytes/s).
- 数字 226 是“释放数据连接”,现在一个新的本地文件已经生成。
- [14] ftp> quit
- 用户键入退出命令。
- [15] 221 Goodbye.
- 表示 FTP 工作结束
4. Telnet 远程终端协议
- 用于通过网络远程访问和控制另一台计算机
- Telnet客户端软件提供“登录到运行Telnet服务器应用程序的远程互联网主机”的能力,然后从命令行执行命令。
5. SMTP and POP 收发邮件协议
- 电子邮件服务器相互通信,使用SMTP协议发送邮件,使用POP3协议接收邮件。
- SMTP(Simple Mail Transfer Protocol):邮件发送
- POP3(Post Office Protocol version 3):邮件接收
- 发送者先登录到服务器,通过服务器根据SMTP传输到对应的服务器,然后用户登录后通过POP3协议收邮件到本地
5.1 MIME 和 SMTP 的关系
- MIME(Multipurpose Internet Mail Extensions)
- 是一种扩展了电子邮件格式的标准,它允许邮件发送非ASCII字符(如图像、音频、视频等二进制文件),并使邮件能够包含多种类型的内容。
- MIME 是通过对非 ASCII 内容进行编码,使其能够通过原本**仅支持 ASCII 的协议(如 SMTP)**进行传输。
5.2 MIME 增加 5 个新的邮件首部
- MIME-Version: 标志 MIME 的版本。现在的版本号是1.0。若无此行,则为英文文本
MIME-Version: 1.0
- Content-Description: 这是可读字符串,说明此邮件主体是否是图像、音频或视频
Content-Description: This is a picture of a cat
- Content-Id: 邮件的惟一标识符
Content-Id: <image1234@domain.com>
- Content-Transfer-Encoding: 在传送时邮件的主体是如何编码的
Content-Transfer-Encoding: base64
- Content-Type:说明邮件主体的数据类型和子类型
Content-Type: text/plain; charset="UTF-8"
或Content-Type: image/jpeg
6. SNMP 简单网络管理协议
- Simple Network Management Protocol
- 简单网络管理协议(SNMP)是一种应用层协议,促进网络设备之间管理信息的交换。
- NMS(Network Management System):网管,通过下发请求对上网的所有的主机关于流量等等信息进行管理(监控)
7. DNS 域名系统 Domain Name System
- 域名系统(DNS)是一种网络服务,管理域名并响应客户端请求——将域名转换为相应的IP地址
7.1 Dnmain Name 域名
使用圆点
.
将字符串进行分隔开,字符串不应该太长越靠后域名级别越高
www 就是对应到主机群
根域(Root Domain):
- 位于域名层次结构的顶端,表示为空字符串。
- 由一组根服务器管理,负责顶级域名的解析。
顶级域(Top-Level Domain, TLD):
- 位于根域之下,分为通用顶级域(gTLD)和国家顶级域(ccTLD)。
- 例如:.com、.org、.net(通用顶级域),.cn、.us、.uk(国家顶级域)。
- 唯一的基础设施域:arpa,用于反向解析域名
二级域(Second-Level Domain, SLD):
- 位于顶级域之下,通常由组织或个人注册。
- 例如:example.com中的example。
子域(Subdomain):
- 位于二级域之下,可以由域名所有者自由创建。
- 例如:mail.example.com中的mail。
主机名(Hostname):
- 最具体的层次,指向具体的设备或服务。
- 例如:www.example.com中的www。
7.2 TLD 顶级域 Top Level Domain
- 国家 TLD(nTLD)
- .cn(CHINA) 中国
- .us(United States) 美国
- .uk(United kingdom), etc. 英国等等
- 通用 TLD(gTLD),最早的域包括:
- .com Enterprises and companies 企业和公司
- .net Network services providers 网络服务提供者
- .org Nonprofit organizations 非盈利组织
- .edu Educational facilities 教育机构
- 基础设施领域(Infrastructure domain)
- Only one: arpa, for resolving domain names reversely 仅一个:arpa,用于反向解析域名
- Recently, new TLD domain added:
- .aero(航空运输企业)
- .biz(公司和企业)
- .coop(合作团体)
- .info(各种资讯)
- .jobs(人力资源管理者)
- .mobi(移动产品与服务的用户和提供者)
- .museum(博物馆)
- .name(个人)
- .pro(经过认证的专业人员)
- .travel(旅游业)
7.3 域名服务器Domain Name Server (DNS)
- 顶级域名底下的域名就是由顶级域名下面进行管理
- 根域名服务器存储位置,所以子服务器知道根服务器的地址即可
7.4 结合域名服务器查找 IP 地址
- DNS 系统以层次(hierarchy)结构设置,该层次结构创建不同级别的 DNS 服务器。
- 此级别的 DNS 服务器判断其自身是否能够将域名转换为关联的 IP 地址:
- 如果可以,则将结果返回给客户端
- 如果没有,它将请求发送到更高级别。(向上级请求)
- 请求分为两种:
- 能够应答
- 不能够应答
- 递归地进行查找:具体过程在上图
- 下面递归,上面迭代
8. 应用层通信处理的两种方式
- 第一种方式:(短连接)
- 在这种模式下,客户端每次向服务器请求资源时,都会建立一次新的连接,并且在请求处理完成后,连接会立即断开。
- 当浏览器打开时,它连接到默认页面,并将页面的文件传输到客户端。
- 处理完成后,连接断开。
- 第二种方式:(长连接/持久连接)
- 长连接(也称持久连接)会在客户端和服务器之间建立一个持久的连接,在整个会话期间保持连接,直到客户端显式地断开连接。通常用于需要持续交互的应用。
- 如Telnet(远程登录)和FTP(文件传输),建立与服务器的连接,并保持该连接直到所有处理完成。
- 当用户确定已完成时,客户端终止连接。
- 所有通信活动都属于这两种类别之一。
If you like my blog, you can approve me by scanning the QR code below.