2.1 应用层协议原理 2.1.1网络应用程序体系结构 1)在客户-服务器体系结构 (client-server architecture)中,有一个总是打开的主机称为服务器,它服务于来自许多其他称为客户的主机的请求.著名的应用程序包括Web.FTP.Telnet和电子邮件. 2)在一个P2P体系结构(P2P architecture)中,对位于数据中心的专用服务器有最小的(或者没有)依赖.相反,应用程序在间断连接的主机对之间使用直接通信,这些主机对被称为对等方. 2.1.2 进程通信 1)客户…
3.1 概述和运输层服务 运输层协议为运行在不同主机上的应用进程之间提供了逻辑通信(logic communication)功能. 3.1.1 运输层和网络层的关系 网络层提供了主机之间的逻辑通信,而运输层为运行在不同的主机上的进程提供了逻辑通信. 3.1.2 因特网运输层概述 Internet上提供TCP(传输控制协议) 和 UDP(用户数据报协议)两种 3.2 多路复用和多路分解  一个进程有一个或多个套接字(socket),它相当于从网络向进程传递数据和从进程向网络传递数据的门户. 接收端…
4.1 网络层概述  网络层主要功能为转发(将数据从路由器输入接口转移到合适的输出接口)和路由选择(端到端的路径选择),每台路由器都有一张转发表,用最长前缀匹配规则来转发. 4.1.1 转发和路由选择:数据平面和控制平面 转发(forwarding) 是指将分组从一个输入链路转移到适当的输出链路接口的路由器本地动作. 路由选择(routing) 是指确定分组从源到目的地所采取的端到端路径的网络范围处理过程. 4.1.2 网络服务模型 因特网的网络层IP协议提供单一服务,尽力而为服务,无带宽保证,…
2.4 DNS:因特网的目录服务 2.4.1 DNS提供的服务 DNS的定义 实体层面看,DNS是一个由分层的DNS服务器实现的分布式数据库 协议层面看,DNS是一个使得主机能够查询分布式数据库的应用层协议 DNS运行在UDP之上,使用53号端口 1)主机名到IP地址映射的转换服务 2)主机别名(host aliasing) 3)提供负载均衡(load distribution) 2.4.2 DNS工作机理概述 DNS是一个在因特网上实现分布式数据库的精彩范例. 1.分布式.层次数据库 DNS服…
3.5 面向连接的运输: TCP 3.5.1 TCP连接 TCP是因特网运输层的面向连接的可靠的运输协议. TCP连接提供全双工服务(full-duplex service). TCP连接是点对点的连接. 1).最大报文段长度(Maximum Segment Size,MSS):该术语很容易被混淆,它其实指的是报文段里应用数据的最大长度,而不是包括TCP首部的TCP报文段的最大长度. 2).最大传输单元(Maximun Transmission Unit,MTU):指的是最大链路层帧长度,即应用…
常见的应用层协议有哪些?  HTTP(HyperText Transfer  Protocol):超文本传输协议 FTP(File Transfer Protocol):文件传输协议 SMTP(Simple Mail Transfer Protocol):简单邮件传输协议 Telnet:远程终端访问 应用层协议定义了什么?   1.交换的报文类型,例如请求报文和响应报文 2.各种报文类型的语法,如报文中的各个字段及这些字段是如何描述的 3.字段的语义,即这些字段中包含的信息的含义 4.一个进程何…
待补充完善 TCP 相关基本点 1.面向连接 两个不同主机上的进程在通过 TCP 进行通信之前,必须先通过三次握手来建立 TCP 连接 2.全双工服务 即,如果一台主机上的进程 A 与另一台主机上的进程 B 存在一条 TCP 连接,那么应用层数据就可以从进程 B 流向进程 A 的同时,也从进程 A 流向进程 B. 3.TCP 连接提供的是“点对点”的服务 即一对一的服务,不可能一对多.多对一或者多对多 什么是流量控制?为什么要进行流量控制? 后一个问题可以转化为:如果不进行流量控制,任其自然发展…
由于个人精力和智商有限,又喜欢想太多.钻牛角尖,导致学习系统性知识很痛苦,尝试改变学习方式,慢慢摸索 现在看到 rdt2.0,又有点看不下去 现在的想法: 要有个目标,且有截止时间(作业模式.考试模式),在过程中,如果遇到对整体没有致命影响的难点,可以暂时跳过,在特定时间内把目标内的其他地方解决即可(即先解决简单的其他部分,在考虑进攻难点,这样的话,前期心态不会太焦灼,而且等回过头进攻难点的时候,有一种从四面八方将难点包围的感觉)   写博客也换个思路: 边写博客,边摸索写博客的方式,而且可以把…
SSL(使 TCP 连接安全) SSL(Secure Socket Layer),即安全套接字层,是对 TCP 的强化 HTTPS 使用 SSL,而 HTTP 不使用 SSL 通过采用机密性.数据完整性.服务器鉴别和客户鉴别来强化 TCP SSL 使 TCP 安全了,所以它能被应用于运行在 TCP 之上的任何应用程序   IPsec 和虚拟专用网 对于跨越在多个地理区域上的某机构,常常希望有自己的 IP 网络,使它的主机和服务器能够以一种安全和机密的方式彼此发送数据.然而,为了达到这个目标,该机…
待补充完善 Web 页面的请求历程 应用层     报文.主机 运输层     报文段. 网络层     数据报.路由器.IP 地址 链路层     以太网帧.交换机.MAC 地址 步骤 1)到 4),涉及三台机器,分别是便携机.以太网交换机.路由器 便携机:生成 DHCP 请求报文.将报文封装到报文段中.将报文段封装到数据报中.将数据报封装到以太网帧中.广播以太网帧 以太网交换机:接收便携机传过来的以太网帧.广播以太网帧 路由器:接收来自以太网交换机的以太网帧.从以太网帧中提取数据报.从数据报…
域名.主机名?   从范围上看: 域名的范围比主机名大 一个域名下通常有多个主机名 从组成上看: 主机名 = 服务器名(或计算机名) + 域名 举例说明: baidu.com 是百度的域名 www.baidu.com 是百度的 www 主机名 map.baidu.com 是百度的地图主机名     DNS 是什么?   DNS 的全称 Domain Name System,即域名系统 它的作用是提供主机名到 IP 地址的映射 在上一个问题中讨论了域名和主机名的区别,知道它们不是一回事,至于为什么…
这本书的每一章后面都提供了一个Wireshark实验,通过使用Wireshark抓包并手动对包进行分析可以帮助我们更好地理解各种协议和相关知识.然而,这个资源在网上好像很难找,我历经千辛万苦找到之后,在文档的内部发现这些文档其实是免费公开在一个网站上的--,链接如下: http://gaia.cs.umass.edu/wireshark-labs/?tdsourcetag=s_pcqq_aiomsg 不知道为什么,书里面所有提到网络资源的地方总是引导读者去Pearson的官网,然后你会发现需要A…
TCP 全双工 A-B,B-A 点对点 一对一的 TCP连接建立过程 客户首先发送一个特殊的TCP报文段,服务器用另一个特殊的TCP报文段来相应,最后,客户再用第三个特殊的报文段作为相应,前两个报文段不承载"有效载荷"也就是不包含应用层数据,而第三个报文段可以承载有效载荷.这种连接建立过程被称为三次握手 最大报文段长度(MSS)通常根据最初确定的有本地发送主机发送的最大链路层帧长度(即最大传输单元MTU) MTU1500字节=TCP/IP首部40字节+MSS1460字节 当TCP发送一…
序言   通过这章,可以知道其实三次握手和四次挥手其实真的好简单,通过这章的学习,我相信你也会同样的认为,以后在也不需要听到别人问三次握手的过程而自己一脸懵逼了,觉得人家好屌,其实也就是他懂你不懂,仅此而已,不懂就去学.学了你就会觉得其实也就那样,没有什么厉害的,这让我回想以前刚学习编程的时候,那时候刚学C,别人就说会写java的helloworld,真TM觉得屌啊,我连helloworld是什么度不知道.一直羡慕人家,怎么这么厉害,然后自己心里很虚,自己这么菜啊,其实不然,不懂的就去学习,学懂…
1.虚拟专用网VPN (1)一个机构内,对于那些仅在本机构内部使用的计算机就可以由本季候自行分配其IP地址,让这些计算机使用仅在本机构有效的IP地址(本地地址),不需要申请全球唯一的IP地址(全球地址): (2)专用地址:这些地址只能用于一个机构的内部通信,而不能用于和因特网上的主机通信,换言之,专用地址只能用作本地地址而不能用作全球地址: (3)在因特网中的路由器,对目的地址是专用地址的数据报一律不转发: (4)三个专用地址: **10.0.0.0到10.255.255.255(或10.0.0…
1.与IP协议配套使用的还有三个协议: **地址解析协议ARP: **网际控制报文协议ICMP: **网际组管理协议IGMP: 2.虚拟互连网络: **没有一种单一的网络能够适应所有用户的需求: **将网络互连起来要使用一些中间设备: (1)物理层使用的中间设备叫做转发器: (2)数据链路层使用的中间设备叫做网桥或者桥接器: (3)网络层使用的中间设备叫做路由器: (4)在网络层以上使用的中间设备叫做网关.用网关连接两个不兼容的系统需要在高层进行协议的转换: **当中间设备是转发器或网桥时,这仅…
第五章 测试用例管理 QQ交流群:585499566 TestLink支持的测试用例的管理包含二层:分别为新建测试用例集(Test Suites).创建测试用例(Test Cases).可以把测试用例集对应到项目的功能模块,测试用例则对应着具体的功能. 我们可以使用测试用例搜索功能从不同的项目.成百上千的测试用例中查到我们需要的测试用例,并且还提供移动和复制测试用例的功能,可以将一个测试用例移动或复制到别的项目里,勾上自动更新树选项,添加.删除或编辑测试用例后更新树会被自动更新. 一. 创建测试…
今天要写的知识还真心有点绕呢,对于第一节的内容,其实是把原先在内存中的数据源,换成了从数据库中提取出来的数据.从代码的使用方式上是一样的,直接跳过,来看看IEnumerable和IQueryable的区别. 正如Enumerable类型包含着关于IEnumerable<T>的扩展方法来实现LINQ标准查询操作符一样,Queryabl类型包含着关于IQueryable<T>的扩展方法.IEnumerable<T>和IQueryable<T>有两个重要的区别.…
1.地址解析协议ARP:知道一个机器的IP地址,需要找到其相应的硬件地址:ARP协议的用途是为了从网络层使用的IP地址解析出在链路层使用的硬件地址: 2.由于是IP协议使用了ARP协议,因此通常就把ARP协议划归为网络层: 3.网络层使用的IP地址,但在实际网络的链路上传送数据帧时,最终还是必须使用该网络的硬件地址: 4.地址解析协议ARP解决IP地址和硬件地址的映射问题方法: **在主机ARP高速缓存区中应存放一个从IP地址到硬件地址的映射表: **当A主机要向本局域网上的某个主机B发送IP数…
1.最早的以太网是将许多计算机都连接到一根总线上: (1)总线的特点是:当一台计算机发送数据时,总线上的所有计算机都检测到这个数据,这种就是广播通信方式: (2)为了实现在总线上的一对一通信,可以使每一台计算机的适配器拥有一个与其他适配器都不同的地址,当数据帧中的目的地址与适配器ROM中存放的硬件地址一致时,该适配器才能接收到这个数据帧: (3)人们通常把局域网上的计算机称为“主机”,“工作站”,“站点”或“站” 2.以太网为了通信方便采取的措施: (1)采用较为灵活的无连接的工作方式,即不必先…
第四章 测试需求管理 QQ交流群:585499566 需求规格说明书是我们开展测试的依据.首先,我们可以对项目(产品)的需求规格说明书进行分解和整理,将其拆分为多个需求,一个项目可以包含多个需求,一个需求可以包含多个测试需求. 创建产品需求规格 创建测试需求 一. 创建产品需求规格 单击主页上面的“产品需求”区域->点击[产品需求规格]按钮-->点击[新建产品需求规格] 对“产品需求规格”的描述比较简单,内容包含文档ID.标题.范围,类型.如下图所示: 根据测试的终端,创建三个“产品需求规格”…
第二章 登录&汉化设置 QQ交流群:585499566 1,使用超级账户admin/admin登录. 2,登录后,会提示创建一个新的项目,先不要创建,先进入用户管理,设置成中文显示,也就是汉化处理,看下图:…
第十三章 使用中遇到的问题 一. 登录Testlink后,新建一个项目后,会出现如下提示: 解决办法:打开Testlink安装文件夹下的config.inc.php文件, 原来:$tlCfg->config_check_warning_mode = 'FILE'; 改为:$tlCfg->config_check_warning_mode = 'SILENT'; 保存!再刷新页面,已无提示! 二.登录过期问题: 问题:使用admin账号创建他人账号,设置了过期时间,会导致第二个图的问题 解决办法…
第十一章 其他易用性功能 QQ交流群:585499566 一. 自定义 一). 自定义字段管理 在主页点击[自定义字段管理]按钮-->进入自定义字段管理页面,点击[创建]按钮,可以创建一个字段,如下图所示: 可以填写:名称,标注,类型(包括很多),还有一些显示条件.最后要选择将该字段用在哪个地方, 可以使用的地方有,测试用例,测试计划,测试分类. 二). 指派自定义字段 填写好一个自定义字段后,必须将该自定义字段进行指派才可以使用: 点击主页的[指派自定义字段]按钮-->进入自定义字段分配页面…
第七章 测试用例集管理 QQ交流群:585499566 测试用例准备好以后,可以对测试用例集进行相关的操作. 一. 添加测试用例到测试计划中 在主页的“当前测试计划”下拉列表里-->选择一个测试计划-->在“测试用例集”区域-->点击[添加/删除测试用例到测试计划]按钮-->进入向测试计划中添加测试用例.如下图所示: 可以将已经创建好的测试用例指派给该测试计划.点击一个测试用例集,可以看到该测试用例集下的所有测试用例,如下图所示: 你可以选择该测试计划中要执行的测试用例,也可以根据…
第六章 测试计划制定 QQ交流群:585499566 在TestLink系统中,一个完整的测试计划包括:集成测试阶段.系统测试阶段. 一. 创建测试计划 1,点击主页上[测试计划管理] 2,在“测试计划管理”页面-->点击[创建]按钮 3,填写测试计划内容:名称.描述.活动.公共 测试计划的内容包括:计划名称,计划描述,以及是否从已有的测试计划创建,如果选择从已有的测试计划中创建,则新创建的测试计划包含选择的已有测试计划的所有相关联的信息,比如已有测试计划分配的测试用例. 二. 版本管理 点击主…
第三章 初始配置(配置用户.产品) 一. 设置用户 QQ交流群:585499566 在TestLink系统中,每个用户都可以维护自己的私有信息.admin可以创建用户,但不能看到其它用户的密码.在用户信息中,需要设置Email地址,如果用户忘记了密码,系统可以通过mail获得. TestLink系统提供了六种角色,分别是tester.guest.tester. test designer .senior tester .leader.admin.相对应的功能权限如下: 6个用户级别: l Gue…
第一章 前言 QQ交流群:585499566 一.Testlink主要功能: 测试项目管理 测试需求管理 测试用例管理 测试计划的制定 测试用例对测试需求的覆盖管理 测试用例的执行 大量测试数据的度量和统计功能 二.Testlink特色点: 支持多产品(项目),按产品(项目)来管理测试需求.计划.用例和执行等,项目之间保持独立性: 测试用例,不仅可以创建模块或测试套件,而且可以进行多层次分类,形成树状管理结构: 可以自定义字段和关键字,极大地提高了系统的适应性,可满足不同用户的需求: 同一项目可…
百度定义:单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例的特殊类.通过单例模式可以保证系统中一个类只有一个实例. 维基百科:在软件工程中,单例是一种用于实现单例的数学概念,即将类的实例化限制成仅一个对象的设计模式. 简单理解:单例模式 是只有有一个实例对象的设计模式 这次 使用 单例 用 gcd 来创建 解释几个关键词 dispatch_once  :这个代码块 在整个应用的生命周期 只执行一次, 并且线程安全(如果被多个线程调用,该函数会同步等待直至代码块完成.gcd的…
1.ICMP允许主机或路由器报告差错情况和提交有关异常情况的报告:为了更有效地转发IP数据报和提高交付成功的机会: 2.ICMP不是高层协议,因为ICMP报文是装在IP数据报中的,作为其中数据部分,所以是IP层的协议: 3.ICMP报文的种类: (1)ICMP差错报告报文 (2)ICMP询问报文 4.ICMP报文的格式: (1)前4个字节是统一的格式,共有三个字段:类型,代码,检验和: (2)接着的4字节,与ICMP的类型有关,最后是数据字段,其长度取决于ICMP的类型: 5.几种常用的ICMP…