7层模型:
各层的用途:
应用层:实现各应用之间信息交换的服务,定义了各个应用传输信息格式,即,定义了传输信息的协议(如Web应用的传输信息协议 HTTP、远程登录协议Telnet、安全的网络传输协议SSH、域名管理系统DNS)
表示层:传输数据的处理:加密解密,转换翻译、压缩解压缩
会话层:使得不同主机间的用户可以建立并管理会话(完成 建立、维护、重连 应用程序之间的会话)
传输层:接受会话层的数据,必要的时候将数据进行拆分,将数据交给网络层,【保证数据段有效到达对端】TCP、UDP协议就是控制协议
网络层:路由和寻址(如逻辑地址的选择、分组传输、路由选择),决定数据在网络上的游走路径
数据链路层:将数据编码为帧的格式,并实现误差纠正控制
物理层:实现透明的在 各种硬件线路上 传输 比特流
四层模型:
4层模型:应用层、传输层、网络层、网络接口层
1. 应用层:(交互的数据单元称为报文)
主要提供两个终端设备上的 应用程序之间信息交换的服务,
应用层 定义了信息交换的格式,即,定义了网络通信规则 :对于不同的网络应用需要不同的应用层协议(支持 Web 应用的 HTTP 协议,)
在互联网中应用层协议很多:
如支持 Web 应用的 HTTP 协议(基于 TCP 协议);
只负责邮件的发送,而不是接收的SMTP 协议(基于 TCP 协议);
邮件接收协议 POP3/IMAP(基于 TCP 协议);
在计算机之间传输文件的协议,可以屏蔽操作系统和文件存储方式 FTP(基于 TCP 协议)[FTP 是一种不安全的协议,因为它在传输过程中不会对数据进行加密。建议在传输敏感数据时使用更安全的协议,如 SFTP];
通过加密和认证机制实现安全的访问和文件传输等业务的协议SSH(基于 TCP 协议);
解决域名和 IP 地址的映射问题的DNS协议(基于 UDP 协议)
2. 传输层:
传输层的主要任务就是 负责向两台终端设备进程之间的通信提供 通用的 数据传输服务,应用进程利用该服务传送应用层报文。“通用的”是指并不针对某一个特定的网络应用,而是多种应用可以使用同一个运输层服务。
传输层协议:
TCP(Transmisson Control Protocol,传输控制协议 ):提供 面向连接 的,可靠 的数据传输服务。
UDP(User Datagram Protocol,用户数据协议):提供 无连接 的,尽最大努力 的数据传输服务(不保证数据传输的可靠性),简单高效。
OSI 和 TCP/IP 网络分层模型详解(基础) | JavaGuide(Java面试 + 学习指南)
DNS 使用了 TCP和UDP