你说的对,使用netstat -an自己看看就知道了,IP数据包首部有个叫做协议的字段,指出了上层协议是TCP还是UDP还是其他P。山蚂拿
TCP
[::]:49152
[::]:0
LISTENING
TCP
[::]:49153
[::]:0
LISTENING
TCP
[::]:49154
[::]:0
LISTENING
TCP
[::]:49155
[::]:0
LISTENING
TCP
[::]:49156
[::]:0
LISTENING
UDP
0.0.0.0:500
*:*
UDP
0.0.0.0:3600
*:*
操作系统当然有能力根据接受的报文的IP字段里面的协议部分判断这个报文是什么报文,就是说,系统读数据的物返时候还没有逗搭读到上层报文(TCP/UDP)的时候已经知道上层是什么报文了,直接交给相关的内核进程或协议栈处理就可以了。而在同一个协议内部端口号唯一,这样清楚了吗?