引入:
什么是分层?
将整个流程分层(分为功能单一的子过程)的目的:为了使整个流程更清晰,复杂问题简单化。更容易发现问题,并针对性的解决问题。
什么是网络?
网络:计算机网络是一组计算机或网络设备通过有形的线缆或无形的媒介如无线,连接起来,按照一定的规则,进行通信的集合。
什么是通信?
通信,是指人与人、人与物、物与物之间通过某种媒介和行为进行的信息传递与交流。
网络通信,是指终端设备之间通过计算机网络进行的通信。
国际标准化组织 ISO在1984年颁布了开放式系统互连OSI 7层参考模型:
应用层 : 网络服务于最终用户的一个接口。 最直观的理解就是人机交互界面,或者说是系统程序窗口。
表示层:数据的表示、安全加密和压缩。 计算机是不懂汉语的,只知道二进制的 0 和 1 .所以这一步也是翻译。
会话层:建立、管理和终止会话。 会话层输入是软件层面,允许不同机器上的用户建立会话关系。
传输层:定义传输数据的协议端口号,以及流程和差错校验。定义传递信息的语法和语义,编码和解码,压缩和解压缩,加密和解密。 可以理解为是同一个软件中的两个端口进行数据传输(例:我用微信发送的信息,你也需要用微信来接收。那么就是电脑端微信用户之间的传输。)
网络层:逻辑地址寻址,实现不同网络之间的最佳路径选择。 查找目标IP地址,进行准确、快速传输。
数据链路层:建立逻辑链接,进行硬件地址寻址、差错校验等功能。 网络层接收到数据后需要继续往下传输,需要使用工具,就是使用数据链路层的网卡,继续进行传输。
物理层:(与硬件状态有关)为上层提供一个物理连接,有机械、电气、功能、过程特性。 当数据到达物理层后,变成信号传输 比特(bits)流。
数据到达目标主机后,开始进行一个逆向的过程。
TCP/IP协议:
四层:应用层、传输层、网络层、网络接口层
五层:应用层、传输层、网络层、数据链路层、物理层
OSI协议:
七层:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
TCP/IP协议模型:
![](https://i-blog.csdnimg.cn/blog_migrate/d849a02d90f7c562d9d8c5e640276aa3.png)
封装过程中,TCP、UDP协议头部根据上层应用和目标需求进行选择。
物理地址=MAC地址=网卡地址
设备与层的对应关系:应用层-计算机、传输层-防火墙&堡垒、网络层-路由器、数据链路层-交换机、物理层-网卡
逻辑地址:是指在计算机体系结构中应用程序角度看到的内存单元(memory cell)、存储单元(storage element)、网络主机(network host)的地址。
PDU(Protocol Data Unit)协议数据单元:同层之间传递数据的单位。(段segment,帧frame,比特bit)
交换机属于数据链路层设备(这里之所以说是传统,是因为如今三层、四层的交换机已经非常普遍了)
数据封装的过程(文字解析):
数据在各层之间是如何传输的:
应用层:数据被“翻译”为网络世界使用的语言,即二进制编码数据。“翻译”也是应用层在网络数据传输过程中最为核心的贡献。
传输层:上层数据被分割成小的数据段,并为每个分段后的数据封装TCP或UDP报文头部。它不可能看懂应用层传输具体数据的内容,因此需要借助一种标识确定接收到的数据对应的应用程序,这种标识就是端口。
网络层:上层数据被封装上新的报文头部-----IP头部(这里的上层数据包括上层所添加的TCP或UDP头部,即上层指的是传输层)对于网络层而言,它看不懂TCP或UDP报文头部的内容,在IP头部中有一个关键的字段信息-----IP地址(一组32位的二进制数组成的)用于标识网络的逻辑地址。网络层的传输过程与其很相似,在IP头部中包含目标IP地址和源IP地址,在网络传输过程中的一些中间设备,如路由器,会根据目标IP地址来逻辑寻址,找到正确的路径将数据转发到目的端。如果中间的路由设备发现目标IP的地址根本不可能到达,它将会把该消息传回发送端主机,因此在网络层需要同时封装目标IP地址和源IP地址。
数据链路层:在数据链路层中,上层数据被封装一个MAC头部,其内部有一个关键的字段信息----MAC地址,它由一组48位的二进制数组成。在目前阶段,我们把它理解为固化在硬键设备中的物理地址,具有全球唯一性。网卡就有属于自己的唯一的MAC地址,和IP头部一样,在MAC头部也同时封装着目标MAC地址和源MAC地址。
物理层:传输过程无论在之前那一层封装的报文头部还是上层数据信息都是由二进制数组成的,在物理层,将这些二进制数字组成的比特流转换成电信号在网络中传输。
(解封装过程与封装过程相反,去头部过程)
TCP/IP协议族(簇):
物理层和数据链路层 TCP/IP:并没有定义任何特定的协议。它支持所有标准的、专用的协议,网络可以是局域网(1km)、城域网(5-50km)、广域网(几十到几千公里以上)。所有TCP/IP实际上只有三个层次。
应用层协议:
HTTP 超文本传输协议(Hyper Text Transfer Protocol) 端口号:80
HTTPS (Hyper Text Transfer Secure) 在HTTP基础上上多了SSL 端口号:443
FTP 文件传输协议(File Transfer Protocol)端口号:20,21(默认情况下,端口20 用于传输数据,端口21用于传输控制信息)
TFTP 简单文件传输协议 (Trivial File Transfer Protocol)
SMTP 简单邮件传输协议 (Simple Mail Transfer Protocol)
SNMP 简单网络管理协议 (Simple Network Management Protocol) 端口号:161 DNS 域名系统(Domain Name System) 端口号:53
telnet:远程登陆协议 端口号:23
传输层协议:
TCP 传输控制协议 (Transmission Control Protocol)
UDP 用户数据报协议 (User Datagram Protocol)
网络层协议:
ICMP 网际控制报文协议 (Internet Control Message Protocol)
IGMP 网际组管理协议 (Internet Group Management Protocol)
IP 互联网协议 (Internet Protocol)
ARP 正向地址解析协议(Address Resolution Protocol)
RARP 反向地址解析协议 (Reverse Address Resolution Protocol)
TCP协议传输更加稳定可靠,是面向连接的可靠传输协议。 ------多应用于应用服务
UDP协议传输效率更高,但是不安全、可靠。是面向无连接的不可靠传输协议。 --------多应用于语音、视频等高流量、高效率需求的。
😁