为什么便于读者更好的理解,现将计算机网络进行的简单的整体介绍,之后再分层细讲。
从本篇博文起,我尽可能将技术性与可读性并重,并将知识联系起来,让知识印在脑海里。
博文部分插图来自于网络,做分享之用,侵权则删。
一、计算机网络模型
(一)OSI网络七层模型
我们要传输的数据需要经过计算机网络模型中的N多个协议的封装,才能够进行不同主机或设备之间的交流(笔记本与笔记本之间,笔记本与耳机之间,蓝牙耳机与手机之间等等,诸如此类)。换句话说,计算机网络模型实际上是为网络互联的一个整体解决方案。
计算机网络模型有好多种,其中最负盛名的是OSI网络七层模型,OSI模型中每层负责的事情大致就是上图中描述的那样。看不懂没关系,之后我们继续讲每一层的具体功效。
上图描述了在两台主机之间,数据传递所需要经历的过程。
假设现在是PC-A向PC-B传输数据:
PC-A:数据→应用层→表示层→会话层→传输层→网络层→数据链路层→物理层
PC-B:物理层→数据链路层→网络层→传输层→会话层→表示层→表示层→数据
(二)五层参考模型
TCP/IP模型为4层,之前表述有误,已修正。
OSI的七层模型更多的是概念上的东西,实际上更具有实际意义的是五层模型。五层参考模型将应用层、表示层、会话层合三为一,变成应用层,其他层不变。
本系列均以五层参考模型叙述,希望读者不要有理解上的误区。
二、数据传输过程简单描述
一日,有两人打架,只有两根头发,中分发型的男子受了委屈:
到了晚上,两人在QQ上商讨约架事宜:
翌日,两人因约架在派出所,被警察蜀黍发现并拘留。
温馨提示:和谐社会,请勿打架。如要约架,来派出所。
话说到这里了,双方如何将约架信息相互传输的呢?
图一:发送方
图二:发送过程中
图三:接收方
图四:全过程
图一到图四,从微观的角度,描述的通信过程,这里并未涉及到网络层的寻址与子网概念。
宏观部分(过程见标题3):
图五:计算机网络传输视图
1. ARP协议
在传输过程中,有一个很重要的链路层协议,叫做ARP协议。简单来讲,有了ARP协议,那么一台主机有着同一自治系统(AS)内其他所有主机或网络设备的IP与MAC信息。
也就是说:在AS1中,主机 A有[B、C、D、网关路由器]的IP和MAC信息,这些信息存放在主机A的ARP缓存中。
当然,如果你的计算机网络基础比较差,那么也不要着急,以后还会细讲。
2. 路由选择
图六:路由选择示意图
假若两台主机(AS1的主机A→AS4的主机B)传输消息,我们可以在图5中看到:在传输过程中,AS1到AS4需要经过很多路由器形成一条通AS4网关路由器的路。那么在实际过程中,我们只需要一条最优的路就好了,在源地址与目的地地址寻路的过程称为路由选择,这也是路由器名称的由来吧,我猜。
那么路由器通过什么进行寻址呢?IP地址。
我们要传输的数据在经过封装成IP数据报的时候,会有源IP地址与目的IP地址:
图七:Ipv4首部格式
也就是说,每当我们的数据变成比特流传送到路由路线中的某个路由器上时,会对比特流进行解包处理,查看里面的IP信息,具体以后如何解包,我们以后文章再讲。
3. 传输过程简介
路线:AS1.A→AS1.交换机→AS1.网关路由器→红色路线→AS4.网关路由器→AS4.交换机→AS4.B
第一步:AS1.A将数据封装成IP数据报,然后查询本地ARP缓存,查看目的主机IP的信息是否存在(存在的话,通过IP地址会查到目的主机的MAC地址,然后直接将数据发送过去)。由于本地ARP缓存只存的同一自治系统的其他所有主机信息,很显然,AS1.A主机查询为空。然后将该IP数据报封装成以太网帧,并将AS1.网关路由器的MAC地址放到该以太网帧的目的MAC一栏,然后将此以太网帧转换成比特流并进行传输。
第二步:AS1.交换机收到比特流后,将比特流转换成以太网帧,读取里面的信息后,将以太网帧转换成比特流并发送给AS1.网关路由器
第三步:AS.1.网关路由器收到比特流后,将比特流转换成以太网帧,读取里面的目的MAC信息,确认是发给自己的以太网帧(如不是,则丢弃),然后进行解包处理,将以太网帧解包为IP数据报。得到IP数据报后,查询本地ARP缓存,查看目的主机IP的信息是否存在,AS1网关路由器查询为空。然后将该IP数据报封装成以太网帧,并将红色路线上的第一个路由器的MAC地址放到该以太网帧的目的MAC一栏,然后将此以太网帧转换成比特流并进行传输。
第四步:红色路线上的第一个路由器收到比特流后,将比特流转换成以太网帧,读取里面的目的MAC信息,确认是发给自己的以太网帧,然后进行解包处理,将以太网帧解包为IP数据报。得到IP数据报后,查询本地ARP缓存,查看目的主机IP的信息是否存在,红色路线上的第一个路由器查询为空。然后将该IP数据报封装成以太网帧,并将红色路线上的第二个路由器的MAC地址放到该以太网帧的目的MAC一栏,然后将此以太网帧转换成比特流并进行传输,此过程持续到将数据比特流传送到AS4.网关路由器。
第五步:AS4.网关路由器收到比特流后,将比特流转换成以太网帧,读取里面的目的MAC信息,确认是发给自己的以太网帧,然后进行解包处理,将以太网帧解包为IP数据报。得到IP数据报后,查询本地ARP缓存,查看目的主机IP的信息是否存在,AS4.网关路由器查询成功。然后将该IP数据报封装成以太网帧,并将AS4.B的MAC地址放到该以太网帧的目的MAC一栏,然后将此以太网帧转换成比特流并进行传输。
第六步:AS4.交换机收到比特流后,将比特流转换成以太网帧,读取里面的信息后,将以太网帧转换成比特流并发送给AS1.B。
第七步:AS4.B收到比特流后,转换成以太网帧,读取里面的信息。然后再进行解包过程,完成传输过程。
路由器处理数据过程:
图八:路由器转发过程
三、结束语
不晓得基础差的读者能不能读懂,读不懂没关系,有机会的话,还会细讲每个层具体的工作原理。
自考路上的朋友,加油!