假设公司内部有一个基本标准的网络环境可以如图下所示:
这样一个小规模的网络环境我们称之为LAN(Local Area Network)或者局域网,我们可以与同处于一个局域网内的其他成员进行信息交互,而许许多多的LAN通过路由器和其他企业的LAN互联起来,就形成了互联网,也可以称之为WAN(Wide Area Network)或者广域网。
可以看到里面包含了服务器以及客户端,服务端可以理解成一台为客户端提供服务程序的电脑。客户端顾名思义就是被服务的电脑啦,理解成服务员(服务端)和顾客(客户端)之间的关系就很好地明白意思了。
集线器是负责把各台计算机的网线相互连接在一起的集线设备。
路由器负责把公司内的网络和互联网连接起来的设备。
我们先考虑一个小问题,如果让你来搭建一个网络,应该从哪里入手呢?答案是可以从硬件入手。为了搭建网络,我们需要准备好以下四个东西:
(1)安装到每台电脑的网卡
(2)插到网卡上的网线
(3)把网线汇集起来连接到一处的集线器
(4)接入到互联网的路由器
把硬件全部安装完成后,下一步就需要考虑各台计算机传输电信号的问题:
(1)假如有多台电脑同时发送信号,那应该处理谁的先呢?
(2)怎么才能把数据发送给指定的电脑呢?
为解决以上问题,有一套简单的处理机制:CSMA/CD(Career Sense Multiple Access withCollision Detection)或者称之为带冲突检测的载波监听多路访问(名字太长完全记不住)。这种机制简单到可以用一张图来形容,当多台电脑同时发送信号时:
当数据发送给指定的电脑时:
由图上可以得知,当一台计算机收到了电信号以后会先做判断,如果是发送给自己的则选择接收,反之则选择忽略,这个判断过程使用的一个关键技术是网卡中烧录的MAC(MediaAccess Control)地址编号,该MAC地址编号是由制造厂商的编号和产品编号两部分组成的,所以世界上的每一个MAC 地址都是独一无二的,在发送的数据前加上一个MAC地址,后面的电脑就能知道是不是发给自己的了,这个过程跟寄邮件很像。
我们可以在控制台上输入指令:ipconfig /all,即可获取到我们电脑网卡的MAC地址:
虽说在硬件层面上使用MAC地址可以基本满足了计算机的传输需求,但对于使用者的我们来说,一些尚未进行任何分组处理的编号,仅仅是记忆以及整理归类、寻找信息的发送目的地就要花费大量的时间,更不用说在互联网里全世界的计算机都连接在一起的大型网络中。为此,在软件(TCP/IP网络上)层面上为每台计算机设定了一个编号,而这个编号叫做IP地址。使用之前的控制台指令(ipconfig /all)可以获取到本机的IP地址:
IP 地址是一个32bit的整数,每8bit为一组,组间用“.”分隔,分成4段表示。因此可用作IP 地址的整数范围是0.0.0.0~255.255.255.255,通常情况下,IP地址的前三段表示LAN的地址,而第四段则代表为本机的编号,如本机的IP地址就可以解释为:
下次当你看见一个台电脑的IP地址为10.165.7.xxx的时候,你就知道了这电脑和你都属于同一LAN的电脑了。
在IP地址的背后紧跟着一个叫做“子网验码”的东西,子网验码的作用是标识出在32bit的IP 地址中,从哪一位到哪一位是网络地址,从哪一位到哪一位是主机地址。比如上图中的子网掩码为:
那么用二进制表示如下:
值为1的那些位对应着IP地址中的网络地址,值为0的那些位则对应着主机地址,所以例子中所对应的IP地址中前24位是网络地址,后8位是主机地址。由此可知主机地址的范围是0000 0000-1111 1111,即255,又因为0000 0000和1111 1111还有其他特殊的用途,外加上路由器也有自己的IP地址,所以该LAN内最多可以设置252台(255-3,假设路由器只有一台的情况下)电脑主机,上述例子中的网络地址(24位)即对应了IP地址中的10.165.7,而主机地址(8位)则对应了IP地址中的116。
在下一篇文章中,将继续讲述MAC地址与IP地址之间的关系、DHCP服务器的作用等网络相关知识。这里:【操作系统】十分钟了解关于TCP/IP网络的基础知识(二)