OSI七层网络模型
七层模型如图所示
每层的概念和功能
-
物理层
职责:将数据以比特为单位,通过不同的传输介质将数据传输出去。
主要协议:物理媒介相关的协议,如RS232,V.35,以太网等。
-
数据链路层
职责:
-
将物理层的比特数据加上MAC地址封装成帧;
-
对数据差错校验;
-
通过流控制来平衡传输端和发送端之间的不对称。
主要协议:有点对点协议PPP(Point-to-Point Protocol)高级数据链路控制协议HDLC(High-Level Data Link Control)、以太网协议等。
-
-
网络层
职责:地址管理和路由 ,路由器根据数据包中的IP地址路由转发。
主要协议:IP协议、网关协议(ARP)、路由协议(RIP、OSPF、BGP等)等。
-
传输层
职责:
-
在网络层的端到端基础上实现了服务进程到服务进程之间的传输。
-
管理两个节点的传输,负责可靠传输和不可靠传输。
-
通过流量控制来保证传输速度。
-
通过错误控制来进行数据的完整接收。
主要协议:TCP协议、UDP协议。
-
-
会话层
职责:
-
建立会话后,网站服务可以保持用户的登录状态的。比如可以记录用户的账号密码,避免多次重复登录。
-
负责同步服务。比如上次登录时观看电影的状态,在下一次登录后依然时上次退出前的状态。(历史记录、观看进度等等)
会话:主要实现了不同计算机之间的会话控制,为高层协议提供一个传输数据的会话环境。
-
-
表示层
职责:
-
负责数据的编码和解码。
-
负责数据的加密。
-
负责数据的压缩。
-
-
应用层
职责:
- 负责应用之间的交互,包括文件传输、电子邮件、远程登录等。
主要协议:HTTP、FTP、SMTP、DNS、TELNET、SNMP等。
各层之间的数据名称、负责的地址及服务功能都有多不同:
客户端请求服务器端的过程
1.客户端发送报文给服务器端。(应用层)
2.报文来到传输层,将报文和源端口、目标端口一起封装成段。
3.段来到网络层,将段和源IP、目标IP封装成包。
目标IP和源IP一般在不同的网络分区,因此需要通过默认网关。
4.使用ARP协议来广播获取网关MAC,将包数据和客户端MAC、目标MAC(广播地址)封装成帧,发送给交换机。
-
交换机中记录着接口和MAC地址,由交换机帮忙广播;
-
目标网关收到广播后,解析帧,会发现发送端的MAC地址;
-
再解析包中的信息,就会发现发送端的IP地址;
-
网关就会把发送端的ip地址和MAC地址进行关联;
-
网关将包信息和客户端MAC地址、网关MAC地址封装成帧,响应给客户端;
-
客户端解析帧信息,就可以知道网关地址。
这部分就是ARP协议。
5.客户端中在数据链路层将包信息和源MAC、目标MAC封装成为帧发送给网关。
6.网关解析帧信息发现是发送给自己的,再解析包信息,发现了目标IP地址;
7.目标IP在另一个网络中,通过路由转发,将数据发送给目标网络。
8.服务器网关将包信息和源MAC地址、目标MAC地址封装成帧,发动给服务器。
服务器网关获取的是目标网络IP,如果这时找不到对应的MAC地址,则可以通过ARP协议进行广播。
9.服务器收到数据帧之后逐个解析,发现MAC和IP地址都是自己。进而解析段,发现源端口号和目标端口号,最终将报文交给端口对应的服务去处理进行相应。