一、计算机网络概述 时代不同了,大家现在生活都好了,家家户户都有电脑了,而且我们都习惯了使用电脑办公,打打游戏,聊聊天。那我们来想一个事儿:如果没有了网络,我们是不是就不能使用电脑进行聊天了啊。那网络到底是如何帮助我们来完成网络聊天的?此篇我就跟大家继续聊计算机网络到底是怎么回事儿。 这回我和以往反着来,先说官方定义,再解释:
我们知道两个独立且毫不相关的计算机,一台在青海,一台在河南,想要进行数据传输(聊天),没网是不行的。这个网指的就是互联网(Internet)。这个Internet它是一个通信协议。什么是协议?打个比方,就好比我们打电话,在中国,中国有十几亿人,地大物博,全国各地都有自己的方言,还有些地方使用自己的民族语言,这时候想要良好的沟通就必须使用统一的一个标准,就是普通话。大家都讲普通话,沟通起来就没有问题了。那如果是不同国家进行沟通呢?我们可以选择使用英语进行交流,那英语就是全世界国家通用的一个标准,计算机就好比是分布在全世界各个角落的人,计算机之间通话也要找一个统一的标准,这个标准就是Internet标准,又叫做Internet协议。 二、网络介绍及分类之隔壁老王的故事
三、互联网协议是如何分布和设计的 我在上面说了Internet协议,互联网协议按照功能的不同,分为osi七层,tcp/ip五层,tcp/ip四层协议。如下图:
四、TCP/IP五层协议
一、物理层 物理层主要是由双绞线、光缆、电缆、无线电波组成,其作用很简单,就是连接不同的计算机,并传递底层电信号,高电压:1,低电压:0。 二、数据链路层 我们从物理层上接收或者发送单纯的0、1是没有意义的,为什么呢?想想哈,我想给女朋友发送一句话:“你好漂亮”,那我们要把“你好漂亮”转换成01之后,交给网卡,网卡就懵逼了,发给谁???不知道。那怎么办?必须要确定数据发给谁。就像我们的快递一样,是不是在外层包装上有商家地址和个人地址,这样我们不管是发还是收,都能准确定位了。网络传送数据也一样,我们就在数据前面加上目标地址,为了能接收到回信,也要把自己的地址也加上。但是,如果数据和地址放在一起,又乱了,比如,我给你一堆01,1010101000101010101,你也分不清哪里是数据,哪里是地址。这时我们就要对要发送的01进行分组,规定前面xxx位是地址,后面xxx位是数据,并且,大家想互相都能通信,就必须都遵守这样的规则(协议),这个协议叫以太网协议。在以太网协议出现之前,各个公司都有自己的分组规则,后来都统一使用以太网协议了。
以太网协议中的地址叫MAC地址,MAC地址是每台计算机唯一的物理地址,是被写在网卡上的。以太网协议规定,每一台接收和发送数据的设备必须要装有网卡,负责发送和接收数据的设备,发送端和接收端的地址,指的就是网卡的地址,即MAC地址。 MAC地址
交换机 在这给大家介绍一个东西,我们说两个电脑要通信要先连根线,但是如果电脑多了之后,电脑间通信连的线也就多了,这样太乱了,我介绍的这个东西就是交换机,它是负责组件局域网,研究的是MAC地址,它有什么用你看下面图片中的接口就知道了 有了MAC地址,以太网就可以进行工作了.理论上讲,我们可以和世界上的每一台连接了互联网的计算机进行通信了,此时通信的方案是:广播 广播 广播又是怎么一回事?其实广播的方式很原始,基本通信就是靠吼。就像你想跟女朋友求婚一样,你会大喊:“xxx,嫁给我吧”,旁边能听到这句话的人有很多,但是只有你女朋友会回复你。其他人会把你当傻逼一样看待。
三、网络层
路由器 上面说的交换机是负责组建局域网,研究的是MAC地址,而路由器是负责组件广域网,研究的是IP地址,这个IP地址下面我再解释。
现在大家先想一想生活中,如果是之前说的广播,就相当于在一间教室里你正在上课,你要给某个女孩传纸条,那你要在纸条外面写上你和你要传的女孩的名字,再在里面写上你要写的话,写好后折起来,你和女孩的名字在外,内容在内,然后让同学一个一个帮你传,每个同学在传的时候都会看外面写的名字,如果不是他,就继续传,直到传到的人是你写的那个女孩为止。那这间教室就相当于一个局域网。好,现在我们要实现局域网和局域网之间的通信,比如此时位于青海的你要给河南的朋友送东西,你不可能用广播的方式了,你只能快递,这个青海和河南以及还有很多不同的省份是我国的土地划分,每一个省也可以看作是一个个局域网,那在网络中,我国就相当于广域网,那不同的局域网是如何划分的呢?MAC地址是没办法区分的,因为MAC地址上只有厂商的流水号,这就引出我要说的网络层,网络层引出了一套新的地址来区分不同的局域网/子网,这一套地址就是网络地址。 规定网络地址的协议叫IP协议,它定义的地址叫IP地址。其实跟我国的省份名差不多,继续说送快递,你要把送的东西包装好,在外面写上你自己的地址和省份地址,还有朋友的地址和省份地址,交给青海的快递公司,然后青海的快递公司转交给河南的快递公司,最后由河南的快递公司分配给你朋友,你朋友就收到快递了。在这有两点需要注意:
子网掩码 在这给大家普及一下子网掩码,我们上面说有了IP地址和MAC地址,我们就能让任何计算机之间进行通信了,那现在再想想,如果我要用我的计算机给另外一台计算机实现通信,我是不是要判断要通信的计算机是否和我的计算机在同一个IP地址中,相当于上面例子中我和我要送东西的朋友是否在一个省,这个时候就需要用子网掩码,我拿着我的IP地址和对方的子网掩码通过计算,判断是否在同一个IP地址下,如果在同一个IP地址下,我可以用广播的形式进行通信,如果不在同一个IP地址下,我可以先把数据传给我方的路由器,再由我方的路由器把数据传给对方的路由器,最后由对方的路由器把数据传给要接收数据的计算机。这样说,再联系上面已经说过的,我想不难理解了。 IP地址 目前我们普遍使用的是IPV4,它规定,一个网络地址由32位二进制组成,把32位平均分成四份,每一份8位,8位最大能表示的数据是255,所以IP地址的范围:0.0.0.0-255.255.255.255. 一个IP地址分为两部分,分别是网络位和主机位
网络位和主机位是如何划分的?使用子网掩码来划分。子网掩码和IP地址差不多,都是由32位二进制数来表示,子网掩码也分为网络部分和主机部分,网络部分由1组成,主机部分由0组成。 那说了这么多,IP协议是如何发送数据的?协议规定,IP协议使用IP数据包进行发送数据。IP数据包同样把数据分为了两部分,head和data,并且在发送数据的时候,直接用IP数据包直接装载以太网的data部分。
再回顾一下啊,以太网的头是包含了自己的MAC地址和目标MAC地址的,那如何查找目标MAC地址呢?前辈们弄了一个叫ARP协议的东西专门来解析目标MAC地址。它是如何工作的?首先,它是数据链路层的东西,在我们发送一个数据包的时候是包含着对方的IP地址的。例如我(172.13.4.58)想发送一条数据给女朋友(172.13.4.90),首先,我得先拿到女朋友的MAC地址才可以通信。此时,我们会先计算一下我和女朋友是否在一个子网内(子网掩码)
总结
四、传输层 到目前为止,前三层内容已经可以进行数据传输了。但是,我们的一台计算机上可以一次性运行多个网络应用程序,比如,QQ、微信、LOL三个软件一起运行,都要进行网络传输,但是就前面学习的这三层内容,是没办法区分开数据是要发送给哪一个软件的。那怎么办?引入第四层,传输层,传输层定义了端口的概念,每一个网络应用程序占用一个网络端口,不同的程序就用端口把数据隔离,两两互相不影响。
TCP协议
UDP协议
五、应用层 用户使用的都是应用程序,均工作于应用层,大家都可以开发自己的应用程序,数据多种多样,必须规定好数据的组织形式。对于用于而言最直观的就是应用层。
例:TCP协议可以为各种各样的程序传递数据,比如Email、WWW、FTP等,那么,必须有不同协议规定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了“应用层”。 总结 以上是对TCP/IP5层协议的解读,总结一下:
结束 本来还想加上TCP协议的三次握手和四次断开,奈何考虑到篇幅过大,对读者不利,权衡再三,决定单独去写这部分。 |
|