首页 > 其他 > 详细

《软件测试技术指南》:第 7 章 常用协议简介

时间:2020-09-01 13:06:34      阅读:73      评论:0      收藏:0      [点我收藏+]

第 7 章 常用协议简介

本章主要介绍常用的协议 OSI、TCP/IP、HTTP 和 HTTPS

学习目标

■ 掌握 OSI 参考模型
■ 掌握 TCP/IP 协议
■ 掌握 HTTP、HTTPS 协议

7.1 OSI 参考模型

OSI(Open System Interconnection)参考模型是 1979 年由国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为 OSI 参考模型或七层模型,如图 7-1 所示。它是一个七层的、抽象的模型,不仅包括一系列抽象的术语或概念,也包括具体的协议

技术分享图片

图 7-1 OSI 参考模型

在这里简单介绍一下 OSI 的七层模型

1.物理层(physical layer

物理层是 OSI 参考模型的第一层,处于最底层,是 OSI 分层结构体系中最重要的一层。它是建立在传输媒介基础上,主要负责两台设备之间真正的数据传输工作,通过比特(bit)进行传输物理接口信息、电气特性等。其主要功能是为数据端设备提供传送数据通路和传输数据

常见的物理层设备有:网卡、网线、光纤、集线器、中继器、串口等,其典型的协议有 RS232C、RS449/422/423

2.数据链路层(data link layer

数据链路层是 OSI 参考模型的第二层。数据链路层主要是在不可靠的物理介质上提供可靠的传输。该层主要的作用是对物理地址 mac 寻址,将网络层传输的数据封装为可被物理层接受的帧 frame,流量控制以及负责数据进行检错、重发和修正工作等

数据链路层的典型设备有:二层交换机、网桥,其典型的协议有:SDLC、HDLC、PPP、STP、帧中继等

3.网络层(network layer

网络层是 OSI 参考模型的第三层。其主要任务就是将网络地址 IP 翻译成物理地址,并决定通过哪些路径来实现数据传输

网络层的主要设备就是路由器或普通交换机,其典型的协议包括:IP、IPX、IGP 等

4.传输层(transport layer

传输层是 OSI 参考模型的第四层,也是 OSI 模型中最核心的。主要功能是从会话层接收数据,并把数据传送给网络层。在传输前要确定传输协议,以及对数据进行错误检测,传输中进行流量监控,最终为会话提供可靠的、无误的数据传输

传输层典型的协议包括:TCP、UDP、SPX 等

5.会话层(session layer

传输层是 OSI 参考模型的第五层,它的数据传送单位统称为报文。主要功能是建立应用之间的通信链接,确定是否需要传输。除此之外,它还进行维持会话,并使会话获得同步以及对会话连接的管理、恢复与释放。

6.表示层(presentation layer

表示层是 OSI 参考模型的第六层,是数据的表现形式(如 ASCII、GB2312、JPG 等。其主要功能是对数据进行加密、解密以及数据的压缩、解压。除此之外,还对不同的图片和文件格式进行编码和解码

7.应用层(application layer

应用层是 OSI 参考模型的第七层,也是 OSI 模型中的最高层。主要功能为应用程序提供服务,来实现用户之间的信息交换。其典型的协议包括:用于 Web 的 HTTP 协议、HTTPS 协议,用于传输文件的 FTP 协议,用于 Email 的 IMAP 以及网络协议 Telnet、SNMP 等

7.2 TCP/IP 协议

传输控制协议/互联网协议(Transmission Control Protocol/Internet Protocol,简称 TCP/IP是一个真正的开放系统,它被称作为 Internet 的基础,主要由传输层的 TCP 协议和网络层的 IP 协议组成。TCP/IP 起源于 20 世纪 60 年代末美国政府资助的研究项目,到 20 世纪 90 年代已发展成为计算机之间最常用的组网形式

TCP/IP 是一组不同层次上的多个协议的组合,它采用了四层协议进行分层,每一层分别负责不同的通信功能,如图 7-2 所示

技术分享图片

 

1.链路层

链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。常见的协议有以太网、IEEE802.2/802.3、SLIP(Serial Line Internet Protocol)串行线路网际协议、HDLC(High-level Data Link Control)点到多点的通用协议、PPP(Point-to-Point Protocol)点到点协议等。

在 TCP/IP 协议族中,链路层主要完成以下 3 个目的:

1)为 IP 模块发送和接收 IP 数据报;
2)为 ARP 模块发送 ARP 请求和接收 ARP 应答;
3)为 RARP 发送 RARP 请求和接收 RARP 应答。

2.网络层

网络层,有时也称作互联网层,它主要处理分组在网络中的活动。在 TCP/IP 协议族中,该层协议包括 IP(Internet Protocol)网际协议、ICMP(Internet Control Message Protocol)控制报文协议、IGMP(Internet Group Management Protocol)组管理协议、ARP(Address Resolution Protocol)地址转换协议、RARP(Reverse ARP)反向地址转换协议

IP 地址,在互联网上每一个接口必须有一个唯一的 IP 地址,IP 地址长 32bit,这些 32 位的地址通常写成四个十进制的数,其中每个整数对应一个字节。这种表示方法称作「点分十进制表示法(Dotted decimal notation。IP 地址具有一定的结构,五类不同的互联网地址格式,如图 7-3 所示

技术分享图片

图 7-3 五类 IP 地址

IP 地址层主要负责接收由链路层发来的数据包,再将数据包发送到传输层;反之也可以把从传输层接收来的数据包传送到链路层。IP 层的数据包是最不可靠的

3.传输层

传输层主要为两台终端上的应用程序提供端到端的通信。在 TCP/IP 协议族中,有两个互不相同的传输协议:TCP(Transmission Control Protocol)传输控制协议和 UDP(User Dat-agram protocol)用户数据报协议

1)TCP:是一种端对端的、面向连接的、可靠的、基于字节流的传输层协议。每一次 TCP 在连接建立时需要经过三次握手(three-way handshake

TCP 主要用来确认数据包的发送并添加序号机制,对发送的数据包进行校验,从而保证数据包在传输过程中的可靠性;同时还可以测试所接受数据包的完整性,保证数据包不出现丢失或者是次序错乱

接下来看一下建立连接时三次握手的过程,如图 7-4 所示

技术分享图片

图 7-4 建立连接-三次握手

第一次握手:客户端发送一个 SYN 指明客户端打算连接的服务器的端口,以及初始序号(ISN 随时间而变化。服务器由 SYN 得知客户端要求建立连接

第二次握手:服务器在收到建立连接的请求后,给客户端发回包含服务器的初始序号作为应答,同时将客户端的 ISN 加 1 以对 SYN 进行确认请求 ack

第三次握手:客户端必须进行确认序号,为服务器的 ISN 加 1 以对服务器进行确认。若正确,再次发送确认后的 ISN 与 ack 加 1,服务器收到再次确认后,连接建立成功

当数据传送完成后,进行释放连接,此时需要经过四次挥手,如图 7-5 所示

第一次挥手:客户端发送 FIN 和序列,用来关闭从客户端到服务器的数据传送,此时客户端进入等待关闭状态

第二次挥手:服务器收到客户端发送的 FIN 后,设置客户端序列加 1,用来确认序号,此时服务器进入半关闭状态(服务器需要时间准备

第三次挥手:服务器发送 FIN,用来关闭从服务器到客户端的数据传送,此时服务器进入最后的关闭状态(未完全释放,只是关闭了应用程序

技术分享图片

图 7-5 释放连接-四次挥手

第四次挥手:客户端收到服务器发送的 FIN 后,设置服务器序号加 1,用来确认序号,此时客户端进入等待中断时间,服务器收到确认信息后,完成 TCP 的连接释放

2)UDP:传输方式与 IP 类似,同样都是以数据包的方式传输。与之不同的是,IP 协议是通过 IP 地址进行传输,没有端口,而 UDP 协议实现了端口。UDP 是一种一对一(一对多的、无连接的、不可靠的、基于数据包的传输层协议

由于它是无连接的,所以传输速度很快,如果一方数据包丢失,另一方只能无限等待。通常应用程序使用广播和多播时只能用 UDP 协议

4.应用层

应用层负责处理特定的应用程序细节,包括的高层协议有:HTTP(Hyper Text Transfer Protocol)超文本传输协议、Telnet(TELecommunications NETwork)虚拟终端协议、FTP(File Transfer Protocol)文件传输协议、SMTP(Simple Mail Transfer Protocol)电子邮件传输协议、DNS(Domain Name Service)域名服务等

应用层包含了 OSI 参考模拟中应用层、表示层和会话层三层,在 TCP/IP 协议族中,该层将所有与应用层相关的功能整合在一起,通过相关的应用协议,为用户的应用程序提供通信服务

下面通过应用程序的实例,来进一步了解 TCP/IP 协议的传输过程,如图 7-6 所示

OSI 参考模型与 TCP/IP 模型的关系,见表 7-1

技术分享图片

 

技术分享图片

表 7-1 OSI 参考模型与 TCP/IP 模型的关系

技术分享图片

图 7-6 TCP/IP 传输过程

 

《软件测试技术指南》:第 7 章 常用协议简介

原文:https://www.cnblogs.com/MarlonKang/p/13595529.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!