计算机网络基础知识简答

孤人 提交于 2020-01-29 22:30:13
  1. Http和Https的区别
    Http协议(超文本传输协议)运行在TCP之上,明文传输,无状态,客户端与服务器端都无法验证对方的身份;Https是由SSL协议和Http协议构建的可进行加密传输,身份认证的网络协议。二者之间存在如下不同:
    端口不同:Http与Http使用不同的连接方式,用的端口也不一样,前者是80,后者是443;
    资源消耗:和HTTP通信相比,Https通信会由于加减密处理消耗更多的CPU和内存资源;
    开销:Https通信需要证书,而证书一般需要向认证机构购买;
    Https的加密机制是一种共享密钥加密和公开密钥加密并用的混合加密机制。
  2. 对称加密与非对称加密
    (我要和你建立链接,你真的要和我建立链接么,我真的要和你建立链接,成功)
    对称密钥加密是指加密和解密使用同一个密钥的方式,这种方式存在的最大问题就是密钥发送问题,即如何安全地将密钥发给对方;而非对称加密是指使用一对非对称密钥,即公钥和私钥,公钥可以随意发布,但私钥只有自己知道。发送密文的一方使用对方的公钥进行加密处理,对方接收到加密信息后,使用自己的私钥进行解密。
    由于非对称加密的方式不需要发送用来解密的私钥,所以可以保证安全性;但是和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。
  3. 三次握手过程(我要和你建立链接,你真的要和我建立链接么,我真的要和你建立链接,成功)
    第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。
    第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给Client以确认连接请求,Server进入SYN_RCVD状态。
    第三次握手:Client收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给Server,Server检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client与Server之间可以开始传输数据了
    在这里插入图片描述
  4. 四次挥手过程(我要和你断开链接;好的,断吧;我也要和你断开链接;好的,断吧):
    第一次挥手:Client发送一个FIN = 1及一个序号seq = u,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。
    第二次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号)即seq=u+1,Server进入CLOSE_WAIT状态。此时TCP链接处于半关闭状态,即客户端已经没有要发送的数据了,但服务端若发送数据,则客户端仍要接收。
    第三次挥手:Server发送一个FIN = 1,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态。
    第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,Server进入CLOSED状态,完成四次挥手。
    在这里插入图片描述
  5. 为什么TCP链接需要三次握手,两次不可以么,为什么?
    为了防止 已失效的链接请求报文突然又传送到了服务端,因而产生错误。
    客户端发出的连接请求报文并未丢失,而是在某个网络节点长时间滞留了,以致延误到链接释放以后的某个时间才到达Server。这是,Server误以为这是Client发出的一个新的链接请求,于是就向客户端发送确认数据包,同意建立链接。若不采用“三次握手”,那么只要Server发出确认数据包,新的链接就建立了。由于client此时并未发出建立链接的请求,所以其不会理睬Server的确认,也不与Server通信;而这时Server一直在等待Client的请求,这样Server就白白浪费了一定的资源。若采用“三次握手”,在这种情况下,由于Server端没有收到来自客户端的确认,则就会知道Client并没有要求建立请求,就不会建立链接。
  6. TCP协议如何来保证传输的可靠性
    TCP协议保证数据传输可靠性的方式主要有:
    校验和
    序列号
    确认应答
    超时重传
    连接管理
    流量控制
    拥塞控制
    TCP提供一种面向连接的、可靠的字节流服务。其中,面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。在一个TCP连接中,仅有两方进行彼此通信;而字节流服务意味着两个应用程序通过TCP链接交换8bit字节构成的字节流,TCP不在字节流中插入记录标识符。
    对于可靠性,TCP通过以下方式进行保证:
    数据包校验:目的是检测数据在传输过程中的任何变化,若校验出包有错,则丢弃报文段并且不给出响应,这时TCP发送数据端超时后会重发数据;
    对失序数据包重排序:既然TCP报文段作为IP数据报来传输,而IP数据报的到达可能会失序,因此TCP报文段的到达也可能会失序。TCP将对失序数据进行重新排序,然后才交给应用层;
    丢弃重复数据:对于重复数据,能够丢弃重复数据;
    应答机制:当TCP收到发自TCP连接另一端的数据,它将发送一个确认。这个确认不是立即发送,通常将推迟几分之一秒;
    超时重发:当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段;
    流量控制:TCP连接的每一方都有固定大小的缓冲空间。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据,这可以防止较快主机致使较慢主机的缓冲区溢出,这就是流量控制。TCP使用的流量控制协议是可变大小的滑动窗口协议
  7. DDos 攻击
    客户端向服务端发送请求链接数据包
    服务端向客户端发送确认数据包
    客户端不向服务端发送确认数据包,服务器一直等待来自客户端的确认
  8. GET与POST的区别?
    get 和 post请求是http协议中的两种请求方式,get一般用来获取服务器的信息的,post一般是用来更新信息的。
    区别一,get请求重点在从服务器上获取资源,而post请求重点在向服务器发送数据。
    区别二,get传输数据是通过URL请求,以字段=value的形式,用?连接置于URL之后,多个请求数据之间用&连接,这个过程数据明文出现在URL上,因此是不安全的。post传输数据是通过http的post机制,将字段与对应值封存在请求实体中发送给服务器,这个过程用户不可见,因此是安全的。
    区别三,get传输的数据量小,受URL长度的限制,但是效率高。
    post传输数据量不受限制,可以传输大量数据,所以传输文件时只能使用post,但是效率较低。请求较多时可能形成一个请求队列。
    区别四,get方式只支持ASCII字符,因此向服务器传输中文有可能出现乱码。post支持标准字符集,可以正确传递中文字符。
  9. TCP与UDP的区别?
比较内容 TCP UDP
是否连接 面向连接 无连接
是否可靠 可靠传输,使用流量控制和拥塞控制 不可靠传输,不使用流量控制和拥塞控制
连接对象个数 只能是一对一通信 支持一对一,一对多,多对一和多对多交互通信
传输方式 面向字节流 面向报文
首部开销 首部最小20字节,最大60字节 首部开销小,仅8字节
适用场景 适用于要求可靠传输的应用,例如文件传输 适用于实时应用(IP电话、视频会议、直播等)

博客来源:https://blog.csdn.net/weixin_44312349/article/details/88832246

  1. TCP/IP协议栈和OSI七层模型之间的区别?
    (1) TCP/IP是一个协议簇;而OSI定义的是一个网络的结构体系和各层功能的划分。
    (2)OSI是模型,框架;TCP/IP协议栈是实现各层功能的协议簇。
    (3) TCP/IP是四层结构,而OSI是七层结构。
    (4) OSI的最高三层在TCP中用应用层表示。
    (5) TCP/IP的网络接口层相对于OSI的数据链路层和物理层。
    在这里插入图片描述
    图片来源:https://blog.csdn.net/qq_39521554/article/details/79894501

  2. IP地址与MAC地址的区别是什么?
    1)IP地址是网络层逻辑地址,MAC地址是数据链路层物理地址。
    2)IP地址用于表示网络中某设备或节点的身份(网络位、主机位)(本网段唯一)
    3)MAC地址用于表示某设备或节点在本以太网链路中的物理地址(全局唯一)
    4)IP地址由32位,MAC由48位组成;
    5)IP地址可区别不同网段,MAC地址无法进行区分

  3. 简述OSI七层模型中传输层、网络层、数据链路层的功能和它们进行数据封装时头部信息?
    1)传输层:服务点编址、分段与重组、连接控制、流量控制、差错控制。封装源端口、目的端口; 
    2)网络层:为网络设备提供逻辑地址;进行路由选择、分组转发。封装源IP、目的IP、协议号
    3)数据链路层:组帧、物理编址、流量控制、差错控制、接入控制。封装源MAC、目的MAC、帧类型

  4. ARP协议的工作原理?
    1)当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址。
    2)如果有,就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。
    3)如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中。
    4)如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个 ARP响应数据包,告诉对方自己是它需要查找的MAC地址。
    源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。
    5)如果源主机一直没有收到ARP响应数据包,表示ARP查询失败

  5. 请问端口号的作用是什么?请问当一台客户端主机访问互联网某服务器的WEB服务时,传输层封装的源端口、目的端口分别是什么?
    1)传输层端口号的作用是用于区分上层应用层不同应用服务进程的。
    2)客户端向服务器发送数据时,源端口为大于1024的随机端口,如1150;目的端口为服务器WEB端口,如80端口。
    3)服务器向客户端发送数据时服务器端口为80,目的端口为1150.

  6. 二层交换机与路由器有什么区别,为什么交换机一般用于局域网内主机的互联,不能实现不同IP网络的主机互相访问。路由器为什么可以实现不同网段主机之间的访问。为什么不使用路由器来连接局域网主机 ? 
    1)从OSI的角度分析交换机和路由器的区别  
    交换机属于数据链路层设备,识别数据帧的MAC地址信息进行转发;路由器属于网络层设备,通过识别网络层的IP地址信息进行数据转发;
    2)数据处理方式的区别  
    交换机对于数据帧进行转发,交换机不隔离广播,交换机对于未知数据帧进行  扩散;路由器对IP包进行转发,路由器不转发广播包,路由器对于未知数据包进行丢弃
    3)数据转发性能方面  
    交换机是基于硬件的二层数据转发,转发性能强;路由器是基于软件的三层数 据转发,转发性能相对较差;
    4)接口类型  
    交换机一般只具备以太网接口,类型单一,接口密度大;路由器能够提供各种 类型的广域网接口,能够连接不同类型的网络链路,接口数较少
    5)应用环境  
    交换机一般应用于局域网内部,大量用户的网络接入设备。路由器一般用于网 络间的互联

  7. 三层交换机和路由器有什么区别?
    1)功能:三层交换机和路由器一样属于网络层设备,能够进行三层数据包的转发
    2)性能:三层交换机能够基于ASIC芯片进行硬件的转发(一次路由多次交换);路由器通过CPU+软件进行运算转发数据,性能低
    3)接口类型:三层交换机一般只具备以太网接口,类型单一,接口密度大;路由器能够提供 各种类型的广域网接口,能够连接不同类型的网络链路,接口数较少
    4)应用环境:三层交换机一般用于局域网内不同网段间的互通,路由器一般用于网络出口或 广域网互联

  8. 请问路由决策的规则是什么?
    1)子网最长匹配  
    2)管理距离(distance)
    3)度量值(metric)

  9. 请问有类路由协议和无类路由协议有什么区别?
    1)原理:有类路由协议发送路由更新信息时,不包含子网掩码信息;无类路由协议包含
    2)处理:有类路由协议路由器收到无法识别的更新信息时,只能按标准的A,B,C类子网信息进行处理;无类路由协议能够从路由信息中识别其子网信息
    3)后果:有类路由协议不支持不连续的变长子网路由;无类路由协议支持。VLSM无类路由协议能够灵活的进行子网划分应用,节约IP地址资源。

  10. 七层模型每层的作用?
    1)物理层:
    物理层规定了激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的物理媒体。传输数据的单位是比特(bit)。
    设备:网线,集线器。
    2)数据链路层:
    在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。通常还提供错误检测和纠正,以确保数据的可靠传输。传输数据的单位是(frame)。
    设备:网卡,网桥,二层交换机。
    协议:SDLC,HDLC,PPP,STP,帧中继。
    3)网络层:
    在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择,这层对端到端的包传输进行定义,它定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式,负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能。传输数据的单位是分组或包(packet)
    设备:路由器
    协议:IP,IPX,RIP,OSPF。
    4)传输层:
    传输层是整个网络体系结构中的关键层次之一,主要负责向两个主机中进程之间的通信提供服务。由于一个主机同时运行多个进程,因此运输层具有有复用和分用功能。传输层在终端用户之间提供透明的数据传输,向上层提供可靠的数据传输服务。传输层在给定的链路上通过流量控制、分段/重组和差错控制来保证数据传输的可靠性,将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。。传输数据的单位是报文(message)
    协议: TCP, UDP, SPX。
    5)会话层:
    管理主机之间的会话进程。即负责建立,管理,终止进程之间的会话。会话层还在数据中插入校验点来实现数据的同步。
    6)表示层:
    对上层数据或信息进行变换以保证一个主机的应用层信息可以被另一个主机的应用程序理解。表示层的数据转换包括数据的加密,压缩,格式转换,解压,解密。
    7)应用层:
    为操作系统或网络应用程序提供访问网络服务的接口。
    协议:Telnet, FTP, HTTP, SNMP。

  11. 地址分类
    A类:以0开头,第一个字节范围:0~127
    B类:以10开头,第一个字节范围:128~191
    C类:以110开头,第一个字节范围:192~223
    D类:以1110开头,第一个字节范围:224~239

  12. 路由设备及相关层
    物理层:中继器(放大器),集线器
    数据链路层:网桥,二层交换机
    网络层:路由器(三层交换机)
    网关:网络层以上的设备

  13. 常见的路由选择协议以及他们的区别
    常见的路由协议有RIP协议和OSPF协议。
    RIP协议:底层是贝尔曼福特算法,它的选择路由度量的标准是跳数,最大跳数是15跳,大于15跳放弃数据包。
    OSPF协议:底层是迪杰斯特拉算法,是链路状态路由选择协议,它的选择路由度量的标准是带宽,延迟。

  14. 在浏览器输入网址后执行的全部过程
    1)域名解析
    2)为了将消息从你的PC上传到服务器
    3)上面需要用到IP协议、ARP协议和OSPF协议
    4)发起TCP的3次握手
    5)建立TCP连接后发起http请求
    6)服务器响应http请求
    7)浏览器解析html代码,并请求html代码中的资源(如js、css、图片等)
    8)断开TCP连接
    9)浏览器对页面进行渲染呈现给用户
    详细内容见:https://blog.csdn.net/qq_21993785/article/details/81188253

  15. HTTP协议包括哪些请求?
    HTTP协议,即超文本传输协议,这个协议详细的规定了浏览器和万维网服务器之间相互通信的规则。
    HTTP是一个通信规则,它规定了客户端发送给服务器内容的格式,也规定了服务器发送给客户端内容的格式。一个叫请求协议,一个叫响应协议。
    特点:HTTP是基于请求/响应模式,是无状态协议(FTP是有状态协议)。
    无状态协议,即:服务器不需要知道客户端是谁,只认请求(一次请求request,一次相应response)
    GET:向特定的资源发出请求。
    POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件),数据被包含在请求体中
    PUT:在给定的URL下上传最新内容。
    DELETE:删除给定的URL所标志的资源。

  16. TCP/IP协议簇中每一层对应的协议
    在这里插入图片描述
    数据链路层和物理层对应TCP/IP协议的网络接口层

  17. TCP对应的协议和UDP对应的协议
    TCP协议:
    1) FTP:定义了文件传输协议,使用21端口。
    2) Telnet:一种用于远程登陆的端口,使用23端口,用户可以以自己的身份远程连接到计算机上,可提供基于DOS模式下的通信服务。
    3) SMTP:邮件传送协议,用于发送邮件。服务器开放的是25号端口。
    4) POP3:它是和SMTP对应,POP3用于接收邮件。POP3协议所用的是110端口。
    5)HTTP:是从Web服务器传输超文本到本地浏览器的传送协议
    UDP协议:
    1) DNS:用于域名解析服务,将域名地址转换为IP地址。DNS用的是53号端口。
    2) SNMP:简单网络管理协议,使用161号端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出其优势。
    3) TFTP:简单文件传输协议,该协议在熟知端口69上使用UDP服务。
    原文链接:https://blog.csdn.net/love_aym/article/details/79985593

  18. NAT协议,DHCP协议,DNS协议的作用
    NAT协议
    NAT网络地址转换(Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机
    DHCP协议
    DHCP动态主机设置协议(Dynamic Host Configuration Protocol)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。
    DNS协议
    DNS是域名系统(DomainNameSystem)的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务,可以简单地理解为将URL转换为IP地址。域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,在Internet上域名与IP地址之间是一一对应的,DNS就是进行域名解析的服务器。DNS命名用于Internet等TCP/IP网络中,通过用户友好的名称查找计算机和服务。

资源来源:
https://wenku.baidu.com/view/0451820bc850ad02df804134.html
https://wenku.baidu.com/view/6a56ea60c77da26924c5b074.html
https://wenku.baidu.com/view/ecae1f85ac51f01dc281e53a580216fc710a5375.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!