【计算机网络】网络模型

OSI七层网络模型

七层模型如图所示

每层的概念和功能

  1. 物理层

    职责:将数据以比特为单位,通过不同的传输介质将数据传输出去。

    主要协议:物理媒介相关的协议,如RS232,V.35,以太网等。

  2. 数据链路层

    职责:

    • 将物理层的比特数据加上MAC地址封装成帧

    • 对数据差错校验

    • 通过流控制来平衡传输端和发送端之间的不对称。

    主要协议:有点对点协议PPP(Point-to-Point Protocol)高级数据链路控制协议HDLC(High-Level Data Link Control)、以太网协议等。

  3. 网络层

    职责:地址管理和路由 ,路由器根据数据包中的IP地址路由转发

    主要协议:IP协议、网关协议(ARP)、路由协议(RIP、OSPF、BGP等)等。

  4. 传输层

    职责:

    • 在网络层的端到端基础上实现了服务进程到服务进程之间的传输。

    • 管理两个节点的传输,负责可靠传输和不可靠传输。

    • 通过流量控制来保证传输速度。

    • 通过错误控制来进行数据的完整接收。

    主要协议:TCP协议、UDP协议。

  5. 会话层

    职责:

    • 建立会话后,网站服务可以保持用户的登录状态的。比如可以记录用户的账号密码,避免多次重复登录。

    • 负责同步服务。比如上次登录时观看电影的状态,在下一次登录后依然时上次退出前的状态。(历史记录、观看进度等等)

    会话:主要实现了不同计算机之间的会话控制,为高层协议提供一个传输数据的会话环境。

  6. 表示层

    职责:

    • 负责数据的编码和解码

    • 负责数据的加密

    • 负责数据的压缩

  7. 应用层

    职责:

    • 负责应用之间的交互,包括文件传输、电子邮件、远程登录等。

    主要协议: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地址都是自己。进而解析段,发现源端口号和目标端口号,最终将报文交给端口对应的服务去处理进行相应。

五层网络模型

四层网络模型

相关推荐
cur1es8 小时前
【UDP的报文结构】
网络·网络协议·udp·md5
惊讶的猫8 小时前
OpenFeign(声明式HTTP客户端)
网络·网络协议·http·微服务·openfeign
心.c9 小时前
TCP协议深入解析
网络·网络协议·tcp/ip
摇滚侠9 小时前
HTTP 404 - No response body available
网络·网络协议·http
全栈工程师修炼指南9 小时前
Nginx | stream content 阶段:TCP 协议四层反向代理浅析与实践
运维·网络·网络协议·tcp/ip·nginx
Trouvaille ~9 小时前
【Linux】应用层协议设计实战(一):自定义协议与网络计算器
linux·运维·服务器·网络·c++·http·应用层协议
CSCN新手听安9 小时前
【linux】高级IO,I/O多路转接之poll,接口和原理讲解,poll版本的TCP服务器
linux·运维·服务器·c++·计算机网络·高级io·poll
CSCN新手听安9 小时前
【linux】网络基础(三)TCP服务端网络版本计算器的优化,Json的使用,服务器守护进程化daemon,重谈OSI七层模型
linux·服务器·网络·c++·tcp/ip·json
REDcker10 小时前
埋点系统设计:从成熟工具到自建方案
运维·服务器·网络·用户分析·埋点·埋点系统
优橙教育11 小时前
通信行业四大热门岗位解析:谁才是数字时代的黄金赛道?
网络·学习·5g