什么是端到端,什么是点到点?两者的优缺点!

部署运行你感兴趣的模型镜像


在我们大家刚接触NA的时候可能对有些字眼比较熟悉而又陌生吧。那我今天就给大家讲一下端到端和点到点,上次和很多人讨论。以及在网上收的一些资料我就比较一下两者优缺点:

1,   点到点是数据链路层的说法,因为数据链路层只负责直接相连的两个节点之间的通信,一个节点的数据链路层接受ip层数据并封装之后,就把数据帧从链路上发送到与其相邻的下一个节点。 
    端到端是传输层的说法,因为无论tcp还是udp协议,都要负责把上层交付的数据从发送端传输到接收端,不论其中间跨越多少节点。只不过tcp比较可靠而udp不可靠而已。所以称之为端到端,也就是从发送端到接收端。


2, 从本质上说,由物理层、数据链路层和网络层组成的通信子网为网络环境中的主机提供点到点的服务,而传输层为网络中的主机提供端到端的通信。    直接相连的节点对等实体的通信叫点到点通信。它只提供一台机器到另一台机器之间的通信,不会涉及到程序或进程的概念。同时点到点通信并不能保证数据传输的可靠性,也不能说明源主机与目的主机之间是哪两个进程在通信,这些工作都是由传输层来完成的。
    端到端通信建立在点到点通信的基础之上,它是由一段段的点到点通信信道构成的,是比点到点通信更高一级的通信方式,完成应用程序(进程)之间的通信。
3,       端到端与点到点是针对网络中传输的两端设备间的关系而言的。端到端传输指的是在数据传输前,经过各种各样的交换设备,在两端设备问建立一条链路,就象它们是直接相连的一样,链路建立后,发送端就可以发送数据,直至数据发送完毕,接收端确认接收成功。        点到点系统指的是发送端把数据传给与它直接相连的设备,这台设备在合适的时候又把数据传给与之直接相连的下一台设备,通过一台一台直接相连的设备,把数据传到接收端。 
端到端传输的优点是链路建立后,发送端知道接收设备一定能收到,而且经过中间交换设备时不需要进行存储转发,因此传输延迟小。端到端传输的缺点是直到接收端收到数据为止,发送端的设备一直要参与传输。如果整个传输的延迟很长,那么对发送端的设备造成很大的浪费。端到端传输的另.一个缺点是如果接收设备关机或故障,那么端到端传输不可能实现。 
点到点传输的优点是发送端设备送出数据后,它的任务已经完成,不需要参与整个传输过程,这样不会浪费发送端设备的资源。另外,即使接收端设备关机或故障,点到点传输也可以采用存储转发技术进行缓冲。点到点传输的缺点是发送端发出数据后,不知道接收端能否收到或何时能收到数据。 
在一个网络系统的不同分层中,可能用到端到端传输,也可能用到点到点传输。如Internet网,IP及以下各层采用点到点传输,4层以上采用端到端传输。

=======
如此一来,这两个概念就比较清晰了。它们讲的都是网络通信,只是看问题的层面不同。
在点到点的层面中只有传输的概念,它只是埋头搞传输;
而端到端的层面中就主要是传输的可靠性等更高层面上的问题了,但它仍然是建立在前者基础上的。我想讲到这里大家对这两个概念也应该比较好理解了吧!


转:http://bbs.hh010.com/thread-14691-1-1.html

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

端到端通信与点对点通信在计算机网络中具有显著的区别,主要体现在连接方式、数据传输路径、协议层次以及所涉及的通信范围等方面。 ### 连接方式 端到端通信与点对点通信的核心区别之一在于连接的建立方式。点对点通信通常指的是两个设备之间通过直接的物理链路进行通信,这种通信方式不涉及中间节点的转发,因此连接是直接且单一的。而端到端通信则是通过网络连接多个节点,数据可以在多个中间节点之间转发,最终到达目标设备。这意味着端到端通信不仅限于直接相连的设备,而是可以跨越多个网络节点[^1]。 ### 数据传输路径 在点对点通信中,数据的传输路径是直接的,即数据从源设备直接传输到目标设备,没有中间节点参与转发。这种方式的优点是传输速度快、延迟低,但缺点是通信范围受限,只能在直接相连的设备之间进行。而在端到端通信中,数据传输路径通常是经过多个中间节点的转发。这些中间节点(如路由器或交换机)根据网络状况路由算法选择最佳路径,将数据从源设备传递到目标设备。这种方式的优点是可以实现远距离通信,并且能够适应复杂的网络环境[^1]。 ### 协议层次 点对点通信主要涉及数据链路层物理层,有时可能涉及网络层。它专注于提供一台机器到另一台机器之间的通信,而不涉及程序或进程的概念。相比之下,端到端通信则主要涉及传输层,关注从发送端到接收端的整个通信过程,包括建立连接、数据传输连接释放。传输层负责确保数据的可靠传输,并管理应用程序(进程)之间的通信[^2]。 ### 通信范围 点对点通信通常用于局部链路,例如两个设备之间的直接连接,适用于短距离通信场景。而端到端通信则适用于全局路径,即从发送端到接收端的整个通信过程,无论中间经过多少节点。端到端通信不仅关注数据的最终传输目的地,还涉及到网络层的路由选择传输层的可靠性保障。 ### 协同工作 尽管端到端通信与点对点通信在功能层次上有明显的区别,但它们在网络协议栈中是协同工作的。例如,在互联网中,TCP协议作为端到端通信的代表,依赖于IP层的点到点路由实现数据的可靠传输。IP层负责将数据包从源设备传输到目标设备,而TCP层则确保数据的完整性顺序[^2]。 ### 示例代码 为了更好地理解端到端通信与点对点通信的区别,可以通过一个简单的示例来展示它们的工作原理。以下是一个使用Python实现的TCP客户端服务器端的示例,展示了端到端通信的基本过程。 #### TCP 客户端 ```python import socket def tcp_client(): # 创建TCP/IP套接字 client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 连接到服务器 server_address = ('localhost', 10000) client_socket.connect(server_address) try: # 发送数据 message = 'Hello, Server!' client_socket.sendall(message.encode()) # 接收响应 data = client_socket.recv(1024) print('Received:', data.decode()) finally: # 关闭连接 client_socket.close() tcp_client() ``` #### TCP 服务器端 ```python import socket def tcp_server(): # 创建TCP/IP套接字 server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 绑定套接字到地址端口 server_address = ('localhost', 10000) server_socket.bind(server_address) # 监听连接 server_socket.listen(1) while True: # 等待连接 print('Waiting for a connection...') connection, client_address = server_socket.accept() try: print('Connection from', client_address) # 接收数据 data = connection.recv(1024) print('Received:', data.decode()) # 发送响应 response = 'Hello, Client!' connection.sendall(response.encode()) finally: # 关闭连接 connection.close() tcp_server() ``` 在这个示例中,TCP客户端服务器端通过端到端通信实现了数据的可靠传输。客户端通过`socket`库创建了一个TCP连接,并向服务器发送了一条消息。服务器端监听指定的端口,接收客户端的连接请求,并处理接收到的数据,然后返回响应。这个过程展示了端到端通信的基本机制,即通过传输层的TCP协议确保数据的可靠传输。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值