我们现在身处现代化社会,处处都离不开网络。看视频,刷抖音,逛淘宝,打游戏;上班工作。我们现在的生活已经离不开网络,网络与我们的生活息息相关。那么,你有了解过互联网是怎么工作的吗?
如何接入网络
互联网由硬件设备和软件两部分组成:
硬件设备:计算机(大中小型服务器,台式机、笔记本等)、外部设备(路由器、交换机 等)、通信线路(双绞线、光纤等)
软件:网络操作系统(Windows、Unix、Linux等)、 网络管理软件(WorkWin、SugarNMS等)、网络通信协议(如TCP/IP协议栈等)
下边网络连接示意图:
在家庭网络中,我们一般使用无线路由器,它包含路由器和交换机两部分的!WAN口就是路由器部分负责互联网路由器,交换机就是LAN口部分,负责在LAN口之间转发数据;路由器有一个WAN口,连接光猫,3到4个LAN口,连接电脑。
对于一般家庭来说,一个路由器可以满足需求。但是,如果在公司的话,一个路由器是不够的,这时需要接入交换机。
路由器连接光猫,将电信号转为光信号,在光纤中传输,光纤连接至ISP(互联网服务提供商,如电信、移动、联通),ISP往上还有NSP,NAP等。互联网是由许多个计算机、路由器、交换机,通过光纤、网线连接起来形成的网络,目的是使它们能够互相通信。
当设备接入网络之后,该如何实现互相通信呢?早期的网络,各个厂商都制定了自己的网络协议,互不兼容;为了把世界上所有的计算机连接起来,那么他们需要遵循同一种网络协议,为了实现这个目标,就诞生了TCP/IP协议。
如何实现通信
OSI模型
全球所有网络用户,需要遵循统一的规则来连接使用并控制网络,大家使用统一的通信规范,就可以实现网络互通。国际标准化组织ISO为了使网络应用更为普及,推出了OSI参考模型,即开放式系统互联模型(Open System Interconnect)。
OSI参考模型将网络连接分为了7层,即物理层、数据链路层、网络层、传输层、会话层、表示层、应用层;每一层都有自己特定的功能以及协议。
OSI模型与TCP/IP协议对比
TCP/IP协议
TCP/IP协议是网络传输控制协议,也称TCP/IP协议簇,包括了http,TCP,UDP,IP等多种协议,其中TCP协议与IP协议相对具有代表性,故简称TCP/IP协议。该协议是所有计算机都需遵循的通信协议;规定了网络设备如何接入网络,以及如何传输数据。
下边是TCP/IP协议各层的主要功能:
应用层:为应用程序提供服务的协议,实现两个应用程序之间的数据交流;不同种类的应用程序,所需协议不同,邮件传输应用使用了SMTP协议、万维网应用使用了HTTP协议、远程登录服务应用使用了TELNET协议
传输层:传输层协议实现了端到端的数据能够按照正确顺序并完整可靠到达。
网络层:网络层的协议为每个主机都分配IP地址,而且会根据源IP地址与目标IP地址计算出一条合适的传输路径
网络接口层:y也称链路层,通过光纤或者双绞线,将路由器、交换机等网络硬件设备连接起来,实现网络通路。
数据根据TCP/IP协议传输时,是分层传输,每一层都会加上自己的特定标识然后与上一层的数据一起重新打包。例如我们发送了一个http请求,
- 应用层会打包好请求报文发送给传输层,
- 传输层接到数据包后,会添加源程序端口号和目标端口号,以及序号等信息到自己报文头部,然后与应用层的请求报文一起打包,生成TCP段
- 网络层接到数据后,会添加源IP地址和目标IP地址,以及标识上层数据协议类型的标识符等信息到自己的报文头部,然后与上层报文打包生成IP数据报
- 链路层接到数据后,首先会添加上层协议类型到自己报文头部,然后在尾部帧校验码(FCS),与上层数据一起打包成以太网帧
- 以太网帧经过传输介质到达目标主机后,然后根据每层协议去掉头部,直至应用程序。
数据包在每层的称谓不同,传输层叫做段,网络层叫数据报,链路层叫帧
帧校验码用来检测数据传输过程中是否出现了错误