如果你还不了解网络协议,那我强烈建议你看看这个!

公众号关注 “GitHubDaily”

设为 “星标”,每天带你学编程!

看过我们前两期视频的小伙伴应该都了解了互联网的发展简史,以及直播网课背后的技术原理。但不论是最初的互联网,还是现在的直播、视频通话,设备之间的网络连接、数据传输都是建立在一系列网络协议之上的。所以,这一期,我们简单讲讲其中几个最常见的网络协议,以及他们之间的区别。

在视频中,我们主要讲了讲 HTTP、HTTPS、TCP、UDP 之间的区别。要搞清区别,就需要将它们放到网络分层中去看。互联网分为多个层级,它们分别作用在不同的网络分层中。

目前网络分层还有另外两种:

  • TCP/IP 4 层模型:应用层、传输层、网络层、网络接口层

  • TCP/IP 5 层模型:应用层、传输层、网络层、数据链路层、物理层。

  • OSI 7 层模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层

OSI 与 TCP/IP 的区别有两点:

1.TCP/IP 支持跨层封装,而 OSI 不支持。

2.TCP/IP 只支持 IP 网络协议,而 OSI 支持多种网络层协议,包括 IP、IPX、APPLE、TALK、NOVELL、NSAP。

在这次的科普视频里,我们讲的是 TCP/IP 5 层模型。

首先,用户的一些交互、操作都会产生数据,这些数据都会通过应用层进入网络传输。在这里有许多网络协议,比如 HTTP、HTTPS、FTP、SMTP 等,HTTP、HTTPS 是大家最常见的,他们的区别在于 HTTPS 是经过了安全加密的网络协议,而 HTTP 则没有。这就意味着,通过 HTTP 传输的数据更容易被黑客获取,相对安全性更差。这也是为什么,当你进入一个网站,地址栏会提示 “不安全”,这就是因为网站还没有升级为 HTTPS。

数据开始传输后,传输层主要有两个协议,TCP 与 UDP。TCP 是面向连接的可靠的传输协议,在建立传输的时候会先经过三次握手。而 UDP 则不需要 “握手”,想发送数据就可以发,只是一个没有感情的数据搬运工,也不会对数据进行拆分和拼接,只是会给数据增加一个 UDP 头标识一下而已。基于 TCP 的传输连接更可靠,如果发送端发出 “请求连接” 后,接收端没有回复,那么发送端就会持续发送请求,而不会直接传输数据。

从场景来看,普通的网页浏览、直播等,都可以基于 TCP 来进行传输,因为他们对于实时性的要求不高;而视频通话、实时音视频的互动都需要基于 UDP 来进行传输。

在数据链路层,原有的以比特为单位的数据会被组合成帧作为传输单位,这样一来,如果数据传输时候出错了,只需要重发帧,而不必重发所有数据。发送方会依据一定的规则把网络层递交的分组封装成帧。这个过程称为组帧。除此之外,物理编址、流量控制、差错控制、接入控制,都在这一层进行。

最后一层是物理层,其实就是传输数据的介质,负责处理数据传输。

近几年出现了许多新的应用场景,为了满足这些新场景,各大科技公司开发各种私有协议,同时行业标准也在不断更新。更多适合创新场景的网络协议,将会持续不断的出现。

往期视频

第一期:互联网 3 分钟简史

第二期:每一节网课的背后,累死的小人儿能够绕地球 3 圈

---

由 GitHubDaily 原班人马打造的公众号:GitCube,现已正式上线!
接下来我们将会在该公众号上,为大家分享优质的计算机学习资源与开发者工具,坚持每天一篇原创文章的输出,感兴趣的小伙伴可以关注一下哈!

猜你喜欢

转载自blog.csdn.net/sinat_33224091/article/details/106233035