Pv3BJ
“我是哟哟吼说科技,专注于数据网络的回答,欢迎大家与我交流数据网络的问题”
如题,IP协议能进行数据的无连接不可靠的传输服务,但IP Header协议字段中只有一个字节,最多只能提供255种协议的标识,而这些大多又被特定的协议所占用,留给终端用户的空间非常小;而UDP可以提供更大的端口空间来满足此需求,UDP的端口号只占用两个字节,除去系统保留的1-1023端口外,为用户预留的端口有60000多个,因此能完全满足需求。
UDP报文的格式如下:
通过UDP报文的结构可以看出,UDP是通过16位源端口号和目标端口号来处理应用程序之间的区分的,16位UDP校验和可以完成传输层的校验,对出错的数据包直接就行丢弃处理。
那么IP协议的校验能完成此功能么?
不能。IP协议只校验IP报头,不参与数据的校验,整个数据包的校验是在传输层来完成的。
由于网络层和传输层在操作系统内实现层次不同,目前操作系统也不允许用户直接去操作IP协议,而是通过完成传输层协议的封装后,进而由操作系统进行网络层的封装、校验和计算过程。
因此,IP协议是无法代替UDP协议的。
欢迎大家多多关注我,在下方评论区说出自己的见解。
哟哟吼说科技
IP协议本身是一个统称
IP协议中的第三层协议是路由
路由就是指怎么把数据包能运送到目的地
举例说明,你想到北京天安门怎么样?能够到达这个过程就是路由
协议中的第四层协议是传输方式
传输方式就是指怎么样把数据包传送到对方,是可靠的传输还是不可靠的传输
我们把tcp叫做可靠的连接
举例说明,你给你妈打电话说:妈,我中彩票500万了,你妈给你个回复:孩子洗洗睡吧!
这个过程就是可靠的传输,就是指你给对方传输了数据对方会给你个回应(tcp有确认机制)
我们把udp叫做不可靠的连接
举例说明,你给你爸打电话说:爸,我中彩票500万了,结果你爸直接电话就挂了。
这个过程就是不可靠传输,就是指你发送的数据对方到底有没有收到你是不知道得(utp没有确认机制)
网络工程师成长日记
最近一直在学习TCP/IP协议的相关资料,正好可以针对此问题,说一下个人的一些想法。
首先,说明一下UDP协议和IP协议的关系。
如上图所示,UDP位于IP协议的上层,实现了对IP协议的封装。
第二,看一下两个协议数据格式的区别。
图1
图2
图3
通过比对图1和图2,可以看到UDP相对IP协议显著多了端口号字段。通过图3可以看到IP协议将UDP协议包在了里面。
第三、端口的作用。把主机比作一个大楼的话,那么端口号就代表这个大楼里面的房间。端口最主要的作用的是与应用绑定在了一起,不同的应用使用不同的端口号。IP协议是将数据从一个大楼发送到了另一个大楼。而有了端口号,可以知道数据是从这个大楼的A房间发送到了另一个大楼的A房间。这个是IP协议无法做到的。实际上我们知道每个大楼里面是有多个房间的,就好比一个主机上是有多个应用。例如SNMP\\DNS等。
综合来说,IP协议还是无法代替UDP协议的。
本人具有多年的java开发经验,熟悉多种框架,熟悉网络编程,熟悉java安全编程,熟悉大数据,熟悉多种安全协议,有兴趣的同学可以互相关注,互相学习!!!
代码饲养员天齐
简明扼要的回答:
IP协议和UDP协议是各司其职:
建议楼主多看看TCP/IP协议簇的书籍。
IP协议干不了UDP协议的活
- UDP协议也干不了IP协议的活
- 关系
IP协议是UDP协议的载体,也就是说IP协议承载着UDP协议,假如IP协议不存在,那UDP协议也完全丧失了能力。
但能力上它是!=数学上的包含关系:所以,IP协议不能干UDP协议的活。
正确的关系图,即使先后承载的关系
- IP协议
IP protocol 的能力是标识网络上的一个主机。你可以理解为IP protocol= IP address
即它只提供地址的能力。
对于原始IP数据包,每个IP地址只能有一个专用侦听套接字。 IP地址标识网络层的主机,使流量能够到达某个物理设备,即“主机”。它的能力仅限于此。
但是只要你想在同一个主机上有不同的“目的地”(即应用程序),你就需要像TCP和UDP 这些protocol。
UDP protocol
UDP协议具有的端口概念,来解决同一个主机上有不同的“目的地”(即应用程序)。
UDP是支持端口的最小协议。
诞生的意义一旦目标机器收到这样一个raw IP数据包,它应该将它传递给哪个应用程序? 我们需要一种识别特定消息的目标应用程序即 UDP和TCP这样的,通过端口号来完成目标地址的分发。
一旦数据包使用其IP protocol 到达主机,数据包需要被分配给该机器上的其中一个应用程序。 要确定哪个应用程序应该获取数据包,它需要基于端口的解复用逻辑。 UDP具有端口信息,IP用它将数据包传送到适当的应用程序。
举例,快递设想一下,你在某里,或者某东买了一个东西:
IP地址=IP protocol 是建筑物的街道地址。
UDP protocol = 你所住的房间号即对应udp+端口号。