计算机网络基础(一)---OSI 七层模型

Posted by Movesan on March 9, 2017 -  Views

计算机网络基础(二)—TCP/IP 四层模型
计算机网络基础(三)—IP地址,子网掩码,默认网关


引言

计算机网络基础,应该是我们认识互联网的必备知识吧。以前也通过计算机网络教材去了解过,但是教材毕竟是教材啊,总感觉晦涩难懂,因为这门学科本来就是很抽象的概念。但是对什么都保持懵懂是一种很差的结果啊, 而教学和整理是学习一样东西的最好方式,所以打算通过整理成文章的方式来具体学习计算机网络,争取有个清晰的认识。

慕课网上的Tony老师的Linux网络管理一系列的课程还是讲的很不错的,这里也不是打广告啊,是真的不错,自己也是看老师的视频慢慢学习的。本系列文章也算是这个教程视频的 心得和学习笔记吧,再加上一些网络资料和自己的学习体会和理解,也算是自己的复习笔记吧。因为计算机网络比较抽象,所以后续打算结合抓包工具来具体体验学习一下,毕竟实践还是尤为重要的。


什么是 OSI 七层模型

OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了七层。每一层都有相关、相对应的物理设备,比如路由器, 交换机。OSI 七层模型是一种框架性的设计方法 ,建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要的功能使就是帮助不同类型的主机实现数据传输。它的最大优点是将服务、 接口和协议这三个概念明确地区分开来,通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。

那么为什么会有七层模型呢?之所以将数据分层,其实通俗点讲就是为了便于管理数据,但是我们实际的互联网中是采用的TCP/IP四层模型,是在七层模型的基础上演变出来的,所以了解 OSI 模型有助于理解实际上互联网 络的工业标准——TCP/IP 协议。


OSI 七层模型

OSI 模型各层间关系和通讯时的数据流向如图所示:

img

物理层:

  • 物理层负责设备之间的比特流的传输、物理接口、电气特性等
  • 作用:将数据转化成0和1
  • 传输单位:bit (这里可以理解为每个0、1都算一个bit)

    eg:比特流就是0101;其中网线网卡都是属于物理层

数据链路层:

  • 数据链路层通过物理网络链路提供数据传输。不同的数据链路层定义了不同的网络和协 议特征,其中包括物理编址、网络拓扑结构、错误校验、数据帧序列以及流控
  • 作用:保存mac地址
  • 传输单位:帧

    eg:可以简单的理解为规定了0和1的分包形式,确定了网络数据包的形式,其中数据帧中保存硬件的mac地址

网络层:

  • 网络层负责在源和终点之间建立连接,提供逻辑地址(写入双方ip)、选择通路(选择路由线路)
  • 作用:确定IP地址
  • 传输单位:报文

    eg:可以理解为,此处需要确定计算机的位置,怎么确定?其中包括我们的IP地址,IPv4,IPv6。

传输层:

  • 传输层向高层提供可靠的端到端的网络数据流服务,提供可靠(TCP)与不可靠(UDP)的传输、传输前的错误检测、流量控制
  • 作用:确定端口号、传输协议
  • 传输单位:TPDU(传输协议数据单元,数据段)

    eg:可以理解为每一个应用程序都会在网卡注册一个端口号,该层就是端口与端口的通信!常用的(TCP/IP)协议

会话层:

  • 会话层建立、管理和终止表示层与实体之间的通信会话;
  • 作用:判断数据是否用于网络传递
  • 数据单位:SPDU(会话协议数据单元)

    eg:建立一个连接(自动的手机信息、自动的网络寻址);

表示层:

  • 表示层提供多种功能用于应用层数据编码和转化,以确保以一个系统应用层发送的信息可以被另一个系统应用层识别、特定功能的实现如加密
  • 作用:解码,加密,压缩
  • 数据单位:PPDU(表示协议数据单元)

    eg:可以理解为,解决不同系统之间的通信,Linux下的QQ和Windows下的QQ可以通信;

应用层:

  • OSI 的应用层协议包括文件的传输、访问及管理协议(FTAM) ,以及文件虚拟终端协议(VIP)和公用管理系统信息(CMIP)等;
  • 作用:用户接口
  • 数据单位:APDU(应用协议数据单元)

    eg:规定数据的传输协议,如http,ftp等;

其中上三层是为了用户提供服务的,而下四层则是为了数据传递提供服务,等于说下四层是跟传递数据相关的,而上三层是和用户相关的,不涉及数据传递。


实例

A给B发邮件:

1.浏览器地址栏中输入mail.163.com —> 应用层
2.写完邮件后点击发送 —> 表示层
3.判断数据是否用于网络传递 —> 会话层
4.写入TCP协议,记录发送端口25,接受端口110 —> 传输层
5.写入自己IP地址,写入目标IP地址 —> 网络层
6.写入mac地址,用于在局域网中传输 —> 数据链路层
7.转化成比特流,网络传递 —> 物理层


补充

常见的应用层协议如下:

协议 端口 说明
HTTP 80 超文本传输协议
HTTPS 443 HTTP + SSL,HTTP的安全版
FTP 20,21,990 文件传输协议
POP3 110 邮局协议
SMTP 25 简单邮件传输协议
telnet 23 远程终端协议

要下班了?扫一扫,地铁上阅读 :)

生活只有眼前的苟且,哪有诗和远方 :(