计算机网络知识总结——网络分层
前言
计网相关的文章主要结合《计算机网络-谢仁希》、《图解HTTP》、《图解TCP/IP》等书籍和大佬Carson_Ho等的计网相关文章来学习计网的重点知识,包括网络分层,Http、Https、和TCP等协议。
协议基本概念
我们应该都听过http、ip、tcp等协议,那么什么是协议呢?
协议其实就是一种
规范
或者说标准
。在计算机网络的发展过程中出现的这些协议,是为了不同厂商的计算机或设备之间进行通信,只要遵循了相同的协议它们之间就可以实现通信。
计算机网络的体系结构
主要有三种结构:OSI体系结构、TCP/IP体系结构和五层体系结构:
- OSI体系结构:概念清楚、体系完整,但复杂、不实用
- TCP / IP体系结构:包含一系列构成互联网基础的网络协议,是Internet的核心协议,被广泛应用于局域网和广域网
- 五层体系结构:融合了OSI 与 TCP / IP的体系结构,目的是为了学习和讲解计算机原理
-
为什么要将这些体系结构进行分层?
因为协议分层就像是计算机软件中的模块化开发,主要是为了对整个体系结构进行解耦。分层可以将每个分层独立使用,即便其中某些分层发生变化,也不会波及整个系统,这样扩展性和灵活性较强。
1.OSI体系各层作用概述
-
应用层
为应用程序提供服务并规定应用程序中通信相关的细节。比如电子邮件协议,文件传输协议等。
-
表示层
主要负责数据格式的转换。将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上层能够处理的格式。
-
会话层
负责建立和断开通信连接,以及数据的分割等数据传输相关的管理。
-
传输层
负责两个节点之间的数据可靠传输。
-
网络层
将数据传输到目标地址,主要负责寻址与路由选择。
-
数据链路层
负责物理层面上互联的、节点之间的通信传输;将0、1序列划分为具有意义的数据帧传给对端。
-
物理层
负责0、1比特流与电压高低、光的闪灭之间的转换。
2.TCP/IP体系结构各层
从上面可以明显的看到,TCP/IP和OSI分层有些区别。OSI参考模型注重“通信协议必要的功能是什么”,而TCP/IP更强调“在计算机上实现协议应该开发哪种程序”。
-
网络接口层(链路层、数据链路层)
和OSI中的数据链路层类似,作用都是负责物理层面上互联的、节点之间的通信传输;将0、1序列划分为具有意义的数据帧传给对端。
-
网际层
对应OSI的网络层,负责寻址、路由选择和将数据封装成组/包。
这层具体的协议:
- IP协议:提供网络节点之间的报文传送服务
- ARP协议:实现IP地址向物理地址的映射
- RARP协议:实现物理地址向IP的映射,和ARP反着来。
- ICMP协议:探测和报告传输过程中产生的错误
- IGMP协议:管理多播组测成员关系
-
运输层
对标OSI的传输层,为不同主机的进程间提供通信服务。
这层的协议:
- TCP协议:提供用户间面向连接、可靠的报文传输服务
- UDP协议:提供用户间无连接、不可靠的报文传输服务
-
应用层
定义了不同主机的进程间通信和交互的规则。对标OSI的会话层、表示层和应用层。
交互方式:基于Client/server的方式
交互的数据单元:报文
本层的协议:
- HTTP协议:提供Internet网浏览服务
- DNS协议:负责域名和IP地址的映射
- SMTP协议:提供简单的电子邮件发送服务
- POP协议:提供对邮箱服务器进行远程存取邮件的服务,与此功能类似的还有IMAP协议
- FTP协议:提供应用级文件传输服务
- SMB协议:提供应用级文件共享传输服务
- Telnet协议:提供远程登陆服务(明文传输)
- SSH协议:提供远程登陆服务(加密)
3.五层体系结构
五层体系结构和TCP/IP体系结构类似,只是它将TCP/IP中的网络接口层分为了数据链路层和物理层两层,以便于我们学习。
参考资料
《计算机网络-谢仁希》
《图解TCP/IP》
计算机网络基础:这是一份详细 HTTP 学习指南