【计网笔记】一起重温计网咯 | OSI的七层模型与TCP/IP的四层模型

一起重温计网咯 | OSI的七层模型与TCP/IP的四层模型


如果觉得对你有帮助,能否点个赞或关个注,以示鼓励笔者呢?!博客目录 | 先点这里

  • 前提概要
    • 概念
    • 路由器和交换机
  • OSI七层模型
    • OSI七层模型简介
  • TCP/IP四层模型
    • TCP/IP四层模型简介
  • 七层模型与四层模型
    • 七层模型与四层模型的关系
    • 七层模型与四层模型比较
  • TCP/IP四层模型中数据封装的过程
    • 数据封装的过程
  • 其他问题
    • 为什么要有通信协议模型?

前提概要


概念
  • ISO 国际标准化组织,OSI 开发系统互联模型
  • 机器与机器之间的交流,传输层确定协议和端口号,网络层确定IP, 数据链路层确定Mac地址; IP 用于公网传输,MAC用于局域网传输, 局域网IP最终会在数据链路层被翻译成网卡的MAC地址
  • 为了实现协议的标准化,ISO制定了一个国际标准OSI七层模型,对通信系统进行了标准化,不过却没有得到广泛的普及。在七层模型基础上,由IETF民间标准化组织进一步推动制定的TCP/IP四层模型在实践的应用下,俨然已成为世界所广泛应用的通信协议标准

路由器和交换机
  • 路由器就是工作在网络层的,交换机就是工作在数据链路层的
  • 一般路由器通过公网的IP进行路由通信,所以不同机器之间的公网通信,公网与局域网之间的通信都是依赖路由器来完成的,而路由器则依赖IP协议
  • 而交换机因为是工作在数据链路层的,交换机可以用于内网之间的通信。这里不是重点说IP,即交换机可以作为内网通信的载体,通过一张MAC表,记录内网IP与MAC地址的映射,当出现内网交流时,就在数据链路层把IP翻译成机器网卡的MAC地址。只要知道了目标机器的MAC地址,我们才能与目标机器进行通信
  • 路由器和交换机一样,都会有一个表用于自主学习和维护

OSI七层模型


OSI七层模型简介
层数名称数据单位常见协议描述
7应用层APDUHTTP WebSocket针对应用
6表示层PPDU数据的语法语义的表示,如加密解密,转换翻译,压缩解压等,比如将我们应用层传递的信息翻译成机器语言传给会话层
5会话层SPDUSSL TLS会话管理,比如不同机器上的用户之间会话的建立
4传输层TPDUTCP UDP可靠与不可靠的传输,传输前的错误检测、流量控制,OSI模型中最重要的一层
3网络层报文IP ICMP逻辑编址,分组传输,路由选择(IP路由)
2数据链路层数据帧ARP物理寻址(根据Mac地址),错误检查与修正,以数据帧的形式进行传输交流
1物理层比特IEEE 802.2 Ethernet v.2机械,电子等硬件设别,以原始比特流进行传输交流, 比如网线,网卡

TCP/IP四层模型


TCP/IP四层模型简介
层数名称数据单位常见协议描述
4应用层消息HTTP WebSocket FTP DNS SMTP针对用户
3传输层TCP UDP为应用层实体提供端到端的通信功能,保证数据包的顺序传送和完整性
2网际层包或报文IP ICMP IGMP主要解决主机要主机之间的通信问题,比如IP路由
1链路层帧 -> 比特负责监视数据在主机和网络之间的交互,包含了七层模型的数据链路层和物理层;以太网,无线LAN
  • 链路层又叫数据链路层,网络接口层等
  • 每一层如果要对应具体的实现场所的话,应用层是通过应用程序实现的,传输层和网际层是通过操作系统实现的,而数据链路层则是通过网卡以及网络接口设备等硬件设备实现的

七层模型与四层模型


七层模型与四层模型的关系

OSI模型仅仅是一个概念,并没有提供实现,所以OSI模型仅仅是在制定标准时的概念性框架;OSI概念的真正实现者是 TCP/IP四层模型,所以TCP/IP四层模型才是事实上的标准模型

我们可以这么去比喻,汽车工厂主要的工作就是生成汽车

  • OSI七层模型就是各个国家为了规范车辆标准而制定的汽车生成标准草案,希望各个国家的汽车工厂都能尊重这么一个原则去生产汽车,让标准尽可能的在世界范围通用。比如车长不能大于多少呀,车宽,车高不能超过多少啊。

  • TCP/IP四层模型就是各个汽车公司觉得上层定义的OSI七层模型过于书生气,距离实际的生产有太多的条条框框,影响了生产效率,所以又进行了一次会议讨论,希望在符合世界标准OSI七层模型的框架下,简化改进标准,提供汽车的生产效率。

  • 其他的一些模型呢,比如可能会有一些五层模型的概念,这些模型的出现就是各个国家有各个国家的国情,七层或是四层模型的某些规定在我这个国家显得不太实际,不贴近事实,所以每个国家的汽车公司又在七层或四层的基础上,因地制宜,对模型进行本地化改造

总的来说,我们可以得出一个结论

  • OSI七层模型是一个世界通用的标准化规定,只是没有具体实现的标准。而TCP/IP四层模型才是事实上得到实践的模型,而其他的一些模型,譬如五层则是因地制宜,有一些特殊的需求而出现的小众模型。但大体事实上世界范围通用的标准还是TCP/IP四层模型,或者说最接近TCP/IP四层模型

七层模型与四层模型比较

共同点:

  • OSI七层模型和TCP/IP四层模型都采用了层次结构的概念,分层结构更容易排查错误,结构清晰
  • 都能够提供面向连接和无连接两种通信服务机制

不同点:

  • 七层模型是七层,四层模型是四层
  • 两种对可靠性的要求不同,四层模型对可靠性要求更高
  • OSI模型是在协议开发前设计的,具有通用性。TCP/IP模型是先有协议集,然后再建立的模型,把对应的协议放到对应的层次,所以它不适用于非TCP/IP的网络环境
  • 实际市场应用的不同,OSI模型只是理论上的模型,并没有成熟的产品,而TCP/IP模型已经成为“实际上的国际标准”

TCP/IP四层模型中数据封装的过程


数据封装的过程

假设传输层协议是TCP的数据封装流程图如下

从上图,我们可以了解到从发送端到接收端,数据传递的一个过程。

  • 发送到从应用层开始发送数据,依次传递到链路层,每一个分层在处理由上层传过来的数据时,都会附加上当前分层协议所需要的首部信息, 然后再传递给下一层
  • 接收端也一样,从链路层获得好发送端传输的消息,自底而上,依次根据当前分层的协议对首部数据内容进行分离,再将内容部分传递给上层,最后解析出原始数据
  • 每个分层的首部都会还有一个标识位,用来标识上一分层用的是什么协议,例如以太网首部的中的以太网类型,IP首部中的协议类型

其他问题


为什么要有通信协议模型?
  • 如果没有通信协议模型的出现,每个厂商的机器只能跟每个厂商的机器通信,说不定同一厂商的不同型号的机器都无法通信。这就给计算机网络的发展带来了很大的阻碍。
  • 就类比成人一样,美国人讲英语,日本人讲日语,中国人讲汉语,不同国家的人有自己的语言,如果大家都只会自己国家的语言,那么美国人,日本人和中国人之间是无法交流的。甚至本国人,不同年龄段,不同地域,都可能因为方言的存在而不能愉快的交流。
  • 所以为了解决机器通信之间的兼容性问题,让不同的厂商,不同的型号的机器都能够使用大家都会的语言进行沟通,那么就必须制定一个标准化的通信协议模型

参考资料


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值