如果有哪里不明白的, 欢迎留言讨论, 一起进步
先说说什么是七层网络模型
七层网络模型就是OSI:全称Open System Interconnect,即开放式系统互联. 一般都叫OSI参考模型, 是ISO组织在1985年研究的网络互连模型. 是用来将世界各地计算机关联到一起通信的模型, 该模型一共定了7层,简单来说, 七层网络模型就是用来解决如何在不同主机之间进行通信, 也是本文要介绍的主要内容
网络为什么要分层设计
分层的目的是也是为了高内聚低耦合, 不同的层做不同的事情, 这样每一层专注于做好自己的事情就可以了,比如你要向远方的好友邮寄一个封信, 有信封, 信纸, 邮戳, 文字内容. 不同的东西有不同的作用, 一起来完成传递信息这个功能
分别来介绍这七层
从最底层到最高层分别是物理层
, 数据链路层
, 网络层
, 传输层
, 会话层
, 表示层
, 应用层
层 | 作用 | 常见协议 |
---|---|---|
应用层 | 应用层是网络体系中最高的一层,也是唯一面向用户的一层,也可视为为用户提供常用的应用程序,每个网络应用都对应着不同的协议 | HTTP、TFTP, FTP, NFS, WAIS、SMTP |
表示层 | 数据编码和转化,以确保以一个系统应用层发送的信息 可以被另一个系统应用层识别 | TIFF,GIF,JPEG,PICT,ASCII,EBCDIC,encryption |
会话层 | 建立、管理、终止会话。对应主机进程,指本地主机与远程主机正在进行的会话,ssl, tls就是在这一层进行的 | RPC,SQL,NFS,NetBIOS,names,AppleTalk |
传输层 | 建立、维护和管理端到端的连接,控制数据传输的方式 | TCP/UDP |
网络层 | 进行逻辑地址寻址,实现不同网络之间的路径选择。数据传输线路选择,IP地址及路由选择 | IP, ICMP, ARP, RARP, AKP, UUCP |
数据链路层 | 是以太网所在的层, 进行物理寻址 | ARP/RARP/MAC |
物理层 | 物理层确保原始的数据可在各种物理媒体上传输,主要是物理介质传输媒介(网线或者是无线) | IEEE 802.1A, IEEE 802.2到IEEE 802 |
更好的理解这七层的关系
图片来自网络
物理层对应的物理实体就是网线,水晶头. 数据链路层对应的物理实体就是交换机, 网络层对应的是路由器.
想象一个数据包从一个主机发送出来, 经过网线水晶头(物理层), 再经过交换机(数据链路层), 然后通过路由器(网络层), 到达另一个主机. 之后,这个数据包将离开物理硬件, 完全进入到软件的范畴了. 这个包是是用tcp或者udp来进行传输(传输层), 然后两个主机开始建立会话并管理会话(会话层), 然后解决不同系统之间的识别问题(表示层), 最后到达应用(应用层)来处理这个数据包