TCP/IP体系结构-测试人员必须理解的

转:https://www.cnblogs.com/candle806/archive/2011/11/09/2242273.html#4339824

如果还想在测试这条路上继续走下去的话,那么下面这些东西就是我们必须去掌握的,至少你还不想止步于简单的黑盒测试~~其实,一直想去接触Linux下的应用测试,这样能学到东西会很多,而且会非常的受用。之前听小布老师讲,如果你想在IT技术上长期发展下去,那么你就大胆拥抱Linux吧,因为在这里你能学到东西远胜过于你在Windows平台下学到的东西,而其中最经典的一段话就是:如果你一直跟随微软的技术,那么终究会被拖死,因为微软的技术一直在变化,而你却需要不断的去学习他的东西。而Linux不一样,它更多的是让你去理解底层的技术,让你从原理上去理解技术的核心,永远以不变应万变的姿态去面对未来的技术革新。

  我想作为一个测试人员,如果你确实还没接触过网络、数据通信方面的技术,那么咱们的路还很长,至少我认为软件测试并非只停留在上层的应用,而测试的最高境界应该是对底层核心技术的测试,通过架构分析、协议数据包分析等等来测试出结果~~~所以我们应该掌握的技术有:TCP/IP、Socket、多线程,这些是必须的。

  1、先来看看TCP/IP的体系结构,如下图:  

  TCP/IP协议实际上就是在物理网上的一组完整的网络协议。其中TCP是提供传输层服务,而IP则是提供网络层服务。下面是各个层的协议说明:  

IP: 网间协议(Internet Protocol) 负责主机间数据的路由和网络上数据的存储。同时为ICMP,TCP,UDP提供分组发送服务。用户进程通常不需要涉及这一层。

ARP: 地址解析协议(Address Resolution Protocol)

此协议将网络地址映射到硬件地址。

RARP: 反向地址解析协议(Reverse Address Resolution Protocol)

此协议将硬件地址映射到网络地址

ICMP: 网间报文控制协议(Internet Control Message Protocol)

此协议处理信关和主机的差错和传送控制。

TCP: 传送控制协议(Transmission Control Protocol)

这是一种提供给用户进程的可靠的全双工字节流面向连接的协议。它要为用户进程提供虚电路服务,并为数据可靠传输建立检查。(注:大多数网络用户程序使用TCP)

UDP: 用户数据报协议(User Datagram Protocol)

这是提供给用户进程的无连接协议,用于传送数据而不执行正确性检查。

FTP: 文件传输协议(File Transfer Protocol)

允许用户以文件操作的方式(文件的增、删、改、查、传送等)与另一主机相互通信。

SMTP: 简单邮件传送协议(Simple Mail Transfer Protocol)

SMTP协议为系统之间传送电子邮件。

TELNET:终端协议(Telnet Terminal Procotol)

允许用户以虚终端方式访问远程主机

HTTP: 超文本传输协议(Hypertext Transfer Procotol)

TFTP: 简单文件传输协议(Trivial File Transfer Protocol)

2、TCP/IP协议的核心部分是传输层协议(TCP、UDP),网络层协议(IP)和物理接口层,这三层通常是在操作系统内核中实现。通常用户的服务需要通过应用程序来实现,所以在底层与应用层就是通过套接字来实现,也就是我们通常所说的Socket来建立连接的。具体如下图所示:

  TCP/IP协议核心与应用程序关系如上图所示,所以对照这个图来理解我们的应用层开发,就直观多了,特别是对一些应用进行性能测试时,基于什么协议来通信,分析也会得心应手了。

原文地址:https://www.cnblogs.com/dashu123/p/11830146.html

时间: 2024-10-09 09:09:53

TCP/IP体系结构-测试人员必须理解的的相关文章

【网络基础】OSI TCP/IP体系结构

OSI参考模型是由国际标准化组织于1977年制定的,这是一个计算机互连的国际标准. ISO制定这一国际标准的宗旨就是使任何一种计算机系统无论位于世界任何地方,只要符合OSI标准就能和另一个遵守OSI标准的计算机系统实现互联通信. OSI模型分为7层:从下到上依次是物理层.数据链路层.网络层.传输层.会话层.表示层.应用层:OSI参考模型概念清楚,理论较完整,但它既复杂又不实用. 而TCP/IP体系结构却不同,是目前最流行的商业化网络协议,虽然不是标准化组织提出的正式标准,但它已经被公认为目前的工

TCP/IP体系结构

TCP/IP模型 TCP/IP分层模型由四个层次构成,从高到低各层依次为应用层.传输层.网际层和网络接口层,如图所示 各层的功能如下 (1) 应用层.应用层处在分层模型的最高层,用户调用应用程序来访问TCP/IP互联网络,以享受网络上提供的各种服务.应用程序负责发送和接收数据.每个应用程序可以选择所需要的传输服务类型,并把数据按照传输层的要求组织好,再向下层传送,包括独立的报文序列和连续字节流两种类型. (2) 传输层.传输层的基本任务是提供应用程序之间的通信服务.这种通信服务又叫端到端的通信.

TCP/IP体系结构及协议

一.TCP/IP是当前使用最广泛的因特网体系结构,它是一个四层协议系统. 每一层负责不同的功能: ①应用层:负责处理特定的应用程序细节: ②运输层:为两台主机上的应用程序提供端到端的通信: ③网络层:处理分组在网络中的活动如分组的选路: ④数据链路层:也叫网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡. TCP/IP协议的工作流程:(应用层传输文件采用文件传输协议FTP) ①在目的主机上,应用层将一串数据流传送给运输层: ②运输层将数据流截成分组,并加上TCP报头形成TC

TCP/IP和HTTP的举例理解

闲暇中逛博客园,看到TCP/IP和HTTP关键词,就突然想深刻理解他们(以前真的是只知皮毛),于是看了关于TCP/IP和HTTP的博文,就有了此文. 首先要引出开放系统互连参考模型(OSI:Open System Interconnect),OSI七层模型如下,每层的意思可以百度,物理层为最底层: 应用层(application layer). 表示层(presentation layer). 会话层(session layer). 传输层(transport layer). 网络层(netwo

理解socket与tcp/ip编程相关函数

Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序.要学Internet上的TCP/IP网络编程,必须理解Socket接口. Socket接口设计者最先是将接口放在Unix操作系统里面的.如果了解Unix系统的输入和输出的话,就很容易了解Socket了.网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符.Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的S

【linux基础】17、TCP/IP网络基础(上)

一.计算机网络概述 1.什么是网络? 一群具有独立功能的计算机组成的系统通过通信设备及传输媒体互连起来,在通信软件支持下,实现资源共享.信息交换的整个系统 产生计算机网络的基本条件:通信技术与计算机技术的结合 2.计算机网络的产生与发展 1954年 主机-终端的通信网络  第一代计算机网络 以单个主机为中心.面向终端设备的网络结构.系统中除主计算机具有独立的数据处理功能外,系统中所连接的终端设备均无独立处理数据的功能 1969年 主机-主机的通信网络  ARPANET网  第二代计算机网络 以分

Socket接口是TCP/IP网络的API-C语言版

Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序.要学Internet上的TCP/IP网络编程,必须理解Socket接口.  Socket接口设计者最先是将接口放在Unix操作系统里面的.如果了解Unix系统的输入和输出的话,就很容易了解Socket了.网络的 Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符.Socket也具有一个类似于打开文件的函数调用Socket(),该函数返 回一个整

TCP/IP协议原理与介绍

一.什么是TCP/IP? 顾名思义 TCP/IP(Transmission Control Protocol/Internet Protocol),传输控制协议/网际协议,TCP/IP是现代Internet的核心技术,由IETF定义.所有的系统.终端.线路.用户.开发者,都必须遵守TCP/IP协议族所规定的法则!IP世界的根本法就是TCP/IP协议族.这里我又扯到协议族了,就像快乐家族,不仅仅我们很熟悉的何炅.谢娜.不仅包括主持人,还有导演.摄像等等其他工作人员.TCP/IP也就像一个组,协议族

重学TCP/IP协议和三次握手四次挥手

计算机网络体系结构 在计算机网络的基本概念中,分层次的体系结构是最基本的.计算机网络体系结构的抽象概念较多,在学习时要多思考.这些概念对后面的学习很有帮助. 网络协议是什么? 在计算机网络要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则,比如交换数据的格式.是否需要发送一个应答信息.这些规则被称为网络协议. 为什么要对网络协议分层? 简化问题难度和复杂度.由于各层之间独立,我们可以分割大问题为小问题. 灵活性好.当其中一层的技术变化时,只要层间接口关系保持不变,其他层不受影响. 易于实现