目录

OSI七层模型

​编辑

物理层

数据链路层

网络层

传输层

会话层

表示层

应用层

TCP/IP划分了四层网络模型

四层网络协议的作用

注:TCP/IP协议族


OSI七层模型

物理层

物理层是OSI七层模型的物理基础,没有它就谈不上数据传输了。首先解决两台物理机之间的通信需求,具体就是机器A往机器B发送比特流,机器B能收到比特流。

物理层主要定义了物理设备的标准,如网线的类型,光纤的接口类型,各种传输介质的传输速率。 主要作用是传输比特流(0101二进制数据),将比特流转化为电流强弱传输,到达目的后再转化为比特流,即常说的数模转化和模数转换。这层数据叫做比特。「网卡工作在这层」

数据链路层

在传输比特流的过程中,会产生错传、数据传输不完整的可能。数据链路层定义了「如何格式化数据进行传输」,以及如何控制对物理介质的访问。通常提供错误检测和纠正,以确保数据传输的准确性。

本层将比特数据组成帧,交换机工作在这层,对帧解码,并根据帧中包含的信息把数据发送到正确的接收方。该层负责物理层面上互连的节点之间的通信传输。例如与1个以太网相连的两个节点间的通讯。常见的协议有 HDLC、PPP、SLIP等。

数据链路层会将0、1序列划分为具有意义的数据帧传送给对端(「数据帧的生成与接收」

网络层

随着网络节点的不断增加,点对点通讯需要通过多个节点,如何找到目标节点,如何选择最佳路径成为首要需求。

网络层主要功能是将网络地址转化为对应的物理地址,并决定如何将数据从发送方路由到接收方。

网络层通过综合考虑发送优先权、网络拥塞程度、服务质量以及可选路由的花费来决定从一个网络中节点A到另一个网络中节点B的最佳路径。由于网络层处理并智能指导数据传送,路由器连接网络隔断,所以路由器属于网络层。此层的数据称之为数据包。本层需要关注的协议TCP/IP协议中的IP协议。

网络层负责将数据传输到目标地址。目标地址可以使多个网络通过路由器连接而成的某一个地址。因此这一层主要负责「寻址和路由选择」。主要由 IP、ICMP 两个协议组成

网络层将数据从发送端的主机发送到接收端的主机,两台主机间可能会存在很多数据链路,但网络层就是负责找出一条相对顺畅的通路将数据传递过去。传输的地址使用的是IP地址。IP地址通过不断转发到更近的IP地址,最终可以到达目标地址。

传输层

随着网络通信需求的进一步扩大,通信过程中需要发送大量的数据,如海量文件传输,可能需要很长时间,网络在通信的过程中会中断很多次,此时为了保证传输大量文件时的准确性,需要对发送出去的数据进行切分,切割为一个一个的段落(Segement)发送,其中一个段落丢失是否重传,段落是否按顺序到达,是传输层需要考虑的问题。

传输层解决了主机间的数据传输,数据间的传输可以是不同网络,并且传输层解决了「传输质量」的问题。传输层需要关注的协议有TCP/IP协议中的TCP协议和UDP协议。

会话层

自动收发包,自动寻址。会话层作用是「负责建立和断开通信连接」,何时建立,断开连接以及保持多久的连接。常见的协议有 ADSP、RPC 等

表示层

Linux给WIndows发包,不同系统语法不一致,如exe不能在Linux下执行,shell不能在Windows不能直接运行。于是需要表示层,解决「不同系统之间通信语法问题」,在表示层数据将按照网络能理解的方案进行格式化,格式化因所使用网络的不同而不同。

它主要负责数据格式的转换。具体来说,就是讲设备固有的数据格式转换为网络标准格式。常见的协议有ASCII、SSL/TLS 等。

应用层

规定发送方和接收方必须使用一个固定长度的消息头,消息头必须使用某种固定的组成,消息头中必须记录消息体的长度等信息,方便接收方正确解析发送方发送的数据。应用层旨在更「方便应用从网络中接收的数据」,重点关注TCP/IP协议中的HTTP协议

四层传输层数据被称作「段」(Segments);

三层网络层数据被称做「包」(Packages);

二层数据链路层时数据被称为「帧」(Frames);

一层物理层时数据被称为「比特流」(Bits)。

OSI模型注重通信协议必要的功能;TCP/IP更强调在计算机上实现协议应该开发哪种程序。

TCP/IP划分了四层网络模型

  • 第一层:应用层,主要有负责web浏览器的HTTP协议, 文件传输的FTP协议,负责电子邮件的SMTP协议,负责域名系统的DNS等
  • 第二层:传输层,主要是有**「可靠传输」的TCP协议,特别「高效」**的UDP协议。主要负责传输应用层的数据包。
  • 第三层:网络层,主要是IP协议。主要负责寻址(找到目标设备的位置)
  • 第四层:数据链路层,主要是负责转换数字信号和物理二进制信号。

四层网络协议的作用

  • 发送端是由上至下,把上层来的数据在头部加上各层协议的数据(部首)再下发给下层。
  • 接受端则由下而上,把从下层接受到的数据进行解密和去掉头部的部首后再发送给上层。
  • 层层加密和解密后,应用层最终拿到了需要的数据。

在传输层,TCP协议会将HTTP协议发送的数据看作一个数据包,并在这个数据包前面加上TCP包的一部分信息(部首)

在网络层,IP协议会将TCP协议要发送的数据看作一个数据包,同样的在这个数据包前端加上IP协议的部首

在数据链路层,对应的协议也会在IP数据包前端加上以太网的部首。

源设备和目标设备通过网线连接,就可以通过物理层的二进制传输数据。

数据链路层,会使用对应的协议找到物理层的二进制数据,解码得到以太网的部首信息和对应的IP数据包,再将IP数据包传给上层的网络层。

数据链路层>网络层>传输层>应用层,一层层的解码。如下图的例子:

注:TCP/IP协议族

从字面意义上来讲,TCP/IP是指「传输层」的TCP协议和「网络层」的IP协议。

实际上,TCP/IP只是利用 IP 进行通信时所必须用到的协议群的统称。具体来说,在网络层是IP/ICMP协议、在传输层是TCP/UDP协议、在应用层是SMTP、FTP、以及 HTTP 等。他们都属于 TCP/IP 协议。

OSI七层模型TCP/IP五层模型相关推荐

  1. 详解OSI七层网络模型 TCP/IP四层模型

    @TOC这里对OSI七层网络模型和TCP/IP四层模型及其下的各层和TCP协议的设计核心做出总结供大家参考,如有错误欢迎指出讨论! OSI七层网络模型 & TCP/IP四层模型 OSI七层模型 ...

  2. OSI七层与TCP/IP五层

    OSI七层与TCP/IP五层网络架构详解 OSI和TCP/IP是很基础但又非常重要的网络基础知识,理解得透彻对运维工程师来说非常有帮助.今天偶又复习了一下: (1)OSI七层模型 OSI中的层 功能 ...

  3. OSI七层与TCP/IP四层模型

    2.层次关系 一.物理层:    目的:保证原始数据比特流的无误传输.    任务:物理层定义电压.接口.线缆标准.传输距离等.物理层协议定义接口的四个基本功能特性:     机械特性:说明了接口所用 ...

  4. OSI七层、TCP/IP五层、UDP、TCP的socket编程(服务端及客户端)、字节序转换、多进程以及多线程服务端的实现

    1.网络以覆盖范围划分:局域网/城域网/广域网   互联网/因特网   以太网/令牌环网--组网方式 2.在网络中必须能够为一表示每一台主机,才能实现点到点的精确通信            IP地址: ...

  5. 8、 OSI七层与TCP/IP五层网络架构详解

    OSI和TCP/IP是很基础但又非常重要的网络基础知识,理解得透彻对运维工程师来说非常有帮助. 一.OSI参考模型 1.OSI的来源: OSI(Open System Interconnect),即开 ...

  6. OSI[七层]与TCP/IP[四层]模型简述简图

    OSI参考模型(OSI/RM)的全称是开放系统互连参考模型(Open System Interconnection Reference Model,OSI/RM),它是由国际标准化组织(Interna ...

  7. Linux下套接字详解(补充)--OSI七层与TCP/IP五层网络架构详解

    OSI七层模型 OSI是Open System Interconnect的缩写,意为开放式系统互联. OSI是Open System Interconnect的缩写,意为开放式系统互联. OSI七层参 ...

  8. OSI七层与TCP/IP五层网络架构详解

    http://network.51cto.com/art/201310/413853.htm 1. IP 网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议. IP层接收由更低层(网络接口层例 ...

  9. OSI七层与TCP/IP四/五层网络架构

    一.模型 (1)OSI七层模型 开放系统互连参考模型 (Open System Interconnect 简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统 ...

  10. OSI七层与TCP\IP协议

    网络基础 网络基础 osi七层与TCP\IP协议 1为什么要分层? 2OSI七层模型 3七层总结 4数据封装的过程 5TCP/IP协议族的组成 总结 网络基础 什么是网络 网络:计算机网络是一组计算机 ...

最新文章

  1. 十六.监控系统cpu.内存,磁盘等,自动报警,发送邮件
  2. Netty、Kafka中的零拷贝技术到底有多牛?
  3. NLP汉语自然语言处理入门基础知识介绍
  4. 题目1024:畅通工程
  5. linux命令头部,Linux命令学习手册-objcopy命令
  6. oracle sysauth,sysauth$基表的用户权限的一点分析
  7. 从XMLHttpRequest中获取请求的URL
  8. IntegrityError at ** NOT NULL constraint failed: learning_logs_topic.owner_id
  9. 特斯拉第二季度生产20.6万辆电动汽车 交付20.1万辆
  10. oracle 10g 学习之视图、序列、索引、同义词(9)
  11. 关键词组合工具-自动关键词挖掘组成关键词软件免费
  12. 微信语音怎么转发给好友
  13. DRF 的SQL 语句
  14. 火车采集器采集内容页分页教程
  15. 使用Unity编写传统ARPG游戏的人物操作方式
  16. MySQL数据库——MySQL是什么?它有什么优势?
  17. 在word中粘贴的图片为什么显示不完整
  18. 树莓派ASP.NET环境配置
  19. java 多态的应用——多态数组和多态参数详解
  20. 基于大数据的高校英语现状分析

热门文章

  1. (超详解)C语言实现小游戏三子棋
  2. sublime的基本使用方法
  3. 让两个div在一行显示,并加上颜色渐变边框
  4. 第一次出省经历--美丽成都之行
  5. 云主机的魅力指数在哪?八度网络云主机为何崭露头角?
  6. 安装双系统(小新潮7000+Ubuntu20.04和16.04)
  7. 疫情之下,多类数据密织“防护网”
  8. python语言创意绘画-Python街机模块的draw系列绘画例子集合
  9. phpcms是什么php框架,phpcms是什么框架
  10. deepin终端编译c程序_大神支招 如何在Linux下运行C语言程序