通过“表白”的方式,让我们快速了解网络协议

本章主要介绍网络协议,这个协议就叫做OSI协议(一系列协议),按照功能不同,分工不同,人为的分层七层。实际上这个七层是不存在的。没有这七层的概念,只是人为的划分而已。我们谈到在任何联网的协议时,就会谈到OSI(网络七层协议模型),必须遵循这个协议模型,我们的手机和电脑才可以联网通信,接下来我们就一起来看一下OSI(网络七层协议模型)

七层协议

OSI层功能TCP/IP协议
应用层文本传输,电子邮件,文件服务,虚拟终端FTP,HTTP,SNMP,DNS等
表示层数据格式化,代码转换,数据加密没有协议
会话层解除或建立与其他节点的联系没有协议
传输层提供端对端的接口TCP,UDP
网络层为数据包选择路由IP,ICMP,RIP,OSPF,BGP,IGMP
数据链路层传输有地址的帧,错误检测功能SLIP,CSLIP,PPP,ARP,RARP,MTU
物理层以二进制数据形式在物理媒体上传输数据ISO2110,IEEE802,IEEE802.2

以上是七层协议,业界还产生出了一些其他协议模型。例如TCP/IP四层协议以及五层协议。

TCP/IP四层协议模型:

主要包括:

  • 应用层
  • 传输层
  • 网络层
  • 物理链路层

五层协议模型

主要包括:

  • 应用层
  • 传输层
  • 网络层
  • 数据链路层
  • 物理层 来自网图

通过看上面硬性的概念,可能我们很难理解网络七层协议到底都是怎么一回事。接下来我会用一个小故事来帮助大家一起来理解记忆这网络七层协议

小故事

我们的故事以五层协议为基础,小明表白小红为主线。

小明暗恋小红很久了,可是却羞于当面表达爱意。于是他决定写一份email发给小红,来表白。

万里长城第一步:

小明从商店买了一堆物理线、网线接口、光纤等。一头连自己家,另一头连小红家。小明想到的第一个问题是:怎么才能让这个两个物理硬件之间进行通信呢?

于是小明发明了比特流,通过 1与 0之间转化为电流的强弱进行信号的传输也就人们常说的数模转换与模数转换。这时候已经完成了第一步,两个物理硬件之间的通信。这也就是我们通常所说的物理层

万里长城第二步:

小明想啊:我这两个物理硬件之间已经完成了通信,但是我怎么确保传输的数据是可靠的、安全的呢?因为小明想要求这封信是可靠的,安全的。他不想别人知道他喜欢小红。

因为在我们实际生活当中物理线路往往是不可靠,不安全的。可能会被别人偷听到,网线被别人挖了等等。

于是小明发明了数据链路层。通过数据链路层来确保数据的正确传输。当中就有一个叫数据包的家伙,通过一个个数据包来传输数据。数据包通过奇偶校验的形式或者其他的形式来校验数据是不是正确的。这个时候我们就完成了一个节点到另外一个节点数据包的传递。

万里长城第三步:

小明心想,这时候我已经可以把信发送到小红家了,可是万一小红不在家呢?在学校或者在其他某个地方旅游呢?那岂不是看不到我的信了?

这时候小明发明了网络层,即路由器。这时候小明会先把他的数据包发送给路由器,然后路由器发送给路由器,一路传过去,最后发送到了小红所在的电脑上,这就是网络层。同时,小明为了标识网络层的各个节点,他定义了Ip协议。因此每个节点都会有个IP。

万里长城第四步:

小明心想,这时候在我们数据链路层,能保证数据是否是正确的,但是不能保证我们的数据是不是可靠的。这个时候,我们需要一个能够保证我们数据传输出错后,能够自动重传机制。自动校验数据是否是发对了。

这时候小明发明了传输层。在传输层里面小明又制定了TCP/UDP协议。TCP协议是基于连接的,会在小明和小红电脑之间建立连接,在这个连接上去传输数据。

万里长城第五步:

这时候小明该做的也做了。可是我们的数据是为哪个应用服务的呢?是一个HTTP?还是一个FTP?还是一个Email的协议呢?这个就是小明发明的最后一个协议——应用层协议。

这样小明就完成了从不可靠、不安全的一层到应用层,可靠又安全的五层协议。最后小明如愿的像小红表了白。至于小明有没有和小红在没在一起,那我不知道了。这也就是我们后来所熟知的OSI(网络七层协议模型)在七层协议中会有两层会被淡化,所以我们这里只讨论五层协议。

不可靠

  • 丢包,重复包
  • 出错(只能通过重传来解决)
  • 乱序

不安全

  • 容易被窃取信息(在网络层,通过路由打电话,随时都可能被黑客监听)
  • 窃取
  • 篡改

文末

本章节主要介绍了OSI(网络七层协议模型)如有不对的地方还望大家在下方留言

欢迎关注公众号:Coder编程 获取最新原创技术文章和相关免费学习资料,随时随地学习技术知识!

Github个人主页目录 Gitee个人主页目录

参考文章: www.cnblogs.com/carlos-mm/p… blog.csdn.net/taotongning…

技术选型 【后端】:Java 【框架】:springboot 【前端】:vue 【JDK版本】:JDK1.8 【服务器】:tomcat7+ 【数据库】:mysql 5.7+ 项目包含前后台完整源码。 项目都经过严格调试,确保可以运行! 具体项目介绍可查看博主文章或私聊获取 助力学习实践,提升编程技能,快来获取这份宝贵的资源吧! 在当今快速发展的信息技术领域,技术选型是决定一个项目成功与否的重要因素之一。基于以下的技术栈,我们为您带来了一份完善且经过实践验证的项目资源,让您在学习和提升编程技能的道路上事半功倍。以下是该项目的技术选型和其组件的详细介绍。 在后端技术方面,我们选择了Java作为编程语言。Java以其稳健性、跨平台性和丰富的库支持,在企业级应用中处于领导地位。项目采用了流行的Spring Boot框架,这个框架以简化Java企业级开发而闻名。Spring Boot提供了简洁的配置方式、内置的嵌入式服务器支持以及强大的生态系统,使开发者能够更高效地构建和部署应用。 前端技术方面,我们使用了Vue.js,这是一个用于构建用户界面的渐进式JavaScript框架。Vue以其易上手、灵活和性能出色而受到开发者的青睐,它的组件化开发思想也有助于提高代码的复用性和可维护性。 项目的编译和运行环境选择了JDK 1.8。尽管Java已经推出了更新的版本,但JDK 1.8依旧是一种成熟且稳定的选择,广泛应用于各类项目中,确保了兼容性和稳定性。 在服务器方面,本项目部署在Tomcat 7+之上。Tomcat是Apache软件基金会下的一个开源Servlet容器,也是应用最为广泛的Java Web服务器之一。其稳定性和可靠的性能表现为Java Web应用提供了坚实的支持。 数据库方面,我们采用了MySQL 5.7+。MySQL是一种高效、可靠且使用广泛的关系型数据库管理系统,5.7版本在性能和功能上都有显著的提升。 值得一提的是,该项目包含了前后台的完整源码,并经过严格调试,确保可以顺利运行。通过项目的学习和实践,您将能更好地掌握从后端到前端的完整开发流程,提升自己的编程技能。欢迎参考博主的详细文章或私信获取更多信息,利用这一宝贵资源来推进您的技术成长之路!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值