文章目录
- 概念
- 协议
- 协议分层
- TCP/IP五层网络模型
- 数据的网络传输---“封装”与“分用”
- “封装”与“分用” 的过程
- 接收过程
概念
局域网:把一些设备通过交换机/路由器连接起来。
广域网:把更多的局域网也相互连接称为广域网。
交换机:交换机是一个网络设备,是用于连接多台设备,实现网络数据传输与交换。
路由器:用于连接多个逻辑上分开网络的一种设备,所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成。
ip地址:描述一个主机在互联网上的位置,由32位组成。
端口号:通过端口号区分一个主机上的应用程序。、
协议
协议的概念: 协议就是一种约定,发送方约定了数据传输的格式,接收方也得理解这个协议,这样两边才能进行通信。
网络的传输是通过:网线、光纤、 无线、电信号或者光信号来进行传输。
“网线”:传输的是高低电平,高低电平通过0和1表示
“光纤”:传输的是光信号,通过波长和频率调制成不同频率的光,通过不同频率来表示0和1
虽然可以传输了二进制数据,但是这0和1是啥意思?
因此,在传输之前我们需要让发送方和接收方约定好吗,每一组0和1是啥意思。
协议分层
分层概念: 一个协议太复杂,就可以拆分成多个协议,将不同的协议进行分类,同时针对不同的类别进行分层,相当于约定了层级和层级之间的调用关系,要求上层协议调用下层协议;下层协议提供给上层提供支持,不能跨层调用。
分层的好处:
- 层次之间 耦合度较低,上层协议不必了解下层的细节,下层也不用了解上层的实现细节。
- 方便替换对某一层的协议。
真正的网络协议是怎么分层的?
- OSI七层网络模型
- TCP/IP五层网络模型
TCP/IP五层网络模型
应用层: 关注传输的数据的用途。
传输层: 不考虑路径,只关注起点和终点。
网络层: 主要关注两个遥远的节点之间,路径规划。
数据链路层: 主要关注两个相邻节点之间的传输。
物理层: 网络通信上的基础设施,网线,光纤,网络接口等。
数据的网络传输—“封装”与“分用”
发送方发送数据,要把数据从上到下,依次交给对应的层次协议进行封装。
接收方接收数据,要把数据从下到上,依次交给对应的层次协议进行解析。
“封装”与“分用” 的过程
1.当我发送消息(你好)给对方,此时应用层拿到上述内容,进行封装,封装成应用层数据包。
2.传输层拿到上述数据应用层要调用传输层提供的api,来处理这个数据,传输层有很多协议,最典型的是UDP和TCP,此处以UDP为例。UDP针对上述数据报在进行封装。一个典型的数据报都是通过报头+载荷构成
3.传输层到网络层,网络层最常见的协议是IP协议。到达网络层还要进行封装,添加IP协议报头。
4.网络层交给数据链路层,最典型协议“以太网”(平时使用网线上网);基于网络层的基础上在封装以太网数据帧。 mac地址也是描述一台主机在网络上的位置,它的功能和ip很相似,ip地址用于网络层的路径规划,而mac地址用于描述数据链路层,两个即将进行传输的相邻节点的地址,mac和网卡绑定,理论上每个设备都有自己唯一的mac地址但是ip不是。
5.数据链路层就要把上述的以太网数据帧交给物理层了,物理层就要把上述的0101二进制数据,转换成光信号/电信号/电磁波信号,进行传输。
接收过程
首先接收方物理层,网卡收到信号,对信号进行解析,还原成0101这样的数据,从物理层交给数据链路层此时就把该系列的数据当作一个以太网数据帧(此处是从以太网收到数据,就是要交给以太网协议来处理),把帧头和帧尾去掉取出中间的载荷,往上交给网络层,网络层的ip协议解析数据报,也是去掉ip报头,传输给传输层,传输层由udp来解析处理,去掉报头取出载荷把数据交给应用层,根据端口号来区分具体的应用程序,此时该应用程序解析数据报放到程序界面中。