软件测试--网络协议(三)
一. 网络体系结构的基本概念
1、什么是网络协议
在生活中,我们多于通信协议并不陌生,一种语言本身就是一种协议。在我们寄信或者请假时,假条内容的格式就是一种协议。这样的例子很多。在计算机中,计算机网络由多台主机组成,主机之间需要不断的交换数据。要做到有条不紊的交换数据,就需要一定的或者实现约定好的通信规则。
为网络数据交换制定的通信规则,我们称为网络协议(protocol)。
2、层次结构
层次(Layer)结构是处理计算机网络问题的最基本的方法,对于一些复杂的问题,我们经常采用“化整为零,分而治之”的思想,将一个复杂的问题分解为若个小问题去解决。
3、接口
(1)同一主机的相邻层之间存在着明确的接口,相邻层之间通过接口来传递信息。
(2)低层通过接口向高层提供服务。只要接口不变,低层协议不变,实现低层协议的技术变化不会影响整个系统的工作。
国产接口测试和接口文档生产工具:apipost
4、网络体系结构
(1)网络体系结构是网络层次结构和各层协议之间的集合。
(2)网络体系结构对计算机网络实现的功能应该精确定义。
(3)网络体系结构是抽象的,而实现网络协议的技术是具体的。
二、OSI七层模型
OSI七层协议模型主要是:应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)。
1、物理层:比特
主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。
2、数据链路层:帧
定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。
3、网络层:数据报
在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。Internet的发展使得从世界各站点访问信息的用户数大大增加,而网络层正是管理这种连接的层。
4、运输层:报文段/用户数据报
定义了一些传输数据的协议和端口号(WWW端口80等),如:
TCP(transmission control protocol –传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据)
UDP(user datagram protocol–用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。 主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层数据叫做段。
5、会话层:
通过运输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)
6、表示层:
可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。如有必要,表示层会通过使用一种通格式来实现多种数据格式之间的转换。
7.应用层:报文
三、五层体系结构
1 第五层——应用层(application layer)
应用层(application layer):是体系结构中的最高。直接为用户的应用进程(例如电子邮件、文件传输和终端仿真)提供服务。
在因特网中的应用层协议很多,如支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,支持文件传送的FTP协议,DNS,POP3,SNMP,Telnet等等。
2. 第四层——运输层(transport layer)
运输层(transport layer):负责向两个主机中进程之间的通信提供服务。由于一个主机可同时运行多个进程,因此运输层有复用和分用的功能
复用,就是多个应用层进程可同时使用下面运输层的服务。
分用,就是把收到的信息分别交付给上面应用层中相应的进程。
运输层主要使用以下两种协议:
(1) 传输控制协议TCP(Transmission Control Protocol):面向连接的,数据传输的单位是报文段,能够提供可靠的交付。
(2) 用户数据包协议UDP(User Datagram Protocol):无连接的,数据传输的单位是用户数据报,不保证提供可靠的交付,只能提供“尽最大努力交付”。
3. 第三层——网络层(network layer)
网络层(network layer)主要包括以下两个任务:
(1) 负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报,或简称为数据报。
(2) 选中合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机。
协议:IP,ICMP,IGMP,ARP,RARP
4. 第二层——数据链路层(data link layer)
数据链路层(data link layer):常简称为链路层,我们知道,两个主机之间的数据传输,总是在一段一段的链路上传送的,也就是说,在两个相邻结点之间传送数据是直接传送的(点对点),这时就需要使用专门的链路层的协议。
在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻结点之间的链路上“透明”地传送帧中的数据。
每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。典型的帧长是几百字节到一千多字节。
5. 第一层——物理层(physical layer)
物理层(physical layer):在物理层上所传数据的单位是比特。物理层的任务就是透明地传送比特流。
软件测试--网络协议(三)相关推荐
- 137.三网?哪三网?139.网络协议三要素?141.网络安全有哪些方面?
三网? 1.电信网络 2.有线电视网络 3.计算机网络 网络协议三要素: 1.语意------代表什么信息 2.语法------格式怎样 3.同步------事件的顺序 网络安全是指网络系统中的数据受 ...
- linux 适配电脑内核,Linux内核实践 如何添加网络协议[三]:实现 -电脑资料
内核版本:2.6.34 接上篇<添加网络协议>, 为了用户方便查看brcm设备的工作状态,使用proc文件系统是很好的方 式.一个网络协议模块可以注册到网络空间中register_pern ...
- 服务器网络协议是什么,介绍网络协议,什么是网络协议三要素?
网络的复杂性取决于人们对它的需求.那么在这当中,最为重要的就是网络协议了.那么什么是网络协议?相信很多人都会疑惑,下面给大家介绍网络协议是什么以及网络协议的三要素是什么的基础知识,不懂的朋友可以通过本 ...
- 计算机网络技术协议的三要素,通信网络协议三要素
--> 本文向大家详细介绍网络协议是什么以及网络协议三要素是什么的基础知识,不懂的朋友可以通过本文了解学习!网络协议是什么 网络协议的定义:为计算机网络中进行数据交换而建立的规则.标准或约定的集 ...
- 计算机中网络协议三要素,网络协议的三要素是什么?各有什么含义?
向大家详细介绍网络协议是什么以及网络协议三要素是什么的基础知识,不懂的朋友可以通过本文了解学习! 网络协议是什么 网络协议的定义:为计算机网络中进行数据交换而建立的规则.标准或约定的集合. 一个网络协 ...
- 我来学网络——网络协议三要素
网络协议三要素: 1.语法,确定通信双方"如何讲",定义了数据格式,编码和信号电平等. 2.语义,确定通信双方"讲什么",定义了用于协调同步和差错处理等控制信息 ...
- 计算机网络.第一节课.笔记.有效数据率、OSI七层结构、TCP/IP四层、网络协议三要素、时延、广域网WAN、局域网LAN、电路交换、报文交换、分组交换
目录 互联网 基础结构发展 组成 计算机网络 性能特征 非性能特征 分类 按范围分 按使用者分 交换方式 协议 三要素 层次 为什么分层 分了什么层 名词 解释 网络接口卡 即网卡,缩写为NIC.是一 ...
- 软件测试——网络协议知识(二)
一.三次握手四次挥手 1.三次握手 所谓三次握手(Three-Way Handshake)即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立. (1)第一次 ...
- 网络协议—三要素与五层网络协议
三要素 语法:就是这一段内容要符合一定的规则和格式.例如,括号要成对,结束要使用分号等. 语义:就是这一段内容要代表某种意义.例如数字减去数字是有意义的,数字减去文本一般来说就没有意义. 顺序:就是先 ...
最新文章
- JAVA 线程Join
- 我对对象和引用的理解
- VC6.0编写BHO #error : WINDOWS.H already included. MFC apps must not #include windows.h
- @insert 对象_python中列表插入append(), extend(), insert()
- LeetCode 面试题 03 数组中重复的数字
- MySQL8.0.26 开启bin_log日志 linux
- 如何让普通人了解网络隐私的重要性
- linux python3 装pip,linux 安装pip 和python3(示例代码)
- 总有几位老师让你一生感激不尽----老师侯捷
- 用户态创建socket来控制arp报文的收发,含编码
- 商业百科——最具公关营销价值的商业百科平台
- Java编程笔记6:接口
- Dubbo源码解析(一)---架构概述
- 叉积 微分 恒等式_微分几何(一)
- perp系列之七:perp手册
- Android 实现从网络获取视频URL显示在视频播放器(IjkVideoView)能全屏和保存视频到手机的功能
- (转)Python常用库
- 大麦回忆录-maizuo开发
- 用python中If-Else做奇偶数的判断
- ARP欺骗原理及实验
热门文章
- wordpress所属权限改为nginx_linux运维之logrotate日志轮替——对nginx日志进行轮替-linux运维...
- 最全银行IT核心系统:研究框架(165页)
- 电脑排行榜笔记本_2019联想笔记本电脑排行榜
- linux软件管理(yum,rpm)
- 计算机二级试题库office选择题,全国计算机二级MSOffice选择题试题库完整
- linux修改last权限,Linux常用命令2/3(有关用户、权限管理的命令)--Unix/Linux操作系统04...
- 黑客勒索遭遇霸气回应:不怕,我们有备份
- 王栋: 要做好推荐,只有技术是不够的
- json学习之三:JSONArray的应用
- 分享一个c++ 加密算法 ,在百度贴吧找的,比较好玩