网络基础浅谈
linux的部分重要知识复习完后,就要开网络的副本了,毕竟网络作为计算机真正的“长处”,是不得不提的一个环节。
所以这篇文章就来给网络篇开个头,虽然不清楚要写多少,但我估摸着,也得写10篇左右才行吧。我尽量保持心态,尽我所能,写好这些文章。
一切事物的开始,都是独立的。为了完成更复杂,高深的事情。我们不能单单依靠一个,就处理完事物。网络和信号的层次不同(终端层次 内核与用户层次),但是目的大抵是差不多的,都是为了更好的处理事物。
模式
首先说一下独立模式:就是计算机相互独立的模式
其次是网络互联:多台计算机通过网络,相互链接,分享数据
局域网LAN:计算机更多,需要使用交换机和路由器
广域网:网如其名,真的很广。
其实从信使和鸽子的使用,就注定了,强大的信息交流工具,必然能实现远程交流的必然趋势。
协议
协议是科学观念的最底层逻辑,我们需要规定一套统一的逻辑结构,来搭建科学的大厦。因此确立网络协议,是必不可少的事情。
先说一下,计算机的传输协议:计算机之间的传输媒介是光信号和电信号.通过"频率"和"强弱"来表示0和1这样的信息. 要想传递各种不同的信息,就需要约定好双方的数据格式.
同时要完成协议,可是要入场的所有人,都必须遵守的事情。只有大伙在统一规则下,才能让游戏顺利进行
其实一大原因就是,计算机的科技含量顶尖,发展潜力巨大,厂商多,可开发程度前所未有,硬件更是多的没话说.因此,统一且合理的协议,是必不可少的。
一般具有定制协议或者标准的资格的组织或者公司都必须是业界公认或者具有江湖地 位的组织或者公司,这种论资排辈的事情,是我辈小儿得罪不起人的,就请大伙查查AI,
就问“能定制协议标准的组织或者公司”
协议分层
协议本质来说是一个软件(逻辑判断为基础),在设计上为了更好的进行模块化,解耦合,也是被设计成为层状结构的,这样能更细致,更准确。就这么简单一提,想深入了解,继续问AI吧,我就不说了,能说的案例实在太多。
OSI 7层模型
网上的图一般都太大(视觉效果),这里就不贴了,百度一下就有
OSI(全称:OpenSystemInterconnection,译:开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范。
把网络从逻辑层面划分为了7层:每一层都有相对应的物理设备(或者说相关,其中路由器和交换机就是逻辑物理设备哦)。
它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚, 理论也比较完整.通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯;
但是啊,非常非常难用!7层还是太多了,主要的问题是会话层、表示层(至少需要两个终端单位)这俩不能写入操作系统中,因此我们一般用的是阉割版本(差不多就似乎TCP)
TCP/IP协议
TCP是一组统一协议的代称,其中还包括很多协议,组成了TCP/IP协议簇.下面简单说一下5大分层
- 物理层:负责光/电信号的传递方式.比如现在以太网通用的网线,光线,wifi之类的,因此物理层的能力决定了最大传输速率、传输距离、抗 干扰性等.集线器(Hub)工作在物理层。
- 数据链路层:负责设备之间的数据帧的传送和识别.例如网卡设备的驱动、帧同步、冲突检测;有以太网、令牌环网,无线LAN等标准.交换机 (Switch)工作在数据链路层.
- 网络层:负责地址管理和路由选择.
- 传输层:负责两台主机之间的数据传输.
- 应用层:负责应用程序间沟通(其实直接问AI也可以,我就不举例子了,感兴趣了解)
但其实有些搞笑的是,身为程序员的我们,一般是搓不出光纤和路由器的,因此啊,TCP一般也只有4层。
细说协议
我们之前提到的,协议基本上是无处不在的,就像人类不能脱离社会独自生存一样,即便是单机,你的计算机内部,其实都是存在协议的。其他设备和磁盘通信,会有磁盘相关的协议,比如: SATA,IDE,SCSI等。只不过我们感知不到罢了。而且这些协议都在本地主机各自 的硬件中,通信的成本、问题比较少。
其次,网络通信最大的特点就是主机之间变远了。任何通信特征的变化,一定会 带来新的问题,有问题就得解决问题,所以需要新的协议咯。 说白了tcp就是因为计算机之间的距离实在太远,但是又为了让人人都能玩,而打的补丁。
TCP/IP到底是个啥
TCP/IP协议本质来说是一个问题的解决方案 同时这个协议是可以分层的,前提是我们的问题要能分层。 至于TCP/到底要如何实现,这里就不细说了,还是要请教一下AI(问AI,其实是合理使用工具的好习惯,毕竟你有疑问,我也不能回复你)。
网络传输的基本流程
局域网
首先要说一下局域网,因为常用,好吸收,而且局域网啊,是通过识别MAC地址来实现。
啥是mac
MAC地址用来识别数据链路层中相连的节点。
长度为48位,及6个字节.一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)
在网卡出厂时就确定了,不能修改.mac地址通常是唯一的(虚拟机中的mac地 址不是真实的mac地址,可能会冲突;也有些网卡支持用户配置mac地址).
这个MAC以后会详细说明,现在就不说了。
大致就先讲这么多,下一篇文章会介绍一下Socket编程,主要是,我个人感觉都放在这里讲,不太好,另外可以去了解一下网络传输的基本流程,因为找不到好图的原因这里我就不说明了,不是很难理解。
感谢您的赏读