- APP神圣官网 > 热点资讯 > 正文
数据传输联网接入协议数据网络(协议数据网络联网地址)「数据连接协议」
在前面的文章中,我们分析了TCP/IP模型和网络接口层的协议。这篇文章,我们来解释下第二层和第三层的网络和数据传输层的协议及其功能。第二层:网络层协议将数据传输到目标地址。目标地址可以是多个网络通过路由器连接而成的某个地址。因此这一层主要负责寻址和路由选择。包括 IP、ICMP、IGMP、ARP、RARP 协议。1. IP 协议网际协议,Internet Protocol,IP 协议,又称互联网协议,是互联网协议包中的网络层通信协议,用于跨网络边界分组交换。它的路由功能实现了互联互通,并从本质上建立了互联网。IP 的作用是在复杂的网络环境中将数据包发送给最终目的主机。面向的是 IP 地址。IP是在TCP/IP协议族中网络层的主要协议,任务是仅根据数据包标头中的IP地址将数据包从源主机传递到目标主机。为此,IP协议定义了封装要传递的数据的数据包结构。它还定义了用于用源和目的地信息标记数据报的寻址方法。第一个架构的主要版本为IPv4,目前仍然是广泛使用的互联网协议,尽管世界各地正在积极部署IPv6。组成部分IP 地址:用于标识网络中的节点。报文:包含版本、头部长度、服务类型、总长度、标识、标志、片偏移等字段。工作原理网际协议由数据封装、寻址和路由组成。当源主机要发送数据时,它将数据进行分组,并在数据报的首部填写源 IP 地址和目的 IP 地址等信息。然后数据报被发送到网络中,路由器根据目的 IP 地址进行路由选择,将数据报转发到下一跳,直到最终到达目的主机。特点不可靠:它只负责尽力传输数据报,但不保证一定到达或顺序正确。无连接:发送方和接收方在传输数据前不需要建立连接。尽力而为服务:会尽力把数据报送到目的地,但可能出现丢失、重复、延迟等情况。提供全球统一的编址方式:使得不同网络中的设备能够相互通信。应用应用在互联网通信,是整个互联网运行的基础。有 IP 地址的物联网设备,可以直连网络:一些较为复杂和功能强大的智能设备,如智能家电(某些高端智能电视、智能冰箱等)、工业自动化设备等,它们直接接入网络并拥有独立的 IP 地址,可与其他设备或服务器直接通信。因为:IP 唯一性:确保每个设备在网络中都是唯一的,可以准确寻址。 能通信:使设备能够通过网络相互通信,发送和接收数据包。 便管理:方便网络管理员管理和监控设备,排查网络问题。没有 IP 地址的物联网设备,不可以直连网络,需要转换器(网关等):大量的简单传感器和执行器,它们通常通过网关等中间设备与网络连接,自身不具备直接的 IP 地址。这些设备可能包括环境监测传感器、简单的控制装置等,它们的数据需要经过网关进行收集和转发。无 IP 的设备,无网络需求:设备的功能不需要通过网络实现。直接连接:通过非网络方式(如 USB、蓝牙、针脚线)连接和通信。低成本和复杂性:没有网络功能的设备通常更简单、更便宜。没有 IP 地址的设备想要联网,可以通过网关设备、网络适配器、串口服务器、智能控制器和嵌入式网络模块等方法来间接实现网络连接。2. ICMP 协议ICMP: Internet Control Message Protocol,互联网控制报文协议,差错报告、网络诊断、路径控制和拥塞控制、传递控制信息。通俗讲,ICMP 主要的功能包括:确认 IP 包是否成功送达目标地址、报告发送过程中 IP 包被废弃的原因和改善网络设置等。 ICMP 报文是封装在 IP 包里面,它工作在网络层,是 IP 协议的助手。 ping 应用的底层(ping 当然是属于应用层),用的是网络层的ICMP协议。常见的 ICMP 消息类型:Echo Request 和 Echo Reply:用于 ping 命令,检查目标主机是否可达。Destination Unreachable:当路由器或主机无法传递数据包时,发送该消息通知源主机。Time Exceeded:当数据包在网络中存活时间(TTL)超过限制时,发送该消息。Redirect:通知主机选择更好的路由。3. IGMP 协议IGMP(Internet Group Management Protocol,互联网组管理协议)是用于管理 IP 组播通信的协议。当主机希望加入某个组播组时,它会通过 IGMP 向本地网络中的路由器发送加入请求。路由器收到请求后,会记录该主机所在的组播组信息。当有组播数据要发送到该组时,路由器根据这些记录将数据只发送到有成员加入的网络段。大大节约了网络资源。以下图为例,如果服务器把数据传给 5 台电脑,采用 IP 方式传送,服务器需要发送 5 份数据,目标地址分别是 IP1、IP2……;但是先把接收端的 4 台电脑用 IGMP 分组之后,服务器只需要发送一份数据,经过的路由器也是只需要转发一次数据。需要分组和订阅。在视频直播等应用中,IGMP 确保只有对该直播内容感兴趣的主机,订阅或者关注主播,才会接收到视频数据,你们订阅了我的微信公众号跃曰了吗,没有的话订阅一下感受一下 IGMP。4. ARP 协议ARP:Address Resolution Protocol,地址解析协议。根据 IP 地址找到对应的 MAC 地址。ARP 根据 IP 地址获取 MAC 地址的方法:主机发送一个广播,谁的 IP 叫 xx。然后 xx IP 回答说我是 xx IP,我的 MAC 地址是 yy。操作系统会把第一次通过 ARP 获取的 MAC 地址缓存起来。5. RARP 协议RARP:Reverse Address Resolution Protocol,反向地址解析协议。根据 MAC 地址找 IP 地址。一些无盘工作站等设备在启动时不知道自己的 IP 地址,但知道自己的 MAC 地址。它们会发送 RARP 请求,请求网络中的 RARP 服务器根据其 MAC 地址来告知对应的 IP 地址。我是一台打印机,我的 MAC 地址是 xx,当打印机联网时,需要一个 IP,这个时候打印机像 RARP 服务器求分配一个 IP。打印机通过 RARP 服务器静态的获得 IP地址:打印机通过 DHCP (这个是个应用层协议,之后文章再讲)服务器动态分配的 IP 地址:第三层:传输层协议起着可靠传输的作用。只在通信双方节点上进行处理,而无需在路由器上处理。面向的是端口号。1. TCP 协议传输控制协议,Transmission Control Protocol,TCP 是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP层是位于IP层之上,应用层之下的中间层,即传输层。工作原理TCP 协议的运行可划分为三个阶段:连接建立(connection establishment)、数据传送(data transfer)和连接终止(connection termination)。这就是典型的三次握手四次挥手,三握四挥。应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分割成适当长度的报文段。TCP把结果包传给IP层,由它来透过网络将包传送给接收端实体的TCP层。TCP 协议确保接收端接收的网络包是无损坏、无间隔、非冗余和按序的。数据在TCP层称为流(Stream),数据分组称为分段(Segment)。作为比较,数据在IP层称为Datagram,数据分组称为分片(Fragment)。 UDP 中分组称为Message。组成部分TCP(Transmission Control Protocol,传输控制协议)的组成部分主要包括:端口号:用于标识不同的应用程序。序列号和确认号:确保数据传输的顺序性和可靠性。特点使用序号,对收到的TCP报文段进行排序以及检测重复的数据;使用校验和检测报文段的错误,即无错传输;使用确认和计时器来检测和纠正丢包或延时;流控制(Flow control);拥塞控制(Congestion control);丢失包的重传。所以他有一下特点:面向连接:在数据传输前需建立连接。那就是资源消耗大。不灵活。可靠传输:通过多种机制保证数据的正确到达。带宽消耗大。全双工通信:双方可同时进行数据收发。流量控制:防止接收方被数据淹没。拥塞控制:避免网络拥塞。应用文件传输:如 FTP 等,保证数据的准确和完整。电子邮件:确保邮件内容可靠传输。网页浏览:HTTP 基于 TCP。远程登录:如 Telnet。采用TCP传输的应用层协议有:MQTT、DDS、Modbus-TCP、XMPP、AMQP、POP3、HTTP、HTTPS、FTP、Telnet、SMTP。2. UDP 协议用户数据报协议,User Datagram Protocol,UDP;又称用户数据包协议,是一个简单的面向数据包的通信协议,位于OSI模型的传输层。数据 UDP 中分组称为Message。在TCP/IP模型中,UDP为网络层以上和应用层以下提供了一个简单的接口。UDP只提供数据的不可靠传递,它一旦把应用程序发给网络层的数据发送出去,就不保留数据备份。UDP 是不可靠连接传输,注意还是需要连接的。对比下应用层协议的 MQTT 的消息订阅模式。组成部分UDP(User Datagram Protocol,用户数据报协议)的组成部分主要有:源端口和目的端口:用于标识发送方和接收方的应用程序。工作原理发送方将数据封装成 UDP 数据报,其中包含源端口、目的端口以及要传输的数据。然后直接将数据报发送到网络中,不需要像 TCP 那样先建立连接。数据报在网络中进行传输,可能会经过多个网络节点。由于 UDP 不提供可靠传输机制,所以它不会对数据报进行确认、重传等操作,也不会对数据的顺序进行严格保证。接收方通过目的端口来识别属于自己的 UDP 数据报,并从数据报中提取出数据进行处理。特点高效性:不需要建立连接和进行复杂的确认等机制,数据传输速度快,延迟低,能快速响应。低开销:协议简单,在网络资源的使用上较为节省。实时性好:适合实时性要求高的应用,如实时音频、视频传输,能及时发送数据而不会因连接建立等环节造成较大延迟。灵活性高:可以快速发送少量数据,在一些特定场景下非常适用。能穿透部分防火墙:相比 TCP 有时更容易穿过一些网络限制。应用UDP适用于不需要或在程序中执行错误检查和纠正的应用,它避免了协议栈中此类处理的开销。对时间有较高要求的应用程序通常使用UDP,因为丢弃数据包比等待或重传导致延迟更可取。许多关键的互联网应用程序使用UDP,包括:DNS、SNMP、TFTP、DHCP、CoAP、Modbus-UDP、RIP、NTP。实时应用不需要实时可靠连接:允许一些丢包、出错或拥塞,从来保障传输速度。流媒体、网络游戏、IP电话(VoIP)等等使用 UDP 优势明显。下面是 TCP 和 UDP 的区别:后记这里讲了第二层网络传、第三层传输层的协议以及其功能。下一篇终于到了第四层应用层协议,也是最精彩的一层。理解 TCP/IP 四层框架是学习物联网相关协议的基础。学习协议是做好物联网设备数据接入、监控、报警、下控、运维、数据分析、智控的基础。我阅读了大量的书籍和文章,汇总出了 TCP/IP 四层框架的主要协议、物联网设备的主要协议。工作量之大,超出预期。我看了 B 站《希赛关于软考网络工程师的全套视频教程》,看了《图解 TCP/IP》,看了大量的文章。又结合之前的物联网行业的从业经验,整理出来这篇文章。 期望大家的鼓励与支持,欢迎大家交流。参考文献最后一个很好啊,图画的也很好,https://www.xiaolincoding.com/,小林 x 图解计算机基础,推荐给大家。本文由 @跃曰 原创发布于人人都是产品经理。未经作者许可,禁止转载。题图来自Unsplash,基于CC0协议。该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。
联系我们
在线咨询:
0 评论