博客
关于我
协议族和数据传输方式
阅读量:723 次
发布时间:2019-03-21

本文共 1222 字,大约阅读时间需要 4 分钟。

Protocols and Protocol Families

在网络通信中,protocol 就是通信双方必须遵守的一种规范。它决定了数据在传输过程中如何确保准确无误地到达目的地。常见的协议包括 TCP、UDP 和 IP。网络上的通信必须使用相同的协议才能顺利进行,protocol 的细节决定了如何建立连接、如何相互识别等关键步骤。

protocol family(协议族)是由多个相关协议组成的一个整体。最常见的 example 是 TCP/IP 协议族,它包含了 TCP、IP、UDP 等多种互为关联的协议。特别是 TCP 和 IP 作为底层协议的重要组成部分,使得整个 TCP/IP 协议族成为网络通信的基础设施。

Data Transmission Methods

在计算机网络中,数据传输方式主要有两种:SOCK_STREAM 和 SOCK_DGRAM。

  • SOCK_STREAM:面向连接的数据传输

    这种方式保证数据能准确无误地到达另一台计算机。在数据传输过程中如果出现丢失或损坏,可以通过重新发送来解决。常见的 HTTP 协议就采用了 SOCK_STREAM transmitting data,因为它需要保证数据的完整性和正确性。

    why stream sockets can ensure high-quality数据传输呢?这是因为它使用了 TCP 协议。TCP 会确保数据按顺序正确地传输到接收方。这一点非常重要,尤其是在需要高可靠性和数据完整性的场景中。

    TCP/IP 是数据传输的核心,其由 TCP 和 IP 协议共同提供。TCP 负担了数据传输的正确性,IP 负担了数据的路由问题。

    关于“数据的发送和接收不同步”

    流格式套接字(stream socket)的工作原理中有一个关键点——收发不一定同步。内置缓冲区将接收的数据暂存起来,发送方和接收方可以按照各自的节奏来传输和读取数据Interface. 这意味着传输速率和处理方式是独立的,不同的设备可能根据自身情况决定具体操作。

  • SOCK_DGRAM:无连接的数据传输

    这种方式更注重速度,传输过程中不进行数据校验,损坏或丢失的数据无法恢复。常见的 DNA(domain name system)和 videoconference 会选择使用 SOCK_DGRAM 由于这些场景对数据完整性要求不高,且需要快速传输。

    data 报(datagram)套接字仍然使用 IP 协议作为路由层协议,但不像流格式套接字那样依赖 TCP。替代方案是使用 UDP 协议,虽然简单,但 providesFast er 数据传输速度。

    需要强调的是 sock datagram 并不像流格式套接字那么“糟糕”。),因为数据丢失或损坏的概率很小,频繁发生数据丢失的情况并不会出现,这也就是为什么人们总说 data k prone in datagram transmission。

转载地址:http://ncngz.baihongyu.com/

你可能感兴趣的文章
NO 157 去掉禅道访问地址中的zentao
查看>>
no available service ‘default‘ found, please make sure registry config corre seata
查看>>
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
查看>>
no connection could be made because the target machine actively refused it.问题解决
查看>>
No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
查看>>
No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
查看>>
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
查看>>
No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
查看>>
No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
查看>>
No module named 'crispy_forms'等使用pycharm开发
查看>>
No module named 'pandads'
查看>>
No module named cv2
查看>>
No module named tensorboard.main在安装tensorboardX的时候遇到的问题
查看>>
No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
查看>>
No new migrations found. Your system is up-to-date.
查看>>
No qualifying bean of type XXX found for dependency XXX.
查看>>
No qualifying bean of type ‘com.netflix.discovery.AbstractDiscoveryClientOptionalArgs<?>‘ available
查看>>
No resource identifier found for attribute 'srcCompat' in package的解决办法
查看>>
no session found for current thread
查看>>
No static resource favicon.ico.
查看>>