一、端口
在计算机网络中,端口分为软件端口和物理端口;一般理解软件端口多一些。
一个计算机中运行了很多的软件,当计算机收到外来数据包的时候,计算机是如何知道数据包属于哪个软件的呢?
要回答这个问题,首先需要知道:
一个数据包 的构成如下:
上图中,源IP和目的IP好理解把,就是两个通信门牌号地址,而且在上一期我们讲IP地址的时候也讲过。
监听数据包/发送数据包的一个过程:
当计算机收到一个数据包的时候,计算机就会 监听 数据包中的 目标端口,然后在看一下电脑中哪个软件也在监听这个端口,如果有一个软件 QQ在监听这个端口,那么我们的数据包就会发送给这个软件QQ。【软件与端口是一对多的关系】
下图是我的电脑中,端口监听的图示:
我们做一个实验:
当我访问B站的时候,我们是和B站哪个端口在通信呢?
如上图,我们访问的是它ip地址对应的443端口!
二、网段
网段就是路由器与路由器之间的链路,这个链路就是用网段来表示。
上一期文章我们说过,子网掩码可以切割(想与)ip地址的网络号和主机号,我们通过对比两个IP地址的网络号是否相同,从而知道两个ip地址是否在同一网段。
如下图,网段 其实就是路由器节点之间的那条链路:
这个链路也会用一个 网路地址 来表示。
三、路由
路由就是指路由信息,跟 路径导航+数据包转发的一个过程 。
如下图,当我们的ip数据包发送到路由器A以后,接下来发送到B还是C呢?
这个时候路由器就会查找自己的路由信息进行数据包转发工作。