【前端】【计算机网络原理】网络基础笔试问题总结


TCP/IP协议分层

协议

一、应用层
  • 协议:HTTP 提供了web文档的请求和传送
    1. SMTP提供了电子邮件报文的传输
    2. FTP提供了两个端系统之间的文件传输
    3. POP3邮局协议
  • 功能:应用层是网络应用程序以及它们的应用层协议存留的地方。
  • 信息分组:
二、运输层
  • 协议:因特网的运输层在应用程序端点之间传输应用层的报文。

    1. TCP协议:向应用程序提供面向连接的服务。这种服务包括了应用层报文向目的地确保传递和流量控制(即发送方/接收方速率匹配)。TCP也将长报文分为短报文,并提供拥塞控制机制,因此当网络拥塞时,源抑制其传输速率。
    2. UDP协议向它的应用程序提供无连接服务。这是一种不提供不必要的服务的服务,没有可靠性,没有流量控制,没有拥塞控制。
  • 传输层功能:为端到端连接提供传输服务,这种传输服务分为可靠和不可靠的,其中TCP是典型的可靠传输,而Udp则是不可靠传输。为端到端连接提供流量控制,差错控制,服务质量(Quality of Service,QoS)等管理服务。

  • 信息分组:报文段
三、网络层
  • 协议:IP协议 ICMP ARP
  • 功能:因特网的网络层负责将称为数据报的网络层分组从一台主机移到另一台主机。在一台源主机中的因特网运输层协议(TCP或UDP)向网络层递交运输层报文段和目的地址。
  • 信息分组:数据报
四、链路层
  • 协议:
  • 功能:因特网的网络层通过源和目的地之间的一系列路由器路由数据报。为了将分组从一个结点(主机或路由器)移动到路径的下一个结点,网络层必须依靠链路层的服务。
  • 信息分组:
五、物理层
  • 协议:
  • 功能:把帧的一个一个比特从一个结点移动到下一个结点
  • 信息分组:比特

OSI协议分层

OSI协议
- 简述ISO OSI/RM模型各层功能,说明哪些层次提供的是端到端的功能,哪些层次提供的是点到点的功能。帧、报文、比特和消息分别是哪些层次的处理单元?

物理层:物理介质上透明的传送位流。利用传输介质为数据链路层提供物理连接,实现比特流的透明传输

数据链路层:相邻节点无差错的传送帧。负责建立和管理节点间的链路。

网络层:分组传送,路由选择,流量控制。通过路由算法,为报文或分组通过通信子网选择最适当的路径。该层控制数据链路层与物理层之间的信息转发,建立、维持与终止网络的连接。具体的说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备。

传输层:端到端的数据传输。(运输层为运行在不同主机上的应用进程之间提供了逻辑通信功能)

会话层:会话管理与数据传输同步。是OSI参考模型的第五层,是用户应用程序和网络之间的接口。主要任务:向两个实体的表示层提供建立和使用连接的方法。将不同实体之间的表示层的连接称为会话。因此会话层的任务就是组织和协调两个会话进程之间的通信,并对数据交换进行管理。

扫描二维码关注公众号,回复: 2656855 查看本文章

表示层:数据格式转换。表示层是OSI模型的第六层,它对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层。
  其主要功能是“处理用户信息的表示问题,如编码、数据格式转换和加密解密”等。
  
应用层:与用户应用进程接口。应用层是OSI参考模型的最高层,它是计算机用户,以及各种应用程序和网络之间的接口。

从传输层,会话层,表示层,应用层是端到端,物理层,数据链层,网络层都是点到点的功能
帧是数据链路层,报文是传输层,比特是物理层,消息是应用层


TCP与UDP的区别:
  • 连接性:TCP面向连接;UDP是无连接的。(TCP需要三次握手,而UDP不需要握手)
  • 可靠性:TCP提供可靠的服务;UDP尽最大努力交付,即不保证可靠交付。(通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP则可能出现丢包,不保证顺序到达)
  • 面向对象:TCP面向字节流;UDP是面向报文的。( 面向报文的是指发送方的UDP对应用层交下来的数据报文,不合并不拆分,只是在其上面加上首部后就交给了下面的网络层。)。
  • 差错拥塞控制:UDP没有差错和拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低。(TCP拥塞控制,当另一端出现阻塞时,会降低发送速率)。
  • 系统开销:TCP首部开销20字节(具有报文段序号,应答序号,窗口大小等);UDP的首部开销小,只有8个字节(2个字节的源端口,2个字节的目的端口,2个字节的报文长度,2个字节的校验和)。
  • 信道:TCP的逻辑通信信道是全双工的可靠信道,即可以流入也可以流出的信道;UDP则是不可靠信道。
  • 有序性:TCP是有序的字节流;UDP则是无序的。(这是由于tcp头部存在报文段的序号,而udp没有)

  • 浏览器地址栏输入一个URL到屏幕显示该网页时都发生了什么
    1. 如果输入的是域名而不是IP首先要进行DNS寻址。
    2. 浏览器与服务器通过三次握手建立TCP连接后,浏览器向服务器发送http请求(Get和post,协议版本,是否缓存,url,是否发送cookies)
    3. 服务器处理请求返回http响应。
    4. 浏览器根据资源类型,将资源组织成在屏幕上显示的图像(网页渲染)解析HTML,生成DOM树;解析css文件;生成渲染树(受样式影响,比如不可见元素和display:none的元素都不在树中);绘制渲染树
    5. TCP四次挥手关闭连接。(服务器长期未接收到http请求报文时会关闭连接)

浏览器上输入URL发生什么事情

  • DNS寻址过程
    假设一个客户需要获取www.amazon.com的IP地址。客户首先与根服务器之一联系,它将返回顶级域名com的顶级域服务器的IP地址。该客户与这些TLD服务器之一联系,它将为Amazon.com返回权威服务器的IP地址。最后,该客户与Amazon.com的权威服务器之一联系,它为主机名www.amazon.com返回其IP地址。
  • TCP三次握手
    TCP三次握手
  • TCP四次挥手
    TCP四次挥手
  • DNS缓存。(浏览器、系统、ISP、路由器、DNS服务器)
    在一个请求链中,当某DNS服务器接收到一个DNS回答,它能将该回答中的信息缓存在本地存储器中。如果在DNS服务器中缓存了一台主机名/IP地址对,另一对相同主机名的查询到达该DNS服务器时,该DNS服务器就能够提供所需要的IP地址,即使它不是该主机名的权威服务器。由于主机名与IP地址之间的映射不是永久的,DNS服务器在一段时间之后将丢失缓存的信息。

HTTP协议

cookie,localstorage,sessionstorage的区别

cookie,localstorage,sessionstorage的区别

特性 cookie sessionStorage localStorage
共同点 都是浏览器端的缓存技术 都是同源的
存储数据大小 4k 5M
与服务器端通信 每次发生http请求都要发送给服务器,如果使用cookie保存过多数据会带来性能问题。cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器之间来回传递 仅在客户端(即浏览器)中保存,不参与和服务器的通信。仅在本地保存
易用性 需要程序员自己封装,原生的cookie接口不友好 源生接口可以接受,亦可再次封装来对Object和Array有更好的支持
数据有效期 一般由服务器生成,可设置失效时间。如果在浏览器端生成Cookie,默认是关闭浏览器后失效。 仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持 始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据
作用域 在所有同源窗口都是共享的。 不在不同的浏览器窗口共享,即使是同源的 在所有同源窗口都是共享的。
  • 概述

1.虽然http协议不保留状态,但是利用Cookie可以在客户端保留一些键值对, 例如:用户名和密码。当再次访问相同的网站,浏览器会自动把这些数据提 交给服务器 。
2. cookie都是采用key-value方式保存信息。每个cookie包含很多项目:名(name)、 值(value)、域(domain)、路径(path)、过期时间(expires)。
cookie的内容
- cookie的字段

名称: RAIL_DEVICEID
内容: EDA··············LkM0vMoKN4Ed1qFQv
域:  .12306.cn
路径: /
发送用途:   各种连接
脚本可访问:  是
已创建:    201828日星期四 下午4:08:45
过期时间:   20301231日星期二 上午8:00:00
session
  • 概述
    1. http协议是无状态的,但是通过session可以在Web服务器上临时保存 少量变量的状态。一般用来保存所有网页都可以使用到的数据,例 如,保存已登录的用户名。
    2. 每次访问设置了session变量的JSP网页,浏览器都会与 服务器建立一 个会话,服务器会为这次会话生成一个会话id(session id)并用 cookie发送给浏览器保存起来。
    3. 在会话期间在服务器上设置的所有session变量都与该会话的会话id关 联,因此,在每次访问该网站时要通过cookie把该会话id发送给服务 器。
    4. 如果该浏览器长时间不访问该网站,也就是长于超时时间,服务器 会自动结束本次会话。结束会话的另一种方法是完全关闭该浏览器 及其副本。Tomcat的会话超时时间默认为三十分钟

  • 如何在网页之间传递参数

    如何在网页之间传递参数

跨域问题

什么是跨域

解决方法

一、jsonp

二、window.name

三、document.domain

四、使用HTML5中新引进的window.postMessage方法来跨域传送数据


参考资料
TCP/IP协议分层 、OSI协议分层
《计算机网络 自顶向下方法》 第六版
HTTP为何为无状态协议
三次握手与四次挥手
面试总结
HTML 5 Web 存储

猜你喜欢

转载自blog.csdn.net/qq_33291740/article/details/79548063