一、什么是七层模型
七层模型,亦称OSI(Open System Interconnection)参考模型,是参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系。OSI参考模型也采用了分层结构技术,把一个网络系统分成若干层,每一层都去实现不同的功能,每一层的功能都以协议形式正规描述,协议定义了某层同远方一个对等层通信所使用的一套规则和约定。
七层模型从上到下依次是:
- 应用层:协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP,主要是为应用进程提供服务的。例如像:DNS的域名解析、网页浏览中的http等,都需要应用层的服务,它能够规范这些通讯软件如何使用。
- 表示层:数据的表示、安全、压缩。格式有,JPEG、ASCll、DECOIC、加密格式等,是作为一种通讯的规范标准,而且能够帮助多种数据实现自由转换。
- 会话层:建立、管理、终止会话。对应主机进程,指本地主机与远程主机正在进行的会话,会话层相当于通讯的桥梁,它为两端通信建立起了连接。
- 传输层:定义传输数据的协议端口号,以及流控和差错校验。协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层,简单理解就是为数据提供运输的作用,它能够对收集到的报文进行差错检验。
- 网络层:进行逻辑地址寻址,实现不同网络之间的路径选择。协议有:ICMP IGMP IP(IPV4 IPV6) ARP RARP,一般是指IP地址,能够将收集到的报文转变成IP的数据报。
- 数据链路层:建立逻辑连接、进行硬件地址寻址、差错校验等功能。将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。主要是传输的作用,它将上面收到的全部数据封装成帧,最后传给物理层。
- 物理层:建立、维护、断开物理连接。作为整个系统的最底层,它也是我们常见的网线的接口,或者说是光纤的接口。
二、tcp与udp之间的区别
1、连接方面
- TCP 是面向连接的传输层协议,传输数据前先要建立连接。
- UDP 是不需要连接,即刻传输数据。
2、可靠性
- TCP 是可靠交付数据的,数据可以无差错、不丢失、不重复、按需到达。
- UDP 是尽最大努力交付,不保证可靠交付数据。
3、安全性
- TCP 有拥塞控制和流量控制机制,保证数据传输的安全性。
- UDP 则没有,即使网络非常拥堵了,也不会影响 UDP 的发送速率。
4、TCP 和 UDP 应用场景:
由于 TCP 是面向连接,能保证数据的可靠性交付,因此经常用于:
- FTP文件传输;
- HTTP/HTTPS;
由于 UDP 面向无连接,它可以随时发送数据,再加上UDP本身的处理既简单又高效,因此经常用于:
- 包总量较少的通信,如
DNS
、SNMP
等; - 视频、音频等多媒体通信;
- 广播通信;