1.OSI和TCP/IP模型各个层之间的协议和功能
物理层:透明传输比特流
数据链路层:封装成帧,透明传输,差错检测
网络层:负责为分组交换网上的不同主机提供通信服务,ip选址和路由选择
传输层:负责向两个主机中进程之间的通信提供服务,分用和复用,拥塞控制,流量控制,可靠传输。
应用层:为应用程序提供服务。
2.计算机网络为什么要分层
优点:便于维护和拓展,各层之间相互独立,灵活性好,结构上可以区分开,当某层不需要,可以去掉,促进标准化工作。
1.各层之间是独立的。某一层并不需要知道它的下一层是如何实现的,而仅 仅需要知道该层通过层间的接口所提供的服务。由于每一层只实现一种相对独立 的功能,因而可将一个难以处理的复杂问题分解为若干个较容易处理得更小一些 的问题。这样,整个问题的复杂程度就下降了。 2.灵活性好。当任何一层发生变化时(例如由于技术的变化),只要层间接 口关系保持不变,则在这层以上或以下各层均不受影响。此外,对某一层提供的 服务还可进行修改。 3.当某层提供的服务不再需要时,甚至可以将这层取消。 4.结构上可分割开。各层都可以采用最合适的技术来实现。 5.易于实现和维护。这种结构使得实现和调试一个庞大而又复杂的系统变得 易于处理,因为整个的系统已被分解为若干个相对独立的子系统。 6.能促进标准化工作。因为每一层的功能及其所提供的服务都已有了精确的 说明。
3.简述一下层次路由的原理(叙述一下与自治系统相关的内部网关协议和外部网关协议)单工,半双工,全双工通信
路由包括:直连路由,静态路由,动态路由,
以下均为动态路由:
为什么划分AS(自治系统)? 互联网规模非常大,如果路由表要存储所有 路由显然不可行,且许多单位并不想让别人知道其内部的布局细节,因而划分区 域自治系统。现在一般都是AS内部采用内部网关协议,如:RIP、OSPF;AS间 通信采用外部网关协议,如:BGP。 RIP:基于距离向量(可以理解为最短跳数),UDP传送,在固定的时间间隔 内和相邻路由器交换路由表;算法简单,易于实现,适用于小型网;坏消息 传得慢,有条数限制,更新较慢。 OSPF:最短路径优先(使用Dijkstra,求单源点最短路径),IP数据报传 送,当链路状态变化时,采用洪范法和其他路由器交互链路状态信息,最终 可以得到链路拓扑图,但只会存储下一跳地址;灵活可指派代价,可以实现 负载均衡,洪范法能够快速收敛,实现较为复杂; BGP:基于路径向量,要求可达而非最佳路径(因为出于安全政策等因素), 各个AS选择BGP代言人,代言人之间通过建立TCP链接实现BGP会话以交 换路由信息,一轮过后就能找出较好的路由;首次交换整个路由表,之后有 变化才交换;实现较简单。
4.协议三要素
协议:计算机网络中为了进行数据交换建立的规则集合
语法:表示要怎么做,规定数据的一些结构格式
语义:要做什么,要发出何种信息,做出何种动作,何种响应
时序:做的顺序,事件顺序的说明
5. 香农公式?奈氏准则?信道容量含义?带宽增加,信道容量怎么 变?香农公式的前提条件?
奈氏准则:在理想条件下(带宽受限无噪声),指出码元传输速率是有上限 的,超过此上限会出现严重的码间串扰;
香农公式:指出了在有噪声的条件下,信道的极限传输速率和信噪比和带宽 有关系 ,如果两者都达到了极限,想要提高速率只能通过让每个码元携带更 多的比特信息 (换一种编码方式)。
信道容量:反映了信道所能传输的最大信息量,带宽增加若其他因素不变, 信道容量变大。
6.简述一下CSMA/CD协议
协议的实质是载波监听和碰撞检测,先听先发,边听边发,冲突停发,随机延迟后重发
CSMA协议:“载波帧听”就是发送前先侦听,即每个站 在发送数据之前先要检测一下总线上是否有其他站点正在发送数据,若有则暂时 不发送数据,等待信道变为空闲时再发送。“碰撞检测”就是边发送边侦听,即 适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据 时其他站点是否也在发送数据。工作流程可简单概括为“先听后发,边听边发(区 别于CSMA 协议),冲突停发,随机重发” 。
7.TCP和UDP的异同点
相同点:都是传输层协议,都能保护网络层传输。双方通信都要开放端口
不同点:TCP是可靠传输,UDP是不可靠传输。 TCP是基于连接的协议,在正式收发数据前,必须建立可靠连接,UDP面向非连接的协议,它不与对方建立连接,直接发包。 TCP相对负载比较大,TCP采用套接字或者端口来建立通信,UDP是不可靠负载小。两者结构也不同,TCP提供超时重发,TCP有三次握手机制。TCp面向字节流,UDP面向数据报。
8.TCP的三次握手四次挥手过程,为什么会采用三次握手,若采用二次握手可以吗
三次握手:
客户端向服务器建立连接请求
服务器收到后,像客户端回复一个建立连接请求的响应
三次握手完成,正式建立连接。
四次挥手:
断开发起方向另一方发送断开请求
另一方收到后,回复一个响应
再由另一方主动发送一个断开连接请求
断开发起方收到后回复一个响应
四次挥手完成。
如果二次握手: 先假如出现了一种异常情况,即A发出的第一个连接请求报文段因为在某些 网络节点上滞留了。由于超时重传,于是A又向B发起请求并成功建立了连接, 在传输完数据之后,AB同之间释放了连接。 而在A和B已经释放连接之后,那个在网络上滞留的报文段又达到了B。这 时候,B接收到报文以为是A发起的新的一次建立连接的请求,于是就向A发出 确认建立连接报文段。而A此时并没有发起建立连接的请求,于是不予理睬。但 是B以为新的连接已经建立,一直等待A发送数据,于是B的许多资源就浪费了。
9.介绍下TCP和UDP协议的特点,头部结构
TCP和UDP头部均有:源端口和目的端口,和校验和信息,伪首部即为IP首部
TCP头部结构:序号,确认号,数据偏移,控制标志,窗口,校验和,紧急指针选项
UDP头部结构:长度。
10.简述下TCP建立连接的过程,TCP如何保证可靠传输。
TCP协议保证数据传输可靠性的方式主要有:
11.TCP流量控制
作用:使发送方的发送速率与接收方的应用程序读取速率相匹配,防止发送方发的太快
实现:接收方根据自己接受缓存大小,通过报文段头部的接收窗口rwnd字段,动态地调整发送方的发送速率
12.TCP拥塞控制
发送方根据通信的时延,估算网络的拥塞程度,计算一个拥塞窗口cwnd。来减小发送速率,防止网络中的路由器或链路过载。
TCP的流量控制和拥塞控制都是改变发送方的发送速率来达到控制。
流量控制解决发送方与接收方速率不匹配,通过接收窗口来实现
拥塞控制解决网络负载过大,是通过拥塞窗口来实现的。
13.路由器有什么作用
路由选择:根据路由协议构造出路由表,确定分组从源主机到目的主机的最佳路径。
分组转发:根据转发表,将分组从路由器的输入端口转移到合适的输出端口。
14.路由算法有哪些
链路状态路由算法
距离矢量路由算法
层次路由:将网络分为若干个自治系统,同一自治系统内的路由器运行相同的路由协议,每个自治系统有一些网关路由器,负责自治系统之间的路由
15.DHCP协议
动态主机配置协议,即插即用
协议过程:手机先播DHCP发现报文,服务器响应一个DHCP提供报文,手机再请求IP地址,最后服务器发送一个ACK,携带有分配的IP地址。
16.ICMP协议
用于差错检测和网络探询。
17.IPv6出现的动机是什么,报文头有哪些字段发生了变化。
IPV4ip地址不够用了
报文头20->40去除了校验和。
18.ip地址和mac地址的区别
ip地址是网络层的地址,是分层次的,MAC地址是数据链路层的地址,是平面式的。
ip地址是逻辑地址,mac地址是物理地址
ip不唯一 mac地址唯一
mac帧封装了ip数据报。
19.ARP协议
解决的问题:在同一个局域网内,如何在已知目的接口的ip情况下确定其MAC地址
ARP是一个即插即用的协议,每个节点维护一个ARP表,存放节点的IP、MAC映射关系,假设A给B发一个数据,则A广播一个分组,其中包含B的IP,B接收后,IP匹配成功,向A回复其MAC地址,A将该IP/MAC映射信息记录下来。