分享

悟空问答

 弯丘 2019-03-31

这些概念是计算机专业大学课程《计算机网络》中的内容。我就用比较容易理解的方式来解释下这几个离我们生活其实很近的名词。

首先我们要知道我们每天用的网络使用的是OSI这个开放性的通信系统互连参考模型,分为七层结构。从上到下分别是 应用层,表示层,会话层,传输层,网络层,数据链路层和底层的物理层。其中上面四层定义了应用程序的功能,而剩下的三层主要面向了端到端的数据流。我们接下来要介绍的几个概念,就分属于不同的层级。

IP

IP通常是指一个地址,是属于网络层。当数据流从一个网络被传输到另一个网络,就是通过IP来寻址传输。可以理解为IP是一个写了铭牌的大门,数据流就是通过这个铭牌来确认自己找到了对的地址的。而IP的格式通常是网络地址+主机地址,网络地址指定了一个地址段,主机地址指定了这个地址段内的某台主机。

需要注意的是,网络层的数据传输都是明文的,也就是说如果从网络层进行数据拦截的话,是能直接解析到对方信息的。因此如果数据比较重要,比如银行账户密码等,是不可以通过IP协议来传输的。

TCP/UDP

这两个协议都是传输层的协议,要比IP更高一层。主要通过端口号来将数据传给指定的应用程序。

其中,UDP协议是不可靠的传输协议,好处是数据延时非常少,当然这是以丢失部分数据为代价的。主要用于视频电话,电话会议这种对数据正确性要求不高的场景,因为就算对话过程中对面视频偶尔出现卡顿,也不会影响整场会议的质量。

而TCP协议就是通过牺牲了一部分性能来保证质量的可靠传输协议。大家可能经常听过TCP协议的三次握手和四次挥手。这里的握手是指通过TCP协议建立连接,需要甲发送一个标志位A告诉乙,要开始传输数据给乙了,然后乙回复一个标志位A+1和B告诉甲,它已经准备好了,然后甲最后再回复一个A+1和B+1消息说,好,那下一步开始我就要传输数据了。为什么要这么麻烦呢,就是为了防止已经失效的连接请求突然有传送给了乙,因而产生错误。从这个过程就能看出,TCP协议是以安全性为首要任务的。

HTTP协议

http是最上层,应用层的协议。刚刚我们介绍的协议应用在下层,但实际上所有通信的数据都要通过应用层的处理才有意义。

http协议是当前使用最广泛的协议,具体方法包括get,post,delete,put等等,而所有方法都由http request和http response组成,其中一个request对应一个response。

一个request包含请求行(url),头(header)和实体(body)组成;一个response由响应头(header)以及响应实体(body)组成。

基本上平时我们通过浏览器看的网页都是使用https或者http协议实现的。

以上是我的浅见,如果对你有所帮助,欢迎赠我点赞或者评论。

我是苏苏思量,来自bat的Java开发工程师,每日分享科技类见闻,欢迎关注我,与我共同进步。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多