TCP 和 UDP 可以使用相同的端口号

TCP和UDP协议可以使用相同的端口号,因为它们在IP层通过协议域区分,TCP对应6,UDP对应17。系统在接收报文时会根据IP首部的协议域将数据转发给相应的协议栈处理。在同一协议内部,端口号必须保持唯一。
摘要由CSDN通过智能技术生成

结论:

  1. TCP和UDP可以使用相同的端口号;
  2. TCP协议里的端口号必须是唯一的,UDP同理;

原因:

IP首部中存入一个长度为8bit的数值,称作协议域。1代表ICMP,2代表IGMP,6代表TCP,17代表UDP。系统有能力根据接受的报文的IP字段里面的协议部分判断这个报文是什么报文,就是说,系统读数据的时候还没有读到上层报文的时候已经知道上层是什么报文了,直接交给相关的内核进程或协议栈处理就可以了。而在同一个协议内部端口号唯一。

知识拓展:

 

由于TCP,UDP,ICMP和IGMP都要向IP传输数据,应此IP必须在生成的IP首部中加入某种标志,以表明数据属于哪一层。为此P首部中存入一个长度为8bit的数值,称作协议域。1代表ICMP,2代表IGMP,6代表TCP,17代表UDP。

类似地,许多应用程序使用TCP或UDP来传送数据。运输层协议在生成报文首部是要存入一个应用程序的标识符。TCP和UDP都用一个16bit的端口号来表示不同的应用程序。TCP和UDP把原端口号和目的端口号分别存入报文首部中。

网络接口分别要发送和接受IP、ARP、RARP数据,因此必须在以太网的帧首部中加入某种形式的标识,以指明生成数据使用的网络层协议。为此,以太网的帧首部也有一个16bit的帧类型域。

当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由低往上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检测报文首部中的协议标识,以确定接受数据的上层协议。这个过程称作“分用”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值