1.计算机网络的发展
“矛盾是普遍存在的,矛盾是事物联系的实质内容和事物发展的根本动力!”
计算机在诞生之初,在军事上用来计算导弹的弹道轨迹!在发展的过程中(商业的推动,国家政策推动),计算机的应用场景被发现!被应用于各种各样的场景当中!
现在,个人计算机、笔记本电脑、手机终端等便携设备持有的人群越来越多,甚至外观上一点也不像电脑的家用电器、汽车等设备中,一般都内置一个小型的芯片,使这些设备具有计算机的控制功能,不经意间,我们的生活和计算机紧密相连!在这些计算机设备,大多数都有联网功能!
1.1.从独立模式都网络互连模式
独立模式:计算机之间相互独立。
现在有三个人,需要用在三台电脑处理业务,张三需要用这三台计算机,那么李四要等张三处理完他才能用;王五也需要,那么他要等待,张三和李四处理完业务!另外张三在处理不同的业务需要跑到不同的电脑之前!很麻烦,而且效率很低!
网络互联:多台计算机连接在一起, 完成数据共享。
在计算机不断地发展当中,人们不局限于单机模式,将一个个计算机连接在一起形成计算机网络,相连的多台计算机之间信息可以共享!同时,在相隔很远的计算机之间也可以即时传递信息。
局域网LAN:
计算机网络的发展从单机模式,到特定的几台计算机的相连发展成"小"规模的局域网(LAN Local Area Network),和"更大"规模的广域网(WAN Wide Area Network)
随着相连的计算机增多,通过交换机和路由器连接在一起,形成LAN。
广域网WAN:将远隔千里的计算机相连(将一个一个局域网相连,随着连接的数量增多,距离变长,会变复杂!)
其中局域网和广域网是一对相对的概念;局域网可以是一个公司的网络,那么广域网是多个公司相连形成的网络,有其他的说法还会有城域网,概念只是在表述的时候能划分区域和连接网络的规模的大小。
在同一个公司,同一个学校、同一个实验室持有的计算机相连,形成了私有的网络,在不断的发展当中,将不同的私有网络连接成更大的私有网络,慢慢演化成互联网被公众使用等等,从计算机通信到信息通信不断发展。
2.网络协议初识
2.1.协议如同人和人对话
在计算机网络中,有人会经常提及"协议"一词,如:IP、TCP、HTTP等协议;在计算机中,简单来说,协议(在C语言层面上就是一个struct结构体)就是:计算机与计算机之间通过网络实现通信时,事先达成的一种"约定"!不同的厂家的设备、不同的操作系统,必须遵循相同的协议才能通信!
在我们生活当中,如两个人聊天,我们不知不觉就遵循了某种协议:**将聊天使用的语言当成协议,聊天本身就是通信,聊天的内容当成数据!**只有使用双方都能听得懂的语言,才能畅通无阻的交流!
关于为什么我说"最近可好"你能听懂的原因,汉字本身就是符号,而符号的意义是人赋予的,之所以"最近可好"是"最近可好"的意思!但如果,对一个刚出生的婴儿所这句话的时候他不能听懂,说明,需要学习!计算机通过特定的光电信号, 通过"频率" 和 “强弱” 来表示 0 和 1 这样的信息,这是人赋予特定的含义!计算机硬件设备也要有特定的最基本的通信程序来分析识别。
2.2.协议分层
我们通过电话的,进行聊天,在逻辑上认为是两个人在直接聊天,到实际上A说的话通过电话机,在通过一定的设备,在通过电话机,就信息传递到C。
将这样的场景,分为两层,两层之间没有太大的关系,A和C用汉语,B和C用英语聊天都可以通过电话机,也可以通过无线电。这让做分层的好处在于,如果一层改变协议其他层就需要改变,降低耦合;另外分层能将复杂的项目简单化。
在面向对象中,通过继承和多态的方式可以,达到分层的效果,注意分层不一定是上下的关系,还可能是左右的关系。