您的位置:首页 > 财经 > 产业 > 门户网站的建设_软件开发公司介绍怎么写_企业网站开发_怎么申请建立网站

门户网站的建设_软件开发公司介绍怎么写_企业网站开发_怎么申请建立网站

2024/12/21 19:38:09 来源:https://blog.csdn.net/2302_80826557/article/details/143674803  浏览:    关键词:门户网站的建设_软件开发公司介绍怎么写_企业网站开发_怎么申请建立网站
门户网站的建设_软件开发公司介绍怎么写_企业网站开发_怎么申请建立网站

1.网络互联

网络互联就是将多台计算机连接在一起,完成数据共享。

数据共享本质就是网络数据传输,即计算机之间通过网络来传输数据,也称为网络通信。

根据网络互联的规模不同,可以划分为局域网和广域网。

1.1 局域网 

局域网,即Local Area Network,简称LAN。

Local即标识了局域网是本地的,局部组建了一种私有网络。

局域网内的主机能方便的进行网络通信,又称为内网;局域网和局域网之间在没有连接的情况下,位于不同局域网内的主机是不能够通信的。

局域网的组建方式有很多种

(1) 基于网线直连

(2)基于集线器直连

(3)基于交换机直连

(4)基于交换机和路由器直连

1.2 广域网 

广域网,即Wide Area Network,简称WAN。

通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就行成了广域网。广域网内部的局域网都属于其子网。 

2.网络通信基础

网络互联的目的是进行网络通信,也叫网络数据传输,更具体一点,就是主机中的不同进程之间,基于网络传输数据。 

那么,在组建的网络中,如何判断数据是从哪一台主机将数据传送给哪一台主机呢?这时候就需要使用IP地址来标识。

2.1 IP地址 

IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址,简单来说,IP地址就是用来标识主机网络地址。 

IP地址是一个32位的二进制数,通常被分割位4个“8位二进制数”(也就是4个字节),如:01100100.00000100.00000101.00000110。

通常用”点分十进制“的方式来表示,即a.b.c.d的形式(a,b,c,d都是0~255之间的十进制数字),如上面的IP地址的”点分十进制“:100.4.5.6

一个特殊的IP地址:127.0.0.1

127.0.0.1被称为本地回环地址,主要用于标识本地主机(即本地计算机本身)和网络测试和开发用途。

2.2 端口号 

在网络通信中,端口号可以标识主机中发送数据和接收数据的进程(应用程序),简单来说,端口号用来标识主机中的进程(应用程序)

端口号是一个0~65535范围内的数字,在网络通信中,进程(应用程序)可以通过绑定一个端口号,来发送和接收网络数据。

问题:

有了IP地址和端口号,我们就可以定位到网络中唯一的一个进程,但是,网络通信是基于二进制0/1数据来传输的, 也就是对端接收到的数据是一串二进制数据,那对端是如何正确解析二进制数据,正确得获得对方发送过来得内容呢?

网络通信的数据类型有很多种,如图片,视频,文本等。同一个类型的数据,格式也可能会不同,例如纯文本和富文本都是文本数据,但是纯文本格式只是简单的字符序列,而富文本格式则可以包含字体样式、颜色、超链接等多种格式信息。

如我们发送一个文本字符串”你好“,是如何标识发送的数据是文本数据类型,及文本的编码格式呢?

所以基于网络数据传输,需要使用协议来规定双反方的数据格式。

 3.认识协议

在网络领域中,协议是网络协议的简称。网络协议是所有网络通信(即网络数据传输)的网络设备必须共同遵守的一组约定、规则。例如,网络设备间如何建立连接、怎样互相识别等。只有遵守这个协议,计算机之间才能相互通信交流。

简单来说,网络协议是通信双方对于发送和接收数据格式的约定,我的数据怎么发出去的,你收到就得怎么解析。

在网络通信中,协议非常重要,只有互相通信之间的多个主机能认同并遵守同一套协议,此时的通信才是有意义的。

协议最终体现为在网络上传输的数据包的格式

4.五元组 

一次网络通信的进行会涉及到5个关键信息,分别为源IP,源端口号,目的IP,目的端口号和协议类型,这5个信息被称为五元组。

在TCP/IP协议中,用五元组来标识一个网络通信。

源IP标识源主机

源端口号标识源主机中该次网络通信中发送数据的进程(应用程序)

目的IP标识目的主机 

目的端口号标识目的主机中该次网络通信中接收数据的进程(应用程序) 

协议类型标识发送数据的进程和接收数据的进程双方约定的数据格式

如下图: 

5.协议分层

由于网络通信非常复杂,如果在一个网络协议中完成网络通信涉及到的方方面面的问题,那么必定会使这个协议非常复杂。

所以,一般会让协议分层,不同的层次分别根据各自层次的协议,各自完成在一次网络通信中,该层需要执行的任务。

什么是协议分层

协议分层是计算机网络中一种重要的组织和设计方法,用于将发杂的网络通信功能划分为多个层次,每个层次负责特定的任务,并通过明确规定的接口于相邻层进行交互。

注意事项

协议之间的交互,不能跨层进行。 只有相邻两层协议才能进行交互,上层协议可以调用下层协议,下层协议可以给上层提供服务。

分层的作用 

分层的最大的好处类似于面对接口编程, 定义好两层之间的接口规范,让双方遵循这个规范来进行交互。

在代码中,类似于定义好一个接口,一方是实现接口的类(提供方,提供服务),另一方为接口的使用类(使用方)

对于使用方来说,并不关心接口的具体实现细节,只需使用接口即可。

对于提供方来说,利用封装的特性,隐藏了具体的实现细节,只需要开放接口即可。

如下图

这样的规定也能达到解耦合的效果。 

如下图

两个互相进行通信的人, 只要这两个人能够说同一种语言,无论设备层的设备如何改变,也就是不论我们使用任何设备,对这两个人的交流的影响不是很大,后续改变通讯设备,对于两个人之间的交流也不会影响很大,这就达到了很好的解耦合的效果。

5.1 OSI七层模型

 OSI七层模型是一种逻辑上的定义和规范:把网络从逻辑上分为了7层。但是由于这一套分层体系太复杂了,实际真实的网络分层方式更简化。

5.2 TCP/IP五层模型 (经典面试题)

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。

TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

1. 应用层:负责应用层序之间的沟通,也负责对网络传输的数据进行何种处理

2. 传输层:负责任意两台网络设备之间的通信,该层只考虑数据的发起点和数据的接点, 不关心数据传输的中间过程。例如在该层的TCP协议中,能够保证数据可靠的从源主机发送到目标主机。

3. 网络层:负责地址管理和路由选择。网络层也是负责任意两台网络设备之间的通信,但是  网络层会考虑网络数据传输的中间过程。例如在该层的IP协议中,通过IP地址来标识一台主机,并通过路由表(路由表的主要内容包含 目的网络地址,下一跳地址,出接口)的方式出两台主机之间数据传输的路线。

4. 数据链路层:负责相邻设备之间的数据帧的传送和识别。

5. 物理层:负责光/电信号的传递方式,规定了网络通信中一些硬件设施符合的要求。

有些资料将数据链路层和物理层结合在一起,所以也叫TCP/IP四层协议。 

5.3 网络设备

主机:主机的操作系统实现了从传输层到物理层的内容(即TCP/IP五层模型的下四层),通过应用程序满足通信的需求。

路由器:路由器实现了网络层到物理层的内容,即是TCP/IP五层模型的下三层

交换机:交换机实现了从数据链路层到物理层的内容,即TCP/IP五层协议的下两层。

集线器:集线器实现了物理层的内容。

注意:现在的路由器和交换机很多都有对方的功能了。

6. 网络通信的基本流程

6.1 封装与分用 

1. 不同的协议层对数据包有不同的称谓,在传输层叫,在网络层叫数据报,在数据链路层叫帧。

2. 应用层数据通过协议栈发到网络上,每层协议上都要加上一个数据首部,称为封装

3. 首部信息中包含了一些类似于首部有多长,载荷有多长,上层协议是什么等信息。

4. 数据封装成帧后发到传输介质上,,到达目的主机后,每层协议再剥掉相应的首部,根据首部中“上层协议字段”将数据交给对应的上层协议处理,这就是分用

1.封装的过程 

1. 应用层序获取到用户输入,构造一个“应用层数据包”,这个应用层数据包就会遵守应用层协议。

 2. 应用程序调用传输层提供的接口(API),把数据交给传输层,传输层的拿到数据之后,构造出“传输层数据段” 。 

这个传输层数据段主要遵守传输层协议,主要是TCP协议和UDP协议。

以TCP协议来说,TCP数据段就是由TCP段头+TCP载荷组成。TCP载荷就是应用层数据包。

 

3.  传输层构造好数据之后,继续调用网络层的api,把传输层的数据段交给网络层,网络层拿到数据后,构造出网络数据报。

 网络数据报主要遵守网络层的IP协议,则网络数据报就是IP报头+IP载荷。

4. 网络层数据构造好之后,IP协议继续调用数据链路层的api,把IP数据包交给数据链路层,构造出一个“以太网数据帧” 。

再数据链路层中,核心协议为“以太网协议”,根据以太网这个协议,就会再网络层数据报的基础上进一步加工,打包成一个以太网数据帧。以太网数据帧=帧头+载荷+帧尾。

 

5. 数据链路层构造好“以太网数据帧” 之后,数据链路层继续调用物理层的api,把以太网数据帧交给物理层,也就是硬件设备(网卡),网卡会把上述二进制数据(网络上传输的数据本质上都是二进制),最终以光信号/电信号/电磁波信号传播出去了。

 2.分用的过程

1. 数据到达接收方主机的网卡,接收方主机网卡会将光电信号还原成二进制,并把二进制数据交给上层数据链路层。

2. 数据达到数据链路层后,从帧头和帧尾发现此时的协议为“以太网协议”,则数据链路层按照以太网协议进行解析,把帧头和帧尾取出来,剩下的载荷,继续往上传给网络层。

3. 数据到达网络层后,从IP报头中得知此时的协议为网络层协议,则按网络层协议对数据进行解析,把IP报头取出来,剩下的载荷再继续传给传输层。 

4. 数据达到传输层后,从TCP段头中得知此时的协议为传输层协议,则此时按照传输层协议对数据进行解析,把TCP段头取出来,剩下的载荷继续往上传给应用层。cong

 

5. 数据到达应用层后,会按照应用层协议(不同应用的应用层协议是不同的)解析,拿到关键信息,展示到界面上,并给出提示。

数据从源主机传送到目的主机的中间的过程中,也有可能涉及到封装的分用的。

数据传输过程中遇到交换机:

主机的数据 => 交换机,交换机收到数据后,物理层解析,数据链路层解析(没有网络层),重新构造出以太网数据帧,发给下一个设备。

数据链路层中,得到以太网数据帧的帧头后,信息就足以支持交换机进行下一步工作。

交换机是工作在数据链路层,也就是二层转发

数据传输过程中遇到路由器(面试常考)

主机的数据 =>路由器。路由器收到数据之后,物理层解析,数据链路层解析,网络层解析(没有传输层解析),构造出以太网数据帧,构造出二进制数据,进行转发。

路由器是工作在网络层,也就是三层转发。 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com