OSI参考模型和TCP/IP协议

155 阅读9分钟

一、七层分层的思想

1.分层的背景

计算机界刚开始成立的时候,由于各个计算机厂商都采用自己厂商私有的网络模型。以自己产品统一性来挽住客源,对计算机行业造成了一定的影响。给通讯带来了许多麻烦,随后两大国际组织:国际电报与电话咨询委员会(CCITT),与国际标准化组织(ISO)对于制定计算机网络标准方面起到了很大的作用。1974年ISO发布了著名的ISO/IEC 7498标准,这定义了网络互联的七层框架,也就是OIS参考模型。

2.背景的特性

模块化设计:每个层级都有特定的功能,因此可以单独设计、实现和维护每个层级,而不会对其他层级造成影响。这种模块化使得系统更易于理解、维护和扩展。

标准化:每个层级都有标准化的接口和协议,这样不同厂商的设备和软件可以遵循相同的规范进行设计和实现,从而实现互操作性。

灵活性:通过将整个通信过程分解为不同的层级,可以更容易地对网络进行修改和升级,而不会对整个系统产生过大的影响。

降低复杂性:分层设计使得每个层级的功能相对简单明了,可以专注于特定的任务,从而降低了整个系统的复杂性。

提高可靠性:由于每个层级都有清晰的功能和责任,因此故障隔离和问题诊断变得更加容易,从而提高了系统的可靠性和稳定性。

二、OSL参考模型

1.OSI参考模型是一个开放的体系结构,按照功能不同,分工不同,人为的分为七层。实际上这个七层是不存在的。没有这七层的概念,只是人为的划分出来的构想,区分出来的目的只是让你明白哪一层是干什么用的。(该七层分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。)

image.png

1.应用层:网络服务和最终用户的一个接口,为应用程序提供网络服务。(例如当你在使用微信聊天,将人类的高级语言输入到电脑里)

2.表示层:负责数据的表示、加密和解密,以及数据压缩。(该层用于将接收到的人类语言翻译成二进制数据,并且对其指定数据的存储格式、加密格式,解密 压缩 等等工作)

3.会话层:该层负责建立、管理和终止会话。建立了不同操作系统的之间的会话,通过一些协议去判断 符合 确定你的 两个 软件 之间是否可以进行通信(两个微信之间进行通信)

4.传输层:负责端到端的通信服务,包括数据分割、流量控制和错误恢复。将上层数据分片并加上端口号封装成数据段,或通过对报文头中的端口识别,实现网络中不同主机上的用户进程之间的数据通信。

(1)可靠传输:传输数据前需要建立连接,稳定性强,传输性慢。例如:打电话tcp.

(2)不可靠传输:数据可以直接发送,稳定性不高,传输性快。例如:发消息udp。

5.网络层:负责在多个网络间进行数据包的传输和路由选择,将上层数据加上源和目的方的逻辑(IP)地址封装成数据包,实现数据从源端到目的端的传输 (分拣员,分拣到底数据走哪条路更快)

6.数据链路层:负责在相邻节点间的可靠连接,处理帧的寻址、错误检测和修正。将上层数据加上源和目的方的物理(MAC)地址封装成数据帧,MAC地址是用来标识网卡的物理地址,建立数据链路;当发现数据错误时,可以重传数据帧。

7.物理层:负责在物理媒介上传输原始比特流,涉及电气、机械、过程和布局规范。

层次模型作用数据单元主要设备
物理层建立、维护、断开物理连接比特流网卡
数据链路层进行硬件地址寻址,差错校验等功能数据帧交换机
网络层进行逻辑地址寻址,实现不同网络之间的路径选择数据包路由器
传输层定义传输数据的协议端口号,以及流量和差错校验数据段
会话层建立、管理、中止会话message
表示层数据的表示、压缩、格式化、加密message
应用层网络服务与最终用户的一个接口message

应用层、表示层、会话层为高三层,是面向用户的

网络层、数据链路层、物理层为低三层,是面向硬件的

网络层及以下的通信为点到点通信(主机与主机)

传输层的通信为端到端(端口到端口)

三、TCP/IP参考模型

另外一个著名的模型是 TCP/IP 模型。TCP/IP 是传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol)的简称

TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。

  • TCP/IP 4层模型(思科)
  • TCP/IP 5层模型(华为)

image.png

四、TCP/IP协议族的组成

模型层协议
物理层IEEE802.3有线局域网(以太网) IEEE802.11无线局域网标准
数据链路层Point-to-Point Protocol
网络层IP (ICMP IGMP ARP RARP)
传输层TCP UDP
应用层HTTP FTP TFTP SMTP SNMP DNS

物理层:

  • IEEE802.3有线局域网(以太网)
  • IEEE802.11无线局域网标准

数据链路层:

  • 点对点协议(Point-to-Point Protocol) PPP协议是目前广域网上应用最广泛的协议之一,它的优点在于简单、具备用户验证能力、可以解决IP分配等。

网络层:

IP协议:(Internet Protocol,网际协议),而 IP 又由四个支撑协议 组成:

  • ARP(地址解析协议): 是将IP地址转换成物理mac地址 的协议

  • RARP(逆地址解析协议): 是根据物理mac地址转换成IP地址的协议

  • ICMP(网际控制报文协议):ping 网络连通性检测 检测网络连通性

  • IGMP(网际组管理协议):一个组播协议,该协议运行在主机和组播路由器之间

    单播:1对1发消息 私聊

    组播:只对一部分人发消息 全班中的某 一组

    广播:对所有人发消息 全班

传输层

  • TCP :传输控制协议 可靠协议 (安全性高,速度慢)
  • UDP:用户数据报协议 不可靠协议(安全性不高,速度快)

应用层:

  • HTTP(超文本传输协议):是一个简单的请求-响应协议,现在主要的场景是web服务,就是网页的传输,默认使用tcp的80端口 http
  • HTTPs:是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性,默认使用tcp的443端口 当当买书,
  • FTP文件传输协议:FTP( File Transfer Protocol)提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限,默认使用tcp的20,21端口
  • TFTP简单文件传输协议:是一个小而易于实现的文件传送协议,TFTP只支持文件传输,不支持交互,没有庞大的命令集。也没有目录列表功能,以及不能对用户进行身份鉴别,默认使用udp的69端口
  • SNMP简单网络管理协议:是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,默认使用udp的161端口
  • SMTP简单邮件传输协议:一组用于从源地址到目的地址传送邮件的规则,并且控制信件的中转方式,用于邮件的发送,默认使用tcp的25端口
  • POP3邮局协议版本3:用于邮件的接收,默认使用tcp的110端口
  • telnet远程登陆协议:一种字符模式的终端服务,可以使用户通过网络进入远程主机或网络设备,然后对远程主机或设备进行操作,默认使用tcp的23端口
  • ssh安全的远程登陆协议,默认使用tcp的22端口ssh
  • DNS 域名解析系统:将域名和IP地址相互映射,默认使用tcp和udp的53端口 www.baidu.com ip地址 dns udp tcp 程序 进程: 运行中的程序0-65535
  • DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码,默认使用udp的67和68端口。分配ip地址

五、数据封装与解封装过程

1.数据封装过程

应用层:将应用信息转换成二进制数据进行分片。

传输层:将二进制数据分割成小的数据段,在数据前封装PCT报文头部,数据头部关键信息 端口号(数据段)

网络层:在上一层数据的基础上封装IP头部,IP头部关键信息 IP地址(数据包)

数据链路层:接受上层数据包,在此之前加MAC头部,并且加装上数据完整性校验,MAC头部关键信息 MAC地址(数据帧)

物理层:二进制组成的比特流化成电信号。

image.png