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