柳州市网站建设_网站建设公司_安全防护_seo优化
2025/12/30 19:21:46 网站建设 项目流程

目录

IP地址

概念

格式

端口号

概念

格式

协议

五元组

协议分层

OSI七层网络协议模型

TCP/IP五层网络模型

网络数据通信的基本流程

封装

1.应用程序层

2.传输层

3.网络层

4.数据链路层

5.物理层

分用

1.物理层

2.数据链路层

3.网络层

4.传输层

5.应用程序层

网络设备所在分层


IP地址

概念

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

格式

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

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

端口号

概念

在网络通信中,IP地址用于标识主机的网络地址,端口号可以标识主机发送数据,接受数据的进程。简单来说,端口号用于定位主机中的进程。

格式

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

协议

协议即网络协议,网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵循的一组约定和规则。如怎么建立连接、怎么相互识别。

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

五元组

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

  1. 源IP:标识主机
  2. 源端口号:标识源主机中该次通信发送数据的进程
  3. 目的IP:标识目的主机
  4. 目的端口号:标识目的主机中该次通信接收数据的进程
  5. 协议号:标识发送进程和接收进程双方约定的数据格式

五元组在网络通信中的作用,类似于发送快递:

协议分层

网络通信十分复杂,如果只设计一个协议,完成网络通信的方方面面,势必会让这个协议非常庞大且复杂。

所以我们把一个大的协议,拆分成若干个小的,功能单一的协议。

但是拆分完后的小的协议太多,不易管理。所以把这些小的协议归类分层,并规定,只有相邻两层协议之间可以进行交互:(不能跨层交互)

  • 上层协议可以调用下层协议
  • 下层协议可以给上层协议提供服务

这样做的好处有:

  1. 封装:上层协议,不需要了解下层协议的细节
  2. 解耦:分层之后,灵活替换其中的某一层,对于整体的工作过程影响较小

这个过程类似于打电话

OSI七层网络协议模型

OSI:即Open System Interconnection,开放系统互连

OSI七层模型既复杂又不实用,实际上的网络分层方式是TCP/IP五层(四层)模型。

TCP/IP五层网络模型

  • 应用层:包裹拿到之后怎么用。负责应用程序间沟通
  • 传输层:任意两个设备之间的通信,不考虑中间过程,只考虑终点和起点。负责两台主机之间的数据传输
  • 网络层:任意两个设备之间通信的中间过程。负责地址管理和路由选择
  • 数据链路层:完成相邻两个设备之间的通信。负责设备间数据帧的传送和识别
  • 物理层:规定网络通信硬件设备符合的要求。负责光电信号的传输方式

该过程类似于网上购物:

  • 我买一件商品,拿到后该如何使用——应用层
  • 卖家只用关心,买家收件人的信息——传输层
  • 物流公司关心,包裹以怎样的路径传输——网络层
  • 快递小哥/货车司机关心,包裹怎样传给下一个节点——数据链路层

网络数据通信的基本流程

封装

数据从上层到下层,一步步添加包头的过程就是封装(不同于面向对象的封装概念)

1.应用程序层

应用程序在获取到用户的输入后,会构造一个应用层的数据包。

这个应用层数据包(结构化数据),会遵循应用层协议(开发这个应用程序的程序员规定的)

例如:我在qq上发送一条信息“hello”。qq应用程序可能就会将我的消息封装成如下的数据包:

构造完成之后,应用程序就会调用传输层的API(socket API),将数据传输给传输层

2.传输层

传输层拿到数据后,构造出“传输层数据段”,

传输层的协议主要包括两个:TCP和UDP

构造完的TCP数据段,继续调用网络层的API,把TCP数据段传输给网络层

3.网络层

网络层拿到数据后,构造出“网络层数据报”

网络层最主要的协议是IP协议

构造完的IP数据报,继续调用数据链路层的API,将IP数据报传输给数据链路层

4.数据链路层

数据链路层拿到数据后,构造出“数据链路层数据帧”

数据链路层的核心协议是,以太网

5.物理层

以太网将数据帧交给网卡这样的硬件设备

网卡就会将上述的数据帧的二进制数据,最终以光信号/电信号/电磁信号的方式传播出去。

分用

数据达到接收方主机后,逐层解析就是分用

1.物理层

数据达到接收方的网卡后,网卡将光电信号转化为二进制数字,再将其交给数据链路层。

数据链路层的协议决定了物理层的数据是怎么来的:例如以太网数据决定了数据是从网线光纤传来的,802.11协议决定了数据是从wifi来的

2.数据链路层

按照以太网协议进行解析,取出帧头和帧尾,剩下的载荷向上传递给网络层

帧头中就有专门的属性记录了网络层使用的是什么协议

3.网络层

按照IP协议进行解析,取出IP报头,剩下的载荷向上传递给传输层

IP报头中描述了传输层使用了什么协议,以及源IP/目的IP

4.传输层

按照TCP协议进行解析,取出TCP段头,剩下的载荷向上传递给应用层

TCP段头中记录了源端口号/目的端口号,这样就告知了我们数据要交给哪个应用程序

5.应用程序层

qq应用程序,按照qq的应用协议,解析应用层的数据包,取出其中的消息内容展示给用户

网络设备所在分层

  • 主机:工作过程涉及物理层——>应用层,在应用层方面,通过应用程序满足网络通信需求
    注意:操作系统涉及的是物理层——>传输层
  • 路由器:工作过程涉及物理层——>网络层,组建局域网,进行网络数据包转发
  • 交换机:工作过程涉及物理层——>数据链路层,对路由器接口的扩展,不需要考虑组网问题

传输数据的中间过程,也涉及到了封装分用

当主机的数据传输到交换机时:(二层转发)

交换机会完成物理层解析、数据链路层解析,然后重新构造出以太网数据帧,发送给下一个设备

当主机的数据传输到路由器时:(三层转发)

路由器会完成物理层解析、数据链路层解析、网络层解析,然后重新构造出IP数据报,发送给下一设备

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询