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

Posted dashu123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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协议核心与应用程序关系如上图所示,所以对照这个图来理解我们的应用层开发,就直观多了,特别是对一些应用进行性能测试时,基于什么协议来通信,分析也会得心应手了。

以上是关于TCP/IP体系结构-测试人员必须理解的的主要内容,如果未能解决你的问题,请参考以下文章

对软件测试的理解

网络知识网络结构中-TCP/IP四层模型介绍

TCP/IP协议与OSI体系结构总结

浅看网络结构与TCP/IP协议栈

协议ip

Java知识体系深度理解