这个就和我们平常写程序一样,高内聚、低耦合。将网络进行分层我们就可以根据每一层的功能分开开发设计,将复杂的网络问题分解为更简单和清晰的小问题,方便设计、实现和标准化。无需在意其他层是如何实现的,再使用时只要调用其接口就好了。
假如某一时刻某一层的技术得到了大幅度进步,此时直接应用就好了,无需考虑其他层。这样也提高的网络设计的灵活性。
由图可得现在流传着三种模型,分别是OSI七层模型、TCP/IP五层模型和四层模型。
其中七层模型是国际化标准组织ISO为了使全世界不同体系结构的计算机能够互联,提出的模型。但是这个模型过于复杂,再某些层之间功能有些冗余,比较不实用,开发效率不高,所以没有被广泛采用。
而TCP/IP四层模型从结构上很明显的可以看出是OSI七层模型的简化版,但二者的核心是很相似的,虽然七层模型是官方提出,但由于四层模型于七层模型更早投入实际开发,所以现今再实际开发中按照的是四层模型。而七层模型几乎只出现在教科书中。
而此时那个TCP/IP五层协议的由来是七层和四层的结合体,因为四层贴近于开发,不易于理解,而七层又过于复杂,所以目前大多教学说的都是TCP/IP五层模型。
我先说一下啊应用层、表示层和会话层。因为这三个层再TCP/IP模型中属于同一个应用层。
会话层的功能是会话控制和同步,表示层是解决两个系统间交换信息的语法与语义问题,还有数据表示转化(转为主机无关编码),加解密和压缩与解压缩功能。很明显这两层在实际应用中很难保持统一性,应用通常会选择不同的加解密方式,不同的语义和时序,谈不上复用的东西作为协议的一部分自然是没有意义的,所以这两层的功能交给应用开发者作为应用层的一部分功能开发是比较合适的。这些功能可以根据不同的应用需求进行定制和选择。
因此,将这三个层归为一个层的好处是可以让应用开发者有更多的灵活性和自主性,不需要受限于固定的协议和标准。同时,也可以简化协议的复杂性和开销,提高网络的效率和性能。
在一开始就只有真正的数据,然后一层层的往下,不断进行包装每一层的协议所需的内容,到了物理层传输。带接受方拿到数据包再根据协议进行拆包,最后拿到真正的数据。进行操作使用