网络(0)

   

 Alice要给Bob发一封信,这封信要求可靠和安全,我们则封信这封信必须完整发给Bob并且中间不会被别人偷看到


但是我们实际的线路是怎么样的?

他不可靠不安全,我们要做的就是如何在不可靠不安全的基础上建立可靠安全的渠道

这个是怎么做到的呢?我们都知道,我们中间搭了一个七层架构


我们现在网络协议怎么来解决这个问题的

首先数据链路层,节点直接传输数据,既然不可靠不安全我们总要有一个最小传输单位,总要有一个数据包的东西,一个数据包我们可以通过奇偶校验或者其他校验的方法来校验这个包是不是正确,那么我们就可以完成一个节点到另一个节点的数据包的传递,但是我们数据包传过去,另外一个节点可以知道我们数据包是正确还是错误

我们要是一个实验室,就已经传输好了,但是其他地方的,比如国家的人我们就要有网络层,网络层会有路由。首先Alice会把他的包发给他的实验室的路由器,路由器再发给路由器,然后一路转转转可能转很多层,最后转到Bob所在电脑上,这就是网络层所做的事情,同时我们为了表示网络中的节点我们使用了IP协议,每个节点都有一个IP地址

接下来在数据链路层我们虽然能够知道这个包是正确的还是错误的,我们并不能保证是可靠的。我希望有一种出错重传机制能自动的帮我重传这个包而不要Alice检验这个包是不是发对了重传,这就是传输层,在传输层我们就有了TCP/IP协议

TCP协议是基于连接的,我们会在 Alice和Bob之间建立连接,然后在连接上传输数据

接下来我们的确可以传输可靠数据的但是这个数据是为那个应用服务的呢,是HTTP还是FTP?还是一个Email协议?

这就是应用层协议

这样我们就从最下面不可靠不安全到这样的五层的关系

七层协议还有两层被淡化了


我们看下这七层每个都很独立,都有解决了自己的问题

但是这真的使我们解决我们网络的方案吗,这很可能不是

当我们真正设计的时候很可能设计出一套新的东西

甚至说为什么我们线路就一定是不可靠不安全的,现在既然知道我们上面做了七层或者五层协议这么复杂,我为何不把线路做做好呢。这些都是合理的想法

但是在网络的整个发展过程中,他的理论性不强,他都是在解决大部分过程中的一个个实际的问题,所以就有了我们一层一层网络协议向上叠加的方法,我们在看网络协议也要才用这个方法

当我们去问为什么这个协议要这样设计以后,不是纯粹从理论角度去看他为什么要这样去设计

而是要从历史发展的角度来看,这个协议是在什么样的情况下提出的当时为了解决什么问题从一个时间线上拉倒当时提出的情况上去看,而不是纯粹从理论上,因为从理论上很可能有更加好的解决方案

同样从网络的发展中我们可以看到大部分计算机系统他的一个发展历程其实也是类似,就是一层一层迭代的去进化,而不是从头就可以走出一个完美的东西来,

包括我们JAVA语言比如说范性知识就是在过去的一个基础上所堆接起来的一个东西而不是一个从头设计的机制


之前我们很多讲到网络传输是不可靠不安全的,那么我们来看到底怎么不可靠不安全呢

不可靠:丢包,重复包    比如说我们包发过去没收到就丢包了   或者发了一遍收到两遍

出错:  只能通过重传来解决

乱序:我的包是按照顺序发过去的但是接收包就是不按照顺序受到的,在我们TCP我们都为我们不可靠因素提出的解决的方案


接下来安全问题:我们在一些片子里经常会看到两个人打电话 我们是不安全的  我们的网络层一个节点发到另一个我们要经过很多路由器转过去每一个都有黑客监听,所以安全性相当低,他不像我们电话每一个交换机都在机房,我们吧无线路由器把手机练上来我们就可以监听你的信息

在网络上会有很多中间人攻击,他在中间窃取你的信息,窃取还算好的还可能篡改,比如我们银行转账


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值