目录
网络模型到底是七层,五层,还是四层?
我们在做网络开发中,常常会听说到各种协议,比如:tcp,udp,http,ICMP,rtsp,等等。这些协议其实差别非常大,为了更好的理解这些协议。我们需要对网络分层模型要烂熟于心。当前存在三种划分网络模型的方式:
- OSI七层模型
- TCP/IP四层模型
- 五层模型
图解OSI七层模型
七层模型,亦称OSI(Open System Interconnection)参考模型,是参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系。它是一个七层的、抽象的模型体,不仅包括一系列抽象的术语或概念,也包括具体的协议。
七层模型从上到下依次是:
- 应用层:协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP
- 表示层:数据的表示、安全、压缩。格式有,JPEG、ASCll、DECOIC、加密格式等
- 会话层:建立、管理、终止会话。对应主机进程,指本地主机与远程主机正在进行的会话
- 传输层:定义传输数据的协议端口号,以及流控和差错校验。协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层
- 网络层:进行逻辑地址寻址,实现不同网络之间的路径选择。协议有:ICMP IGMP IP(IPV4 IPV6) ARP RARP
- 数据链路层:建立逻辑连接、进行硬件地址寻址、差错校验等功能。将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。
- 物理层:建立、维护、断开物理连接。
七层模型图示
七层模型1.png
七层模型2.png
七层模型传输数据过程:
七层模型传输数据.png
TCP/IP四层模型
TCP/IP和OSI模型组并不能精确的匹配,但是我们可以尽可能的参考OSI模型并在其中找到TCP/IP的对应位置。如下图所示,OSI模型到TCP/IP模型映射关系。通常人们认为OSI模型最上面三层(应用层、表示层、会话层)在TCP/IP中是一个应用层。由于TCP/IP有一个相对比较弱的会话层,由TCP和RTP下的打开和关闭连接组成,并在TCP/UDP下的各种应用提供不同的端口号,这些功能被单个的应用程序添加。
在四层,既传输层数据被称作段(Segments);三层网络层数据被称做包(Packages);二层数据链路层时数据被称为帧(Frames);一层物理层时数据被称为比特流(Bits)。其中传输层和网络层被完整保留,因此网络中最核心的技术就是传输层和网络层技术。
TCP/IP四层模型跟OSI模型有什么不一样?
OSI是一个完整的、完善的宏观理论模型;而TCP/IP(参考)模型,更加侧重的是互联网通信核心(也是就是围绕TCP/IP协议展开的一系列通信协议)的分层,因此它不包括物理层,以及其他一些不想干的协议;其次,之所以说他是参考模型,是因为他本身也是OSI模型中的一部分,因此参考OSI模型对其分层。
五层模型
五层体系结构包括:应用层、运输层、网络层、数据链路层和物理层。五层协议只是OSI和TCP/IP的综合,实际应用还是TCP/IP的四层结构。下图展示的是OSI模型,TCP/IP模型,五层模型的映射关系。
五层模型的意义?
所谓的五层协议的网络体系结构其实是为了方便学习计算机网络原理而采用的,综合了OSI七层模型和TCP/IP的四层模型而得到的五层模型。