1.网络协议和Internet协议栈?
(1)网络协议概念:网络协议是计算机网络相互通信的对等层实体之间交换信息时必须遵守的规则或约定的集合。[网络协议是网络上所有设备(网络服务器、计算机及交换机、路由器、防火墙等)之间通信规则的集合,它规定了通信时信息必须采用的格式和这些格式的意义。]常见的协议有:TCP/IP协议、IPX/SPX协议、NetBEUI协议等。网络协议的三个基本要素:语法、语义和同步
①语法:数据和控制信息的结构或格式
②语义:用于协调和进行差错处理的控制信息
③时序(同步):是对事件实现顺序的详细说明
(2) Internet协议栈:因特网协议栈共有五层:应用层、传输层、网络层、链路层和物理层。
[①应用层是网络应用程序及其应用层协议存留的地方。该层包括的协议有,例如HTTP(它为web文档提供了请求和传送)、SMTP(它提供了电子邮件报文的传输)和FTP(它提供了两个端系统之间的文件传送)。
②运输层提供了在应用程序端点之间传送应用层报文的服务。该层有两个运输层协议,即TCP和UDP,利用其中的任何一个都能传输应用层报文.TCP向它的应用程序提供了面向连接的服务,UDP协议向它的应用程序提供无连接服务。
③网络层负责将称为数据报(datagram)的网络层分组从一台主机移动到另一台主机。该层有IP协议,该协议定义了数据报中的各个字段以及端系统和路由器如何作用于这些字段。
④数据链路层负责将IP数据报封装成合适在物理网络上传输的帧格式并传输,或将从物理网络接收到的帧解封,取出IP数据报交给网络层。
⑤物理层负责将比特流在结点间传输,即负责物理传输。该层的协议既与链路有关也与传输介质有关。]
2.描述Internet架构.( Internet网络体系结构?)
Internet网络体系结构以TCP/IP协议为核心。其中IP协议用来给各种不同的通信子网或局域网提供一个统一的互连平台,TCP协议则用来为应用程序提供端到端的通信和控制功能。Internet并不是一个实际的物理网络或独立的计算机网络,它是世界上各种使用统一TCP/IP协议的网络的互连。Internet已是一个在全球范围内急剧发展、且占主导地位的计算机互连网络。
网络协议是计算机网络必不可少的,一个完整的计算机网络需要有一套复杂的协议集合,组织复杂的计算机网络协议的最好方式就是层次模型。而将计算机网络层次模型和各层协议的集合定义为计算机网络体系结构(Network Architecture)。
计算机网络由多个互连的结点组成,结点之间要不断地交换数据和控制信息,要做到有条不紊地交换数据,每个结点就必须遵守一整套合理而严谨的结构化管理体系·计算机网络就是按照高度采用功能分层原理来实现的,即计算机网络体系结构的内容。
通常所说的计算机网络体系结构,即在世界范围内统一协议,制定软件标准和硬件标准,并将计算机网络及其部件所应完成的功能精确定义,从而使不同的计算机能够在相同功能中进行信息对接。
3.包延迟的四种类型?用caravan或其他例子以图文的形式作解释.
计算机网络中的四种延迟分别是:节点处理延迟 、排队延迟、发送延迟、传播延迟。
(1)节点处理延迟 :
路由器A检查该分组的头部,以确定把它导向哪个链路所需的时间。
节点处理延迟还可能包含其他因素,如在该分组的数据位从上游节点往路由器A的传送过程中,路由器A 可能在同步检查其中是否有位错发生,这种检查位错所造成的延迟。高速路由器中的处理延迟一般在微秒数量级或以下。
(2)排队延迟:
排队延迟是指分组在所排队列中等待被发送到出链路的时间;某个特定分组的排队延迟取决于等待通过同一个出链路转发出去的分组的数目。
分组的排队延迟取决于相应队列的分组到达强度和分布特性。排队延迟是分组交换网中的主要延迟,它指的是PDU(协议数据单元) 在传输路径上每交换一次所引起的缓冲延迟的集合。若分组交换临时过载, 每一个 PDU 的目的输出端口上可能有许多分组排队。
队列中位于 PDU 前的每一个分组都会产生一个等于传送延迟的附加延迟。在先进先出( FIFO) 队列机制的交换中,新到达的分组的排队延迟等于已在该输出端口上排队的所有分组传送延迟的总和。所以排队延迟既与队列前面的分组数量有关,也与输出端口的传送速度有关。
作为主要延迟的排队延迟受当前网络负载影响, 它也是分组交换网中延迟变化的主要因素。由 Internet 主干网上每个路由器都有大 量的数据包排队,排队延迟也成为Internet上的主要延迟。如若经过 10个路由器,每个路由器平均有10个IP数据包排队,在这条路径上的排队延迟能够达到上百毫秒。
(3)发送延迟:
是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间,发送时延 = 数据帧长度(b) / 信道带宽(b/s)。
L/R,实际的发送延迟一般在微秒数量级或以下。
(4)传播延迟 :
是电磁波在信道中传播一定的距离需要花费的时间,传播时延 = 信道长度(m) / 电磁波在信道上的传播速率(m/s)。
注:模二运算特点
(1)不接位或者进位;
(2)高位是1则商1,高位是0则商0;
(3)类似于异域运算(XOR)
5.解释MAC协议CSMA/CD, token ring的工作原理.
(1)MAC:Multiple Access Control 多路访问控制。MAC协议决定了节点什么时候允许发送分组,而且通常控制对物理层的所有访问。
三大类:
[①.信道划分
将信道划分为较小的“段”,一般有频分多址(FDMA)、时分多址(TDMA)、码分多址(CDMA)
为节点分配一部分专用
②.随机访问
不划分信道,允许碰撞发生并想办法从“碰撞”恢复。一般而言为竞争类的MAC协议,当然也有分配类和混合类的协议。对于WLAN,其中竞争类协议主要有CSMA,MACA,MACAW,FAMA,BTMA等。而非竞争类的协议主要有FPRP等协议。
③.“轮流”
节点轮流,但有更多信息要发送的能够轮流的较长时间]
(2) CSMA/CD:(Carrier Sense Multiple Access/collision detection,带有冲突检测的载波侦听多路存取)是IEEE 802.3使用的一种媒体访问控制方法。从逻辑上可以划分为两大部分:数据链路层的媒体访问控制子层(MAC)和物理层。它严格对应于ISO开放系统互连模式的最低两层。LLC子层和MAC子层在一起完成OSI模式的数据链路层的功能。
CSMA/CD的基本原理是:所有节点都共享网络传输信道,节点在发送数据之前,首先检测信道是否空闲,如果信道空闲则发送,否则就等待;在发送出信息后,再对冲突进行检测,当发现冲突时,则取消发送。
(3) token ring( 令牌环)上传输的小的数据(3个字节的一种特殊帧)叫为令牌,谁有令牌谁就有传输权限。如果环上的某个工作站收到令牌并且有信息发送,它就改变令牌中的一位(该操作将令牌变成一个帧开始序列),添加想传输的信息,然后将整个信息发往环中的下一工作站。
工作原理
①首先进行环的初始化(建立一逻辑环),然后产生一空令牌,在环上流动。
②希望发送帧的站必须等待,直到它检测到空令牌的到来。
③想发送的站拿到空令牌后,首先将其置为忙状态,该站紧接着向令牌的后面发送一个数据帧。
④当令牌忙时,由于网上无空令牌,所有想发送数据帧的站必须等待。
⑤数据沿途经过的每个站环接口都将该帧的目地地址和本站的地址相比较,如果地址符合,则将帧放入接收缓冲区,再送入本站,同时帧将在环上继续流动;若地址不符合,环接口只将数据帧转发。
⑥发送的帧沿环循环一周后再回到发送站,由发送站将该帧从环上移去,同时释放令牌(将其状态改为“闲”)发到下一站
6. IP 数据报各字段的含义
IP数据包由报头和数据两部分组成。报头的前一部分是固定长度,共20字节。在报头的固定部分的后面是可选部分——IP选项和填充域。
首部各字段的含义如下
1、版本
占4位,指IP协议的版本。
2、报头长度
占4位,该字段的单位是32位字(1个32位字长是4字节),因此当IP报头长度为1111时,报头长度就达到最大值60字节。当IP分组的首部长度不是4字节的整数倍时,就需要对填充域加以填充。最常用的报头长度为20位(报头长度值为0101),这时不使用任何选项。
3、区分服务(服务类型)
占8位,在一般情况下都不使用这个字段。
4、总长度
指报头和数据之和的长度,单位是字节。总长度字段为16位,故IP数据报的最大长度为65535。
每一种数据链路层都有其自己的帧格式,其中包括帧格式中的数据字段的最大长度,这称为最大传送单元MTU。当IP数据报封装成链路层的帧时,此数据报的总长度不能超过对应MTU的值。若数据报长度超过对于MTU的值,就将数据报进行分片处理,此时数据报首部中的“总长度“字段是指分片后的每一个分片的报头长度和数据长度之和。
5、标识
占16位。IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并赋给标识字段。当数据报进行分片处理后,每个分片的标识值都与原数据报的标识值相同,则在接收端具有相同标识值的分片就能最终正确的重装成为原来的数据报。
6、标志
占3位,但目前只有两位有意义。
最低位记为MF。MF=1即表示后面”还有分片“的数据包。MF=0表示这已是若干数据包片中的最后一个。
中间位记为DF,意思是”不能分片“。只有当DF=0时才允许分片。
7、片偏移
占13位。表示每个数据报的分片在原数据报中的相对位置。片偏移以8个字节为偏移单位,即每个分片的长度一定是8字节的整数倍。
8、生存时间
占8位。表示数据报在网络中的寿命。最初以秒为TTL值为单位,现在以跳数为单位,则目前的最大数据为255.
9、协议
占8位,指出此数据报携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分上交给那个处理过程。
TCP对应协议字段值6;UDP对应协议字段值17
10、首部校验和
占16位,该字段只校验数据报的报头,但不包括数据部分。
11、源地址
占32位
12、目的地址
占32位
7.用图文的形式解释TCP三次握手.
所谓三次握手(Three-way Handshake),是指建立一个 TCP 连接时,需要客户端和服务器总共发送3个报文。
三次握手的目的是连接服务器指定端口,建立 TCP 连接,并同步连接双方的序列号和确认号,交换 TCP 窗口大小信息。在 socket 编程中,客户端执行 connect() 时。将触发三次握手。
三次握手过程的示意图如下:
第一次握手:
客户端将TCP报文标志位SYN置为1,随机产生一个序号值seq=J,保存在TCP首部的序列号(Sequence Number)字段里,指明客户端打算连接的服务器的端口,并将该数据包发送给服务器端,发送完毕后,客户端进入SYN_SENT状态,等待服务器端确认。
第二次握手:
服务器端收到数据包后由标志位SYN=1知道客户端请求建立连接,服务器端将TCP报文标志位SYN和ACK都置为1,ack=J+1,随机产生一个序号值seq=K,并将该数据包发送给客户端以确认连接请求,服务器端进入SYN_RCVD状态。
第三次握手:
客户端收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给服务器端,服务器端检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,客户端和服务器端进入ESTABLISHED状态,完成三次握手,随后客户端与服务器端之间可以开始传输数据了。
注意:我们上面写的ack和ACK,不是同一个概念:
小写的ack代表的是头部的确认号Acknowledge number, 缩写ack,是对上一个包的序号进行确认的号,ack=seq+1。
大写的ACK,则是我们上面说的TCP首部的标志位,用于标志的TCP包是否对上一个包进行了确认操作,如果确认了,则把ACK标志位设置成1。
9. “simple” content access scenario in CDN的运行过程理解。
.
CDN是将源站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景。
最简单的CDN网络由一个DNS服务器和几台缓存服务器组成:
①当用户点击网站页面上的内容URL,经过本地DNS系统解析,DNS系统会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器。
②CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户。
③用户向CDN的全局负载均衡设备发起内容URL访问请求。
④CDN全局负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。
⑤区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务,选择的依据包括:根据用户IP地址,判断哪一台服务器距用户最近;根据用户所请求的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。基于以上这些条件的综合分析之后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的IP地址。
⑥全局负载均衡设备把服务器的IP地址返回给用户。
⑦用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容,而区域均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。