测试奇谭,BUG不见。 大家好,我是谭叔。 文接上回,本期重点理解TCP/IP协议的数据传输。注意,是理解,而非死记硬背。 理论1. TCP/IP协议是一大堆协议的集合比如熟悉的TCP(传输控制协议)、IP(网际协议)、HTTP(超文本传输协议)、HTTPS(安全的 HTTP)、SSL(安全套接字层)、SMTP(简易邮件传输协议)、FTP(文件传输协议)、NTP(网络时间协议)等等。 只不过,因为TCP、IP协议是两个很重要的协议,故用他俩命名了。 2. TCP/IP协议分为四层即,数据传输一次主要经历以下4个步骤,从上到下为:应用层,传输层,网络层,链路层。 还有一种是教科书里常见的的OSI七层模型。 作为测试,无需过多关心七层OSI模型,掌握TCP/IP的四层即可。 实战访问测试奇谭的官网testtalking.com,并用Wireshark软件(自行下载并安装)抓包。 看图,和下面的理论做对应理解。 1. 应用层作用:定义数据格式并按照对应的格式解读数据。 操作:选中Wireshark抓的包,展开 理解:你想白嫖测试奇谭的项目,我给了规则——必须关注我。那么,你就必须要关注我。 2、传输层作用:定义端口,标识应用程序身份,实现端口到端口的通信。 操作:展开 理解:你要关注测试奇谭。但我有测试奇谭、奇谭测试、测奇谭试几个号,可不能关注错了。 另外,这里还涉及到一道高频面试题:TCP和UDP的区别。 他俩,最主要的区别就在传输层。UDP协议没有确认机制,数据包一旦发出,无法知道对方是否收到,可靠性差;TCP协议可以简单理解为有确认机制的UDP协议,即每发出一个数据包都要求确认,如果有一个数据包丢失,就收不到确认,发送方就必须重发这个数据包。 理解:UDP——你点了关注,但并不知道真的关注上了没;TCP——你点了关注,OK,谭叔确认了你的眼神。
3、网络层作用:定义网络地址、区分网段、子网内MAC寻址、对于不同子网的数据包进行路由。 操作:展开 理解:关注了测试奇谭,你和谭叔勾搭上了。 4、链路层作用:对电信号进行分组并形成数据帧,并以广播的形式通过物理介质发送给接收方。 操作:展开 有了地址以后,以太网采用广播形式,把数据包发给接收方。接收方会读取目标MAC地址(Source),并和自己的MAC地址进行对比。如果相同就做下一步处理;如果不同,就丢弃这个包。 没了。 四层协议,就是这么简单! 最后,再附送一张让你脑壳疼的分层图。
|
|