会话、表示、应用层
一、会话层
第五层的职责
- 基于令牌交互发言,数据同步
- 数据分段拼接、
- 同步技术保证故障恢复
通讯分为全双工通信、半双工通信、单工通信
- 全双工:两根不同数据线,同一时刻双方都能进行发送和接收
- 半双工:一根数据线,数据线即可发送又可接收,可在两个方向传送,但是不能同时收发数据
- 单工:一根数据线,只在一个方向通信
通信时会设置同步点(CheckPoint),会在发送一定数据后设置,进行校验确认。错误时恢复到上次已经同步的同步点。(保证通话效率和可靠性)
第五层设备
客户端-服务器模式:通过会话实现。(在登录时,服务器会创建一个会话,并将会话标识符发给客户端)
二、第六层:表示层
负责以一种接收设备可以理解的形式来表示数据,包含传送语法协商和接收语法协商
表示层的功能:
- 数据格式
- 数据压缩
- 数据加密
数据格式:
- 图形文件格式(GIF、JPEG)
- 多媒体文件格式,存储声音、音乐和视频
三、第七层:应用层
应用层职责:
- 识别确定通信伙伴的可用性
- 同步合作的应用程序
- 建立有关错误恢复的协议
- 控制数据完整性
超文本传输协议HTTP
统一资源定位符URL
URL是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示。相当于对因特网上可访问对象的指针。
URL:<协议>://<主机>:<端口>/<路径>
- 协议:http或https
- 主机:域名或IP地址
- 端口:端口号
- 路径:具体文件的位置
HTTP
1、是面向事务的客户服务器协议,
2、无状态的(不记录上一次请求的信息,Cookie是征求同意的存储(维持登录状态))
3、HTTP本身无连接,虽然使用了TCP
4、万维网浏览器就算一个HTTP客户。
5、HTTP daemon是万维网服务器等待HTTP请求的进程
HTTP报文结构:
三个部分:开始行、首部行和实体主体
- 开始行:在请求报文中是请求行,在响应报文中是状态行
应答码: - 2xx:成功
- 3xx:重定向
- 4xx:客户端请求错误
- 5xx:服务器内部错误
请求报文的一些方法
- OPTION 请求一些选项的信息
- GET 请求读取由URL所标志的信息
- HEAD 请求读取由URL所标志的信息的首部
- POST 给服务器添加信息(例如,注释)
- PUT 在指明的URL下存储一个文档
- DELETE 删除指明的URL所标志的资源
- TRACE 用来进行环回测试的请求报文
- CONNECT 用于代理服务器
HTML
一种可以用任何文本编辑器创建的ASCII文件,定义许多用于排版的标签。仅当文档是.html或.htm后缀时浏览器才对文档的标签进行解释。
FTP和TFTP
FTP:可靠的,面向连接的服务,使用TCP传输文件
- 先在客户端和服务器(端口21)之间建立控制连接,再建立传输数据的连接
TFTP:UDP的无连接服务(简化的FTP)
- 体积小,易于实施,不支持交互
主进程工作步骤
- 打开熟知端口21,
- 等待客户发出连接请求
- 启动从属进程处理客户发来的请求,处理完毕后终止
- 回到等待状态
Telnet协议
Telnet客户端提供了登录到正在运行 Telnet 服务器应用程序的远程Internet主机,然后从命令行执行命令的功能。
SMTP和POP
SMTP:简单邮件传输协议,邮件发送
POP3:邮件接收,邮件到达邮件服务端,由客户端和服务端联系接收邮件。
MIME的5个新的首部
- MIME-Version: 标志 MIME 的版本。
- Content-Description: 可读字符串,说明此邮件主体是否是图像、音频或视频。
- Content-Id: 邮件的惟一标识符。
- Content-Transfer-Encoding: 邮件的主体传送时的编码。
- Content-Type:说明邮件主体的数据类型和子类型。
MIME和SMTP关系
将非ASCII码转换为ASCII码给SMTP接收
SNMP简单网络管理系统
一种应用程序层协议,简化网络设备之间的管理信息交换
NMS:网管,下发请求对上网主机管理流量等信息
通过UDP广播实现
域名系统
DNS,管理域名并响应客户端将域名转换为关联IP的请求
从左到右等级越高,使用圆点.分割字符串。www就是对应到主机群。
TLD顶级域
- 国家TLD(nTLD),如cn、us、uk等
- 通用TLD(gTLD),如com、net、org、edu、gov、mil、int等
- 基础设施领域,arpa
域名服务器
结合域名服务器查找IP地址:
- 主机向本地域名服务器查询:递归查询(如果本地域名服务器不知道IP,就自己以客户的身份向上查询)
- 本地域名服务器向根域名服务器:迭代查询(请求时回复要么给出IP,要么告诉它下一步应该查哪个域名服务器)
- 下面递归,上面迭代
动态主机配置协议DHCP
软件使用之前先做协议配置,取决于协议。要配置的项目包括:IP地址、子网掩码、默认路由器IP地址、域名服务器IP地址
DHCP:使用UDP实现,是局域网的网络协议,可以自动获取IP地址
DHCP工作过程
DHCP先进行广播去搜索,其他server会先从IP地址池中选出一个合法的IP地址,然后将其装入Offer报文中,返回报文。DHCP选择优先返回的Pffer报文,并广播告诉其他server选择了这个报文。server收到以后返回一个ACK报文。租期结束之后选择release或者续租。
在地址被分配完后的广播会带有分配的地址信息来告知其他server进行同步。
具体的过程包括:
- 发现阶段
- 响应阶段
- 选择阶段
- 租约确认阶段
- 租期续约
- 租期释放
DCHP报文结构
- OP:报文类型:1请求,2应答
- HTYPE:硬件地址类型,1表示10M以太网地址
- HLEN:以太网地址长度,10M为6
- Hops:是否使用代理服务器进行处理
DHCP报文类型:
- DHCP Discover
- DHCP Offer
- DHCP Request
- DHCP ACK
- DHCP NAK
- DHCP Release
- DHCP Decline
- DHCP Inform
DHCP欺骗
原理:在DHCP广播时,非授权的DHCP 服务器先应答。
实际都会采用DHCP中继,本网络的非授权DHCP服务器都会先于其余网络的授权DHCP服务器应答
PCB作为伪装者,会先于其他DHCP回应
欺骗的防范:
- 在交换机上启用 DHCP Snooping 功能(通过绑定表过滤不可信任的 DHCP 信息)
步骤:1、在交换机的全局配置模式中启用 DHCP Snooping:switch(config)# ip dncp snooping
2、在交换机的全局配置模式中开启需要启用 DHCP Snooping 的 VLAN":switch(config)# ip dhcp snooping vlan vlan 号
3、在端口配置子模式中将授权 DHCP 服务器所连的端口设为信任端口(缺省都是非信任的端口):就是连接到 DHCP Server 的端口:switch(config-if)# ip dhcp snooping trust