网络结构的演变
网状结构
最开始的网络,主机之间都是两两相连
好处
这样连接,好处是安全性比较高(A与B之间的连线断了,可以绕一下C);
另外通信不需要互相等待(没有中间交换设备,所以没有竞争的中立资源,所以不需要排队),网络延迟小
需要说明的一点是,网线其实是电路线,通过高低电压的01信号传输信息
此时聪明的小伙伴会提出问题:现在不是有光纤吗,你怎么说网线是电缆线呢?
这样说其实没错,过去没有光纤的时候网线确实是电缆线,通过高低电压传输0101的数据;现在我们通过光纤,只有传输过程是光信号,到我们真正上网使用会将光信号转化为电信号(光猫,也叫调制解调器),所以本质上我们使用的还是电信号
坏处
但是随着机器数量的增多,这样的连接线数量也越来越多
假设我们现在有10万台计算机,按照这种方式连接,每台计算机需要连接99999条线,共4,999,950,000条线,公式是n*(n-1)/2
需要的电缆数量太多,而且电路会越来越复杂
星形结构1
好处
电缆数量 = 计算机数量;
电路简单;
坏处
同时发会互相干扰,因为电压会互相叠加(势能)
星型结构2
所以我们中间加一个交换设备,先发给交换设备,然后交换设备再轮流转发
但是即便是这样,也可能会出现干扰,比如A和B同时给对方发信息,这里一般有两种模式处理:
可以同时发而不需要等待对方的,就是全双工模式;
不能同时双向发,只能一侧发完另一侧发,这样叫半双工;
坏处
另外, 不管全双工还是半双工,都需要在交换设备处排队等待(涉及到了资源的竞争)
现实网络交换结构
每家每户都有各自的网络设备(手机,电脑等),他们通过路由器连接,并轮流转发;
路由器连接到交换机,轮流转发请求,基本上每隔几栋楼会产生一个交换机(一般是在弱电井中,12,24,36根网线的都有);
交换机再连接到核心交换(核心交换的性能更为强劲),核心交换再连接到更高一级的设备……一般是6~8级的连接设备
家用的交换设备是路由器,小区楼之间用小型交换机作为交换设备
向上交换能力依次提升,小区交换机,街道交换机,乡镇交换机,区县交换机……最大的交换机是国家的大区(华北,东北,西北,华中,华东,华南……等),这些交换机之间两两连接
大区之间的数据会互相备份,保证出现问题能够恢复
国与国之间通过海底光缆等互相通信
计算机通信的原理
MAC地址
上面我们说了,最后我们用星型结构将计算机连接起来
我们连接起来是为了什么?自然是为了通信
那么现在问题来了,A要怎样才能发到B那边?
在一个小范围的虚拟内网中,我们一般使用MAC地址进行计算机的区分
MAC地址是每一个带有网卡的设备出厂时给予的一个,全球唯一的,不可改变的物理地址
中间的交换设备当中一般会存储一个MAC地址表,用于转发数据
这样,A只需要在发送数据时,携带B的MAC地址,即可发送数据给B
IP地址
但是MAC只能用于小范围的设备定位,假设跨省甚至跨国的两台计算机通信,依然使用MAC地址,需要遍历上千万的设备才能查询到,显然是不合理的
此时就用到了IP地址
IP = 网络部分(行政划分)+主机部分
IP主要作用是为了寻址
ip地址最多定位到某个交换设备的ip,但是不知道是这个交换设备哪台计算机,所以需要更进一步的,全球唯一的标识(目标设备id,即MAC地址)
IP和MAC共同合作才能实现端到端的通信
以112.113.87.50为例,112.113.87是可能代表网络部分,指定了你是哪个省,哪个市,哪个县的,最后一位表示你的上级交换机的ip地址
DNS服务器
百度的域名是www.baidu.com,我们访问百度只需要输入域名即可,不需要知道它的ip,这就是域名解析
将域名与ip映射起来,需要ip时将域名转化为ip,需要域名时将ip转化为域名
DNS服务器的地址写在了电话卡当中,以下这个是某些移动电话卡的DNS服务器地址
三大运营商各自有各自的DNS服务器集群
当我们访问www.baidu.com时,会先请求DNS服务器(百度会先将自己的域名写入DNS服务器当中),将域名转化为ip,返回给我们;然后我们再带着数据访问百度服务器的ip(可能不止一个ip);最后百度服务器将数据返回给我们