• 8
  • 10
分享

      1. TCP和UDP的区别

  • TCP提供面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输;

  • TCP传输单位称为TCP报文段,UDP传输单位称为用户数据报;

  • TCP注重数据安全性,UDP数据传输快,因为不需要连接等待,少了许多操作,但是其安全性却一般。

      2. TCP和UDP分别对应的常见应用层协议?

      2.1 TCP对应的应用层协议

      FTP:定义了文件传输协议,使用21端口。常说某某计算机开了FTP服务便是启动了文件传输服务。下载文件,上传主页,都要用到FTP服务。

      Telnet:它是一种用于远程登陆的端口,用户可以以自己的身份远程连接到计算机上,通过这种端口可以提供一种基于DOS模式下的通信服务。如以前的BBS是-纯字符界面的,支持BBS的服务器将23端口打开,对外提供服务。

      SMTP:定义了简单邮件传送协议,现在很多邮件服务器都用的是这个协议,用于发送邮件。如常见的免费邮件服务中用的就是这个邮件服务端口,所以在电子邮件设置-中常看到有这么SMTP端口设置这个栏,服务器开放的是25号端口。

      POP3:它是和SMTP对应,POP3用于接收邮件。通常情况下,POP3协议所用的是110端口。也是说,只要你有相应的使用POP3协议的程序(例如Fo-xmail或Outlook),就可以不以Web方式登陆进邮箱界面,直接用邮件程序就可以收到邮件(如是163邮箱就没有必要先进入网易网站,再进入自己的邮-箱来收信)。

      HTTP:从Web服务器传输超文本到本地浏览器的传送协议。

      2.2 UDP对应的应用层协议

      DNS:用于域名解析服务,将域名地址转换为IP地址。DNS用的是53号端口。

      SNMP:简单网络管理协议,使用161号端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出其优势。

      TFTP(Trival File Transfer Protocal):简单文件传输协议,该协议在熟知端口69上使用UDP服务。

1.png

各协议对应的端口号

2.png

3. TCP协议如何来保证传输的可靠性

      TCP提供一种面向连接的、可靠的字节流服务。其中,面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。在一个TCP连接中,仅有两方进行彼此通信;而字节流服务意味着两个应用程序通过TCP链接交换8bit字节构成的字节流,TCP不在字节流中插入记录标识符。

      对于可靠性,TCP通过以下方式进行保证:

      数据包校验:目的是检测数据在传输过程中的任何变化,若校验出包有错,则丢弃报文段并且不给出响应,这时TCP发送数据超时后会重发数据;

      对失序数据包重排序:既然TCP报文段作为IP数据报来传输,而IP数据报的到达可能会失序,因此TCP报文段的到达也可能会失序。TCP将对失序数据进行重新排序,然后才交给应用层;

      丢弃重复数据:对于重复数据,能够丢弃重复数据;

      应答机制:当TCP收到发自TCP连接另一端的数据,它将发送一个确认。这个确认不是立即发送,通常将推迟几分之一秒;

      超时重发:当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段;

      流量控制:TCP连接的每一方都有固定大小的缓冲空间。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据,这可以防止较快主机致使较慢主机的缓冲区溢出,这就是流量控制。TCP使用的流量控制协议是可变大小的滑动窗口协议。

      4. 解释一下IP的定义,在哪个层上?主要作用是?TCP与UDP呢?

  • IP是 Internet protocol 的缩写,是网络层的主要协议,作用是提供不可靠、无连接的数据包传输协传送。

  •  TCP是 Transmit Control Protocol(传输控制协议),在传输层,TCP提供一种面向连接的、可靠地字节流服务。

  •  UDP是 User Datagram Protocol(用户数据报协议),在传输层,UDP提供不可靠的传输控制数据服务。

      5. IP地址的分类

      IP地址是指互联网协议地址,是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。IP地址编址方案将IP地址空间划分为A、B、C、D、E五类,其中A、B、C是基本类,D、E类作为多播和保留使用,为特殊地址。 

      每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。A~E类地址的特点如下:

  • A类地址:以0开头,第一个字节范围:0~127;

  • B类地址:以10开头,第一个字节范围:128~191;

  • C类地址:以110开头,第一个字节范围:192~223;

  • D类地址:以1110开头,第一个字节范围为224~239;

  • E类地址:以1111开头,保留地址

3.png

      6. 分别写出OSI、TCP/IP及五层协议的体系结构

      从上至下

      OSI:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层;

      TCP/IP:应用层、运输层、网际层、网络接口层;

      五层协议:应用层、运输层、网络层、数据链路层、物理层;

4.png

      6.1 OSI每一层对应的协议

体系协议
物理层RJ45、CLOCK、IEEE802.3 (中继器,集线器)
数据链路PPP、FR、HDLC、VLAN、MAC(网桥,交换机)
网络层IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、(路由器)
传输层 TCP、UDP、SPX
会话层NFS、SQL、NETBIOS、RPC
表示层JPEG、MPEG、ASII
应用层FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS

       OSI每一层的作用

体系作用
物理层通过媒介传输比特,确定机械及电气规范(比特Bit)
数据链路层将比特组装成帧和点到点的传递(帧Frame)
网络层负责数据包从源到宿的传递和网际互连(包PackeT)
传输层提供端到端的可靠报文传递和错误恢复(段Segment)
会话层建立、管理和终止会话(会话协议数据单元SPDU)
表示层 对数据进行翻译、加密和压缩(表示协议数据单元PPDU)
应用层允许访问OSI环境的手段(应用协议数据单元APDU)

      拓展:

      网关的定义:一个链接两种不同协议簇的进程,为某一个特定的应用提供服务。

      在TCP/IP协议簇中,IP层使用不可靠的服务,TCP提供可靠的服务,为了提供可靠到的服务,TCP采用了超时重传,发送和接收端到端的确认分组机制。

      网桥是在数据链路层对网络进行互联的,路由器是在网络层对网络进行互联的。

      7. 对称加密与非对称加密

      对称密钥加密是指加密和解密使用同一个密钥的方式,这种方式存在的最大问题就是密钥发送问题,即如何安全地将密钥发给对方;而非对称加密是指使用一对非对称密钥,即公钥和私钥,公钥可以随意发布,但私钥只有自己知道。发送密文的一方使用对方的公钥进行加密处理,对方接收到加密信息后,使用自己的私钥进行解密。

      由于非对称加密的方式不需要发送用来解密的私钥,所以可以保证安全性;但是和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。

8. Get与POST的区别

  • GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?      name=test1&id=123456. POST方法是把提交的数据放在HTTP包的Body中。

  • GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制。

  • GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值。

  • GET方式提交数据,会带来安全问题,比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码。

      9. ipconfig和netstat的作用?

      显示当前TCP/IP配置的信息,帮助用户查看网络状况,可以看到很多网络信息,比如延迟,IP,主机信息,物理地址信息等。

      netstat

      netstat主要用于提供系统的接口命令。可以使用相关参数打印出每一个接口的MTU、输入分组数、输入错误、冲突以及当前的输出队列长度。

      10. 两台笔记本连起来后ping不同,可能是哪些原因?

  1. 网线问题。确认网线连接是否正确,电脑之间连的线和电脑与USB之间连的线分正线、反线,是不同的。但是对于使用千兆网卡的除外,千兆位网卡有自动识别功课,既可以是正线也可以是反线。

  2. 局域网设置问题。电脑互连是要设置的,看看是否安装了必要的网络协议,最重要的是,IP地址是否设置正确,互联的时候最好一台电脑为正,一台电脑为副,为主的设为网关。

  3. 网卡驱动未正确安装

  4. 防火墙设置有问题

  5. 是否有什么软件阻止ping包

      11. 运行net share返回结果是什么?

      显示本地计算机上所有共享资源相关信息。如果加上参数 ShareName ,则仅显示有关该共享的信息。

      12. net use和net user 分别指什么?

  • net use是对用户进行管理,如添加、删除网络使用用户等。

  • net user 是对网络设备进行管理

      13. 交换和路由的区别是什么,VLAN有什么特点?

  • 交换机是指转发和过滤帧,是交换机的工作,它在OSI参考模型的第二层。

  • 而路由器是指网络线路当中非直连的链路,它是路由器的工作,在OSI参考模型的第三层。

  • 交换和路由的区别很大。首先,交换是不需要IP的,而路由需要,因为IP就是第三层的协议,第二层需要的是MAC地址;再有,第二层可以做NAT、ACL、QOS等。

  • VLAN是虚拟局域网络的英文缩写,它是一个纯二层的技术,它的特点有三个:控制广播,安全,灵活性和可扩展性。

      14. 简单描述DNS域名系统的工作原理

      当DNS客户机需要在程序中使用名称时,它会查询DNS服务器来解析该名称。客户机发送的每条查询信息包括3条信息:指定的DNS域名,指定的查询类型,DNS域名的指定类别。基于UDP服务,端口53.该应用一般不直接为用户使用,而是为其他应用服务,如HTTP,SMTP等,在其中需要完成主机名到IP地址的转换。

      15. 提供可靠数据流传输控制的是OSI的第几层?

      会话层,还有其他相关的面试题请?你不可不会的软件测试经典面试题,HTTP协议也是常问的?HTTP协议详细介绍

      16. 在浏览器中输入www.baidu.com后执行的全部过程

      1、客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过该IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.181.27.48,通过TCP进行封装数据包,输入到网络层。

      2、在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口,然后使用IP层的IP地址查找目的端。

      3、客户端的网络层不用关心应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,通过查找路由表决定通过过哪个路径到达服务器。

      4、客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址。

17. ARP是地址解析协议,简单解释一下工作原理?

  1. 首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。

  2. 当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP数据包,该数据包包括的内容有:源主机 IP地址,源主机MAC地址,目的主机的IP 地址。

  3. 当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。

  4. 源主机收到ARP响应包后。将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。广播发送ARP请求,单播发送ARP响应。

作者:lucky多多

原文链接:https://blog.csdn.net/weixin_41948075/article/details/88625382


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一:需求分析了解熟悉业务,分析需求测试点确认功能(业务功能,辅助功能,数据约束,易用性需求,编辑约束,参数需求,权限需求,性能约束)场景分析(考虑场景调用者和系统内部各个场景之间联系)挖掘隐性需求(常用业务流程以及各分支)二:测试计划1、编写目的此文档根据项目需求文档,制定测试策略、评估测试风险,确定所需的资源,并对测试的工作量进行估计,进行人员和进度安排,并且列出测试项目的可交付元素。2、参考文档详细设计文档,设计原型3、测试概要(1)测试目标通过测试,达到以下目标:测试已实现的产品是否达到设计的要求,包括:各个功能点是否以实现,业务流程是否正确。产品规定的操作和系统运行稳定。Bug数和缺陷...
            0 1 2280
            分享
          • 心里有数,也要留一手,和盘托出,不是一场好戏。底牌哪能随便乱漏?我们做人做事啊,千万要记得留有余地,留有余粮,以备不时之需。留有情面,两人之间就有了润滑的空间。留有神秘,两人之间就有了空间想象。留有距离,两人之间就有了美。留有底牌,两人之间就有了互相学习的机会。看透了,就没意思了。戏曲,歌剧,一出好戏,总是分好几出,好几场,好几段。有生旦净末丑,有咏叹调,有慢板,有快板……没有了这样的曲折蜿蜒,起伏跌宕,哪有那么美妙的歌曲?印象深刻的歌剧?适度,是人生智慧之一,积少成多,是客观现实之一,人们对自清醒地认识,就是知道自己不是无所不能,知道自己不是啥都能干,就是知道自己的局限性和渺小,狂妄份子貌似...
            1 1 722
            分享
          • AutoMeter是一款针对分布式服务,微服务API做功能和性能一体的自动化测试平台。针对接口支持分布式功能和性能测试,极大的满足了技术人员的接口测试需求着力解决在系统,项目开发,迭代交付过程中 开发人员,测试人员,技术人员针对系统提供的API做调试,回归测试,性能测试。自动化测试,本质上解决API测试的5大基本问题:1.由什么角色使用?2.在什么环境使用?3.针对什么进行目标?4.做什么样的测试?5.得到什么样的结果?1.运行测试的环境如何定义?一般个人,公司在使用分布式,微服务架构,从开发到发布上线可能会经过多套环境测试验证,比如开发环境,测试环境,准生产环境,生产环境,其中测试环境又可能...
            0 0 2060
            分享
          •   众所周知,Appium是移动端界面自动化中最常用的开源框架之一,它能够支持 iOS 平台和 Android 平台上app及Web应用测试,支持Mac,Windows操作系统,并且支持多种语言,Java、Python、PHP、C#、js等,让你不受编程语言的束缚 。下面我将展示Appium框架应用测试的一个具体实例。  一、框架环境安装  环境搭建需要具备以下软件,如下表:  环境配置略微复杂些,涉及到多个软件的安装及参数配置等,可参考网上Appium搭建文文档,环境搭建不属于本篇文章的重点,不再赘述。  二、测试流程操作  1、安装APK  打开模拟器,安装好自己要测试的app包 。  2...
            1 1 1454
            分享
      • 51testing软件测试圈微信