3.1.2服务器软件的特点
-
一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。
-
系统启动后即自动调用并一直不断地运行着,被动地等待并接受来自各地的客户的通信请求。因此,服务器程序不需要知道客户程序的地址。
-
一般需要强大的硬件和高级的操作系统支持。
3.2 对等方式(P2P 方式) 即 Peer-to-Peer方式
-
对等连接(peer-to-peer,简写为 P2P)是指两个主机在通信时并不区分哪一个是服务请求方还是服务提供方。
-
只要两个主机都运行了对等连接软件(P2P 软件),它们就可以进行平等的、对等连接通信。
-
双方都可以下载对方已经存储在硬盘中的共享文档。
3.2.1对等连接方式的特点
-
对等连接方式从本质上看仍然是使用客户服务器方式,只是对等连接中的每一个主机既是客户又同时是服务器。
-
例如主机 C 请求 D 的服务时,C 是客户,D 是服务器。但如果 C 又同时向 F提供服务,那么 C 又同时起着服务器的作用。
-
网络核心部分是因特网中最复杂的部分。
-
网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信(即传送或接收各种形式的数据)。
-
在网络核心部分起特殊作用的是路由器(router)。
-
因特网的核心部分是由许多网络和把它们互连起来的路由器组成,而主机处在因特网的边缘部分。
-
在因特网核心部分的路由器之间一般都用高速链路相连接,而在网络边缘的主机接入到核心部分则通常以相对较低速率的链路相连接。
-
主机的用途是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。路由器的用途则是用来转发分组的,即进行分组交换的。
-
路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。
4.1电路交换的特点
-
两部电话机只需要用一对电线就能够互相连接起来。
-
N 部电话机两两相连,需 N(N – 1)/2 对电线。
-
当电话机的数量很大时,这种连接方法需要的电线对的数量与电话机数的平方成正比。
-
电路交换必定是面向连接的。
4.1.1电路交换的三个阶段:
-
建立连接
-
通信
-
释放连接
计算机数据具有突发性。这导致通信线路的利用率很低。
4.2分组交换
4.2.1分组交换的特点
在发送端,先把较长的报文划分成较短的、固定长度的数据段。
4.2.2每一个数据段前面添加上首部构成分组。
-
分组交换网以“分组”作为数据传输单元。
-
依次把各分组发送到接收端(假定接收端在左边)。
4.2.3分组首部重要性
-
每一个分组的首部都含有地址等控制信息。
-
分组交换网中的结点交换机根据收到的分组的首部中的地址信息,把分组转发到下一个结点交换机。
-
用这样的存储转发方式,最后分组就能到达最终目的地。
4.2.4分组交换的优点
-
高效 动态分配传输带宽,对通信链路是逐段占用。
-
灵活 以分组为传送单位和查找路由。
-
迅速 不必先建立连接就能向其他主机发送分组。
-
可靠 保证可靠性的网络协议;分布式的路由选择协议使网络有很好的生存性。
4.2.5分组交换带来的问题
-
分组在各结点存储转发时需要排队,这就会造成一定的时延。
-
分组必须携带的首部(里面有必不可少的控制信息)也造成了一定的开销。
4.3路由器
-
在路由器中的输入和输出端口之间没有直接连线。
-
路由器处理分组的过程是:
-
把收到的分组先放入缓存(暂时存储);
-
查找转发表,找出到某个目的地址应从哪个端口转发;
-
把分组送到适当的端口转发出去。
4.4主机和路由器的功能不同
-
主机是为用户进行信息处理的,并向网络发送分组,从网络接收分组。
-
路由器对分组进行存储转发,最后把分组交付目的主机。
-
计算机网络中的数据交换必须遵守事先约定好的规则。
-
这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)。
-
网络协议(network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。
5.1网络协议的组成要素
-
语法 数据与控制信息的结构或格式 。
-
语义 需要发出何种控制信息,完成何种动作以及做出何种响应。
-
同步 事件实现顺序的详细说明。
5.2划分层次的好处
-
各层之间是独立的。
-
灵活性好。
-
结构上可分割开。
-
易于实现和维护。
-
能促进标准化工作。
当然层数的多少要适当,
-
若层数太少,就会使每一层的协议太复杂。
-
层数太多又会在描述和综合各层功能的系统工程任务时遇到较多的困难。
-
计算机网络的体系结构(architecture)是计算机网络的各层及其协议的集合。
-
体系结构就是这个计算机网络及其部件所应完成的功能的精确定义。
-
实现(implementation)是遵循这种体系结构的前提下用何种硬件或软件完成这些功能的问题。
-
体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。
6.1具有五层协议 的体系结构
-
TCP/IP 是四层的体系结构:应用层、运输层、网际层和网络接口层。
-
但最下面的网络接口层并没有具体内容。
-
因此往往采取折中的办法,即综合 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构 。
传输信息时涉及到的基本 概念
6.2实体、协议、服务 和服务访问点
实体(entity) 表示任何可发送或接收信息的硬件或软件进程。
协议是控制两个对等实体进行通信的规则的集合。
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。
要实现本层协议,还需要使用下层所提供的服务。
本层的服务用户只能看见服务而无法看见下面的协议。
下面的协议对上面的服务用户是透明的。
协议是“水平的”,即协议是控制对等实体之间通信的规则。
服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。
同一系统相邻两层的实体进行交互的地方,称为服务访问点 SAP (Service Access Point)。
6.2.1协议是复杂的
-
协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的。
-
看一个计算机网络协议是否正确,不能光看在正常情况下是否正确,而且还必须非常仔细地检查这个协议能否应付各种异常情况。
7.1 面向连接服务
-
面向连接服务数据传输过程必须经过连接建立、连接维护与释放连接的三个阶段。
-
面向连接服务的在数据传输过程中,各个分组不需要携带目的结点的地址。
7.2无连接服务
-
在无连接服务中,每个分组都携带完整的目的结点地址,各个分组在系统中是独立传送的。
-
无连接服务数据传输过程不需要经过连接建立、连接维护与释放连接等三个阶段。
-
由于无连接服务发送的分组可能经历不同路径发送到目的主机,先发送的分组不一定先到达目的主机,因此在无连接服务的数据分组传输过程中,目的主机接收的分组可能出现乱序、重复与丢失现象。
-
无连接服务的可靠性不是很好,但是由于省去了很多保证机制,它的通信协议相对简单,通信效率比较高。
7.3确认和重传机制
-
面向连接服务与无连接服务对数据传输的可靠性有影响,但是数据传输的可靠性一般通过确认和重传机制保证。
-
确认是指目的主机在接收到每个分组后,要求向源主机发送正确接收分组的确认信息。
-
如果发送主机在规定的时间内没有接收到确认信息,就会认为该数据分组发送失败,这时源主机会重新发送该数据分组。
-
确认和重传机制可以提高数据传输的可靠性,但是需要制定较为复杂的确认和重传协议,并且要增加网络通信负荷与占用网络带宽。
-
网中各主机都具有相同的层次。
-
不同主机的同等层具有相同的功能。
-
同一主机内相邻层之间通过接口通信。
-
每层可以使用下层提供的服务,并向其上层提供服务。
-
不同主机的同等层通过协议来实现同等层之间的通信。
8.1 OSI参考模型各层的主要功能
8.1.1 物理层
-
物理层是OSI参考模型的最低层。
-
物理层利用传输介质为通信的网络主机之间建立、管理和释放物理连接,实现比特流的透明传输,为数据链路层提供数据传输服务。
-
物理层的数据传输单元是比特(bit)。
8.1.2数据链路层
-
数据链路层的低层是物理层,相邻高层是网络层。
-
数据链路层在物理层基础上,通过建立数据链路连接,采用差错控制与流量控制方法,使有差错的物理线路变成无差错的数据链路。
-
数据链路层的数据传输单元是帧。
8.1.3网络层
-
网络层相邻的低层是数据链路层,高层是传输层。
-
网络层通过路由选择算法为分组通过通信子网选择最适当的传输路径,实现流量控制、拥塞控制与网络互联的功能。
-
网络层的数据传输单元是分组。
8.1.4传输层
-
传输层相邻的低层是网络层,高层是会话层。
-
传输层为分布在不同地理位置计算机的进程通信提供可靠的端—端连接与数据传输服务。
-
传输层向高层屏蔽了低层数据通信的细节。
-
传输层的数据传输单元是报文。
8.1.5会话层
-
会话层相邻的低层是传输层,高层是表示层。
-
会话层负责维护两个会话主机之间连接的建立、管理和终止,以及数据的交换。
8.1.6表示层
-
表示层相邻的低层是会话层,高层是应用层
-
表示层负责通信系统之间的数据格式变换、数据加密与解密、数据压缩与恢复。
8.1.7应用层
-
应用层是参考模型的最高层。
-
应用层实现协同工作的应用程序之间的通信过程控制。
9.1 TCP/IP协议的特点
-
开放的协议标准。
-
独立于特定的计算机硬件与操作系统。
-
独立于特定的网络硬件,可以运行在局域网、广域网,更适用于Internet。
-
统一的网络地址分配方案,所有网络设备在Internet中都有唯一的IP地址。
-
标准化的应用层协议,可以提供多种拥有大量用户的网络服务。
9.2 主机—网络层
-
TCP/IP参考模型的最低层,它负责通过网络发送和接收IP分组。
-
主机—网络层并没有规定具体的协议,它采取开放的策略,允许使用广域网、局域网与城域网的各种协议。
-
任何一种流行的低层传输协议都可以与TCP/IP协议互联网络层接口。这正体现了TCP/IP协议体系的开放性、兼容性的特点,也是TCP/IP协议成功应用的基础。
9.3 互联网络层
-
TCP/IP参考模型互联网络层的协议是IP协议。
-
IP协议是一种不可靠、无连接的数据报传送服务协议,它提供的是一种“尽力而为”(best-effort)的服务。
-
互联网络层的协议数据单元是IP分组。
9.4传输层
-
负责在会话进程之间建立和维护端—端连接,实现网络环境中分布式进程通信。
-
定义了两种不同的协议:TCP与UDP。
-
TCP是一种可靠的、面向连接、面向字节流(byte stream)的传输层协议。TCP协议提供比较完善的流量控制与拥塞控制功能。
-
UDP是一种不可靠的、无连接的传输层协议。
9.5 应用层
TCP/IP应用层基本的协议主要是:
-
远程登录协议(TELNET)
-
文件传输协议(FTP)
-
简单邮件传输协议(SMTP)
-
超文本传输协议(HTTP)
-
域名服务(DNS)协议
-
简单网络管理协议(SNMP)
-
动态主机配置协议(DHCP)
9.6 OSI参考模型与TCP/IP参考模型的比较
9.6.1对OSI参考模型的评价
-
会话层很少使用,表示层几乎是空的。数据链路层与网络层有很多子层插入,每个子层都有不同的功能。
-
将“服务”与“协议”的定义相结合,这就使参考模型结构变得相当复杂,实现起来很困难。
-
寻址、流量与差错控制在多个层次中重复出现,系统运行效率低。
-
参考模型的设计不适应于计算机与软件的工作方式。
-
参考模型与协议结构复杂,实现周期长,运行效率低,缺乏市场与商业推动力,这是它没有能够达到预期目标的主要原因。
9.6.2对TCP/IP参考模型的评价
TCP/IP参考模型在服务、接口与协议的区别上不很清楚。按照软件工程的思想,一个好的软件系统设计应该将功能与实现方法区分开,TCP/IP参考模型恰恰没有做到这点。
TCP/IP参考模型的主机—网络层本身并不是实际的一层,它定义了网络层与数据链路层的接口。物理层与数据链路层的划分是必要和合理的,一个好的参考模型应该将它们区分开,而TCP/IP参考模型恰恰也没有做到这点。
9.7简化的参考模型
-
应用层
-
传输层
-
网络层
-
数据链路层
-
物理层
将“服务”与“协议”的定义相结合,这就使参考模型结构变得相当复杂,实现起来很困难。
-
寻址、流量与差错控制在多个层次中重复出现,系统运行效率低。
-
参考模型的设计不适应于计算机与软件的工作方式。
-
参考模型与协议结构复杂,实现周期长,运行效率低,缺乏市场与商业推动力,这是它没有能够达到预期目标的主要原因。
9.6.2对TCP/IP参考模型的评价
TCP/IP参考模型在服务、接口与协议的区别上不很清楚。按照软件工程的思想,一个好的软件系统设计应该将功能与实现方法区分开,TCP/IP参考模型恰恰没有做到这点。
TCP/IP参考模型的主机—网络层本身并不是实际的一层,它定义了网络层与数据链路层的接口。物理层与数据链路层的划分是必要和合理的,一个好的参考模型应该将它们区分开,而TCP/IP参考模型恰恰也没有做到这点。
最后
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
就答题情况而言,第一问100%都可以回答正确,第二问大概只有50%正确率,第三问能回答正确的就不多了,第四问再正确就非常非常少了。其实此题并没有太多刁钻匪夷所思的用法,都是一些可能会遇到的场景,而大多数人但凡有1年到2年的工作经验都应该完全正确才对。
只能说有一些人太急躁太轻视了,希望大家通过此文了解js一些特性。
并祝愿大家在新的一年找工作面试中胆大心细,发挥出最好的水平,找到一份理想的工作。