我们通过电脑进行上网,需要借助网线、光纤、路由器等设备,我们先来简单了解下这几种设备是怎么传送网络信号的,在计算机系统中,只能够识别0或1的二进制数据。
-
网线 普通的网线由四组铜导线组成,一共8根。通过在网线的两端加上电压,然后改变电压的值,这样就可以使用低压表示0,高压来表示1,以此来传递0、1电信号。 -
光纤 光纤中含有玻璃纤维,可以对光进行折射,从而可以将光从一端传送到另一端。通过控制光的打开和关闭来表示0或1,以此来传递光信号。 -
无线设备 我们常见的无线路由器,通过改变电压从而产生变化的电场,变化的电场会产生变化的磁产,根据磁产的波动来表示0或1。
上面这些物理设备,就是作用在OSI中的物理层,通过物理层传输0、1的电信号,同时可以确保这是一段0、1的电信号,而不是其它的一些噪音。
链路层
在传送0、1电信号的时候,为了识别信号的开始和结束,将这些0、1信息封装成帧,8位为一组,也就是一个字节。简单的说就是在一段0、1信号的前面和后面分别加上一段特殊的标记,使用该标记就可以来识别帧的开始和结束。
但是这些信息还不知道要发送给谁,所以在信息中增加了MAC地址,MAC地址是一台计算机设备的唯一地址,计算机通过MAC地址进行通信。信息中有了MAC地址,我们就知道要与谁进行通信了。
网络层
虽然计算机的通信使用MAC地址,但是MAC地址太长且不便于记忆。在互联网中又使用了一个叫IP的东西,通过IP能很方便的区分互联网中的网络段,其中还有ARP,通过ARP我们可以找到IP对应的MAC地址。
传输层
互联网是一个网状结构,对于信息的传输可以存在多条不同的路径,这样信息在分段传输的时候,传输的速度可能会不一样,这样导致信号到达目的时的顺序发生了变化,或者由于网络原因导致信息丢失,为了解决这些问题,于是有了传输层,例如TCP协议就可以用来保证信息的完整。
应用层
经过前面四层的传输,信息都是以字节流的形式进行传输,但是字节流对于应用的处理不太方便,于是便加入了应用层,使用应用层后,我们可以不直接去处理字节流,例如HTTP协议,将字节流进行了包装,能够更方便的处理传输的信息。
网络传输过程
如上图,例如电脑A要给电脑B发送信息,网络是一个网状结构,有多条路径可以到达电脑B。
-
电脑A的IP为192.168.31.13,发现目标的IP为192.168.1.109,也就是不在同一局域网内,于是就会使用ARP广播询问:谁是默认网关,这里默认网关的地址为192.168.31.1,其实就是询问谁的IP是192.168.31.1。 -
当局域网中其它机器收到询问消息,发现自己不是网关就会直接忽略掉询问消息。网关收到询问消息后就会把自己的MAC地址加入到回复消息中。 -
电脑A经过ARP询问后就得到了网关的MAC地址,于是给电脑B发送信息,虽然IP指定的是B的IP,但是MAC地址目前是网关的,也就是信息会先通过MAC地址发送给网关。 -
网关收到信息后,发现不是发给自己的消息,于是查找自己的路由表,是否有目标IP的路由配置,如果没有则也会进行ARP询问,路由器中也有默认网关,过程和前面的ARP广播一样,这样一步步转发最终就可以到达电脑B。
总结
TCP三次握手
在三次握手和四次挥手的过程中,我们需要掌握下面几个概念:
TCP四次挥手
|