通信网络系统基础

image.png

1、服务与协议的概念。并举例说明他们的区别与关系

"服务"在通信协议中指的是某种网络服务,如电子邮件、文件传输、远程登录等。服务可以是由网络设备提供的,也可以是由软件应用程序提供的。
"协议"在通信协议中指的是协议规范,它描述了数据在网络上的传输和交换方式。协议规范通常包括数据格式、传输速率、数据校验方式等。协议可以由国际标准化组织(ISO)或其他组织制定,也可以由厂商制定。协议规范是实现通信的关键,它确保了数据的可靠传输和正确解析。

服务和协议在通信协议体系中是紧密相关的。服务需要在网络上进行数据传输和交换,而协议规范则描述了这种数据传输和交换的方式。例如,电子邮件服务需要使用SMTP协议(Simple Mail Transfer Protocol)来将邮件从发件人传递到收件人;文件传输服务需要使用FTP协议(File Transfer Protocol)来传输文件。在这些例子中,服务和协议是密切相关的,协议规范描述了如何传输和交换数据,而服务则利用这些协议来提供特定的网络服务。

2、通常认为,路由器是一种网络层的中继设备,但路由器上也有传送层协议,应用层协议,如何解释这种现象?

虽然路由器通常被认为是网络层的中继设备,但是路由器上也可以存在传输层和应用层协议。这是因为路由器是一种功能强大的网络设备,它需要支持多种协议和服务。
首先,路由器通常会在传输层上支持一些协议,例如TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)。
其次,路由器上也可以支持应用层协议,例如HTTP(Hyper Text Transfer Protocol)和FTP(File Transfer Protocol)。这些协议负责提供特定的网络服务,例如网页浏览和文件传输。当路由器接收到应用层协议的数据包时,它可以根据协议类型和目标地址,将数据包转发到适当的服务器。

3、研讨:你认为设计协议栈主要原则是什么?

设计协议栈的主要原则应该是实现可靠、高效、安全的数据传输和通信,同时考虑到网络架构的可扩展性和灵活性。
以下是一些具体的原则:

  1. 分层原则:将协议栈划分为不同的层次,每个层次有不同的功能和职责。这种分层的设计可以使得每个层次都具有清晰的功能,易于理解和实现,同时也使得协议栈的扩展和维护更加容易。
  2. 模块化原则:将每个层次的协议划分为不同的模块,使得每个模块可以独立设计、实现和测试。这种模块化的设计可以提高协议栈的可重用性和可扩展性,同时也方便了协议栈的维护和升级。
  3. 松耦合原则:每个层次的协议应该尽量松耦合,即层与层之间的交互应该尽量少,以减少系统的复杂性和开销。这种设计可以提高协议栈的性能和稳定性,同时也方便了协议栈的扩展和维护。
  4. 简单性原则:每个层次的协议应该尽量简单,以便实现和测试。这种设计可以降低协议栈的复杂度和开销,提高协议栈的可靠性和性能。
  5. 开放性原则:协议栈应该设计成开放的,以方便第三方厂商开发兼容的协议和服务。这种设计可以促进协议栈的标准化和普及,提高协议栈的互操作性和可扩展性。

总之,设计协议栈的主要原则是实现可靠、高效、安全的数据传输和通信,同时考虑到网络架构的可扩展性和灵活性。通过分层、模块化、松耦合、简单性和开放性等原则的设计,可以实现一个功能强大、易于扩展和维护的协议栈。

4、如今,在网络层IP协议几乎一统天下,你认为,所有的高层协议(应用层)都一定通过IP封装承载吗?

不是所有的高层协议都必须通过IP封装承载。虽然IP协议在网络层几乎一统天下,但是在某些场景下,高层协议也可以使用其他的传输方式来传输数据,而不是通过IP封装。
例如,在本地局域网中,一些应用程序可以使用数据链路层协议(如以太网协议)来直接传输数据,而不必依赖于IP协议。此外,在一些专用网络中,也可能会使用其他的协议来进行数据传输,而不必依赖于IP协议。

5、异种网络互联:在Q点,进行分组的格式转换,是无法实现互联的,因为A上和B上是完全不同的协议体系。为了互联,在Q点是否还应该做点什么?

在Q点,为了实现异种网络的互联,除了进行分组的格式转换之外,还需要进行以下工作:

  1. 地址转换:由于A和B网络使用的地址格式不同,因此需要在Q点进行地址的转换,将A网络的地址转换为B网络的地址,或者将B网络的地址转换为A网络的地址。
  2. 协议转换:由于A和B网络使用的协议不同,因此需要在Q点进行协议的转换,将A网络的协议转换为B网络的协议,或者将B网络的协议转换为A网络的协议。
  3. 流量控制和拥塞控制:由于A和B网络之间的带宽和延迟不同,因此需要在Q点进行流量控制和拥塞控制,以保证数据传输的可靠性和效率。
  4. 安全认证和加密:由于异种网络之间的通信可能涉及到敏感数据的传输,因此需要在Q点进行安全认证和加密,保护数据的安全性和隐私性。

标准答案:

1.服务发生在上下层之间,协议发生在对等实体之间。协议通过调用服务实现其功能。
2.从功能划分角度,中继设备需要实现数据/用户面、控制面、管理面功能, 控制面、管理面需要传输层、应用层协议栈
3.透明性、独立性、对等实体原则
4. 按题意,要基于ip的,上层肯定是ip封装的。非IP的只能在下层实现(如为了增强安全性)。
5. Q点还需要对A/B的上层协议进行转换处理,即除了转换A到B,还需要转换A上 到B上。


1. 网元协议栈(如S-GW)中的IP实体在实际网元中是一个还是两个?试着画一下每个网元完整的协议栈图。

在网元协议栈中,IP实体通常是一个,但是根据实际的网络架构和业务需求,也可能会出现多个IP实体的情况。
±------------------+
|  Application Layer |
±------------------+
|      SCTP         |
±------------------+
|      GTP-U        |
±------------------+
|        IP         |
±------------------+
|     Ethernet      |
±------------------+
在这个协议栈图中,IP实体位于最上层,上面还有SCTP和GTP-U协议实体,下面是以太网协议实体。在实际的网元中,可能还会有其他协议实体,如TCP、UDP、GRE等,这些实体的存在与否取决于网络的具体架构和业务需求。

2. 为什么用户面协议栈有两层IP层?底层为什么采用IP+UDP方式?而不是IP+TCP?

  1. 快速处理:UDP协议相对于TCP协议,没有建立连接的过程,发送数据的开销更小,处理速度更快。在高速移动的场景中,数据需要在短时间内传输,采用UDP协议可以提高数据传输的效率。
  2. 丢包容忍:在移动通信网络中,由于信号质量的变化和网络拥塞等原因,数据包的丢失是常见的现象。采用UDP协议可以更好地容忍丢包,因为UDP协议不保证数据的可靠性,数据丢失时可以简单地重传,而TCP协议需要进行重传和拥塞控制,开销较大。
  3. 简单性:UDP协议相对于TCP协议,实现更加简单,占用更少的网络资源。移动通信网络需要在资源有限的环境下运行,采用UDP协议可以节省宝贵的网络资源。

因此,移动通信网络中的用户面协议栈采用两层IP层的架构,底层采用IP+UDP方式,主要是为了提高数据传输效率、容忍数据丢失和节省网络资源。

尽管TCP协议是一种可靠的协议,但是在高速移动的场景下,由于信号强度的变化、网络拥塞等原因,会导致TCP协议出现超时重传和拥塞控制等问题,从而降低数据传输的效率和可靠性。
另外,TCP协议需要进行三次握手和四次挥手的连接和断开过程,开销较大,而移动通信网络需要在资源有限的环境下运行,采用TCP协议会占用更多的网络资源,不利于移动通信网络的发展。
因此,在移动通信网络中,采用IP+UDP方式来实现用户面协议栈的底层,可以提高数据传输效率、容忍数据丢失和节省网络资源。

3. 为什么控制面协议栈采用IP+SCTP?而不是IP+UDP?

控制面协议栈在移动通信网络中承担着控制和管理网络设备、传输用户数据等重要任务,因此需要保证高可靠性、可靠的传输和严格的顺序控制。
相比于UDP协议,SCTP协议具有以下优势:

  1. 可靠性:SCTP协议使用类似TCP的可靠传输机制,通过序列号和确认机制确保数据的可靠传输。而UDP协议是不可靠的传输协议,不能保证数据的可靠性和传输顺序。
  2. 消息边界:SCTP协议支持消息边界,可以将应用层的消息按照原始的顺序交付给对端,不会出现粘包和拆包等问题。而UDP协议则需要应用层自己处理消息边界问题。
  3. 流控制:SCTP协议支持流控制机制,可以根据网络状况动态调整传输速率,防止拥塞和数据丢失。而UDP协议则没有流控制机制,无法根据网络状况进行动态调整。

基于以上考虑,控制面协议栈采用IP+SCTP的方式可以满足控制面传输的高可靠性和可靠传输的要求。

标准答案

  • 两个独立的IP实体。
  • 两层IP,下层是内网IP,仅用于内部组网;上层IP用于互联网接入。
  • Sctp是面向消息的,类似TCP/UDP,可以像TCP一样实现可靠性、排序、流量控制以及全双工的数据传输,支持多宿冗余连接,但传递过程不阻塞,因而兼具TCP与UDP的特点,更适合控制面功能。

为了连接互联网,协议栈上覆盖IP,IP以下都看作物理网络

上层IP用于支持互联网业务,下层IP支持内网信息业务的组网。

P-GW中最上面的IP层可否去掉?画成下图的样子?

不可以。 P-GW是网关,需要IP层配置相应IP,才能区分不同网关。

4G/5G去掉了CS域,对话音业务如何处理?

目前LTE的几种语音解决方案:

  1. 利用现有的CS网络实现
    SvLTE(Simultaneous voice and LTE):终端同时驻留在2G/3G和LTE网络中。传统的电路域提供话音业务,LTE提供数据业务,数据和话音可同时并发。
    CSFB(Circuit Switch FallBack):3GPP R8标准提出,终端优选LTE驻留,LTE只提供数据业务。当用户发起或接受话音业务,需回落到原有CS网络。
  2. VoLTE-依靠IMS(IP Multimedia Subsystem)实现
    SRVCC(Single Radio Voice Call Continuity):3GPP R8标准提出,提供基于IMS的LTE话音业务。若终端移动到LTE未覆盖区域时,需切换到CS域保证业务连续性。

5G网络的目标是网络延迟在1ms以内。光纤传播速度为200km/ms,数据要在相距几百公里以上的终端和核心网之间来回传送,显然是无法满足毫秒级。那么你认为5G网络提出的这个目标合理吗?如果合理,应该如何达到这个目标?

列举出你所听说过的和5G相关的技术

  1. 1ms指用户面时延,具体指的是无线网络空中接口(手机和基站之间,不包括核心网,互联网等网络节点)的双向延迟时间。
  2. 5G相关技术很多,关键的技术有:
    非正交多址接入技术 (Non-Orthogonal Multiple Access,NOMA)
    FBMC(滤波组多载波技术)
    毫米波(millimetre waves ,mmWaves)
    大规模 MIMO 技术(3D /Massive MIMO)
    认知无线电技术(Cognitive radio spectrum sensing techniques)
    超宽带频谱
    ultra-dense Hetnets(超密度异构网络)
    多技术载波聚合(multi-technology carrier aggregation)

如果让你设计4G/5G与WLAN的融合,你应该如何设计?

接入还是并存。
答案:融合:接入/融合,情形都有。

如何保证融合后的无缝切换(垂直切换)?你觉得有哪些问题需要考虑?

硬切换与软切换
什么时候该切换?判别标准或选择标准?多属性标准,你能想到几种?

  • 信号强度、
  • 优先级、
  • 时延、
  • 速率、
  • 丢包率、
  • 费用。。。

防止乒乓效应


1、有没有可能在PPP协议F5工作之前不执行LCP、PAP和NCP功能或者只执行部分功能?

不可能。有严格状态机。

2、IP、ARP和ICMP是不是适用于所有类型的物理网络,例如以太网、X.25、帧中继?

不是。IP只适用于所有IP兼容的物理网络(IPv4适用于IPv4兼容的物理网络,IPv6适用于IPv6兼容的物理网络)。ARP被设计成支持硬件广播的网络上使用,这就意味着ARP将不能在X.25网络上工作。所有使用IP的主机和路由器都必须使用ICMP。

3、在ping程序的执行过程中是如何利用IP、ARP和ICMP协议的?

见下页ppt:Ping用 icmp封装指令,用arp 查询mac地址,用ip进行网络层中继。
ARP被设计成支持硬件广播的网络上使用,这就意味着ARP将不能在X.25网络上工作。所用使用IP的主机和路由器都必须使用ICMP。
image.png

4、应如何克服ARP欺骗,避免IP和MAC地址的映射关系被串改和伪造?

基本思路:对ip与mac的关系进行绑定或进一步认证。


1、当协议实体所使用的某个服务出现阻塞时,它所提供的多个服务是否均会受到影响?如果会的话,应如何解决?

将阻塞位置上移,通过为不同服务单独维护缓存队列,避免服务之间阻塞。


1、定位编码法中语义的表示采用固定长度(固定字节),因此扩展有局限性。但还是有一些增加扩展性的手段,你能举出一些例子吗?

  • 保留字段—IP/TCP/UDP/VLAN等都有保留字段设计。
  • 字段的单位变化—字段单位,如IP协议报头格式中的头部长,是以32比特为单位存储的。
  • 一些巧妙的设计—如ip报文中分片字段的设计、HDLC帧类型编码设计(不需要单独占用一个字段表示帧类型)

2、在变长表述法中,如果长度域出现传输错误,会出现什么样的可能结果?应如何解决?

考虑TLV的解决方式

3、除了定位、变长和文字表述法之外,还可能设计出什么样的对话语义表达方式?

比如:JSON

image.png
方案3,可以看作是出错概率更高的一跳交互。

1、除了IP协议,还有那些通信协议是无连接的?

如udp,http, SOAP等

2、面向连接的服务、面向连接的协议、无连接的服务、以及无连接的协议等四者之间存在什么样的关系?

见ppt

3、针对无连接和连接型协议各自的优缺点,能否设计出能结合两者优点的新型通信协议?

如Sctp

TCP:适应高速网络吗?

image.png

1、TCP的拥塞控制算法可否用于互联网以外的通信网络,例如以太网和无线局域网?

  1. 可以,但效果不好。所以有许多针对无线网的 TCP改进协议。

2、Reno快速重传算法是针对单个包的重传,然而一个包重传超时可能导致许多的数据包的重传,应如何解决这一问题?

  1. Reno的快速重传算法是针对一个包的重传情况的,然而在实际中,一个包重传超时可能导致许多的数据包的重传,因此当多个数据包从一个数据窗口中丢失时并且触发快速重传和快速恢复算法时,问题就产生了。因此NewReno出现了,它在Reno快速恢复的基础上稍加了修改,可以恢复一个窗口内多个包丢失的情况。具体来讲就是:Reno在收到一个新的数据的ACK时就退出了快速恢复状态了,而NewReno需要收到该窗口内所有数据包的确认后才会退出快速恢复状态,从而更一步提高吞吐量。

SACK就是改变TCP的确认机制,最初的TCP只确认当前已连续收到的数据,SACK则把乱序等信息会全部告诉对方,从而减少数据发送方重传的盲目性。比如说序号1,2,3,5,7的数据收到了,那么普通的ACK只会确认序列号4,而SACK会把当前的5,7已经收到的信息在SACK选项里面告知对端,从而提高性能,当使用SACK的时候,NewReno算法可以不使用,因为SACK本身携带的信息就可以使得发送方有足够的信息来知道需要重传哪些包,而不需要重传哪些包。

用PPP协议将两端的以太网连接起来(远程网桥)连接拓扑和桥的协议栈结构如图是否可行?

若可行,给出以太帧从一边传递到另一边的帧结构变化过程若不可行,如何修改协议栈,让桥接变得可行
image.png
image.png
PPPoE
PPP协议虽然提供了通信双方身份验证的功能,其协议中没有提供地址信息,而以太网是一个广播类型的多路访问网络,因而PPP协议是无法直接应用在以太网链路上的。PPPoE技术。PPPoE结合了PPP协议通信双方身份验证的功能,在PPP组网结构的基础上,将PPP报文封装成PPPoE报文,从而实现以太网上的点对点通信,使得以太网中的客户端能够连接到远端的宽带接入设备上。
image.png

穿过IP网络的以太网桥

image.png
在以太网上的应用使用的是专有协议,该协议只能运行在以太网上。现在要求这个应用要在这三个以太网运行并用专有协议通信设计网桥的协议栈及中继结构,以满足这种应用需求
MAC over UDP/TCP 建隧道

image.png

自学习过程中,如何更新FIB表?

自学习算法:交换机收到一个帧之后,查找MAC地址表中与收到帧的源地址有无相匹配的项目。如没有,就在MAC地址表中增加一个项目(源地址、进入的接口和时间);如有,则更新原有的项目。

FIB表中是否还需要保存MAC地址?

一般情况下,需要保存MAC,不保存有冲突风险。

如果两个MAC地址的hash值相同:分组传输会发生什么情况?有什么解决办法?

两个MAC地址的hash值相同,会导致报文被中继到错误目的地。典型的Hash解决冲突方法有:线性探查、外链等

既想要IQ交换矩阵的简洁性又想要OQ的交换性能

VOQ: Virtual Output Queue
IQ性能不好的主要原因是由于HOL阻塞(Head of Line Blocking). HOL是由于FIFO(先进先出)队列机制造成的,每个输入端的FIFO首先处理的是在队列中最靠前的数据,而这时队列后面的数据对应的出口缓存可能已经空闲,但因为得不到处理而只能等待,这样既浪费了带宽又降低了系统性能。虚拟输出队列VoQ(Virtual Output Queue)是网络设备接口在无拥塞的情况下,防止HOL阻塞(Head of Line Blocking)的队列技术。

VOQ能否达到OQ的性能?

结论是趋于OQ如果分组流是突发的,但缓冲区无限大或分组流是均匀达到的

实际路由器中,分组主要时间消耗在路由查表上

image.png

问题:路由器接收分组的速率为λ=0.25 M/s、服务这些分组的速率为μ=0.33 M/s。给出路由器的利用率、平均分组数和平均分组延时。
答案:利用率ρ=λ/μ=0.75。由公式(11.20)可得路由器中的分组数为ρ/(1-ρ)=3,由公式(11.21)可得路由器中的平均分组延时为E(T)=1/(μ-λ)=12.5 us

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值