文章目录

  • 一:生活中的协议分层
    • (1)生活中的分层1——汉堡包
    • (2)生活中的分层2——打电话
  • 二:网络分层
    • (1)OSI七层模型
    • (2)TCP/IP分层模型

一:生活中的协议分层

(1)生活中的分层1——汉堡包

汉堡包属于一种快餐,之所以称之为快餐,是因为它的制作效率高,在一定时间内可以满足不同口感,搭配出不同风格的食物。之所以这样是因为汉堡包采用了分层结构,想要替换哪一步就替换那一部分,每一层与每一层互不干扰


这样带来的好处就是解耦,在软件设计中我们经常提到高内聚,低耦合,汉堡包所做的目的就是这样,我们学习C++也是这样,在C语言中所有代码都是通过调用接口完成,耦合性太强,中间一旦一个环节出现错误,满盘皆输。但是增加了类之后,类于类之间互不干扰,就像STL中的vector,它可以放自定义类型,vector一定能保证它的插入删除接口是不出现错误的,那么最终如果仍然产生问题的话,就一定是你的自定义了类型有问题了

(2)生活中的分层2——打电话

如下图,有两个人通过通信设备进行交谈。在这个过程中,他们使用的语言协议作为麦克风的音频输入,在通信设备那一层转换为电信号,然后将电信号传送到另一个人的通信设备,再向上转化为我们可识别的内容,依次完成通信

上图中反应的就是:上层需要使用下层接口完成通信,而下层需要将数据通过某种方式翻译后反馈给上层

如下图,在实际生活中,我们与人交谈可以使用座机也可以使用手机,并且在通信设备不变的情况下,也可以使用英语交流(前提是双方都采用这种“协议”)

这样做带来的好处就是下层只负责能将数据正确翻译给上层,而上层负责会使用这些接口(就像会使用手机一样),依次达到通信

上面的例子其实只涉及到了两层,实际的协议分层相较它还是比较复杂的,但是所体现的思想是一致的。

二:网络分层

(1)OSI七层模型

OSI将协议分为如下7层,协议规定了每一层各自的作用,也就是说每一层应该干什么

需要注意的是这只是一种参考模型,实际的网络协议如TCP/IP在设计时思想上基本一致,但是还是存在区别

  • 物理层:负责0,1比特流(0,1序列)与电压的高低,光的闪灭之间的互换
  • 数据链路层:负责物理层面上互连的,节点之间的通信传输。关键设备就是交换机
  • 网络层:解决跨网络的通信问题,主要负责寻址和路由选择。关键设备就是路由器
  • 传输层:保证传输的稳定,可靠和效率等问题
  • 会话层:负责建立和断开通信连接,以及数据的分割等数据传输相关的管理
  • 表示层:主要负责数据格式的转换
  • 应用层:为应用程序提供服务并规定应用程序通信的相关细节

也就是说按照OSI的规定,完成通信应该是下面这样的

(2)TCP/IP分层模型

OSI规定的七层模型太过负责,所以TCP/IP协议将网络分为了下面5层(TCP/IP协议是一组协议的集合的代表,只不过这两个协议太过著名,就以他们的名字命名了)。
在TCP/IP协议中,每一层都呼叫它的下一层所提供的网络或者接口完成自己的需求。

  • 物理层: 负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层.
  • 数据链路层:: 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层.
  • 网络层:: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层.
  • 传输层:: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机.
  • 应用层:: 负责应用程序间沟通。如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等我们的网络编程主要就是针对应用层

可以看出:OSI参考模型注重“通信协议必要的功能是什么”,TCP/IP则强调“在计算机上实现协议应该开发哪种程序”。也就是说操作系统承担了网络协议中非常重要的角色

1-2:网络初识之了解OSI和TCP/IP及网络分层(物理层,数据链路层,网路层,传输层,应用层)相关推荐

  1. 计算机网络(OSI、TCP/IP、网络协议、常见网络设备工作原理)

    目录 OSI模型 TCP/IP模型 网络协议 IP协议 IP数据报格式 IP数据报分片 IPv4地址 NAT协议 ARP/RARP协议 ARP RARP DHCP协议 ICMP协议 ICMP差错报告报 ...

  2. 网络——参考模型之ISO/OSI和TCP/IP

    网络参考模型 ISO/OSI 七层参考模型 TCP/IP 四层参考模型 ISO/OSI vs TCP/IP TCP vs IP 五层参考模型 ISO/OSI 七层参考模型 层级 各层功能 应用层 为用 ...

  3. OSI,TCP/IP,五层协议的体系结构,以及各层协议

    原文出处:牛客网 转载于:https://www.cnblogs.com/Guhongying/p/10224664.html

  4. 网络分层模型OSI和TCP/IP四层模型

    网络分层模型OSI和TCP/IP四层模型 网络分层模型OSI和TCP/IP四层模型 OSI模型,即开放式通信系统互联参考模型(Open System Interconnection,OSI/RM,Op ...

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

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

  6. OSI七层网络结构图与TCP/IP五层网络结构图

    一. OSI七层网络结构图与TCP/IP五层网络结构图 又称<OSI七层网络模型与TCP/IP四层网络模型>. (1)OSI七层模型 OSI中的层 功能 TCP/IP协议族 应用层 文件传 ...

  7. 网络知识梳理--OSI七层网络与TCP/IP五层网络架构及二层/三层网络

    作为一个合格的运维人员,一定要熟悉掌握OSI七层网络和TCP/IP五层网络结构知识. 废话不多说!下面就逐一展开对这两个网络架构知识的说明: 一.OSI七层网络协议 OSI是Open System I ...

  8. OSI七层网络、TCP/IP五层网络架构、二层/三层网络

    一.OSI七层网络协议 OSI是Open System Interconnect的缩写,意为开放式系统互联. OSI参考模型各个层次的划分遵循下列原则: 1)根据不同层次的抽象分层 2)每层应当有一个 ...

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

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

最新文章

  1. “双轮驱动”突破瓶颈,智源研究院发布“自然语言处理”重大研究方向,携手京东打造联合实验室...
  2. MFC的进程和线程,非正常终止
  3. Chrome Extension in CLJS —— 搭建开发环境
  4. TFS2008自定义过程模板之 Power Tools 工具篇
  5. 人生永无止境的意思是什么_励志人生:生活不会给任何脆弱鼓掌。
  6. BAJT 中高级 Java 面试题答案
  7. 常用DOS下MSC指令
  8. c52语言网红楼梯流水灯程序,单片机程序-利用C52库函数实现左右流水灯
  9. Struts2-boobooke-概述
  10. Internet Exploer 无法打开Internet站点、、、、已终止操作
  11. python爬取58同城的兼职信息
  12. 优秀码农选择对象详细指南,看完记得要实战噢
  13. 女娃被蚊子叮后昏迷不醒已82天
  14. 如何破坏Excel文件,让其显示文件已损坏方法
  15. 矩阵理论(二)特征值分解和SVD分解
  16. 渗压自动化监测设备如何选型
  17. 使用mllib完成mnist手写识别任务
  18. 51nod3174 堆积木
  19. 贝塞尔曲线移动 应用
  20. python日常工作_python日常工作 - osc_sd6j22mg的个人空间 - OSCHINA - 中文开源技术交流社区...

热门文章

  1. 如何通过控制台访问openstack实例_如何通过seo提高网站设计的访问量
  2. 嵌入式开发板02---点亮LED升级版
  3. pytorch分布式训练(一):torch.nn.DataParallel
  4. 你的导师是哪种类型?
  5. 基因共表达聚类分析及可视化
  6. 高颜值网易云音乐第三方播放器 YesPlayMusic Mac中文版 支持m1
  7. python recv_[Python]关于socket.recv()的非阻塞用法
  8. P3383 【模板】线性筛素数
  9. 例题 2 最敏捷的机器人
  10. 计算机网络课程设计之网络代理服务器的设计与实现