文章目录
- 网络协议初识
- 协议分层
- OSI七层模型
- TCP/IP五层协议
- 网络传输基本流程
- 网络传输流程
- 数据包装和分用
- 封装过程
- 分用过程
- 网络中的地址管理
- IP地址
- MAC地址
网络协议初识
协议是一种约定。
协议分层
分层之后,每一层只关注自己同层的功能,只使用下层的接口,任何一层出现问题,都不会直接影响另一层,减少开发者后期的维护成本。符合高内聚,低耦合的特性。
OSI七层模型
OSI七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范;
把网络从逻辑上分为了7层,每一层都有相关、相对应的物理设备,比如路由器,交换机;
OSI七层模型是一种框架性的设计方法,主要功能是帮助不同类型的主机实现数据传输;
它的优点是将服务、接口和协议这三个概念区分开,通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。
分层名称 | 功能 |
---|---|
应用层 | 针对特定应用的协议 |
表示层 | 设备固有的数据格式和网络标准数据格式的转换 |
会话层 | 通信管理。负责建立和断开通信链接(数据流动的逻辑通路),管理传输层以下的分层 |
传输层 | 管理两个节点之间的数据传输。负责可靠传输,确保数据被可靠的传送到目标地址 |
网络层 | 地址管理和路由选择 |
数据链路层 | 互联设备之间传送和是被数据帧 |
物理层 | 以0、1代表电压的高低、灯光的明灭。界定链接器和网线的规格 |
TCP/IP五层协议
TCP/IP是一组协议的代名词,它包括了许多协议,组成了TCP/IP协议簇,TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。
物理层:负责光/电信号的传递方式,物理层的能力决定了最大传输速率、传输距离、抗干扰性等。
数据链路层:负责设备之间的数据帧的传送和识别。
网络层:负责地址管理和路由选择。
传输层:负责两台主机之间的数据传输。
应用层:负责应用程序间的沟通。
实际上TCP/IP五层协议就是讲OSI七层协议中的应用层、表示层、会话层合并成了一个应用层。
网络传输基本流程
网络传输流程
每一层都会把上层交付给自己的数据,作为自己的有效载荷,并在有效载荷前加上自己的协议报头。
在某一层中,自己的协议报头+上层交付的有效载荷,就构成了该层要发送的报文,这个就被称为封装。
在逻辑上,同层协议都认为自己在和对方的同层协议进行通信,譬如发送方的传输层在逻辑上认为自己是在和接收方的传输层通信。因为只有同层协议能够相互认识对方的报头。
每一层协议都需要具备能够将报头和有效载荷进行分离,并且将有效载荷交付给上一层的能力。
数据包装和分用
不同的协议层对数据报有不同的称谓,在传输层叫做段,在网络层叫做数据报,在链路层叫做帧。
应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部,称为封装。
首部信息中包含了一些类似于首部有多长,载荷有多长,上层协议是什么等信息。
数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中的上层协议字段将数据交给对应上层协议处理。
封装过程
分用过程
网络中的地址管理
IP地址
IP协议有两个版本,IPv4个IPv6,IPv6是IPv4的升级,但是我们默认情况下说IP协议都是指IPv4。
IP地址在IP协议中用来表示网络中不同主机的地址。
对于IPv4来说,IP地址是一个4字节,32位的整数。而IPv6则是128位。
我们通常使用点分十进制来表示IP地址。就是192.168.0.1这种形式,每个数字的取值范围是0~255
MAC地址
MAC地址就是电脑的物理地址,每台电脑有且仅有一个MAC地址,这个地址全球唯一,一共48位,也就是6个字节,一般用16进制数字加上冒号的形式来表示。
MAC地址用来识别数据链路层中相连的节点。