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服务。
各协议对应的端口号
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开头,保留地址
6. 分别写出OSI、TCP/IP及五层协议的体系结构
从上至下
OSI:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层;
TCP/IP:应用层、运输层、网际层、网络接口层;
五层协议:应用层、运输层、网络层、数据链路层、物理层;
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不同,可能是哪些原因?
网线问题。确认网线连接是否正确,电脑之间连的线和电脑与USB之间连的线分正线、反线,是不同的。但是对于使用千兆网卡的除外,千兆位网卡有自动识别功课,既可以是正线也可以是反线。
局域网设置问题。电脑互连是要设置的,看看是否安装了必要的网络协议,最重要的是,IP地址是否设置正确,互联的时候最好一台电脑为正,一台电脑为副,为主的设为网关。
网卡驱动未正确安装
防火墙设置有问题
是否有什么软件阻止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是地址解析协议,简单解释一下工作原理?
首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。
当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP数据包,该数据包包括的内容有:源主机 IP地址,源主机MAC地址,目的主机的IP 地址。
当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。
源主机收到ARP响应包后。将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。广播发送ARP请求,单播发送ARP响应。
作者:lucky多多
原文链接:https://blog.csdn.net/weixin_41948075/article/details/88625382