"服务"在通信协议中指的是某种网络服务,如电子邮件、文件传输、远程登录等。服务可以是由网络设备提供的,也可以是由软件应用程序提供的。
"协议"在通信协议中指的是协议规范,它描述了数据在网络上的传输和交换方式。协议规范通常包括数据格式、传输速率、数据校验方式等。协议可以由国际标准化组织(ISO)或其他组织制定,也可以由厂商制定。协议规范是实现通信的关键,它确保了数据的可靠传输和正确解析。
服务和协议在通信协议体系中是紧密相关的。服务需要在网络上进行数据传输和交换,而协议规范则描述了这种数据传输和交换的方式。例如,电子邮件服务需要使用SMTP协议(Simple Mail Transfer Protocol)来将邮件从发件人传递到收件人;文件传输服务需要使用FTP协议(File Transfer Protocol)来传输文件。在这些例子中,服务和协议是密切相关的,协议规范描述了如何传输和交换数据,而服务则利用这些协议来提供特定的网络服务。
虽然路由器通常被认为是网络层的中继设备,但是路由器上也可以存在传输层和应用层协议。这是因为路由器是一种功能强大的网络设备,它需要支持多种协议和服务。
首先,路由器通常会在传输层上支持一些协议,例如TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)。
其次,路由器上也可以支持应用层协议,例如HTTP(Hyper Text Transfer Protocol)和FTP(File Transfer Protocol)。这些协议负责提供特定的网络服务,例如网页浏览和文件传输。当路由器接收到应用层协议的数据包时,它可以根据协议类型和目标地址,将数据包转发到适当的服务器。
设计协议栈的主要原则应该是实现可靠、高效、安全的数据传输和通信,同时考虑到网络架构的可扩展性和灵活性。
以下是一些具体的原则:
- 分层原则:将协议栈划分为不同的层次,每个层次有不同的功能和职责。这种分层的设计可以使得每个层次都具有清晰的功能,易于理解和实现,同时也使得协议栈的扩展和维护更加容易。
- 模块化原则:将每个层次的协议划分为不同的模块,使得每个模块可以独立设计、实现和测试。这种模块化的设计可以提高协议栈的可重用性和可扩展性,同时也方便了协议栈的维护和升级。
- 松耦合原则:每个层次的协议应该尽量松耦合,即层与层之间的交互应该尽量少,以减少系统的复杂性和开销。这种设计可以提高协议栈的性能和稳定性,同时也方便了协议栈的扩展和维护。
- 简单性原则:每个层次的协议应该尽量简单,以便实现和测试。这种设计可以降低协议栈的复杂度和开销,提高协议栈的可靠性和性能。
- 开放性原则:协议栈应该设计成开放的,以方便第三方厂商开发兼容的协议和服务。这种设计可以促进协议栈的标准化和普及,提高协议栈的互操作性和可扩展性。
总之,设计协议栈的主要原则是实现可靠、高效、安全的数据传输和通信,同时考虑到网络架构的可扩展性和灵活性。通过分层、模块化、松耦合、简单性和开放性等原则的设计,可以实现一个功能强大、易于扩展和维护的协议栈。
不是所有的高层协议都必须通过IP封装承载。虽然IP协议在网络层几乎一统天下,但是在某些场景下,高层协议也可以使用其他的传输方式来传输数据,而不是通过IP封装。
例如,在本地局域网中,一些应用程序可以使用数据链路层协议(如以太网协议)来直接传输数据,而不必依赖于IP协议。此外,在一些专用网络中,也可能会使用其他的协议来进行数据传输,而不必依赖于IP协议。
在Q点,为了实现异种网络的互联,除了进行分组的格式转换之外,还需要进行以下工作:
- 地址转换:由于A和B网络使用的地址格式不同,因此需要在Q点进行地址的转换,将A网络的地址转换为B网络的地址,或者将B网络的地址转换为A网络的地址。
- 协议转换:由于A和B网络使用的协议不同,因此需要在Q点进行协议的转换,将A网络的协议转换为B网络的协议,或者将B网络的协议转换为A网络的协议。
- 流量控制和拥塞控制:由于A和B网络之间的带宽和延迟不同,因此需要在Q点进行流量控制和拥塞控制,以保证数据传输的可靠性和效率。
- 安全认证和加密:由于异种网络之间的通信可能涉及到敏感数据的传输,因此需要在Q点进行安全认证和加密,保护数据的安全性和隐私性。
1.服务发生在上下层之间,协议发生在对等实体之间。协议通过调用服务实现其功能。
2.从功能划分角度,中继设备需要实现数据/用户面、控制面、管理面功能, 控制面、管理面需要传输层、应用层协议栈
3.透明性、独立性、对等实体原则
4. 按题意,要基于ip的,上层肯定是ip封装的。非IP的只能在下层实现(如为了增强安全性)。
5. Q点还需要对A/B的上层协议进行转换处理,即除了转换A到B,还需要转换A上 到B上。
在网元协议栈中,IP实体通常是一个,但是根据实际的网络架构和业务需求,也可能会出现多个IP实体的情况。
±------------------+
| Application Layer |
±------------------+
| SCTP |
±------------------+
| GTP-U |
±------------------+
| IP |
±------------------+
| Ethernet |
±------------------+
在这个协议栈图中,IP实体位于最上层,上面还有SCTP和GTP-U协议实体,下面是以太网协议实体。在实际的网元中,可能还会有其他协议实体,如TCP、UDP、GRE等,这些实体的存在与否取决于网络的具体架构和业务需求。
- 快速处理:UDP协议相对于TCP协议,没有建立连接的过程,发送数据的开销更小,处理速度更快。在高速移动的场景中,数据需要在短时间内传输,采用UDP协议可以提高数据传输的效率。
- 丢包容忍:在移动通信网络中,由于信号质量的变化和网络拥塞等原因,数据包的丢失是常见的现象。采用UDP协议可以更好地容忍丢包,因为UDP协议不保证数据的可靠性,数据丢失时可以简单地重传,而TCP协议需要进行重传和拥塞控制,开销较大。
- 简单性:UDP协议相对于TCP协议,实现更加简单,占用更少的网络资源。移动通信网络需要在资源有限的环境下运行,采用UDP协议可以节省宝贵的网络资源。
因此,移动通信网络中的用户面协议栈采用两层IP层的架构,底层采用IP+UDP方式,主要是为了提高数据传输效率、容忍数据丢失和节省网络资源。
尽管TCP协议是一种可靠的协议,但是在高速移动的场景下,由于信号强度的变化、网络拥塞等原因,会导致TCP协议出现超时重传和拥塞控制等问题,从而降低数据传输的效率和可靠性。
另外,TCP协议需要进行三次握手和四次挥手的连接和断开过程,开销较大,而移动通信网络需要在资源有限的环境下运行,采用TCP协议会占用更多的网络资源,不利于移动通信网络的发展。
因此,在移动通信网络中,采用IP+UDP方式来实现用户面协议栈的底层,可以提高数据传输效率、容忍数据丢失和节省网络资源。
控制面协议栈在移动通信网络中承担着控制和管理网络设备、传输用户数据等重要任务,因此需要保证高可靠性、可靠的传输和严格的顺序控制。
相比于UDP协议,SCTP协议具有以下优势:
- 可靠性:SCTP协议使用类似TCP的可靠传输机制,通过序列号和确认机制确保数据的可靠传输。而UDP协议是不可靠的传输协议,不能保证数据的可靠性和传输顺序。
- 消息边界:SCTP协议支持消息边界,可以将应用层的消息按照原始的顺序交付给对端,不会出现粘包和拆包等问题。而UDP协议则需要应用层自己处理消息边界问题。
- 流控制:SCTP协议支持流控制机制,可以根据网络状况动态调整传输速率,防止拥塞和数据丢失。而UDP协议则没有流控制机制,无法根据网络状况进行动态调整。
基于以上考虑,控制面协议栈采用IP+SCTP的方式可以满足控制面传输的高可靠性和可靠传输的要求。
- 两个独立的IP实体。
- 两层IP,下层是内网IP,仅用于内部组网;上层IP用于互联网接入。
- Sctp是面向消息的,类似TCP/UDP,可以像TCP一样实现可靠性、排序、流量控制以及全双工的数据传输,支持多宿冗余连接,但传递过程不阻塞,因而兼具TCP与UDP的特点,更适合控制面功能。
上层IP用于支持互联网业务,下层IP支持内网信息业务的组网。
不可以。 P-GW是网关,需要IP层配置相应IP,才能区分不同网关。
目前LTE的几种语音解决方案:
- 利用现有的CS网络实现
SvLTE(Simultaneous voice and LTE):终端同时驻留在2G/3G和LTE网络中。传统的电路域提供话音业务,LTE提供数据业务,数据和话音可同时并发。
CSFB(Circuit Switch FallBack):3GPP R8标准提出,终端优选LTE驻留,LTE只提供数据业务。当用户发起或接受话音业务,需回落到原有CS网络。 - VoLTE-依靠IMS(IP Multimedia Subsystem)实现
SRVCC(Single Radio Voice Call Continuity):3GPP R8标准提出,提供基于IMS的LTE话音业务。若终端移动到LTE未覆盖区域时,需切换到CS域保证业务连续性。
- 1ms指用户面时延,具体指的是无线网络空中接口(手机和基站之间,不包括核心网,互联网等网络节点)的双向延迟时间。
- 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)
接入还是并存。
答案:融合:接入/融合,情形都有。
硬切换与软切换
什么时候该切换?判别标准或选择标准?多属性标准,你能想到几种?
- 信号强度、
- 优先级、
- 时延、
- 速率、
- 丢包率、
- 费用。。。
防止乒乓效应
不可能。有严格状态机。
不是。IP只适用于所有IP兼容的物理网络(IPv4适用于IPv4兼容的物理网络,IPv6适用于IPv6兼容的物理网络)。ARP被设计成支持硬件广播的网络上使用,这就意味着ARP将不能在X.25网络上工作。所有使用IP的主机和路由器都必须使用ICMP。
基本思路:对ip与mac的关系进行绑定或进一步认证。
将阻塞位置上移,通过为不同服务单独维护缓存队列,避免服务之间阻塞。
- 保留字段—IP/TCP/UDP/VLAN等都有保留字段设计。
- 字段的单位变化—字段单位,如IP协议报头格式中的头部长,是以32比特为单位存储的。
- 一些巧妙的设计—如ip报文中分片字段的设计、HDLC帧类型编码设计(不需要单独占用一个字段表示帧类型)
考虑TLV的解决方式
比如:JSON
如udp,http, SOAP等
见ppt
如Sctp
- 可以,但效果不好。所以有许多针对无线网的 TCP改进协议。
- Reno的快速重传算法是针对一个包的重传情况的,然而在实际中,一个包重传超时可能导致许多的数据包的重传,因此当多个数据包从一个数据窗口中丢失时并且触发快速重传和快速恢复算法时,问题就产生了。因此NewReno出现了,它在Reno快速恢复的基础上稍加了修改,可以恢复一个窗口内多个包丢失的情况。具体来讲就是:Reno在收到一个新的数据的ACK时就退出了快速恢复状态了,而NewReno需要收到该窗口内所有数据包的确认后才会退出快速恢复状态,从而更一步提高吞吐量。
SACK就是改变TCP的确认机制,最初的TCP只确认当前已连续收到的数据,SACK则把乱序等信息会全部告诉对方,从而减少数据发送方重传的盲目性。比如说序号1,2,3,5,7的数据收到了,那么普通的ACK只会确认序列号4,而SACK会把当前的5,7已经收到的信息在SACK选项里面告知对端,从而提高性能,当使用SACK的时候,NewReno算法可以不使用,因为SACK本身携带的信息就可以使得发送方有足够的信息来知道需要重传哪些包,而不需要重传哪些包。
自学习算法:交换机收到一个帧之后,查找MAC地址表中与收到帧的源地址有无相匹配的项目。如没有,就在MAC地址表中增加一个项目(源地址、进入的接口和时间);如有,则更新原有的项目。
一般情况下,需要保存MAC,不保存有冲突风险。
两个MAC地址的hash值相同,会导致报文被中继到错误目的地。典型的Hash解决冲突方法有:线性探查、外链等
VOQ: Virtual Output Queue
IQ性能不好的主要原因是由于HOL阻塞(Head of Line Blocking). HOL是由于FIFO(先进先出)队列机制造成的,每个输入端的FIFO首先处理的是在队列中最靠前的数据,而这时队列后面的数据对应的出口缓存可能已经空闲,但因为得不到处理而只能等待,这样既浪费了带宽又降低了系统性能。虚拟输出队列VoQ(Virtual Output Queue)是网络设备接口在无拥塞的情况下,防止HOL阻塞(Head of Line Blocking)的队列技术。
结论是趋于OQ如果分组流是突发的,但缓冲区无限大或分组流是均匀达到的