文章目录
一、分层思想
将复杂的流程分为几个功能相对单一的子过程:
1.整个流程更加清晰,复杂问题简单化。
2.更容易发现问题并针对性的解决问题。

总体来说,每一层用的都是下一层的成果,出现故障直接找故障的那一层,层与层之间责任分离,更多的是方便设计和使用。
二、OSI参考模型
OIS是由国际标准化组织(ISO)制定,它有三个基本的功能:提供给开发者一个必须的、通用的概念以便开发完善、可以用来解释连接不同系统的框架。
OSI将计算机网络体系结构划分为以下七层,如下图

OSI参考模型从低到高依次是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
1.物理层
功能:建立、维护、断开物理连接。
报文头部和上层数据信息都是由二进制数组成的,物理层将这些二进制数字组成的比特流转换成电信号在网络中传输。
简单来说,就是通过物理介质(电信号、无线信号、光纤)来实现设备的连接、传输。
2.数据链路层
功能:建立逻辑链接、进行硬件地址寻址、差错校验等。
将上层数据加上源和目的方的物理(MAC)地址封装成数据帧,NAc地址是用来标识网卡的物理地址,建立数据链路;当发现数据错误时,可以重传数据帧。
简单来说,就是通过网卡之间来进行传输。物理地址(MAC)是唯一的,相当于经纬度某个点。
1)物理地址
本地物理地址有两种方式,其中一种是手动查询:
网络设置—
>
高级网络—
>
设备器—
>
以太网—
>
物理地址
网络设置—>高级网络—>设备器—>以太网—>物理地址
网络设置—>高级网络—>设备器—>以太网—>物理地址
另一种是命令查找:
首先通过cmd命令调用出命令框

然后输入 ipconfig /all 搜索

3.网络层
功能:进行逻辑地址寻址,实现不同网络之间的路径选择。
将上层数据加上源和目的方的逻辑(IP)地址封装成数据包,实现数据从源端到目的端的传输。
简单来说就是给数据封装成一个包。
1)逻辑地址
逻辑地址也就是IP地址,不是一个准确的地址,是可以被重复使用的。
4.传输层
功能:定义传输数据的协议端口号,以及流控和差错校验。
将上层应用数据分片并加上端口号封装成数据段,或通过对报文头中的端口识别,实现网络中不同主机上的用户进程之间的数据通信。
简单来说就是将一段数据分成数片通过同一端口传输给对方再加以组合成一段完整数据,发挥承上启下的作用。
5.会话层
功能:建立、管理、终止会话。
负责在网络中的两节点之间建立、维持和终止通信,如服务器验证用户登录便是由会话层完成的。
简单来说就是本地登录微信,如果要与对方通信也需要对方登录微信才行。
6.表示层
功能:数据的表示、安全、压缩,确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。
负责数据格式的转换,如加密解密、转换翻译、压缩解压缩等。
简单来说就是将用户需要内容进行翻译成计算机的二进制语言,方便不同的计算机可以彼此理解
7.应用层
功能:为应用程序提供交互服务,网络服务与最终用户的一个接口。
人机交互窗口,把人的语言输入到计算机当中。例如,在QQ的对话窗口输入字符。
简单来说就是在QQ的对话窗口输入字符(当作应用程序的对话框来看待)。
综上所看,会话层、表示层、应用层可以理解为应用程序、软件级别的,也可以统称为应用层。
三、TCP/IP协议族

TCP/IP主要有两种,分别是 TCP/IP 4层模型、 TCP/IP 5层模型。会话层、表示层、应用层可以统称为应用层。
1.什么是协议呢
协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。
由于TCP/IP协议簇作为Internet的核心协议,被广泛应用于局域网和广域网中,所以我们就需要知道各个层中包含什么协议。

物理层、数据链路层:主要是由底层网络定义的协议,常用的是IEEE 802.3 有线局域网(以太网)标准、IEEE 802.11 无线局域网标准。
网络层:主要是IP协议,其中包含ICMP(通过报文提供一致易懂的出错报告信息)、IGMP(通过组播进行发送信号)、ARP(通过IP地址可以发送MAC地址)、RARP(通过MAC地址可以发送IP地址)。
传输层:常见的主要是TCP(面向连接的协议,要求程序之间需要TCP连接才能发送。提供可靠的通信服务)、UDP(面向无连接的协议。提供了一种无需建立连接就可以发送封装的 IP 数据包的方法)、SCTP。
应用层:主要都是基于TCP、UDP的协议。
2.常见的协议都有哪些呢
当前较为常见的两种应用层协议为UDP和TCP,下面我们就这两种常见的协议,看看他们基本原理
TCP协议
TCP的特点:有连接、可靠传输、面向字节流、全双工。
有连接:允许两个应用进程之间建立一条传输连接,应用进程通过传输连接可以实现顺序、无差错、不重复和无报文丢失的流传输
可靠传输:传输的数据一定会到达对端,保证传输效率。
面向字节流:创建一个TCP的socket,会在网络中同时创建一个发送缓冲区和接受缓冲区。
全双工:UDP的socket既可以读也可以写,这就叫全双工(派出一个间谍,间谍和上层可以双向联系就是全双工)
UDP协议
UDP的特点:无连接、不可靠、面向数据报、全双工。
无连接:知道对方的端口号和IP就可以直接进行传输,不需要建立连接
不可靠:没有任何安全机制,发送端发送数据之后就不管对方有没有收到了
面向数确起到认据报:应用层交给UDP多长的报文长度,就原样发送,既不会拆分也不会合并
全双工:UDP的socket既可以读也可以写,这就叫全双工(派出一个间谍,间谍和上层可以双向联系就是全双工)
常见的子协议以及功能如下

四、数据封装与解封装过程
1.数据封装
应用层传输过程:
在应用层获取应用程序数据并翻译成机器语言——二进制编码数据。
传输层传输过程:
在传输层获取应用程序数据,将数据切成数据段,并为每个分段后的数据封装TCP报文头部。其中端口号是用来识别上层协议或者程序,确保数据通信正常。
网络层传输过程:
在网络层获取被封装TCP头部的应用程序数据,并且封装上IP地址,用来确保封装数据最终能够被目标主机识别。
数据链路层传输过程:
在数据链路层获取网络层中封装过IP地址以及TCP头部的应用程序数据,并且封装上MAC头部。
物理层传输过程:
无论是之前每一层封装的头部还是上层数据信息都是由二进制组成的,物理层将这些二进制数字组成的比特流转换成物理介质(电信号、光纤信号、无线信号)在网络中传输。
封装过程图示:

2.数据解封装
从目标主机通过物理介质(电信号、光纤信号、无线信号)获取数据被接受后,将需要的数据进行解封装,这是封装过程的逆过程。
如图示:

3.数据传输基本概念
1)各层所传递的数据单位
| 层名字 | 应用层 | 传输层 | 网络层 | 数据链路层 | 物理层 |
|---|---|---|---|---|---|
| 数据单位 | 报文 | 数据段 | 数据包 | 数据帧 | 比特流 |
2)常见硬件设备与五层模型的对应关系
| 层名称 | 应用层 | 传输层 | 网络层 | 数据链路层 | 物理层 |
|---|---|---|---|---|---|
| 典型设备 | 计算机 | 防火墙 | 路由器 | 交换机 | 网卡 |
五、层间通讯过程
分层模型各层对应的协议
各层之间通过协议进行通讯,由于各个层名字不同,所以协议名字也不相同,而发送方与接收方各层必须采用相同的协议才能建立连接,实现正常的通信。
如图示:
本文介绍了网络通信的基础知识,包括分层思想,详细讲解了OSI七层模型的各层功能,如物理层的比特流传输,数据链路层的MAC地址,网络层的IP寻址。此外,还探讨了TCP/IP协议族,特别是TCP和UDP协议的区别,以及数据封装与解封装的过程。
1918

被折叠的 条评论
为什么被折叠?



