Computer Network
发布时间:
This is a note on computer network
简述ISO/OSI参考模型层次结构及各层次完成的功能?
OSI有7层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
物理层:负责在物理媒介上传输比特流,定义了电气特性、机械特性、功能特性和规程特性。
- 数据链路层:负责在物理层提供的比特流上建立逻辑连接,实现点对点或点对多点的可靠传输。常用的协议有以太网、PPP、HDLC、帧中继、ATM等。
- 网络层:负责为分组交换网上的不同主机提供通信服务,实现分组的路由选择和转发。常用的协议有IP、ICMP、ARP、RARP、OSPF、RIP、BGP等。
- 传输层:负责为端到端的用户提供可靠的或不可靠的传输服务,实现进程间的数据传输。常用的协议有TCP、UDP、SCTP等。
- 会话层:负责建立、管理和终止会话,实现不同主机上的应用程序之间的对话控制。常用的协议有RPC、SQL、NFS、NetBIOS、ASP等。
- 表示层:负责对数据进行表示、转换、加密和压缩,实现不同系统之间的数据格式和语法的转换。常用的协议有JPEG、MPEG、SSL、XDR、ASN.1等。
- 应用层:负责为用户提供各种网络服务,实现用户与网络之间的接口。常用的协议有HTTP、FTP、SMTP、POP3、DNS、TELNET、SNMP等。
TCP/IP四层
- 应用层:直接为用户的应用进程提供服务。
- 传输层:提供了节点间的数据传送,应用程序之间的通信服务,主要功能是数据格式化、数据确认和丢失重传等。向上一层进行通信的两个进程之间提供端到端的服务,使得看不见传输层以下的细节。
- 网络层:负责提供基本的数据封包传送功能,选择合适的路由,使得发送站传输层传来的分组正确无误地传到目的站,并且交付给传输层,让每一块数据包都能够到达目的主机(但不检查是否被正确接收)。
- 网络接口层:透明传输比特流,在相邻的节点间无差错传送帧,对帧加上相应控制信息。接收IP数据报并进行传输,从网络上接收物理帧,抽取IP数据报转交给下一层,对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。
在星型、环型和总线型网络中,各自采用什么方法实现“广播”式传输?
- 星型网络通过中间节点将一个节点发来的数据同时转发给其他所有节点,达到“广播式”传输。
- 环形网络通过发送方发送数据帧,数据帧遍历各个节点,最后由发送方将数据帧从环上取下,从而达到“广播式”传输。
- 总线型依赖于数据信号沿着总线向两端传播的基本特性实现“广播式”传输。
面向连接和无连接的通信在路由选择上有哪些差别?
面向连接的通信,在建立连接阶段通过使用路由表建立一个路径转发表,连接建立好之后,不再使用路由表,而直接使用路径转发表。(通信双方通信之前先建立起连接,在通信过程中连接情况一直被监控管理,结束后释放连接)
无连接的通信,在每个数据包到达路由器时,都需要进行路由选择,然后使用路由表进行转发。(不需要建立连接,通信时直接将信息发送到网络,让信息在网络中尽力而为地传送)
试比较HDLC规程和LLC协议的异同
HDLC实现了完整的数据链路层功能,而在局域网体系中,数据链路层功能由LLC与MAC子层实现,LLC封装在MAC帧中,因此没有校验或同步标志。 LLC 帧地址是服务访问点地址,不是物理地址,物理地址在MAC中。LLC只定义了一种数据传输模式,简化了HDLC。
为什么要把IP地址解析成MAC地址才能实现数据传输?怎样进行地址解析
主机相互通信时,首先要知道对方IP地址所对应的物理地址才能在物理网络上进行传输。
地址解析通过ARP协议完成。
简述TCP 协议建立连接时的“三次握手”过程,并说明其起的作用?
建立连接 (1)A发送建立A→B连接的请求。
(2)B对A的连接请求进行确认,并请求建立B→A的连接。
(3)A对B的连接请求进行确认。
作用:防止报文段在传输连接建立过程中出现差错。可以解决延迟分组问题,保证数据的交换和可靠性。
释放连接 (1)A发送连接释放报文段。
(2)B对A的连接释放进行确认。
(3)B发送连接释放报文段。
(4)A对B的连接释放进行确认。
作用:TCP提供的是全双工通信,经过“四次握手”才能把双向连接全部释放。
TCP的多路复用是通过什么机制提供的,并简述该机制的概念和用途?
多路复用通过端口机制提供;
端口机制用于标志主机上的不同进程通信。
一个主机上的多个应用程序可以通过不同的端口同时使用TCP。
给出 CSMA/CD介质访问控制协议的数据帧发送和接收过程(可用流程图描述)。在CSMA/CD协议中,为什么会发生冲突?CSMA/CD采用何种措施来解决冲突?在CSMA/CD协议中,为什么会产生帧碎片,怎样滤除帧碎片?
终端设备不停地检测共享线路的状态。如果线路空闲,则可以发送数据;
如果线路不空闲,则等待一段时间后继续检测(延时时间由退避算法决定)。 如果有另外一个设备同时发送数据,两个设备发送的数据会产生冲突。 终端设备检测到冲突之后,会马上停止发送自己的数据,并发送特殊阻塞信息,以强化冲突信号,使线路上其他站点能够尽早检测到冲突。 终端设备检测到冲突后,等待一段时间之后再进行数据发送(延时时间由退避算法决定)。
CSMA/CD的工作原理可简单总结为:先听后发,边发边听,冲突停发,随机延迟后重发。
由于多个发送方同时检测到介质空闲,并且发送数据,因而产生冲突;冲突发生后,发送方各自延迟随机时间,再争用介质,随机时间采用截断二进制指数类型退避算法进行决定。 当冲突产生后,会产生帧碎片当接受到的数据帧长度小于最小帧长限制时,则认为是帧碎片,进行丢弃。(在争用期检测到碰撞,则已发送的帧的长度一定小于最短帧长)
请解释对于CSMACD 协议为什么有最小帧长的限制?
最短帧长=总线传播时延 * 数据传输速率 * 2
CSMA/CD协议用于多个范点访问共享信道的情况,这种情况容易产生冲突。为了检测冲突,发送的帧的最短长度应要保证在发送完毕之前,必须能够检测到可能最晚来到的冲突信号。这段时间一般取一比特往返一周的时间51.2μs,这段时间发送节点一直在发送数据同时检测信道,即发送了64字节(这里默认以太网传输速率为10mbps),因此最小帧长为64字节。
一名学生 A希望访问网站www.google.com。学生A在其浏览器中输入http://www.google.com并按回车直到Google的网站首页显示在其浏览器中,请问:在此过程中,按照TCP/P参考模型,从应用层(包括应用层)到网络接口层(包括网络接口层)都用到了哪些协议?每个协议所起的作用是什么?
各层协议: ①应用层:HTTP:WWW访问协议 DNS:域名解析服务。 ②传输层:TCP:在客户和服务器之间建立连接,提供可靠的数据传输;UDP:无连接的用户数据报协议(因为用到DNS协议,所以会用到UDP协议)。 ③网际层:IP:进行路由选择;ICMP:提供网络传输中的差错检测;ARP:将目的I 地址映射成物理MAC地址。 ④网络接口层:LLC和MAC:提供数据链路层的功能,实现可靠的数据链路。
过程描述如下: ①利用DNS,查询到www.google.com对应的IP地址。 ②浏览器与google的服务器利用TCP协议建立连接。 ③浏览器利用HTTP的GET方法向google服务器发送资源请求。 ④google发送回应信息。 ⑤TCP释放连接。 ⑥浏览器解释回应信息,并以图形化的方式显示。
请说明为什么在TCP的建立连接和拆除连接要采用三次握手机制?
建立连接“三次握手”作用:既要双方做好发送数据的准备工作,也要允许双方就初始序列号进行协商;可以解决延迟分组问题,保证数据的交换和可靠性。 释放连接“四次握手”作用:TCP提供的是全双工通信,经过“四次握手”才能把双向连接全部释放。
为什么一定进行三次握手?
当客户端向服务器端发送一个连接请求时,由于某种原因长时间驻留在网络节点中,无法达到服务器端,由于TCP的超时重传机制,当客户端在特定的时间内没有收到服务器端的确认应答信息,则会重新向服务器端发送连接请求,且该连接请求得到服务器端的响应并正常建立连接,进而传输数据、当数据传输完毕,并释放了此次 TCP连接。
若此时第一次发送的连接请求报文段延迟了一段时间后,到达了服务器端,本来这是一个早已失效的报文段,但是服务器端收到该连接请求后误以为客户端又发出了一次新的连接请求,于是服务器端向客户端发出确认应答报文段,并同意建立连接。
如果没有采用三次握手建立连接,由于服务器端发送了确认应答信息,则表示新的连接成功建立,但是客户端此时并没有向服务器端发出任何连接请求,因此客户端忽略服务器端的确认应答报文!更不会向服务器端传输数据。而服务器端却认为新的连接已经建立了,并在一直等待客户端发送数据、这样服务器端一直处于等待接收数据,直到超出计数器的设定值,则认为服务器端出现异常,并且关闭这个连接。在这个等待的过程中,浪费服务器的资源。如果采用三次握手,客户端就不会向服务器发出确认应答消息,服务器端由于没有收到客户端的确认应答信息从而判定客户端并没有请求建立连接,从而不建立该连接。
为什么TCP挥手要比握手多一次?
因为当处于 LISTEN状态的服务器端收到来自客户端的SYN报文(客户端希望新建一个 TCP连接)时,服务器可以把 ACK(确认应答)和 SYN(同步序号)放在同一个报文里来发送给客户端。
但在关闭TCP连接时,当收到对方的FIN报文时,对方仅仅表示对方已经没有数据发送给你了,但是你自己可能还有数据需要发送给对方,则等你发送完剩余的数据给对方之后,再发送FIN报文给对方来表示你的数据已经发送完毕,并请求关闭连接,所以通常情况下,这里的 ACK报文和FIN报文都是分开发送的。
中继器
中继器(RP repeater)又称转发器,主要功能是将信号整形并放大再转发出去,以消除信号经过一长段电缆后,因噪声或其他原因而造成的失真和衰减,使信号的波形和强度达到所需要的要求,进而扩大网络传输的距离。 原理: 信号再生(而非简单地将衰减的信号放大)。中继器有两个端口,数据从一个端口输入,再从另一个端口发出。端口仅作用于信号的电气部分,而不管数据中是否有错误数据或不适于网段的数据。不能连接两个具有不同速率的局域网。
网桥具有哪些主要功能,并举例说明网桥的工作原理。
网桥的功能:网桥(Bridge)是一个局域网与另一个局域网之间建立连接的桥梁。网桥工作在链路层的MAC子层,可以使以太网各网段成为隔离开的冲突域。
(1)网桥在数据链路层上实现局域网互连。
(2)网桥能够互连两个采用不同传输介质与不同传输速率的网络;
(3)网桥以接收、存储、地址过滤与转发的方式实现互连的网络之间的通信;
(4)网桥需要互连的网络在数据链路层以上采用相同的协议;
(5)网桥可以分隔两个网络之间的通信量,有利于改善互连网络的性能与安全性。
举例:把分布在两层楼上的网络分成每层一个网络段,段间用网桥连接,这样的配置可最大限度地缓解网络通信繁忙的程度,提高通信效率。同时,由于网桥的隔离作用,一个网络段上的故障不会影响另一个网络段,从而提高了网络的可靠性。
交换机
以太网交换机是一个多端口的网桥,它工作在数据链路层。交换机能将网络分成小的冲突域,以太网交换机的原理是,它检测从以太端口来的数据帧的源和目的地的MAC (介质访问层) 地址,然后与系统内部的动态查找表(自学习)进行比较,若数据帧的MAC 地址不在查找表中,则将该地址加入查找表,并将数据帧发送给相应的目的端口。
直通式交换机只检查帧的目的地址,这使得帧在接收后几乎能马上被传出去。这种方式速度快,但缺乏智能性和安全性,也无法支持具有不同速率的端门的交换。
存储转发式交换机先将接收到的帧缓存到高速缓存器中,并检查数据是否正确,确认无误后通过查找表转换成输出端口将该帧发送出去。如果发现帧有错,那么就将其丢弃。存储转发式的优点是可靠性高,并能支持不同速率端口间的转换,缺点是延迟较大。
请简述路由器的功能及其工作原理
功能:路由和转发。可以决定数据包从来源端到目的端所经过的路由路径(host到host 之间的最佳传输路径),这个过程称为路由,将路由器输入端的数据包移送至适当的路由器输出端(在路由器内部进行),这称为转发。
工作原理:实质是一种多个输入端口和多个输出端口的专用计算机。将路由器某个输入端口收到的分组按照分组要去的目的地,把该分组从路由器的某个合适的输出端口转发给下一跳路由器,下一跳也按照这种方法处理分组,直到到达终点为止。
交换机和路由器的区别
交换机
- 用于同一网络内部数据的快速传输
- 转发决策通过查看二层头部完成
- 转发不需要修改数据帧
- 工作数据链路层
- 工作简单,直接使用硬件处理
路由器
- 用于不同网络间数据的跨网络传输
- 转发决策通过查看三层头部完成
- 转发需要修改 TTL ,IP 头部校验和需要重新计算,数据帧需要重新封装
- 工作在网络层
- 工作复杂,使用软件处理
请比较三层交换机及路由器的工作差别。
(1)三层交换机是一种简化的路由器。主要功能是数据交换,路由功能较简单,主要用于局域网连接。
(2)路由器的主要功能是路由功能,用于不同类型网络之间的互联。
(3)在数据报交换上,路由器一般由软件执行数据报交换,而三层交换机通过硬件执行数据报交换。
三层与路由区别:
①表不同:路由器有一张路由器表,而交换机有一张桥表;
②功能不同:路由器是不同网段之间的连接设备,主要有路由选择、拥塞控制、存储转发功能:;交换机只有扩展延伸同一网络更多终端的作用。
③协议不同:路由器用的协议多与软件有关,交换机所用协议多与硬件接口有关。
④作用地址不同:路由器针对的地址是IP地址,可以用静态分配和动态分配,是变化的;而交换机作用地址是MAC地址,这是设备厂商出厂时就固化在设备中的,只能有一个,不能变化。
三层交换机与路由器区别还可答:
①功能:三层交换机和路由器一样属于网络层设备,能够进行三层数据包的转发;
②性能:三层交换机能够基于ASIC芯进行硬件的转发(一次路由多次交换);路由器通过CPU+软件进行运算转发数据,性能低;
③接口类型:三层交换机一般只具备以太网接口,类型单一,接口密度大;路由器能够提供各种类型的广域网接口,能够连接不同类型的网络链路,接口数较少
④应用环境:三层交换机一般用于局域网内不同网段间的互通,路由器一般用于网络出口或广域网互联。
二层与三层区别
二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息.根据MAC地址进行转发,并将这些 MAC地址与对应的端口记录在自己内部的一个地址表中。二层交换机与三层交换机的区别:
①二层交换机工作在数据链路层,三层交换机工作在网络层;
②二层交换机使用的是MAC地址交换表,三层交换机是加快大型局域网内部的数据交换,所具有的路由功能也是为这目的服务的,能够做到一次路由,多次转发。
比较集线器和二层交换机的工作差别
(1)交换机是基于数据链路层的网络设备,能够识别、转发、决策、过滤MAC地址。集线器是基于物理层的网络设备,不具有智能化的功能,不能识别MAC,只能广播。
(2)交换机能支持多种网络协议,分割冲突域,集线器只能作为最基础的广播寻址,不支持任何网络协议,不能分割冲突域。
(3)交换机是基于交换式的网络带宽,每个端口都有独享的带宽和信道,而集线器是基于共享带宽,每个端口都共享整个带宽。
比较集线器与二层交换机的工作差别。
集线器实际是一个多端口的中继器,采用广播方式,不能隔离冲突域;交换机实际是一个多端口的网桥,采用存储转发方式,能隔离冲突域。区别如下
①工作层次:集线器工作在物理层,属于第一层设备,每发送一个数据,所有的端口均可以收到,采用了广播的方式,因此网络性能受到很大的限制;交换机工作在数据链路层,属于第二层设备,通过学习之后,每个端口形成一张 MAC地址转发表,根据数据包的MAC地址转发数据,而不是广播形式。
②转发方式:集线器的工作原理是广播形式,无论哪个端口收到数据之后,都要广播到所有的端口,当接入设备比较多时,网络性能会受到很大的影响;交换机根据MAC地址转发数据,收到数据包之后,检查报文的目的MAC地址,找到对应的端口进行转发,而不是广播到所有的端口。
③传输模式:集线器内部采用了总线型拓扑,各个节点共用一条总线进行通信,数据包的发送和接收采用了CSMA/CD协议,在同一时间内必须是单向的,只能维持在半双工模式下。两个端口不能同时收发数据,并且当两个端口通信时,其他端口不同工作;当交换机上的两个端口通信时,它们之间的通道是相互独立的,可以实现全双工通信。两个端口同时收发数据。
④带宽影响:集线器无论有多少个端口,所有的端口共享一条宽带,同一时刻只能有两个端口传输数据,并且只能工作在半双工模式下;交换机的每个端口独占带宽人两个端口交互数据并不影响其他端口交换数据。
转发和路由选择的区别
“转发”是路由器根据转发表把收到的IP数据报从合适的端口转发出去,它仅涉及一个路由器。
“路由选择”则涉及很多路由器,路由表是许多路由器协同工作的结果。这些路由器按照复杂的路由算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态的改变所选择的路由,并由此构造出整个路由表。
网桥和路由器的区别
1.网桥只能连接两个逻辑相同的网络(它相当于一个二层交换机),而路由器可以连接不同网络;网桥就是把不同物理位置的机器组成一个大的局域网,连接的多个网络属于同一个局域网;网桥连接的两个网络在逻辑上属于同一个局域网,但可以是不同策略的网络,如以太网和令牌环网;路由器可以连接不同的网络,连接的网络之间可以说没什么关系,是独立的;
2.网桥基于 MAC 地址转发,路由器基于 IP 转发;
3.网桥不隔离广播,而路由器可以隔离广播;
4.网桥工作在链路层,路由器工作在网络层;
路由算法可分为静态路由算法和动态路由算法,写出每一大类中的其中一种算法,并详细说明其算法原理。
静态路由选择算法:手动配置路由信息,预先计算出每个路由器的路由表,路由器启动之前加载到路由器中,工作工程中路由表内容不变。若网络拓扑结构或其他网络参数变化,则需重新预计各路由表信息,并重新加载到路由器。
动态路由选择算法:当网络拓扑结构和通信量变化时,及时获取动态变化信息,并以此作为路由选择依据,能及时适应网络状态的变化。
静态路由选择算法:
最短路径选择算法(SP)。
(1)设第M步已经搜索到-一个最短路径,该路径上有N个距离源节点最近的节点,它们构成了一个集合。
(2)在第M+1步,继续搜索不属于N的距离源结点最近的节点,并将搜索到的节点加入N中。
(3)继续搜索过程,直到找到目的节点,N为最短路径。
基于流量的选择算法(FR): . 对于一个给定的线路,若知道负荷量和平均流量,可用队列理论算出平均分组延迟,有所有线路的平均延迟可得出流量加权平均值,从而得到整个网络的平均分组延迟。路由选择就是要找出产生网络延迟最小的路由算法。
动态路由选择算法:
DVR距离向量路由选择算法: 每个路由器维护–个路由表,表中有目的节点的最佳路径和线路,每个路由器都要与相邻的路由器交换路由信息,来更新路由表,使路由表信息反映网络最新动态变化。
链路状态路由选择算法(LSR):
1.发现路 由器,获取网络地址 2.测量到各个路由器的时间延迟或线路开销 3.将测量值通告给其他路由器 4.计算网络最短路径。
动态路由算法大致可以分为两类:
- 距离矢量路由算法
- 链路状态路由算法
1、距离矢量路由算法
这类算法的基本思路是:网络中每一个路由器都要维护一张 矢量表 ,这个 矢量表 中的每一行都记录了从当前位置能到达的目标路由器的最佳出口(接口)和距离(跳数)。
每隔一段时间当前路由器会向所有的邻居节点发送自己的这个表,同时它也会接收每个邻居发来的它们的表。并会将邻居的表和自己的表做一个对比更新。 比如当前 路由器X 离 邻居Y路由器 的距离是m,此时收到 邻居Y 发来的表中写到了“ 邻居Y离路由器Z的距离是n ”,那 当前路由器X 就知道它离 路由器Z 的距离可能就是 m+n 了,如图:
就这样继续类推,要不了多久,每个路由器就可以将网络中所有路由节点和子网线路都汇聚起来了。这样的话,每个路由器只需要查找自己的表就可以很容易的知道到达目的地的最佳出口(接口)是哪个了。
当然,当网络结构发生变化的时候,各个路由器中的矢量表也会随之动态更新。
好了,讲到这里,基本上对「距离矢量路由算法」大概原理有个认识了,现在我们再来仔细分析分析这个算法的名字,可以发现,它的名字取的还是蛮有意思的,非常贴切。“距离”这个词就基本表明了这个算法是通过 距离(跳数/时间)来度量2个路由网络之间的线路的,而“矢量”这个词,可以看出线路是有方向性的,且路由表中只记录了数据包去往目的地应该走哪个出口方向,并不会记录到达目的地的整条路径。
「距离矢量路由算法」的优点很明显:非常简单清晰,且任何加入到网络中的新节点都能很快的与其它节点建立起联系获得补充信息。
缺点呢,首先就是每次发送信息的时候,要发送整个全局路由表,太大了,因为每个路由器需要在矢量表中记录下整个网络的信息,导致需要较大存储、CPU、网络开销,对资源的要求越来越高。还有一个问题就是收敛时间太慢,也就是路由器共享路由信息并使各台路由器掌握的网络情况达到一致所需的时间比较久,收敛速度慢会导致有些路由器的表更新慢,从而造成路由环路的问题。
2、链路状态路由算法
链路状态路由算法(Link State Routing ),基于Dijkstra算法,它是以图论作为理论基础,用图来表示网络拓扑结构,用图论中的最短路径算法来计算网络间的最佳路由。基于这类算法实现的协议有:OSPF 等。
这类算法的基本思路是:采用的是不停的拼接地图的方式。每一个路由器首先都会发现自己身边的邻居节点,然后将自己与邻居节点之间的链路状态包广播出去,发送到整个网络。这样,当某个路由器收到从网络中其它路由器广播来的路由信息包(链路状态包)之后,会将这个包中的信息与自己路由器上的信息进行拼装,最终形成一个全网的拓扑视图。
在动态路由选择算法中,路由表如何更新?
距离矢量路由DVR:相邻路由表交换信息,使路由表总是总是反映最新动态变化情况。
链路状态路由LSR:通过发送 Echo 分组测算估计值,然后分组可以周期性发送,也可以在网络发生重大事件时发送。链路状态以软件状态方式保存在路由表中。
总之:DVR:告诉相邻;LSR:告诉所有。
试举出5种网络设备,并利用网络层次结构知识分析其中任意三种没备的工作原理以及区别。
物理层设备:中继器、集线器;数据链路层设备:网桥、交换机;网络层设备:路由器
中继器:主机之间一般是非屏蔽双绞线,距离变长后需要用中继器将一衰减的不完整的信号经过整理重新产生出完整的信号再继续发送。
集线器:实际是一种多端口的中继器,每个接口连接大台计算机,集线器处于网络的“中心”,对信号进行转发,实现各端口计算机之间的互联互通。
路由器:实质是一种多个输入端口和多个输出端口的专用计算机。将路由器某个输入端口收到的分组按照分组要去的目的地,把该分组从路由器的某个合适的输出端口转发给下一跳路由器,下一跳也按照这种方法处理分组,直到到达终点为止。
区别: 中继器和集线器不能隔离冲突域和广播域,而路由器可以隔离冲突域和广播域。 中继器和集线器连接起来的几个网段仍然是局域网,而路由器是连接不同的网络。
试分析为什么无线局域网不能使用CSMA/CD协议,并简要描述无线局域网介质访问控制协议的运作机制。
(1)CSMA/CD协议要求每一个站点在发送本站数据的同时,还必须不间断地检测信道,但在无线局域网地设备中实现这种功能花费较大。
(2)即使能够实现碰撞检测的功能,并具在发送数据时检测到信道是空闲的,在接受端仍然有可能碰撞。
(3)另外,接收端接收到的信号的强度往往会远小于发送信号的强度,且在无线介质上信号的强度往往会变化很广,要实现碰撞检测,硬件花费会很大。
(4)在无线局域网中,并非所有的站点都能听见对方,即“隐蔽站”的问题。
运作机制: (1)首先检测信道是否有使用,如果检测出信道繁忙,则等待一段随机时间并进入争用窗口,使用截断二进制指数类型退避算法计算随机退避时间,以便再次重新接入信道,直到送出数据。
(2)预约信道:发送数据的同时向其它站点通知自己传输数据所需时间长度。以便其他站点在这段时间内不发送数据,避免碰撞。
(3)ACK帧:接收端如果正确收到此帧,则向发送端发送确认帧ACK。发送端收到ACK帧,确定数据正确传输。
(4)RTS/CTS帧。可选的碰撞避免机制,解决“隐蔽站问题。
什么是URL?URL由哪些部分组成,并举例说明。
URL的作用:URL是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
URL的组成部分:基本URL包含模式(或称协议)、服务器名称(或IP地址)、路径和文件名,如“协议://授权/路径?查询”。完整的、带有授权部分的普通统一资源标志符语法看上去如下:协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志。
1.协议部分:该URL的协议部分为“http:”,这代表网页使用的是HTTP协议。在Internet中可以使用多种协议,如HTTP,FTP等等本例中使用的是HTTP协议。在”HTTP”后面的“//”为分隔符
2.域名部分:该URL的域名部分为“www.aspxfans.com”。一个URL中,也可以使用IP地址作为域名使用
3.端口部分:跟在域名后面的是端口,域名和端口之间使用“:”作为分隔符。端口不是一个URL必须的部分,如果省略端口部分,将采用默认端口
4.虚拟目录部分:从域名后的第一个“/”开始到最后一个“/”为止,是虚拟目录部分。虚拟目录也不是一个URL必须的部分。本例中的虚拟目录是“/news/”
5.文件名部分:从域名后的最后一个“/”开始到“?”为止,是文件名部分,如果没有“?”,则是从域名后的最后一个“/”开始到“#”为止,是文件部分,如果没有“?”和“#”,那么从域名后的最后一个“/”开始到结束,都是文件名部分。本例中的文件名是“index.asp”。文件名部分也不是一个URL必须的部分,如果省略该部分,则使用默认的文件名
6.锚部分:从“#”开始到最后,都是锚部分。本例中的锚部分是“name”。锚部分也不是一个URL必须的部分
7.参数部分:从“?”开始到“#”为止之间的部分为参数部分,又称搜索部分、查询部分。本例中的参数部分为“boardID=5&ID=24618&page=1”。参数可以允许有多个参数,参数与参数之间用“&”作为分隔符。
什么是CSMA/CA? 与CSMA/CD的区别?
CSMA/CA: (1)CSMA/CA是无线局域网络在DCP 模式下所采用的一种介质访问控制协议。 (2)含义:载波帧听、多路访问/冲突避免。
差异: (1)载波检测方式:因传输介质不同,CSMA/CD与CSMA/CA的检测方式也不同。CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而CSMA/CA采用能量检测(ED)、载波检测(CS)和能量载波混合检测三种检测信道空闲的方式。 (2)信道利用率比较CSMA/CA协议信道利用率低于CSMA/CD协议信道利用率。但是由于无线传输的特性,在无线局域网不能采用有线局域网的CSMA/CD协议。信道利用率受传输距离和空旷程度的影响,当距离远或者有障碍物影响时会存在隐藏终端问题,降低信道利用率。
CSMA/CD工作原理?
工作原理:
(1)多点接入。网络中的主机以多点接入的方式连接在总线上
(2)载波监听。CSMA/CD 协议要求发送端在发送数据前对总线进行监听,若监听到其他计算机在发送数据,则等待一段时间,在总线空闲时才开始发送数据。
(3)“碰撞”监听。在数据发送过程中需保持对总线上信号的监听,根据信号电平的变化幅度即可判断是否发生了碰撞。一旦监听到碰撞就立即停止数据发送,等待一段时间后再次尝试重发,直至发送成功。
过程如下: 每个站在发送数据之前要检测总线上悬否有其他计算机在发送数据。若有,暂时不发送数据,以免冲突若没有,则发送数据,在发送数据的同时检测信道上是否有冲突发生,若有,采用截断二进制指数类型退避算法来等待一段随机时间后重发,即“先听后发,边听边发,冲突停发,随机重发”。
IPv4到IPv6过渡技术?
(1)NAT:将专用网内部使用的本地IP地址转换成有效的外部全球IP地址,使得整个专用网只需要一个全球IP地址就可以与因特网联通。由于本地 IP地址是可重用的,可大大减少IP地址的消耗。 子网划分:从主机号借用若于个比特作为子网号形成三级IP地址,当从其它网络发送给本单位某个机的IP分组,仍根据IP分组的目的网络号先找到连接在本单位网络上的路由器,然后此路由器在收到IP分组后,再按目的网络号和子网号找到目的子网,最后将IP分组直接交付给目的主机。
CIDR:消除了传统的A、B、C类地址及划分子网的概念。可更加有效的分配IPV4的地址空间,使用各种长度的“网络前缀”来代替分类地址中的网络号和子网号,回到了两级编址。 (2)双协议栈和隧道技术 双协议栈:在完全过渡到IPV6之前,使一部分主机(路由器)装有两个协议栈,一个 IPV4,一个IPV6,使用域名系统来查询,与IPV6主机通信使用IPV6,与IPV4主机通信时采用IPV4。 隧道技术:IPV6 数据报进入IPV4网络时,将 IPV6 数据报封装成 IPV4、数据报,然后IPV6数据报就在IPV4网络的隧道中传输。当IPV4数据报离开IPV4网络的隧道时,再把数据报部分交给主机的IPV6协议。
简述因特网某一个路由器的IP执行的分组转发算法?
(1)从IP数据报的首部提取目的地址D,得出网络地址N
(2)若N是与路由器直接相连的网络地址,则直接交付给D,否则(3)
(3)若路由表中有D主机路由,则数据报传送给下一跳路由器,否则(4);
(4)若路由表中有到网络N的路由,则数据报传送给下一跳路由器,否则(5)
(5)若路由表中有默认路由,则数据报传送给默认路由器,否则(6)
(6)报告分组转发出错
TCP 协议是面向连接的,但TCP使用的IP协议却是无连接的。这两种协议都有哪些主要的区别
IP 协议提供的是不可靠的,无连接的服务, TCP 协议提供的是可靠的、面向连接的服务TCP 协议是以1P协议为基础实现的,给应用层提供了服务;IP协议为TCP协议提供服务 TCP实现的是主机应用程序之间的通信,IP协议只实现主机之间的通信 议负责将数据从一台主机传输到另一台主机,而TCP协议保证传输的正确性。总结如下
简述对称密钥加密和非对称密钥加密的原理。
对称加密算法加密密钥跟解密密钥相同,加密算法简单,加密效率高,但是密钥的分发过程中容易造成密个钥的丢失跟被别人窃取; 非对称密钥加密其有一对相互对应的公钥和私钥,加密算法复杂,效率低,但是密钥管理的安全性高
在以太网中传输一个 TCP 报文段要经过 IP 层、数据链路层的封装,简述该封装形式(可图形表示);经过上述封装过程TCP报文段中的数据部分最多为多少个字节?
当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息),该过程如下图所示。TCP传给IP的数据单元称作TCP报文段。IP传给网络接口层的数据单元称作IP数据报,通过以太网传输的比特流称作帧。
65495字节,此数据部分加上TCP首部的20字节,再加上IP首部的20字节,正好是IP数据报的最大长度65535.(当然,若IP首部包含了可选择的IP首部长度超过20字节,这时TCP报文段的数据部分的长度将小于65495字节)。
【解析】这个题有两种理解
①在以太网中传输TCP报文,那就需要把 IP报再组装成成帧,这个时候以太网帧的数据部分MTU有最大1500B的限制,此时应该是1500B-IP报首部20B-TCP报首部20B=1460B。
②封装结束后才发出,所以考虑没分片之前的情况,如果没分就是受ip分组最大的限制。用IP数据报最大长度65535B-TP数据包首部20B-TCP报首部20B算出最大数据部分是65495B。
请比较TCP协议和UDP协议有何不同?举例说明他们各自适用的场合。
TCP与UDP区别总结:
(1)TCP是面向连接的,UDP是面向无连接的
TCP 在通信之前必须通过三次握手机制与对方建立连接,而UDP通信不必与对方建立连接,
状态就直接把数据发送给对方
(2)TCP 连接过程耗时,UDP不耗时
(3)TCP连接过程中出现的延时增加了被攻击的可能,安全性不高,而0不需要连接,安全性较高
(4)TCP是可靠的,保证数据传输的正确性,
(5)TCP传输速率较慢,实时性差,UDP传输速率较快,不易丢包,UDP 是可靠的,易丢包TCP建立连接需要耗时,并且TCP首部信息太多,每次传输的有用信息较少,实时性差(6)TCP是流模式,UDP是数据包模式
TCP只要不超过缓冲区的大小就可以连续发送数据到缓冲区上,接收端只要缓冲区上有数据就可以读取,可以一次读取多个数据包,而UDP一次只能读取→个数据包,数据包之间独立
也可简答如下:
TCP:面向连接的、可靠的、面向字节流的、有流量控制、拥塞控制、负载较高、点对点(一对一)、首部开销大(固定首部20字节)、提供可靠交付服务。
UDP:面向无连接的,不可靠的、面向数据报的、无流量控制、无拥塞控制、负载相对较低、支持一对一对多、多对一和多对多、首部开销小(只有8字节)、时延小、实时性强。
TCP/UDP的使用场合:
(1)对数据可靠性的要求。TCP适用于可靠性高的场合,UDP适用于可靠性低的场合。
(2)应用的实时性、CP有延时较大,UDP延时较小。
(3)网络的可靠性。网络不好的情况下使用TCP,网络条件好的情况下,使用UDP。
报文交换和数据报交换的异同?
报文交换:报文交换是以报文为数据交换的单位,报文携带有目标地址、源地址等信息,在交换结点采用存储转发的传输方式,因而有以下优缺点:
优点:
①报文交换不需要为通信双方预先建立一条专角的通信线路,不存在连接建立时延
②采用存储转发的传输方式
③通信双方不是固定占有一条通信线路,提高了通信线路的利用率。
缺点:
①报文交换的实时性差,不适合传送实时或交互式业务的数据。
②报文交换只适用于数字信号。
③要求网络中每个结点有较大的缓冲区
分组交换:分组交换仍采用存储转发传输方式,但将一个长报文先分割为若干个较短的分组,然后把这些分组(携带源、目的地址和编号信息)逐个地发送出去,因此分组交换除了具有报文的优点外,与报文交换相比有以下优缺点:
优点:
①加速了数据在网络中的传输。
②简化了存储管理。
③减少了出错机率和重发数据量。
④适用于计算机之间的突发式的数据通信
缺点:
①尽管分组交换比报文交换的传输时延少,但仍存在存储转发时延,而且其结点交换机必须具有更强的处理能力。
②分组交换与报文交换一样,每个分组都要加上源、目的地址和分组编号等信息,使传送的信息量增大,定程度上降低了通信效率,增加了处理的时间、使控制复杂,时延增加。
③当分组交换采用数据报服务时,可能出现失序、丢失或重复分组,分组到达目的结点时,要对分组按编号进行排序等工作,增加了麻烦。
分组交换和电路交换的差别?
电路交换:电路交换通信之前要在通信双方之间建立一条被双方独占的物理通道。电路交换具有以下优缺点:
1)由于通信线路为通信双方用户专用,所以传输的时延非常小。
2)通信双方可以随时通信,实时性强。
3)传送数据不存在失序问题。
4)电路交换既适用于传输模拟信号,也适用于传输数字信号。
5)电路交换平均连接建立时间对计算机通信来说较长,难以在通信过程中进行差错控制,信道利用率低。
分组交换:以分组为单位进行传输和交换的,它是一种存储-转发交换方式。分组交换具有以下优缺点:
1)不需要预先建立专用的通信线路,不存在连接建立时延,用户可随时发送分组
2)由于采用存储转发方式,当传输线路故障时可选择其他传输线路,提高了传输的可靠性
3)通信不同的时间段一段地部分占有物理通路,提高了通信线路的利用率
4)分组较短,出错几率减少,每次重发的数据量也减少,不仅提高了可靠性,也减少了时延。
5)分组交换只适用于数字信号,可能出现失序、丢失或重复分组
主机A想下载文件ftp://ftp.abc.edu.cn/file.doc,请描述下载文件整个过程中主机和服务器之间的交互过程。
(1)域名解析ftp.abc.edu.cn对应的IP地址;
(2)主机A与ftp.abc.edu.cn服务器的21号端口建立控制连接,发送账号和密码,进行身份认证;
(3)服务器返回登录成功的通知后,主机A打开一个随机端口,并将该端口号发送给服务器;
(4)主机A通过控制连接发送获取文件 file.doc命令,服务器使用20号端口与主机之间建立一个数据连接;
(5)服务器通过数据连接发送数据给主机A,关闭数据连接;
(6)根据用户需求,关闭控制连接,服务结束。
以递归+迭代的方式为例,说明域名解析的过程,
假定某客户机想获知域名为 y.abc.com 主机的IP地址,域名解析的过程(共使用8个UDP报文)如下:
①客户机向其本地域名服务器发出DNS请求报文(递归查询)
②本地域名服务器收到请求后,查询本地缓存,假设没有该记录。则以DNS客户的身份向根域名服务器发出解析请求(迭代查询)。
③根域名服务器收到请求后,判断该域名属于.com域,将对应的顶级域名服务器dns.com的IP地址返回给本地域名服务器。
④本地域名服务器向顶级域名服务器dns.com发出解析请求报文(迭代查询)。
⑤顶级域名服务器dns.com 收到请求后判断该域名属于abc.com域,故将对应的授权域名服务器dns.abc.com的IP地址返回给本地域名服务器。
⑥本地域名服务器向授权域名册务器dns.abc.com发起解析请求报文(迭代查询)。
⑦授权域名服务器dns.abc.com收到请求后,将查询结果返回给本地域名服务器。
⑧本地域名服务器将查询结果保存到本地缓存,同时返回给客户机。
邮件服务系统一般由几部分组成?
电子邮件是一种异步通信方式,通信时不需要双方同时在场。电子邮件吧邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮件箱中,收件人可以随时上网到自己使用的邮件服务器进行提取。
一个电子邮件系统应具有下图所示的三个最主要的组成构件,就是用户代理(Mser Agent)、邮件服务器和邮件发送协议,如SMTP\POP3(IMAP)等。
用户代理UA:用户与电子邮件系统的接口,用户代理使用户能够通过一个很友好的接口来发送和接收邮件,用户代理至少具有撰写、显示和邮件处理功能。通常情况下,用户代理就是在一个运行PC上的程序。
邮件服务器:组成电子邮件系统的核心。邮件服务器的功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况(已交付、被拒绝、丢失等)。
邮件发送协议用于用户代理向邮件服务器发送邮件或在邮件服务器之间发送邮件,通常使用的是SMTP; 邮件读取协议用于用户代理从邮件服务器读取邮件,如POP3。
SMTP采用的是“推”(Push)的通信方式,即在用户代理向邮件服务器发送邮件及在邮件服务器之间发送邮件时,SMTP客户端主动将邮件“推”送到SMTP服务器端。 POP3采用的是“拉”(Pull)的通信方式,即用户读取邮件时,用户代理向邮件服务器发出请求,“拉”取用户邮箱中的邮件。
CRC码的纠错原理
其原理是附加在数据序列之后的检验码与数据序列的内容之间存在着某种特定的关系,如果数据序列中的某一位或某些位发生错误,这种特定关系就会被破坏。
简述流控滑动窗口技术的基本原理
在任意时刻,发送方维持一组连续的允许发送帧的序号,称为发送窗口;同时接收方也维持一组连续的分许接收帧的序号,称为接收窗口。即接收站的接收缓冲区容量可以存放几个帧,发送帧可以连续发送 n个帧后再停下来等待接收站的应答帧,当接收到后再发送n个帧;接收站在处理完接收缓冲区的 n个数据帧后发送应答帧,指示发送站发送下面的n个帧。这是一种多帧应答机制的通信协议。
IP数据报(IP Datagram)在TCP/IP网络转发过程中可能被丢失,试说明IP数据报丢失的主要原因有哪些?
①线路问题。线路接头是否接好,线路是否经过了什么干扰源,确保线路连接正确
②网络硬件质量有问题。如,双胶线、水晶头、分离器、猫、路由器、网卡。猫、路由器、和网卡质量尤为重要,集成网卡如果工作出现不稳定,可换一块独立网卡;
③注意分离器、猫、路由器的散热
④网卡驱动。驱动程序不对,造成不能上网或掉线,更换网卡、更新网卡驱动⑤宽带上网拨号软件; ⑥操作系统。操作系统可能对 ADSL的相关组件存在兼容性问题,这样可以到微软对系统进行升级,或者修复系统。有条件可以进行重装;
⑦软件冲突问题。如果软件有冲突就尽量找出冲突软件,对其卸载或者其他方法解决。比如有的朋友BT下载会导致网络掉线。可能下载的时候占用过多的线程导致断线;
⑧病毒问题。ADSL虽然受到黑客和病毒的攻击可能性较小,但也不排除可能性,特别是网页病毒和蠕虫病毒。病毒如果破坏了ADSL相关组件也会有发生断流现象。
ping命令执行过程详解
机器A ping 机器B
同一网段:
- ping通知系统建立一个固定格式的ICMP请求数据包
- ICMP协议打包这个数据包和机器B的IP地址转交给IP协议层(一组后台运行的进程,与ICMP类似)
- IP层协议将以机器B的IP地址为目的地址,本机IP地址为源地址,加上一些其他的控制信息,构建一个IP数据包
- 获取机器B的MAC地址
- IP层协议通过机器B的IP地址和自己的子网掩码,发现它跟自己属同一网络,就直接在本网络查找这台机器的MAC
- 若两台机器之前有过通信,在机器A的ARP缓存表应该有B机IP与其MAC的映射关系
- 若没有,则发送ARP请求广播,得到机器B的MAC地址,一并交给数据链路层
- 数据链路层构建一个数据帧,目的地址是IP层传过来的MAC地址,源地址是本机的MAC地址,再附加一些控制信息,依据以太网的介质访问规则,将他们传送出去
- 机器B收到这个数据帧后,先检查目的地址,和本机MAC地址对比
- 符合,接收。接收后检查该数据帧,将IP数据包从帧中提取出来,交给本机的IP协议层协议。IP层检查后,将有用的信息提取交给ICMP协议,后者处理后,马上构建一个ICMP应答包,发送给主机A,其过程和主机A发送ICMP请求包到主机B类似(这时候主机B已经知道了主机A的MAC地址,不需再发ARP请求)
- 不符合,丢弃
- IP层协议通过机器B的IP地址和自己的子网掩码,发现它跟自己属同一网络,就直接在本网络查找这台机器的MAC
不同网段:
- ping通知系统建立一个固定格式的ICMP请求数据包
- ICMP协议打包这个数据包和机器B的IP地址转交给IP协议层(一组后台运行的进程,与ICMP类似)
- IP层协议将以机器B的IP地址为目的地址,本机IP地址为源地址,加上一些其他的控制信息,构建一个IP数据包
- 获取主机B的MAC地址
- IP协议通过计算发现主机B与自己不在同一网段内,就直接交给路由处理,就是将路由的MAC取过来,至于怎么得到路由的MAC地址,和之前一样,先在ARP缓存表中寻找,找不到可以利用广播。路由得到这个数据帧之后,再跟主机B联系,若找不到,就向主机A返回一个超时信息。
Tracert的实现原理?
Tracert(跟踪路由)是路由跟踪实用程序,用于确定IP数据包访问目标所采取的路径。Tracert 命令用 IP生存时间(TTL)字段和 ICMP错误消息来确定从个主机到网络上其他主机的路由。
Tracert 命令功能同Ping类似,但它所获得的信息要比Ping命令详细得多,它把数据包所走的全部路径、节点的IP以及花费的时间都显示出来。该命令比较适用于大型网络。
Tracert 先发送 TTL 为 1 的回应数据包,当数据包上的 TTL 在路由器收到后 TTL 自动减1,一旦某个服务器将 TTL减1后,等于了0,路由器应该将“ICMP Time Exceeded”的消息发回源计算机,源计算机就根据收到的信息判断达到的路由器和所用时间。下次再次发送数据包时,将TTL递增 1,继续上述测试,直到目标响应或TTL达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL过期的数据包,这在Tracert实用程序中看不到,我们会显示请求超时的请求信息。
CSMA/CA的工作原理?
1)若站点最初有数据要发送而不是发送不成功再进行重传,且检测到信道空闲,在等待时间DIFS后,就发送整个数据帧。
2)否则,站点执行CSMA/CA退避算法,选取一个随机回退值。一旦检测到信道忙,退避计时器就保持不变。只要信道空闲,退避计时器就进行倒计时。
3)当退避计时器减到0时(这时信道只可能是空闲的),站点就发送整个帧并等待确认
4)发送站若收到确认,就知道已发送的帧被目的站正确接收。这时如果要发送第三帧,就要从步骤(2)开始,执行CSMA/CA退避算法,随机选定一段退避时间。
若发送站在规定时间(由重传计时器控制)内没有收到确认帧 ACK,就必须重传该帧,再次使用CSMA/CA协议争用该信道,直到收到确认,或经过若干次重传失败后放弃发送。
处理隐蔽站问题:RTS和CTS
站A和B都在AP的覆盖范围内,但A和B相距较远,彼此都听不见对方。当A和B检测到信道空闲时,都向AP发送数据,导致碰撞的发生,这就是隐蔽站问题。为了避免该问题,802.11允许发送站对信道进行预约。源站要发送数据帧之前先广播一个很短的请求发送RTS(Request ToSend)控制帧,它包括源地址、目的地址和这次通信(含相应的确认帧)所持续的时间,该帧能被其范围内包括AP在内的所有站点听到。若信道空闲,则AP广播一个允许发送CTS(Clear ToSend)控制帧,它包括这次通信所需的持续时间(从RTS帧复制),该帧也能被其范围内包括A和B在内的所有站点听到。B和其他站听到CTS后,在CTS 帧中指明的时间内将抑制发送,如图3.24所示。
CTS帧有两个目的:①给源站明确的发送许可;②指示其他站点在预约期内不要发送。
面向连接和无连接的区别?
面向连接服务主要有以下特点:
(1)数据传输过程必须经过建立连接、数据传输和拆除连接三个阶段;
(2)在数据传输过程中,各个分组不需要携带目的结点的地址;
(3)传输数据时,独占传输信道,能够保证分组按序传输,可靠性好,但通信效率低。
无连接服务具有以下特点:
(1)每个分组会携带源结点和目的结点的地址,各个分组的转发和传输都是独立的。
(2)传输过程不需要建立连接、数据传输和拆除连接三个阶段。
(3)不能保证分许按序传输到达,可靠性不好,但通信效率高。
协议三要素
语法规定了传输数据的格式;
语义规定了所要完成的功能,即需要发出何种控制信息、完成何种动作及做出何种应答;
同步规定子执行各种操作的条件、时序关系等,即事件实现顺序的详细说明。
一个完整的协议通常应具有线路管理(建立、释放连接)、差错控制、数据转换等功能。
协议和服务的区别?
首先,只有本层协议的实现才能保证向上一层提供服务。本层的服务用户只能看见服务而无法看见下面的协议,即下面的协议对上层的服务用户是透明的。
其次,协议是“水平的”,即协议是控制对等实体之间通信的规则。但服务是“垂直的”,即服务是由下层通过层间接口向上层提供的。另外,并非在一层内完成的全部功能都称为服务,有那些能够被高一层实体“看得见”的功能才称为服务。
可靠服务,不可靠服务
可靠服务是指网络具有纠错、检错、应答机制,能保证数据正确、可靠地传送到目的地。
不可靠服务是指网络只是尽量正确、可靠地传送,而不能保证数据正确、可靠地传送到目的地,是一种尽力而为的服务。
对于提供不可靠服务的网络,其网络的正确性、可靠性要由应用或用户来保障。例如,用户收到信息后要判断信息的正确性,如果不正确,那么用户要把出错信息报告给信息的发送者,以便发送者采取纠正措施。通过用户的这些措施,可以把不可靠的服务变成可靠的服务。
有应答服务和无应答服务
有应答服务是指接收方在收到数据后向发送方给出相应的应答,该应答由传输系统内部自动实现,而不由用户实现。所发送的应答既可以是肯定应答,也可以是否定应答,通常在接收到的数据有错误时发送否定应答。例如,文件传输服务就是一种有应答服务。
无应答服务是指接收方收到数据后不自动给出应答。若需要应答,则由高层实现。例如,对于 WWW服务,客户端收到服务器发送的页面文件后不给出应答。
MAC子层又怎样知道从接收到的以太网帧中取出多少字节的数据交付上一层协议呢?
曼彻斯特编码的一个重要特点就是:在曼彻斯特编码的每一个码元(不管码元是1或0)的正中间一定有一次电压的转换(从高到低或从低到高)。当发送方把一个以太网帧发送完毕后,就不再发送其他码元了(既不发送1,也不发送0)。因此,发送方网络适配器的接口上的电压也就不再变化了。这样,接收方就可以很容易地找到以太网帧的结束位置。在这个位置往前数4字节就能确定数据字段结束位置。
IP层怎样知道这里有没有填充字段呢?
IP协议的首部有一个“总长度”字段。如果IP数据报的“总长度”超过或等于46字节,那么肯定就没有填充字段。反之,如果“总长度”小于46字节,那么就很容易把填充字段计算出。
适配器
工作在数据链路层,计算机与外界局域网连接通过适配器
作用:进行数据串行传输和并行传输的转换
以太网交换机自学习功能?
1.它收到一个帧的时候,先检查源MAC地址,看看自己维护的一个地址表中有没有这个地址。如果有,则2;如果没有,则将这个MAC地址、进入的端口、进入的时间放入这个表中;
2.检查目的MAC地址,然后到该表中查找,如果有匹配项,则按照表项中的端口号进行转发;如果没有,则转发到除进口之外的其他所有端口。
生成树协议stp
解决自学习功能导致的以太网帧在网络上的某个环路无限制兜圈子。要点是不改变网络实际拓扑,在逻辑上切断某些链路,使得从一台主机到所有的其他主机路径是无环路的树状结构。
总线以太网使用CSMA/CD协议,以半双工方式工作。但以太网交换机不使用共享总线,没有碰撞问题,因此不使用CSMA/CD协议,而是以全双工方式工作。既然连以太网的重要协议 CSMA/CD都不使用了(相关的“争用期”也没有了),为什么还叫作以太网呢?
原因就是它的帧结构未改变,仍然采用以太网的帧结构。
当一个以太网包含的计算机太多时的缺点?
首先,一个以太网是一个广播域。在以太网上经常会出现大量的广播帧。在交换机的交换表的建立过程中要使用许多广播帧。经常使用的ARP和DHCP协议也都要在以太网中传送很多的广播帧。在一个主机数量很大的以太网上传播广播帧,必然会消耗很多的网络资源。如果网络的配置出了些差错,就有可能发生广播帧在网络中无限制地兜圈子,形成了“广播风暴”,使整个的网络瘫痪。其次,一个单位的以太网往往为好几个下属部门所共享。但有些部门的信息是需要保密的。许多部门共享一个局域网对信息安全不利。
什么是广播风暴?怎么解决?
当广播数据充斥网络无法处理,并占用大量网络带宽,导致正常业务不能运行,甚至彻底瘫痪,这就发生了“广播风暴”。一个数据帧或包被传输到本地网段 (由广播域定义)上的每个节点就是广播;由于网络拓扑的设计和连接问题,或其他原因导致广播在网段内大量复制,传播数据帧,导致网络性能下降,甚至网络瘫痪,这就是广播风暴。
广播风暴的产生有两种可能性:
1、不合理的网络划分。比如很多客户机处于同一个网段内。由于ARP、DHCP都是广播包的形式,那么有时候就会产生广播风暴。
2、环路。环路时,数据包会不断的重复传输,也一样会产生广播风暴。
解决:采用恰当划分VLAN、缩小广播域、隔离广播风暴
载波延伸
使最小帧长仍为64字节,同时将争用期增大到512字节。发送帧长不足512字节,用特殊字符填充。
分组突发
当很多短帧要发送时,第一个短帧采用载波延伸进行填充,随后的短帧可以一个接一个发送,它们之间只需留有帧间最小间隔。
分组转发算法
(1)从收到的分组的首部提取目的主机的I地址D(即目的地址)。
(2)若查找到有特定主机路由(目的地址为D),就按照这条路由的下一跳转发分组。否则从转发表中下一行(也就是前缀最长的一行)开始检查,执行(3)。
(3)把这一行的子网掩码与目的地址D按位进行AND运算。
若运算结果与本行的前缀匹配,则查找结束,按照“下一跳”所指出的进行处理(或直接交付本网络上的目的主机,或通过指定接口发送到下一跳路由器)。
否则,若转发表还有下一行,则对下一行进行检查,重新执行(3)。否则,执行(4))。
(4)若转发表中有一个默认路由,则按照指明的接口,把分组传送到指明的默认路由器。否则,报告转发分组出错。
BGP
- BGP协议是无类别的路径矢量协议。无类别即BGP在传递路由时会携带子网掩码;路径矢量,不同与距离矢量,路径矢量是以一个AS为单位,而距离矢量是以一个路由为单位,距离矢量是一种路由算法,而BGP不需要计算路由,它只需将以计算好的路由传递给了邻居即可。
BGP报文有5种消息类型:
Open消息:是TCP连接建立后发送的第一个消息,用于建立BGP对等体之间的连接关系。对等体在接收到Open消息并协商成功后,将发送Keepalive消息确认并保持连接的有效性。确认后,对等体间可以进行Update、Notification、Keepalive和Route-Refresh消息的交换。
Update消息:用于在对等体之间交换路由信息。Update消息可以发布多条属性相同的可达路由信息,也可以撤销多条不可达路由信息。
Keepalive消息:BGP会周期性的向对等体发出Keepalive消息,用来保持连接的有效性。
Notification消息:当BGP检测到错误状态时,就向对等体发出Notification消息,之后BGP连接会立即中断。
Route-Refresh消息:通过OPEN消息告知BGP peer本地支持路由刷新能力(Route-Refresh capability)。
通过TCP建立BGP连接时,发送OPEN消息
连接建立后,如果有路由需要发送或路由变化时,发送UPDATE消息通告对端
稳定后要定时发送KEEPALIVE消息以保持BGP连接的有效性
当本地BGP在运行中发现错误时,要发送NOTIFICATION消息通告BGP对等体
ROUTE-REFRESH消息用来通知对等体自己支持路由刷新
SDN
SDN采用集中式的控制平面和分布式的数据平面,两个平面相互分离,控制平面利用控制-数据接口对数据平面上的路由器进行集中式控制,方便软件来控制网络。在传统互联网中,每个路由器既有转发表又有路由选择软件。也就是说,既有数据平面又有控制平面,但SDN结构中,路由器都变得简单了,它的路由选择软件都不需要了,因此路由器之间不再相互交换路由信息。在网络的控制平面有一个逻辑上的远程控制器(可以由多个服务器组成)。远程控制器掌握各主机和整个网络的状态,为每个分组计算出最佳路由,通过Openflow协议(也可以通过其他途径)将转发表(在SDN中称为流表)下发给路由器。路由器的工作很单纯,即收到分组、查找转发表、转发分组。
北向接口:提供了api,开发者可以在此基础上设计自己的应用,不用关心底层实现细节。
南向接口:兼容不同的硬件设备。
东西向接口:集群内部控制器之间的通信接口,用于增强整个控制平面的可靠性和可扩展性。
SDN的优点
①全局集中式控制和分布式高速转发,既利于控制平面的全局优化,又利于高性能的网络转发。
②灵活可编程与性能的平衡,控制和转发功能离后,使得网络可以由专有的自动化工具以编程方式配置。
③降低成本,控制和数据平面分离后,尤其是在使用开放的接口协议后,就实现了网络设备的制造与功能软件的开发相分离,从而有效降低了成本。
SDN的问题
①安全风险,集中管理容易受攻击,如果腊溃,整个网络会受到影响。
②瓶颈问题,原本分布式的控制平面集中化后,随着网络规模扩大,控制器能成为网络性能的瓶颈。
SDN的特征
基于流的转发。SDN 控制的交换机分布在数据层面中,而分组的转发可以基于网络层运输层和链路层协议数据单元中的首部字段值进行。这和传统的路由器仅仅根据IP分组的目的地址进行转发,有着很大的区别。SDN 的转发规则都精确规定在交换机中的流表中。所有交换机中的流表项,都是由SDN控制器进行计算、管理和安装的。
数据层面与控制层面分离。在传统的转发设备路由器中,其数据层面与控制层面都处在同一个设备中,因此二者耦合得非常紧密。但在SDN中,则把这两个层面去耦合,使二者不在同一个设备中。数据层面有许多相对简单但快速的网络交换机。这些交换机在其流表中执行“匹配+动作”的规则。而控制层面则由若干服务器和相应的软件组成,这些服务器和软件决定并管理这些交换机中的流表。
位于数据层面交换机之外的网络控制功能。SDN 中的控制层面是用软件实现的,而且软件是处在不同的机器上,并且可能还远离这些网络交换机。SDN控制层面包含两个构件,一个是SDN控制器(也就是网络操作系统),另一个由若干个网络控制应用程序组成。SDN控制器维护准确的网络状态信息(例如,远程链路、交换机和主机的状态),把这些信息提供给运行在控制层面的各种控制应用程序,以及提供一些方法,使得这些应用程序能够对底层的许多网络设备进行监视、编程和控制。实际上,在控制层面中总是使用多个分散的服务器协调地工作,以便实现可扩展性和高可用性。可编程的网络。通过在控制层面的一些网络控制应用程序,使整个网络成为可编程的,这些应用程序相当于SDN控制层面中的“大脑”,SDN控制器使用这些应用程序,在这些网络设备中指明和控制数据层面。例如,路由选择网络控制应用程序能够确定在源点和终点之间的端到端路径(这需要执行某种算法,也需要使用由SDN 控制器维护的节点状态和链路状态信息)。网络应用程序还可以进行接入控制,即决定哪些分组在进入某个交换机时就必须被阻挡住。此外,网络应用程序在转发分组时还可以执行负载均衡的措施。
为什么A在TIME-WAIT状态必须等待2MSL的时间呢?
第一,为了保证 A发送的最后一个ACK报文段能够到达B。这个 ACK报文段有可能丢失,因而使处在LAST-ACK状态的B收不到对已发送的FIN+ ACK报文段的确认。B会超时重传这个FIN+ACK报文段,而A就能在2MSL时间内收到这个重传的FIN+ACK报文段。接着 A重传一次确认,重新启动2MSL 计时器。最后,A和B都正常进入到CLOSED状态。如果A在TIME-WAIT状态不等待一段时间,而是在发送完ACK报文段后立即释放连接,那么就无法收到B重传的FIN+ACK报文段,因而也不会再发送一次确认报文段。这样,B就无法按照正常步骤进入CLOSED状态。
第二,防止“已失效的连接请求报文段”出现在本连接中。A在发送完最后一个ACK报文段后,再经过时间 2MSL,就可以使本连接持续的时间内所产生的所有报文段都从网络中消失。这样就可以使下一个新的连接中不会出现这种旧的连接请求报文段。
保活计时器的作用?
客户已主动与服务器建立了 TCP 连接。但后来客户端的主机突然出故障。显然,服务器以后就不能再收到客户发来的数据。因此,应当有措施使服务器不要再白白等待下去。这就是使用保活计时器。服务器每收到一次客户的数据,就重新设置保活计时器,时间的设置通常是两小时。若两小时没有收到客户的数据,服务器就发送一个探测报文段,以后则每隔 75秒钟发送一次。若一连发送 10个探测报文段后仍无客户的响应,服务器就认为客户端出了故障,接着就关闭这个连接。
代理服务器工作流程?
(1)校园网的计算机中的浏览器向互联网的服务器请求服务时,就先和校园网的代理服务器建立tcp连接,并向代理服务器发出HTTP请求报文。
(2)若代理服务器已经存放了所请求的对象,代理服务器就把这个对象放入HTTP响应报文中返回给计算机的浏览器。
(3)否则,代理服务器就代表发出请求的用户浏览器,与互联网上的源点服务器(origin server)建立TCP连接,并发送HTTP请求报文。
(4)源点服务器把所请求的对象放在HTTP响应报文中返回给校园网的代理服务器。
(5)代理服务器收到这个对象后,先复制在自己的本地存储器中(留待以后用),然后再把这个对象放在HTTP响应报文中,通过已建立的TCP连接,返回给请求的对象。
http报文类型?
1xx:指示信息,表示请求已接收,继续处理
2xx:成功,表示请求已被成功接受,处理。
3xx:重定向
4xx:客户端错误
5xx:服务器端错误,服务器未能实现合法的请求。
请求方法:
1) GET
传递参数长度受限制,因为传递的参数是直接表示在地址栏中,而特定浏览器和服务器对url的长度是有限制的。
2)POST
POST把传递的数据封装在HTTP请求数据中,以名称/值的形式出现,可以传输大量数据,对数据量没有限制,也不会显示在URL中。
3)HEAD
HEAD跟GET相似,不过服务端接收到HEAD请求时只返回响应头,不发送响应内容。所以,如果只需要查看某个页面的状态时,用HEAD更高效,因为省去了传输页面内容的时间。
4)DELETE
删除某一个资源。
5)OPTIONS
用于获取当前URL所支持的方法。若请求成功,会在HTTP头中包含一个名为“Allow”的头,值是所支持的方法,如“GET, POST”。
6)PUT
把一个资源存放在指定的位置上。
本质上来讲, PUT和POST极为相似,都是向服务器发送数据,但它们之间有一个重要区别,PUT通常指定了资源的存放位置,而POST则没有,POST的数据存放位置由服务器自己决定。
7)TRACE
回显服务器收到的请求,主要用于测试或诊断。
8)CONNECT
CONNECT方法是HTTP/1.1协议预留的,能够将连接改为管道方式的代理服务器。通常用于SSL加密服务器的链接与非加密的HTTP代理服务器的通信。
MAC协议分哪三类?以太网用什么协议?
MAC(介质访问控制协议)主要用于控制网络中的数据帧在物理媒体上的访问。MAC协议可以分为以下三类:
①基于载波侦听多路访问(Carrier Sense Multiple Access,CSMA协议):这类协议要求发送方在发送数据之前监听物理媒体,检测是否有其他设备正在发送数据。常见的CSMA协议有CSMA/CD(载波监听多路访问/冲突检测)和CSMA/CA(载波监听多路访问/冲突避免)。
②令牌传递协议(Token Passing Protocol):这类协议使用一个令牌在网络中进行传递,只有持有令牌的设备才能发送数据。典型的令牌传递协议是令牌环网络。
③轮询协议:这类协议中,一个主设备负责控制网络中的数据传输顺序,依次轮询各个设备,让每个设备逐个发送数据。这种方式可以有效地分配带宽和资源。常见的轮询协议是轮询多路访问(PollingMultiple Access.PMA)和轮询环网络(Polling Ring)。
以太网使用的是CSMA/CD协议。在以太网中,设备在发送数据之前会先监听物理媒体,如果检测到冲突(多个设备同时发送数据),则会采用退避算法,等待一段随机时间后再次尝试发送。这种机制确保了在共享媒体上进行有效的数据传输。
叙述DNS服务器的层次结构。
DNS 是互联网中用于将域名转换为对应IP地址的系统。DNS 服务器的层次结构是指由多个 DNS服务器组成的分层结构,其中每个层级的服务器负责不同的任务和域名解析。
以下是DNS 服务器的典型层次结构:
根域名服务器:根域名服务器是整个DNS层次结构的最顶层全球只有一组根域名服务器。它们存储着顶级域名服务器的地址,负责解析顶级域名的查询请求,
顶级域名服务器:顶级域名服务融是位于根 DNS 服务器之下的第二层服务器。每个顶级域名都有自己的顶级域名服务器。这些服务器负责解析特定顶级域名下的二级域名的查询请求。
权限域名服务器:权限域名服务器是负责特定域名的服务器。它们存储着与域名相关的IP地址和其他记录信息。当 DNS 服务器接收到域名查询请求时,它们会向权限域名服务器发送查询请求以获取域名对应的IP地址。
本地DNS服务器:本地DNS 服务器是由互联网服务提供商(ISP)或组织内部提供的DNS服务器。它们位于用户访问互联网的本地网络中。本地 DNS 服务器缓存最近的域名解析结果,以提高解析速度,并负责将查询请求转发给更高层级的DNS服务器。
当用户在浏览器或其他应用程序中输入域名时,本地DNS服务器首先会检查自己的缓存,如果找到了对应的IP地址,则直接返回给用户。如果本地 DNS 服务器没有缓存或缓存已过期,它会向更高层级的DNS服务器发送查询请求,直到获取到域名对应的 IP地址。
通过这样的分层结构,DNS 服务器可以高效地进行域名解析,并在需要时将查询请求逐级转发,最终获取到正确的1P地址。这种层次结构的设计使得DNS系统具有高度可靠性、可扩展性和分布式特性。
子网掩码的作用,在ipv4和ipv6中的作用?
由于因特网的每台主机都要分配一个唯一的IP地址,因此分配的IP地址很多,这将使路由器的路由表变得很大,进而影响了路由器在进行路由选择时的工作效率。解决这个问题的方法就是将一个大的网络划分为几个较小的网络,每个小的网络称为一个子网。当一个分组到达一个路由器时,路由器应该能够判断出IP地址的网络号。
子网掩码用来判断IP地址的哪一部分是网络号与子网号,哪一部分是主机号。为了完成这种分离,路由器将对 1P地址和子网掩码进行“与”运算、通过子网掩码计算出一台主机所在的子网和其他网络的关系,进行正确的通信。
在IPv4和IPv6中的作用:
IPv4 中的子网掩码:在IPV4中,IP地址由32位二进制数表示,通常以点分十进制表示法呈现。子网掩码是一个32位的二进制数,用于指示IP地址中网络部分和主机部分的界限。子网掩码中的1表示网络位,0表示主机位。通过将子网掩码应用于IP地址,可以确定该IP地址所在的网络。
IPv6中的子网掩码:在IPv6中,IP地址由128位二进制数表示,通常以冒号分隔的十六进制数表示法呈现。IPv6采用了更加简化和灵活的地址分配方案,不再像IPv4那样需要显式的子网掩码。相反,IPv6地址的前缀长度用于指示网络位的数量,即网络前缀的长度。
总结起来,子网掩码在IPv4和IPv6中都用于划分IP地址中的网络位和主机位。它们的作用是确定网络的范围,以便进行网络路由和地址分配。
TCP的两个版本的拥塞控制是哪两种?其中在丢包处理上有什么区别?
分为TCP Reno版本和TCP Tahoe 版本。TCP Reno 和TCPTahoe 是两种拥塞控制算法,用于处理网络中的丢包情况。它们在处理丢包上有以下区别:
(1)拥塞窗口调整:TCP Tahoe在遇到丢包时,将拥塞窗口减半即将拥塞窗口设置为当前值的一半,并执行慢启动算法,从拥塞窗口的一半开始增加。这种方法导致TCP-Tahoe在丢包后采取保守的行为,较慢地增加发送速率。
相比之下,TCP Reno 采用了一种称为快速恢复的机制。当检测到丢包时,TCPReno 将拥塞窗口减半,并将拥塞窗口设置为丢包前的一半。然后,它进入快速恢复阶段,不再执行慢启动算法,而是维持当前的拥塞窗大小,每收到一个确认就增加拥塞窗口的大小。这使得TCP Reno在丢包后更快地恢复发送速率。
(2)重传超时:当TCP Tahoe发生丢包时,它假设这是由于网络拥塞引起的,并采用固定的超时时间来进行重传。也就是说,每次遇到丢包都会等待相同的时间间隔,然后进行重传。
相比之下,TCP Reno 使用自适应超时重传算法。它根据网络的拥塞程度动态调整超时时间。当发生丢包时,TCP Reno会将超时时间设置为较长的值,以便给网络更多时间恢复。如果在较长的超时时间内收到了确认,TCP Reno会认为这只是一个临时的拥塞情况,而不是持续的拥塞,从而减少超时时间。这种自适应超时重传可以更好地适应网络的变化。
总体而言,TCPReno相对于TCPTahoe在丢包处理上更加灵活和高效。它采用快速恢复和自适应超时重传等机制,使得它能够更快地适应网络拥塞情况,并提供更好的性能。这些改进使得TCP Reno成为当前广泛使用的TCP拥塞控制算法之一。
协议的概念?
协议:在计算机网络中,协议是指在网络通信过程中,为了确保数据的传输和交换能够按照一定的规则和约定进行而制定的一组规范或规则集合。
BS是什么?无线网有无BS是哪两种类型?
BS是基站(Base Station)的缩写,也称为无线基站或基站站点。
基站负责接收和发送无线信号,它提供不无线覆盖范围内的通信服务,并连接到核心网络以实现移动通信.
基站通常由天线、射频收发设备、传输设备和控制单元等组成。
在无线网络中,可以将基站划分为两种类型,具体取决于网络架构
蜂窝网络(Cellular Network):蜂窝网络是一种广泛应用的无线网络,它使用基站分布在不同的区域(蜂窝)内,每个基站负责一定范围的覆盖。基站之间通常相互协调和管理,以提供连续的无线覆盖和服务。在蜂窝网络中,基站充当主要的无线接入点,处理移动设备的信号传输和接收。
Ad hoc 网络(自组织网络):Ad hoc网络是一种去中心化的无线网络,其中移动设备之间直接进行通信而无需依赖基站。在Ad hoc网络中,设备可以自组织成网络,并通过多跳方式进行数据传输,每个设备都可以充当路由器和终端的角色。Ad hoc 网络通常用于临时性或特定环境下的无线通信,如灾难恢复、军事应用或紧急情况下的通信。
信道划分的三种类型?
信道划分是无线通信中一种常用的技术,用于将可用的频谱资源划分为不同的信道,以支持多个用户同时进行通信。根据划分的方式和使用场景,可以将信道划分分为以下三种类型
(1)频分多址:在频分多址中,可用频谱范围被划分为不同的子信道,每个用户被分配一个独立的子信道用宇通信。不同用户之间通过频率的不同来区分彼此的信号。每个用户在分配给它的子信道中独占频率资源,可以进行全时隙的通信。频分多址主要应用于模拟通信系统和某些数字通信系统。
(2)时分多址:在时分多址中,可用时间周期被划分为多个时隙,不同用户按照时间的顺序在各自的时隙内进行通信。每个用户在每个时隙中独占时间资源,通过时隙的不同来区分彼此的信号。时分多址可以在相同的频带内支持多个用户,每个用户在不同的时间片段内进行通信。
(3)码分多址:在码分多址中,每个用户被分配一个唯一的码序列,该序列在整个频带上扩展用户的信号。所有用户在同一频带上同时传输,但彼此之间使用不同的码序列来区分。接收端使用相同的码序列来解扩展特定用户的信号。码分多址允许多个用户同时在相同的频带上进行通信,通过码序列的不同来实现用户之间的分离。码分多址被广泛应用于3G和4G移动通信系统
为什么要有自治系统(AS),AS内部和外部的协议。
自治系统(AutonomousSystem,AS)是互联网中的一个概念,它是由一组互联网路由器和网络设备组成的一个网络集合,具有统一的路由策略和管理权限。作用有:
(1)网络管理和控制:自治系统允许网络管理员对其所管理的网络资源进行有效的控制和管理。
(2)网络自治和独立性:每个自治系统都有独立的自治权,可以自主地制定和执行自己的网络策略。
(3)路由选择和互联互通:自治系统之间通过互联互通来实现全球范围内的网络连接。
(4)网络安全和防御:自治系统可以实施各种网络安全策略和防御机制,以保护其网络资源免受网络攻击和恶意行为的侵害。
(5)负载均衡和性能优化:自治系统可以通过选择最佳路径和优化网络拓扑来实现负载均衡和性能优化。
这有助于提高数据传输的效率和可靠性,减少网络拥塞和延迟。
AS内部和外部的协议:
(1)内部网关协议:在一个自治系统内部使用的路由选择协议,它与互联网中其他自治系统选用什么路由选择协议无关,如RIP和OSPF。
(2)外部网关协议:若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议,目前使用的外部网关协议是BGP-4。
计算机网络产生拥塞的原因及其代价是什么?
网络拥塞是用户或端系统需要的资源或性能超过了以计算机网络为核心的系统的负载、处理和服务能力。
如果在某一个相同时间段内,有许多端系统对同一网络资源提出请求、发出负载并进行资源竞争,可能超过计算机网络可用资源的承受力,网络的有效运行状态就会迅速降低,甚至趋于恶化直至崩溃。
介质访问控制协议可分为哪三类?CSMA/CD 属于哪一类、简要说明 CSMA/CD的工作过程
分为信道划分介质访问控制、轮询访问介质访问控制、随机访问介质访问控制。
CSMA/CD属于随机访问介质访问控制。
工作过程:
①适配器从其父结点获得一个网络层数据报,准备一个以太网帧。并把该帧放到适配器缓冲区中。
②如果适配器侦听到信道空闲,那么它开始传输该帧。如果适配器侦听到信道忙,那么它将等待直至侦听到没有信号能量,然后开始传输该帧。
③在传输过程中,适配器检测来自其他适配器的信号能量。如果这个适配器传输了整个帧,而没有检测到来自其他适配器的信号能量,那么这个适配器完成该帧的传输。否则,适配器就须停止传输它的帧,取而代之传输一个48比特的拥塞信号。
④在中止(即传输拥塞信号)后,适配器采用截断二进制指数退避算法筹待一段随机时间后返回到步骤2)。
网络时延有哪几种类型,请分别说明每种时延产生的原因。
有四种时延:发送时延、传播时延、处理时延和排队时延。
①发送时延。结点将分组的所有比特推向链路所需的时间,即从发送分组的第一个比特算起,到该分组的最后一个比特发送完毕所需的时间,因此也称传输时延。
②传播时延。电磁波在信道中传播一定的距离需要花费的时间,即一个比特从链路的一端传播到另一 端所需的时间。
③处理时延。数据在交换结点为存储转发而进行的一些必要的处理所花费的时间。例如,分析分组的首部、从分组中提取数据部分、进行差错检验或查找适当的路由等。
④排队时延。分组在进入路由器后要先在输入队列中排队等待处理。路由器确定转发端口后,还要在输出队列中排队等待转发,这就产生了排队时延。
请说明 Alice向 Bob 发送封简单的 ASCI 码邮件的过程。
(1)Alice 启动她的邮件代理服务器并提供Bob的邮件地址(例如***@163.com),撰写邮件,通过用户代理发送该邮件。
(2)Alice的用户代理把报文发送给Alice的邮件服务器,该邮件再这里被放在报文发送队列中。
(3)运行在 Alice 邮件服务器上的 SMTP 客户端发现了在报文队列中的该报文,他就创建一个到运行在Bob 的邮件服务器上的SMTP服务器的TCP连接。
(4)在经过一些初始SMTP 握手后,SMTP客户端通过该TCP连接发送Alice的报文。
(5)在Bob的邮件服务器上,SMTP的服务器接收该报文,Bob的邮件服务器然后将该报文放入Bob的邮箱中。
(6)在 Bob方便的时候,他调用用户代理阅读该报文。
ospf使用什么算法?优缺点?
(1)使用了链路状态路由选择算法LSR,算法主要思想:
①将一个大规模网络(AS)划分为若干个区域
②在一个区域内,每个路由器将自己的邻居关系以链路状态LSA(link state)的形式构建,然后广播(或泛洪)给本区域内所有的其他路由器;
③直到每个路由器获得本区域内所有的链路状态,即链路状态数据库LSD(link state database)表示,实际上得到了本区域的网络拓扑结构(唯一性)
④每个路由器利用Dijstra(最短路径)算法独立计算本节点到其本区域内其他所有路由器最短路径,构造一个最短路径树;
⑤最后,每个路由器利用最短路径树,独立建立或更新各自路由表。
(2)优点:
①适用于大规模网络。因为路由器仅仅交换各自的邻居关系-链路状态(LSA),而不是整个拓扑结构或路由表;LSA的大小只与直接相连邻居路由器数有关,而与整个区域路由器数量无关。
②路由器独自利用各自的LSD(网络拓扑结构)计算最短路径树,不依赖其他路由器计算结果,收敛速度快;路由信息不可能构成路由环路
③只有当网络拓扑结构发生变化,即链路状态发生变化时、路由器才向本区域内其他路由器广播发送变化后的链路状态信息;
(3)缺点:
每个路由器需要有较大的存储空间,计算工作量较大。
TCP、UDP都在不可靠的IP层之上,为什么TCP提供的传输服务是可靠的?
TCP提供面向连接的服务,使用可靠传输协议保证数据传输的可靠性,通过采用停止等待协议和 ARQ协议,当出现差错时,通过超时重传、设置计时器、累计确认等来保障可靠传输。
在拥塞的时候,为什么TCP、UDP出现报文不公平、不均衡的现象,试解释这种现象?
TCP 是一种面向有连接的传输层协议,能够对自己提供的连接实施控制,有拥塞控制机制,连接需要三次握手,传输完成,连接释放,效率低,当发生拥塞时,缓冲区会越来越少,限制发送效率和速度。
UDP 是一种面向无连接的传输层协议,不会对自己提供的连接实施控制,无拥塞控制机制,发生拥塞时不影响发送效率和速度。所以TCP,UDP会出现不均衡不公平现象。
两台PC用路由器相连,第一次ping 超时,第二、三次ping 成功,请回答以下问题:
(1)第一次ping超时的原因是什么?
如果ARR缓存表由无目的MAC,第一个包还没有ARP解析,首先会发生一个ARP请求,有可能ARP请求导致超时。也可能是在无MAC地址的情况下,系统内核是不会发该第一帧的,直接kill了
(2)ping命令是用什么协议来实现的?说明该协议的主要功能。
PING使用了ICMP 协议来实现(回送请求和回答报文),它提供网络传输中的差错检测;
(3)该协议位于哪一层?此层还有什么协议?
ICMP 协议属于网络层,该层还有IP、OSPF协议。
Traceroute/Tracert工作在网络层。
Ping 的原理和过程
是通过向目的主机发送 ICMP Echo 请求报文,目的主机收到之后会发送 Echo 回答报文。 Ping 会根据时间和成功响应的次数估算出数据包往返时间以及丢包率。
PING 的过程:
本地主机处理流程:
- 在本地,ping命令会构建一个ICMP数据包(构造回送请求报文)
- 将该ICMP数据包和目标IP地址给IP协议,IP协议将本地地址作为源地址,与目的地址等构造IP数据包
- 根据本地ARP缓存查找目的地址IP对应的MAC地址,如果缓存中没有则通过ARP协议找到对应IP的MAC地址。将MAC地址交给数据链路层以构造数据帧
- 经物理层发送给目的主机
目的主机处理流程:
- 目的主机接收到数据包
- 物理层接收到二进制数据流经数据链路层,按照以太网协议解析出数据帧,如果数据帧中的目标MAC地址与本机MAC地址相同,则接收该数据包,否则丢弃该数据包。
- 接收到该数据包之后,经网络层解析出IP数据包,通过IP包头中的协议字段判断出是ICMP数据包。之后解析出ICMP数据包,发现是回送请求报文(ping request)后马上构建一个ICMP回送应答报文(ping reply)
- 将封装好的ICMP数据包经网络层、数据链路层、物理层发送回源主机
介绍二层交换机的原理?
①当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的
②再去读取包头中的目的MAC地址,并在地址表中查找相应的端口
③如表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上
④如表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习目的MAC地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。不断的循环这个过程,对于全网的MAC地址信息都可以学习到,二层交换机就是这样建立和维护它自己的地址表。
已经有二层交换机了,为什么还要设计三层交换机?
三层交换机实际就是在二层交换上加上路由模块以实现部分路由功能,并不能完全替换路由器。因为它们本质的职能还是不同的,三层交换机主要的服务对象还是局域网高端三层交换机能够在大型局域网内充当网络核心,完成局域网内的路由转发,隔离广播风暴,有效提高局域网的性能。但是一旦上升到广域网,便有点力不从心了,广域网涉及到各种各样的异种网络互连,网络协议繁杂,所以只能由路由器来完成,而路由器的设计原理正是为了这个目的,这也是为什么路由器的端口较少,而价格非常昂贵的原因。当然三层交换是不是可以设计成也有如此强大的路功能,理论上讲是可以的,但是成本将会非常高,估讨也没有什么市场前景。不过现在这个概念正在模糊,比如三层交换机的出现正是一个很好的证明。
总的来说,局域网中仅用二层交换机仅是交换技术无法完成路由功能,比如一个公司好几个科室小型局域网之间的路由通信。而如果要在小型局域网中使用路由器,就有种大炮打蚊子的感觉,花费大而且没有必要.太浪费资源。所以开发了三层交换机来满足实际需要。
滑动窗口流量协议中,若帧序号的位数为N,则发送窗口最大不能超过2^n-1,这样才能保证数据传输无误,请说明为什么?
我们举个具体的例子说明。例如用3比特可编出8个不同的序号,因而发送窗口的最大值似乎应为8。但实际上,设置发送窗口为8将使协议在某些情况下无法工作。现在我们就来说明这一点。
设发送窗口为WT=8,发送端发送完0-7号共8个数据帧。因发送窗口已满,发送暂停。假定这8个数据帧均已正确到达接收端,并且对每一个数据帧,接收端都发送出确认帧。下面考虑两种不同的情况。
第二种:所有的确认帧都丢失了。经过一段由超时计时器控制的时间后,发送端重传这8个旧的数据帧其编号仍为0-7。
第一种:所有的确认帧都正确到达了发送端,因而发送端接着又发送8个新的数据帧,其编号是0-7。请注意,序号是循环使用的。所有序号虽然相同,但8个帧都是新的帧。
于是,当接收端第二次收到编号为0-7的8个数据帧时,就无法判定:这是8个新的数据帧,或这是8个旧的、重传的数据帧。
因此,将发送窗口设置为8显然是不行的。而如果比窗口8小的话,例如发送窗口为0-6共了个,那么新的帧序号将会是 和 而重传的序号是0-6。这样就可以正常区分识别。
实际情况是为了防止窗口发生重叠、发送窗口维持最大容量的一半就已经非常充分了。序号总共n位,那么整个发送空间最多只有2”帧,所以发送窗口有2”就足以应付最恶劣情况下的重传。无论是选择重传、还是回退N帧都是如此。
网络通信协议三要素是什么?
三要素:语法、语义、同步(时序规则)(IP协议首部可以体现语法和语义,而TCP首部语法、语义和时序三个都可以体现。)
语法规定了传输数据的格式。
语义规定了所要完成的功能,如通信双方要发出什么控制信息、执行的动作和返回的应答。
时序规定了信息交流的次序。
在无线网络中发送数据过程中,为什么要发送确认帧而在总线型以太网中却不需要?
无线局域网上发送数据必须发回确认帧是保证在 MAC层对帧丢失予以检测并重新发送且进一步避免碰撞的发生。在以太网上不要求对方发回确认帧的原因是局域网信道的质量很好,信道通信质量产生差错的概率很小,这样做可以提高传输的效率。
无线局域网同以太网相比,最大的差别就是传输介质不同所导致的传输差错的增多,这也是无线局域网制定协议时主要考虑的问题
TCP拥塞控制算法有哪些?
慢启动:当主机开始发送数据时,如果立即把大量数据字节注入到网络中,那么就有可能引起网络拥塞,因为现在并不清楚网络的负荷情况。经验证明,较好的方法是先探测一下,即由小到大逐渐增大发送窗口,也就是说,由小到大逐渐增大拥塞窗口数值。通常在刚刚开始发送报文段时,先把拥塞窗口cwnd设置为一个最大报文段MSS数值。而在每收到一个对新的报文段的确认后,把拥塞窗口增加之多一个MSS的数值,用这样的方法逐步增大发送方的拥塞窗口cwnd,可以使分组注入到网络的速率更加合理。
拥塞避免算法:让拥塞窗口cwnd缓慢地增大,即每经过一个往返时间RTT就把发送方的拥塞窗口cwnd加1,而不是加倍。这样,拥塞窗口cwnd按线性规律缓慢增长,比慢开始算法的拥塞窗口增长速率缓慢的多。
快重传算法规定,发送方只要连续收到三个重复确认就应当立即重传对方尚未收到的报文段,而不必继续等待为其设置的重传计时器到期。快重传算法首先要求接收方每收到一个失序的报文段就立即发出重复确认(为的是使发送方及早的知道有报文段没有到达对方)而不要等到自己发送数据时才捎带确认。
快恢复:
(1)当发送方连续收到三个重复确认时,就执行“乘法减小”算法,把慢开始门限减半。这是为了预防网络发生拥塞,但不执行慢开始算法。
(2)由于发送方现在认为网络很可能没有发生拥塞(如果网络发生了严重拥塞,就不会一连有好几个报文段连续到达接收方,也就不会导致接收方连续发送重复确认)。因此与慢开始不同之处就是现在不执行慢开始算法(即拥塞窗口现在不设置为1)而是把拥塞窗口的值设置为慢开始门限减半后的值,然后开始执行拥塞避免算法(“加法增大”),使拥塞窗口缓慢地线性增大。
“乘法减小”是指不论在慢开始阶段还是拥塞避免阶段,只要出现超时(即可能出现了网络拥塞),就把慢开始门限ssthresh的值减半,即设置为当前的拥塞窗口的一半(开始执行慢开始算法)。
“加法增大”是指执行拥塞避免算法后,使拥塞窗口缓慢增大,以防止网络过早出现拥塞。
上面两种方法合起来常称为AIMD算法(加法增大乘法减少)。
试说明FDM和TDM两种复用方式各自的使用前提和适用场合
FDM(频分多路复用)是将信道划分为不同频率的信道,静疹的划分,每个信道的总和一定不能大于信道的总带宽;
TDM(时分多路复用)是将时间分割成小的时间片,静态的,每个时间片又分为若干个通道(时隙),每个用户占用一个通道传输数据。
TDM适用于数字信号传输,FDM适用手模拟信号传输。
数据链路层的流量控制和网络层的拥塞控制是什么?有什么区别?
流量控制是控制发送方发送数据的速率,使接收方来得及接收。一个基本方法是由接收方控制发送方的数据速率,常见的两种方式:停止-等待流量控制和滑动窗口流量控制。
若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏,即拥塞。拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。
区别:①拥塞控制用于保证网络通畅传送数据,涉及网络所有与之相关的主机和路由转发,是一种全局性的控制措施;②流量控制只涉及发送端和接收端之间点到点的流量控制行为,主要用于保证发送速率与接收端的缓冲容量相匹配,以防止接收端缓冲区不足发生的数据丢失。
增加流水线深度(无限制增加流水段数)能不能提高系统效率,为什么?
流水段缓冲之间的额外开销增大。每个流水段有一些额外开销用于缓冲间传送数据、进行各种准备和发送等功能,这些开销加长了一条指令的整个执行时间,当指令间逻辑上相互依赖时,开销更大。
流水段间控制逻辑变多、变复杂,用于流水线优化和存储器(或寄存器)冲突处理的控制逻辑将随流水段的增加而大增,这可能导致用于流水段之间控制的逻辑比段本身的控制逻辑更复杂。
IP地址和MAC地址区别?为什么IP地址转换成MAC地址才能传输?IP地址转成 MAC地址的过程?
| IP 地址是 | P 协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一合主机分配一个逻辑地址,以此来屏蔽物理地址的差异 |
MAC地址是介质访问控制地址,也叫物理地址。
区别:第一,MAC 地址是固定的,每个设备只有一个 MAC 地址,而1P 地址是不固定的,一个设备在不同网络环境下可能有不同的IP地址;
第二,IP地址的分配是基于网络拓扑,MAC地址的分配是基于制造商
第三:MAC地址应用于第二层,IP地址应用于第三层。
如果不把 IP地址转换成MAC地址,则数据无法在数据链路层进行传输.
IP 地址解析 MAC地址过程:第一步,A主机会去自己的ARR传诉缓存表中查找有无对应的IP地址对应的MAC地址。如果有,直接用,如果没有,进行第二步。
第二步,主机 A会广播发送 ARP请求报文来获取主机的MAC地址。第三步,主机B收到以后,先把主机A的mac地址转换记录到自己的缓存表中,再向主机A发送一个响应报文。第三步,A收到报文后,将B的mac地址写入缓存表中。
OSPF的路由选择算法及工作过程?
OSPF即开放式最短路径优先(Open Shortest Path First),采用的是链路状态路由算法。
工作过程的要点如下:
1)采用洪泛法向本自治系统中所有路由器发送信息。即路由器通过所有端口向所有相邻的路由器发送信息,而每个相邻路由器又将此信息发往其所有相邻路由器(不包括刚发来信息的那个路由器)
2)发送的信息是与本路由器相邻的所有路由器的链路状态,但这只是路由器知道的部分信息。所谓“链路状态“,是指说明本路由器与哪些路由器相邻及该链路的”度量对于 OSPF,链路状态的“度量”主要用来表示费用、距离、时延、带宽等。
3)只有当链路状态发生变化时,路由器才向所有路由器发送此消息。
OSPF工作原理
OSPF工作原理是指OSPF路由协议如何在网络中传播和计算路由信息的过程,主要包括以下几个方面:
- OSPF邻居发现:OSPF路由器通过发送和接收Hello报文,来发现和维护与相邻路由器的邻居关系。Hello报文中包含了一些重要的参数,如网络掩码、Hello间隔、失效间隔、路由器优先级、DR和BDR的地址等。只有当这些参数一致的时候,才能建立邻居关系。邻居关系的状态有Down、Init、2-Way、Exstart、Exchange、Loading和Full七种,其中Full状态表示邻居关系建立成功。
- OSPF链路状态广播:OSPF路由器通过生成和发送链路状态通告(LSA),来描述自己的链路状态信息,如接口的IP地址、邻居的路由器ID、链路的开销等。LSA有多种类型,如路由器LSA、网络LSA、汇总LSA、AS外部LSA等。OSPF路由器将收到的LSA存储在链路状态数据库(LSDB)中,形成一个完整的网络拓扑图。
- OSPF路由计算:OSPF路由器根据LSDB中的信息,运行最短路径优先(SPF)算法,来计算到达每个目的网络的最短路径和下一跳。SPF算法的基本思想是以自己为根节点,构建一棵最短路径树,然后根据树的结构生成路由表。OSPF路由表中的路由有多种类型,如内部路由、区域间路由、外部路由等。
- OSPF区域划分:为了适应大规模的网络,OSPF支持将一个自治系统(AS)划分为多个逻辑区域,每个区域内只维护本区域的链路状态信息,从而减少路由器的资源消耗和路由更新的开销。OSPF区域有多种类型,如骨干区域、标准区域、末梢区域、NSSA区域等。不同类型的区域之间的路由传递和汇总有不同的规则和方法。
HTTP协议的特点
在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是超文本传送协议HTTP(HyperText
Transfer Protocol)。HTTP是一个应用层协议,它使用TCP连接进行可靠的传送。特点:
- 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于ATTP协议简单,使得 HTTP服务器的程序规模小,因而通信速度很快;
- 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
- 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
- 无状态:HTTP 协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快;
- 支持B/S及C/S模式;
- HTTP1.1版本后支持可持续连接。
ftp客户机和ftp服务器的交互过程
(1)服务器以被动方式打开端口21,等待连接。
(2)客户端发起控制连接的主动打开,建立连接。
(3)客户端用于控制连接的临时端口,与服务器21号端口之间的控制连接建立完毕。
(4)客户端发起建立数据连接的命令。
(5)客户端为该数据连接选择一个临时端口号,通过控制连接把端口号发送给服务器。
(6)服务器通过控制连接的接收端口号,向客户端发布一个主动的数据连接的打开。
(7)客户端用于数据连接的临时端口,与服务器的20号端口之间的数据连接建立完毕。
在OSI七层模型结构中,哪层提出了寻址技术,分别是什么地址?
在OSI七层模型结构中,有两层提出了寻址技术,分别是网络层和数据链路层,它们使用的地址分别是:
- 网络层:使用逻辑地址,也称为网络地址,用于标识网络中的主机或路由器。逻辑地址是由网络协议分配的,可以根据网络拓扑进行变化。常见的逻辑地址有IP地址、IPX地址等。
- 数据链路层:使用物理地址,也称为MAC地址,用于标识同一局域网中的设备。物理地址是由设备制造商固化在网卡上的,通常不会改变。物理地址的长度和格式由IEEE标准定义,例如以太网的MAC地址是48位的,分为6个字节。
在OSI七层模型结构中,哪几层提出了同步技术?分别是怎样的同步技术?
在OSI七层模型结构中,有两层提出了同步技术,分别是物理层和会话层,它们使用的同步技术分别是:
- 物理层:物理层指定收发双方在传输时使用的传输方式,以及为保持双方步调一致而采用的同步技术。物理层的同步技术有两种,即异步传输和同步传输。异步传输是指每个字符或字节之间没有固定的时间间隔,而是用特殊的起始位和停止位来标识字符或字节的开始和结束,适用于低速率的数据传输。同步传输是指每个字符或字节之间有固定的时间间隔,而且不需要起始位和停止位,而是用同步信号来保持双方的时钟同步,适用于高速率的数据传输。
- 会话层:会话层负责建立、管理和终止通信会话,实现不同主机上的应用程序之间的对话控制。会话层的同步技术有两种,即半双工同步和全双工同步。半双工同步是指通信双方在同一时间只能有一方发送数据,另一方只能接收数据,不能同时发送和接收数据,例如对讲机。全双工同步是指通信双方在同一时间可以同时发送和接收数据,例如电话。
简要阐述传输层寻址技术的特点
传输层寻址技术的特点是指传输层如何为不同的应用程序进程提供数据传输服务的方法。传输层寻址技术主要包括以下几个方面:
- 端口号:端口号是传输层用来标识主机中的应用程序进程的逻辑地址,每个端口号占用16位,取值范围是0~65535。端口号可以分为熟知端口号、登记端口号和动态端口号,分别用于标识一些常见的、已注册的或临时分配的应用程序进程。
- 套接字:套接字是传输层用来表示传输连接的端点的标识符,由IP地址和端口号组成,形式为(IP地址:端口号)。套接字可以唯一地确定网络中的一个应用程序进程,因此可以用来建立、管理和释放传输连接。
- 复用与分用:复用是指在同一个主机上,多个应用程序进程可以共享同一个传输层协议,使用同一个网络层服务。分用是指在接收端,传输层根据端口号将收到的数据分发给不同的应用程序进程。复用与分用可以提高传输层的效率和灵活性。
帧同步和位同步
帧同步指的是:接收端能从收到的比特流中正确的判断一帧的开始为和结束位
位同步(比特同步)是指接收端时钟已经调整到和发送端时钟完全一样,因此接收端收到比特流后,就能够在每一位的中间位置进行判决。
位同步(比特同步)的目的是为了将发送端发送的每一个比特都正确地接收下来。这就要在正确的时刻(通常就是在每一位的中间位置)对收到的电平根据事先已约定好的规则进行判决。
但仅仅有位同步还不够。因为数据要以帧为单位进行发送。若某一个帧有差错,以后就重传这个出错的帧。因此一个帧应当有明确的界限,也就是说,要有帧定界符。接收端在收到比特流后,必须能够正确地找出帧定界符,以便知道哪些比特构成一个帧。接收端找到了帧定界符并确定帧的准确位置,就是完成了“帧同步”(frame synchronization)。
简述OSI模型中数据链路层、网络层和传输层分别是怎样进行差错控制的?
- 数据链路层:数据链路层的差错控制是指在物理层提供的可能有差错的比特流上,通过各种控制协议,将数据封装成帧,实现帧的无差错传输。数据链路层的差错控制主要有两种方法,即差错检测和差错纠正。差错检测是指在发送端对每个数据帧添加一些冗余位,称为检验序列,用于检测数据在传输过程中是否发生了改变。在接收端,根据检验序列来判断数据是否正确,如果发现错误,可以采取重传或丢弃的措施。常用的差错检测方法有奇偶校验、循环冗余校验(CRC)等。差错纠正是指在发送端对每个数据帧添加一些冗余位,称为纠错码,用于纠正数据在传输过程中的改变。在接收端,根据纠错码来恢复原始数据,无需重传或丢弃。常用的差错纠正方法有海明码、循环冗余校验码等。
- 网络层:网络层的差错控制是指在数据链路层提供的无差错的数据帧的传送功能上,通过路由选择算法,为报文或通信子网选择最适当的路径,实现报文的无差错传输。网络层的差错控制主要有两种方法,即差错报告和跳数限制。差错报告是指在网络层使用一些特殊的报文,称为差错报告报文,用于向源主机或其他网络设备报告网络中发生的差错,如目的不可达、生存时间超时、参数问题等。常用的差错报告报文有ICMP报文、IGMP报文等。跳数限制是指在网络层对每个报文设置一个生存时间(TTL)的字段,用于限制报文在网络中的最大跳数,防止报文在网络中无限循环。每当报文经过一个路由器,TTL就减一,当TTL为零时,报文被丢弃,并向源主机发送差错报告报文。
- 传输层:传输层的差错控制是指在网络层提供的最基本的端到端的数据传送服务上,通过各种传输协议,为端到端的用户提供可靠的或不可靠的传输服务,实现数据的无差错传输。传输层的差错控制主要有两种方法,即可靠传输和不可靠传输。可靠传输是指在传输层使用一些特殊的数据段,称为可靠数据段,用于保证数据在传输过程中的正确性、完整性和有序性。可靠数据段包含了序号、确认号、校验和、重传定时器等字段,用于实现序号分配、确认应答、超时重传、滑动窗口、流量控制、拥塞控制等功能。常用的可靠传输协议有TCP协议、SCTP协议等。不可靠传输是指在传输层使用一些简单的数据段,称为不可靠数据段,用于提供尽最大努力的数据传输服务。不可靠数据段只包含了端口号、长度和校验和等字段,用于实现数据的分段、复用和差错检测等功能。常用的不可靠传输协议有UDP协议等。
在计算机网络中技术和应用中有多种地址,请列出你所知道的网络地址和这些地址在计算机网络中的作用
- IP地址:IP地址是互联网协议地址,用于标识网络中的主机或路由器。IP地址是一个32位的二进制数,通常用点分十进制表示,如192.168.1.1。IP地址由网络号和主机号两部分组成,网络号用于区分不同的网络,主机号用于区分同一网络中的不同主机。IP地址有五类,分别是A、B、C、D、E,其中A、B、C类地址是常用的地址,D类地址用于组播,E类地址用于科研。IP地址的作用是实现网络层的寻址和路由功能。
- MAC地址:MAC地址是媒体访问控制地址,用于标识同一局域网中的设备。MAC地址是一个48位的二进制数,通常用十六进制表示,如00-0C-29-12-34-56。MAC地址是由设备制造商固化在网卡上的,通常不会改变。MAC地址的前24位是组织唯一标识符(OUI),用于区分不同的厂商,后24位是网络接口控制器(NIC),用于区分同一厂商的不同设备。MAC地址的作用是实现数据链路层的帧的封装和解封装。
- DNS地址:DNS地址是域名系统地址,用于将域名解析为IP地址。域名是一种用于标识互联网上的资源的人类可读的名称,如
www.baidu.com。域名由多个部分组成,每个部分用点分隔,从右到左依次是顶级域、次级域、子域等。DNS地址是一种用于存储域名和IP地址对应关系的服务器的地址,如8.8.8.8。DNS地址的作用是实现应用层的域名解析服务。 - 端口号:端口号是传输层用来标识主机中的应用程序进程的逻辑地址,每个端口号占用16位,取值范围是0~65535。端口号可以分为熟知端口号、登记端口号和动态端口号,分别用于标识一些常见的、已注册的或临时分配的应用程序进程。端口号的作用是实现传输层的复用和分用功能。
什么是隐蔽站和暴露站问题
隐蔽站和暴露站问题是两种在无线通信中常见的问题,它们都是由于载波侦听多路访问(CSMA)协议的局限性而导致的。CSMA协议是一种在共享信道上进行数据传输的协议,它要求每个发送节点在发送数据之前先侦听信道是否空闲,如果空闲则发送,如果忙则等待。但是,由于无线信号的传播特性,不同的节点可能对信道的状态有不同的判断,从而引发冲突或浪费。
隐蔽站问题是指在一个无线网络中,有两个或多个节点想要发送数据给同一个接收节点,但是它们之间无法互相侦听到对方的信号,导致它们同时发送数据,从而发生冲突。
暴露站问题是指在一个无线网络中,有两个或多个节点想要发送数据给不同的接收节点,但是它们之间可以互相侦听到对方的信号,导致它们不敢同时发送数据,从而浪费信道资源。
隐蔽站和暴露站问题都会降低无线网络的性能,为了解决这些问题,有一些改进的CSMA协议被提出,例如CSMA/CA(带冲突避免的CSMA)、MACA(多跳CSMA)、MACAW(增强的MACA)等。这些协议的基本思想是在发送数据之前进行预约,通过发送一些控制帧,如请求发送(RTS)、清除发送(CTS)、确认应答(ACK)等,来协调不同节点的发送行为,避免或减少冲突和浪费的发生。
