一、为什么要有七层模型?
把网络通讯中分成七层模型,这样每层各司其职,只负责自己的工作,效率又高又专业。
有利于技术的发展和故障的排查。
二、OSI参考模型
应用层:面向用户的APP,承载用户的数据,微信聊天的文字、图片都属于应用层的数据。
表示层:计算机用自己的编码方式,对用户的数据进行编码,不同的编码方式。
例如用JPEG格式编码来表示图片,mp3编码来表示音乐。
会话层:两个程序之间的接口,如美团APP可以调用微信支付,就是通过二者之间的会话层接口。
传输层:用于建立TCP或者UDP连接,并给数据报文打上端口号。TCP和UDP的区别是传输可靠性高,但速度延迟慢,根据不同的场景按需选择。给报文打上端口号的作用是,接收方可以识别报文属于什么应用程序,如80的是网页数据,4000是QQ的数据。
网络层:给数据包打上IP地址,用于路由转发。有了IP地址,网络设备才知道数据包应该往互联网哪个位置上发。(路由转发技术)
数据链路层:比特流变成帧,路由器发送到交换机后,使用MAC(网卡自带)地址表寻找对应的主机,交换机工作在这一层。请求的时候,采用IP地址获得MAC地址,再发送数据。
物理层:把封装好的数据包,用比特流来传输出去。(电磁波、物理信号)
实际就是从上往下封装的过程。
三、TCP/IP 参考模型
把上三层合并层一个应用层,实现在应用层,称为TCP/IP对等模型。
把数据链路层和物理层合并为网络接入层,称为TCP/IP标准模型。
四、各层常见的协议
应用层
HTTP:超文本传输协议,提供浏览网页服务
Telnet:远程登录协议,提供远程管理服务
FTP:文件传输协议,提供互联网文件资源共享服务
SMTP:简单邮件传输协议,提供互联网电子邮件服务
TFTP:简单文件传输协议,提供简单的文件传输服务
传输层
TCP:为应用程序提供可靠的面性连接的通讯服务。
UDP: 提供了无连接通信,且不对传送数据包到位负责。
网络层
IP协议:将传输层的数据封装成数据包,并完成源站点到目的站点的转发,提供无连接的,不可靠的服务。
IGMP协议:负责IP组播成员管理协议,它用来在IP主机和与其直接相邻的组播路由器间建立、维护组播组员关系。
ICMP协议:基于IP协议在网络中发送控制消息,提供问题反馈,使管理者可以对问题进行诊断,然后采取适当的措施解决。
数据链路层
Ethernet:一种多路访问广播型数据链路层协议,是当前应用最为广泛的局域网技术(MAC)
PPP:一种点对点的数据链路层协议,多用于广域网。
PPPoE:以太网承载PP协议,常用于家庭上网。
五、数据封装过程
一步一步往下封装。