ISO七层网络模型由哪七层构成?
应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。
应用层
靠近用户的一层,是为计算机用户提供应用接口,也为用户直接提供各种网络服务。
HTTP: 端口80 无加密
HTTPS: 端口443 SSL加密方式
FTP: 端口21 文件传输协议
DNS: 端口53 将域名解析为IP地址
DHCP: 端口68 动态获取网络配置
Telnet: 端口:23 安全性较差,现在已经逐渐被SSH所取代
Smtp: 端口:25 邮件传输协议
SSH: 端口:22 服务器管理、远程操作、数据传输
表示层
表示层提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。如果必要,该层可提供一种标准表示形式,用于将计算机内部的多种数据格式转换成通信中采用的标准表示形式。数据压缩和加密也是表示层可提供的转换功能之一。
数据加解密,数据解压缩,图片/视频编解码
会话层
会话层就是负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成,主要功能包括对数据交换进行同步、检测通信中的错误和恢复数据,会话层通常由操作系统提供支持,而不是由单独的协议定义。
传输层
传输层提供端到端的通信控制,负责数据的可靠传输和错误恢复。
主要功能包括分段和重组数据流、流量控制、拥塞控制和错误检测等。
典型的传输层协议有TCP(Transmission Control Protocol)和UDP(User Datagram Protocol),它们分别提供面向连接的可靠传输和无连接的不可靠传输。
TCP 传输控制协议: 面向连接的,可靠的,基于字节流的传输层通信协议
UDP 用户数据报协议: 无连接的,高效率,低可靠性的数据传输服务
端口: 一个程序可以有多个端口,一个端口只能绑定一个程序
socket(套接字): 是支持TCP/IP协议的网络通信的基本操作单元,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。
网络层
网络层负责在通过多个网络传输数据时,选择最佳的路径并转发数据包。
它通过路由器实现数据包的交换和传输,处理地址与路由选择。
网络层的主要协议包括IP协议(Internet Protocol),它定义了计算机在互联网上的地址分配和路由选择。IP: ipv4 ipv6
防火墙: 通过白名单或黑名单来限制访问
路由器: 数据转发 路由寻址
ARP: 地址解析协议
数据链路层
数据链路层负责将物理层传输的比特流组织成逻辑的帧(Frame),并检测和纠正在物理层传输中可能出现的错误。
它包括两个子层:逻辑链路控制(Logical Link Control, LLC)子层和介质访问控制(Media Access Control, MAC)子层。
主要功能包括数据帧的成帧、流量控制、差错检测和纠正等。
交换机: 数据转发
网卡: 出厂会有mac地址
物理层
物理层是最底层的一层,负责定义连接计算机的物理媒介,例如电缆、光纤、无线电频谱等。
它规定了传输数据比特流的方法,包括数据的传输速率、信号电压、线路阻抗等物理特性。
物理层的目标是在通信实体之间提供可靠的比特流传输。
理想VS现实
TCP/IP模型
TCP/IP模型将网络通信分为以下四个层次:
-
应用层(Application Layer):提供用户与网络应用软件之间的接口,例如HTTP、FTP、SMTP等协议。
-
传输层(Transport Layer):负责端到端的通信,提供数据的可靠传输和错误恢复,例如TCP和UDP协议。
-
网络层(Internet Layer):处理在整个网络中数据包的传输和路由选择,例如IP协议。
-
链路层(Link Layer):处理物理介质上的数据传输,包括数据链路控制和物理寻址。
ISO七层网络模型本身并不是不能实行,它仍然是网络通信理论的重要基础。然而,在实际的网络实现和协议开发中,并不是所有的层次都有独立的协议实现,也不是所有的网络设备都严格遵循七层模型的定义。
TCP/IP模型与ISO七层模型的主要差异在于层次划分的粒度和具体协议的定义。虽然TCP/IP模型在实际应用中更加灵活和适应现代网络需求,但ISO七层模型仍然是学习和理解网络通信的重要工具之一。