赞
踩
在原始的年代中电脑间想要通信需要两台电脑连接一根网线,但是一台电脑基本上只有一个接口。因此想要链接更多的电脑是不可以的。
随着时代的发展越来越多的计算机需要进行通信,那么这时候原来的是无法满足人们的需求的,这时候该怎么办呢?于是就进入了网络时代。
网络共享:将多台电脑连接起来完成数据共享。
进入网络时代后我们以网络覆盖范围为基准将网络分为了局域网,城域网,广域网局域网的建立是通过一个设备叫做集线器诞生的。他是什么样子的呢?换句话说我们为什么需要集线器呢?我们来看看下述示意图
在没有集线器的时候主机(可以理解为电脑)之间是通过一根网线进行直链接的,这时候有一个弊端那就是这里面的消息会通过这一根网线传向所有的电脑并且,更为严重的问题是假如我们的电脑越多,那么这一根网线的传输效率就非常的慢,这时候怎么 解决呢?那就是用集线器,实现各个电脑通过集线器可以将自己与其他主机进行连接。
此时多个电脑之间的网线只需要链接集线器就可以了,并且自己想要发送的消息只需要交给集线器由集线器交给目标就可以了那么这时候一个局域网就组成了。
但是这时候只是解决了当需要链接的主机过多,导致的网线太长之类的问题还没有解决我们的数据传输的问题呢,因为集线器发送消息就像老师点名一样把自己的数据发给与自己相连的所有主机,那么就没有私密性可言了,所以人们又发明了交换机
交换机是可以实现我们说的主机与主机之间的发消息的私密性问题,可是如果我们的电脑很多怎么办?这时候导致我们所需要的交换机也变多了,那么这时候怎么办?聪明的人们就想到了我再发明一个机器用来让交换机链接不就好了这时候路由器诞生了
此时就可以用路由器组成局域网了。
现在网络通信的硬件上的基础我们满足了我们已经组成了一个网络空间了,那么如何在这个网络内发送和接受消息呢?这时候我们要解决两个问题。
- 要能够在这个网络内找到某个主机
- 在找到这个主机后要找到这个主机中进行通信的那个进程
第一点大家应该比较容易理解就是第二点不懂,我们来讲述一下。我们用QQ进行举例,我们两个人用QQ互相发消息。
而如何确定一个唯一的进程呢?那么就需要知道这个进程运行在哪个主机上,并且需要知道这个进程在这台主机的端口号是多少由此才可以确定唯一的一个进程。
有了上面的了解我们可以知道IP地址是用来确定一台主机的。
地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节),如:
01100100.00000100.00000101.00000110。
通常用“点分十进制”的方式来表示,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的十进制整数)。如:
100.4.5.6。
端口号是用来确定这个主机上唯一的一个进程的。
端口号是0~65535范围的数字,在网络通信中,进程可以通过绑定一个端口号,来发送及接收网络数
据。
那么有了上面的基础我们来认识一下协议,什么是协议呢?协议就是规定,一种约定的意思,就像两个公司之间合作需要有合同一样,两台主机间进行交流也是需要协议的,可是我们要知道一台主机发出一条消息是涉及到方方面面的,从上到下一次分为了很多层。
从上到下依次为,应用层,表示层,会话层,表示层,传输层,网络层,数据链路层,物理层。
但是这个模型不仅复杂繁琐,而且还没啥实际用处,因此在开发的时候我们用的一般都是TCP/IP五层协议
那么上面说了那么多其实就是想要告诉各位我们的主机发送消息这中间时经过很多层的,因此我们要知道,想用一个协议去规范这么多层的程序和硬件时不可能的,因此我们就需要对每一层都设计出不同的协议,那么一个消息究竟时如何传递的呢?
这时候我们知道一个消息的发送是分为发送方,和接受方的,发送方发送消息从上而下要经过应用层,传输层,网络层,数据链路层,物理层的。那么在这些层的消息是如何传递的呢?
此时用户输入的数据在经过每层的时候每一层都需要按照特定的协议在这个数据前加自己的报头,这个作用是什么呢?主要是为了使得用户数据在传递过程中可以有效的识别,我们可以理解为送快递,你的快递每当经过一个网点的时候都会将包装上的信息和二维码进行更新。并且往里面加入新的信息这个过程就是加报头的过程,可是这个根协议有什么关系我们来看一下下面的图
发送方到接受方的消息传播就是这样的一张图,发送方输入消息,消息从上到下经过各个层级的时候,会加报头,那么接收方的设备接受到消息后,为了能把你需要的信息呈现出来就会对收到的信息从下往上进行解报头。也就是分用,那么如何保证你的主机加的报头我这个主机可以进行正确的分用呢?那就是在各个层之间规定好固定的协议,这样就可以保证每个层可以按照这个规定正确的解报头以及正确的分用了。
努力挣钱让家庭幸福美满吧。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。