文章目录
- 计算机网络体系
- 计算机网络为什么要分层
- 应用进程的数据在各层之间传递过程
- 端口、IP地址和MAC地址分别的作用
- 说说不同层经典网络协议
计算机网络体系
计算机网络体系结构标准主要分为三种:
OSI体系结构:概念清楚,理论也比较完整,但是它既复杂又不实用。整体分为七层TCP/IP体系结构: TCP/IP是一个四层体系结构。五层体系结构:为了方便学习,折中OSI体系结构和TCP/IP体系结构,综合二者的优点,这样既简洁,又能将概念讲清楚。
OSI是一个理论上的网络通信模型,而TCP/IP则是实际运行的网络协议。五层结构就是为了介绍网络原理而折中的网络通信模型
OSI七层模型各层的功能:
- 物理层:网络通信的最底层,主要关注物理媒介和传输数据的硬件特性。数据传输的物理介质,如电缆、光纤、无线电波等。- 主要任务包括数据的编码、传输速率、电压水平等。
- 数据链路层:负责将原始比特流组织成数据帧,并在物理介质上进行可靠的传输。负责物理地址(MAC地址)的识别和帧的错误检测与校正。常见数据链路层协议包括以太网(Ethernet)和Wi-F。
- 网络层:路由数据包,决定数据包的最佳路径从源到目的地。这一层比较典型协议为IP协议,,负责地址分配和数据包转发。
- 运输层:提供端到端的数据传输服务,确保数据的可靠性和完整性。常见传输协议有TCP(传输控制层协议)和UDP(用户数据报协议)。
- 会话层:会话层负责建立、管理和终止会话(会话是指两个设备之间的通信会话。它还可以处理会话中的同步和恢复问题。
- 表示层:关注数据的格式化和编解码,以确保不同系统间的数据交换。- 它可以处理数据的加密、压缩和数据格式转换。
- 应用层:为最终用户提供应用程序和网络服务。包括诸如Web浏览器、电子邮件客户端、文件传输协议(FTP)等应用。与用户界面和应用程序通信的所有应用层协议都属于此层。
TCP/IP四层模型各层介绍
- 网络接口层:这一层将OSI七层模型的数据链路层和物理层合并在一起,负责管理物理硬件和数据链路协议,以便将数据从一个设备传输到下一个。关注物理媒介和传输数据的硬件特性和数据链路相关协议。
- 网络层: 与OSI模型的网络层相对应,负责路由数据包,确保它们能够从源主机传输到目的主机。
- 传输层:它负责端到端的数据传输,确保数据的可靠性和完整性。- 在TCP/IP模型中,最著名的协议是TCP和UDP。TCP提供可靠的、面向连接的通信,而UDP提供不可靠但更快速的通信。
- 应用层:应用层与OSI模型的应用层、会话层、表示层相对应,它包括了应用程序和用户接口。
五层体系结构,结合上面两种结构来理解即可。
计算机网络为什么要分层
分层的好处有以下几点:
- 降低复杂度:分层的思想本质,把一个难问题,拆成多个“只关心自己”的小问题。每一层只做一件事。
- 各层之间相互独立:各层之间相互独立,各层之间不需要关心其他层是如何实现的,只需要知道自己如何调用下层提供好的功能就可以了(可以简单理解为接口调用)这个和我们对开发时系统进行分层是一个道理。
- 提高了整体灵活性:每一层都可以使用最适合的技术来实现,你只需要保证你提供的功能以及暴露的接口的规则没有改变就行了。
应用进程的数据在各层之间传递过程
发送方逐层将数据进行封装,接收端逐层解封装,以下以五层模型发送端视角介绍:
- 应用层:
- 输入:应用进程产生的数据,例如HTTP请求报文。
- 处理:按照应用层协议进行封装:
- 输出:应用层数据单元。
- 传输层:
- 输入:应用层数据单元。
- 处理:加上传输层首部(TCP/UDP).添加的关键内容:源端口、目的端口、序号、校验和。
- 输出:报文段。
- 网络层:
- 输入:传输层片段。
- 处理:加上IP首部。添加关键内容:源IP、目的IP。
- 输出:IP数据报。
- 数据链路层:
- 输入: IP数据报
- 处理:加上帧头和帧尾。添加关键信息:源MAC、目的MAC、帧校验。
- 输出:帧。
- 物理层:
- 输入:帧(比特流形式)
- 处理:编码成电信号或者光信号。
- 输出:比特流(0/1)形式。
接收方处理顺序和发送端顺序完全相反。
端口、IP地址和MAC地址分别的作用
MAC地址:
- 解决的问题:在同一条链路上,数据帧该交给哪一个网卡?
- 特点:
- 是物理地址
- 属于数据链路层
- 理论上全球唯一由厂商控制(但有些厂商的网卡可以自定义修改)。
IP地址:
- 解决的问题:网络上这么多主机,数据应该发送至哪台主机?
- 特点:
- 属于网络层。
- 是逻辑地址。
- 会随网络发生变化,例如电脑切换wifi,ip地址就会发送改变。
端口号:
- 解决的问题:一台主机上有多个应用,数据该交给哪一个应用程序处理?
- 特点
- 属于传输层。
- 只在主机内部有意义。
说说不同层经典网络协议
应用层:
- HTTP/HTTPS:
- 作用:万维网数据传输
- 对应端口:80/443
- 特点:
- 无状态
- 基于请求响应交互模式
- FTP:
- 作用:文件传输。
- 端口:21控制 + 20数据
- 特点:控制 / 数据分离
- DNS:
- 作用:域名转换为IP地址。
- 对应端口:53
- SSH:
- 作用:远程登录
- 端口:22
传输层:
- TCP:
- 特点:
- 面向连接
- 可靠传输
- 提供流量控制、拥塞控制
- 特点:
- UDP:
- 特点:
- 无连接
- 不可靠
- 开销小
- 特点:
网络层:
- IP(IPV4和IPV6)
- 作用:逻辑寻址、分组转发
- ICMP:
- 作用:差错报告、网络诊断。常见ping命令和traceroute就是基于ICMP协议实现。
- ARP协议:
- 作用:将IP转换为MAC地址。
- 严格来说ARP属于网络层和数据链路层跨层协议。
数据链路层:
- Ethernet(以太网)
- 作用:局域网通信
- VLAN:
- 作用:逻辑划分广播域
物理层更多的是一些传输比特规范,而不是具体协议。