计算机网络协议(二)
前面实际上,已经说到了数据链路层可以非常方便的在一个子网络中进行数据包的发送。但是现实情况是,不可能所有需要进行通信的计算机都处于一个子网络中,这样理论上用广播的方式进行数据包的发送显然是不科学的。或者可以理解为,广播是无法在不同子网络的计算机上进行数据包的传输的。这样就需要引入 网络层。 (三) 网络层 因为不同的网络是不能直接使用广播来进行数据包的传输的,所以只是知道对方的mac地址是不够的,因为你根本不知道,对方和你在不在一个子网络。这样据需要引入新的协议来确定,两台计算机是否属于同一个子网络,如果属于同一个网络则用广播的方式进行数据包的发送,如果不是一个网络,则通过路由的方式发送数据包。 IP协议 :用来规定计算机网络地址的协议,就叫做ip协议。一般是由32个二进制位组成,这个地址分成两个部分,前一部分代表网络,后一部分代表主机。但是知道了ip地址还是无法确定两台计算机是否在一个子网络中,这样就需要 子网掩码 。一个子网络的子网掩码,网络部分全部为1,主机部分全部为0,这样只需要将两个ip地址分别与子网掩码做与(AND)运算就可以知道两台计算机是否属于同一个网络。 IP数据包 根据IP协议发送的数据,就叫做IP数据包。不难想象,其中必定包括IP地址信息。 但是前面说过,以太网数据包只包含MAC地址,并没有IP地址的栏位。那么是否需要修改数据定义,再添加一个栏位呢?