计算机网络是大多数软件编程开发程序员都需要熟练掌握的一个编程技术,而本文我们就通过案例分析来简单了解一下,计算机网络基础协议分享。
1.以太网协议
以太网协议规定,一组电信号构成一个数据包,我们把这个数据包称之为帧。每一个桢由标头(Head)和数据(Data)两部分组成。
帧的大小一般为64–个字节。假如需要传送的数据很大的话,就分成多个桢来进行传送。
对于表头和数据这两个部分,他们存放的都是一些什么数据呢?我猜你眯着眼睛都能想到他们应该放什么数据。毫无疑问,我们至少得知道这个桢是谁发送,发送给谁的等这些信息吧?所以标头部分主要是一些说明数据,例如发送者,接收者等信息。而数据部分则是这个数据包具体的,想给接守者的内容。
把一台计算的的数据通过物理层和链路层发送给另一台计算机,究竟是谁发给谁的,计算机与计算机之间如何区分,,你总得给他们一个的标识吧?
于是,MAC地址出现了。
2.MAC地址
连入网络的每一个计算机都会有网卡接口,每一个网卡都会有一个的地址,这个地址就叫做MAC地址。计算机之间的数据传送,就是通过MAC地址来寻找、传送的。
MAC地址由48个二进制位所构成,在网卡生产时就被标识了。
3.广播与ARP协议
(1).广播
如图,假如计算机A知道了计算机B的MAC地址,然后计算机A想要给计算机B传送数据,虽然计算机A知道了计算机B的MAC地址,可是它要怎么给它传送数据呢?计算机A不仅连着计算机B,而且计算机A也还连着其他的计算机。虽然计算机A知道计算机B的MAC地址,可是计算机A却不知道知道计算机B是分布在哪边路线上,为了解决这个问题,于是,有了广播的出现。
在同一个子网中,计算机A要向计算机B发送一个数据包,这个数据包会包含接收者的MAC地址。当发送时,计算机A是通过广播的方式发送的,这时同一个子网中的计算机C,D也会收到这个数据包的,然后收到这个数据包的计算机,会把数据包的MAC地址取出来,与自身的MAC地址对比,如果两者相同,则接受这个数据包,否则就丢弃这个数据包。这种发送方式我们称之为广播,就像我们平时在广场上通过广播的形式呼叫某个人一样,如果这个名字是你,你就理会一下,如果不是你,你就当作听不见。
(2).ARP协议。
那么问题来了,计算机A是如何知道计算机B的MAC地址的呢?这个时候就得由ARP协议这个家伙来解决了,不过ARP协议会涉及到IP地址,我们下面才会扯到IP地址。因此我们先放着,就当作是有这么一个ARP协议,通过它我们可以知道子网中其他计算机的MAC地址。