简述
计算机网络学习的核心内容就是网络协议的学习。网络协议是为计算机网络中进行数据交换而建立的规则、标准或者说是约定的集合,因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的标准上进行
一个很形象地比喻就是我们的语言,我们大天朝地广人多,地方性语言也非常丰富,而且方言之间差距巨大,A 地区的方言可能 B 地区的人根本无法接受,所以我们要为全国人名进行沟通建立一个语言标准,这就是我们的普通话的作用
计算机网络协议同我们的语言一样多种多样,ARPA
公司与 1977 年到 1979 年推出了一种名为 ARPANET
的网络协议受到了广泛的热捧,其中最主要的原因就是它推出了人尽皆知的 TCP/IP
标准网络协议。目前 TCP/IP
协议已经成为 Internet 中的 “通用语言”,下图为不同计算机群之间利用 TCP/IP
进行通信的示意图
网络层次的划分
为了使不同计算机厂家生产的计算机能够相互通信,以便在更大的范围内建立计算机网络,国际标准化组织(ISO)在 1978 年提出了 “开放系统互联参考模型”,即著名的 OSI/RM
模型(Open System Interconnection/Reference Model)
它将计算机网络体系结构的通信协议划分为七层,自下而上依次为:物理层(Physics Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)、应用层(Application Layer)。其中第四层完成数据传送服务,上面三层面向用户
除了标准的 OSI七层模型
以外,常见的网络层次划分还有 TCP/IP四层协议
以及 TCP/IP五层协议
,它们之间的对应关系如下图所示:
OSI七层网络模型
TCP/IP协议
毫无疑问是互联网的基础协议,没有它就根本不可能上网,任何和互联网有关的操作都离不开 TCP/IP
协议。不管是 OSI七层模型
还是 TCP/IP的四层、五层模型
,每一层中都要自己的专属协议,完成自己相应的工作以及与上下层级之间进行沟通。由于 OSI七层模型
为网络的标准层次划分,所以我们以 OSI七层模型
为例从下向上进行一一介绍
物理层(Physical Layer)
- 激活、维持、关闭通信端点之间的机器特性、电气特性、功能特性以及过程特性,为上层协议提供了一个传输数据的可靠的物理媒体
- 简单的说物理层确保原始的数据可在各种物理媒体上传输
- 物理层两个重要的设备:中继器(Repeater,也叫放大器)和集线器
数据链路层(Data Link Layer)
-
数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层 根据可靠性区分协议
-
为达到这一目的,数据链路必须具备一系列相应的功能,主要有:
- 如何将数据组合成数据块,在数据链路层中称这种数据块为帧(frame),帧是数据链路层的传送单位
- 如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。
-
数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等
重要知识点 | 内容 |
---|---|
数据链路层功能 | 为网络层提供可靠的数据传输 |
基本数据单位 | 帧 |
主要的协议 | 以太网协议 |
两个重要设备名称 | 网桥和交换机 |
网络层(Network Layer)
-
网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等
-
它提供的服务使传输层不需要了解网络中的数据传输和交换技术
-
记住网络层的口诀:路径选择、路由及逻辑寻址
-
网络层中设计众多的协议,其中包括最重要的协议,也是
TCP/IP
的核心协议——IP协议
。 -
IP协议
非常简单,仅仅靠提供不可靠、无连接的传送服务。IP协议
的主要功能有:无连接数据报传输、数据报路由选择和差错控制。与IP协议
配套使用实现其功能的还有地址解析协议ARP
、逆地址解析协议RARP
、因特网报文协议ICMP
、因特网组管理协议IGMP
。具体协议见文章后续内容
重要知识点 | 内容 |
---|---|
网络层功能 | 负责对子网间的数据包进行路由选择,此外网络层还可以实现拥塞控制、网际互连等功能 |
基本数据单位 | IP数据报 |
IP协议 | Internet Protocol,因特网互联协议 |
ICMP协议 | Internet Control Message Protocol,因特网控制报文协议 |
IGMP协议 | Internet Group Manage Protocol,因特网组管理协议 |
ARP协议 | Address Resolution Protocol,地址解析协议 |
RARP协议 | Reverse Address Resolution Protocol,逆地址解析协议 |
传输层(Transport Layer)
-
第一个端到端,即主机到主机的层次
-
传输层负责将上层数据分段并提供端到端的、可靠的或不考靠的传输。此外传输层还要处理端到端的差错控制和流量控制问题
-
传输层的任务是根据通信子网的特性,最佳的利用网络资源,为两个端系统的会话层之间提供建立、维护和取消传输连接的功能,负责端到端的可靠数据传输
-
在这一层传送的协议数据单元成为段或报文, 网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应的端口
重要知识点 | 内容 |
---|---|
传输层功能 | 负责将上层数据分段并提供端到端的、可靠或不可靠的传输以及端到端的差错控制和流量控制问题 |
主要协议 | TCP 协议(Transmission Control Protocol,传输控制协议)、UDP 协议(User Datagram Protocol,用户数据报协议) |
重要设备 | 网关 |
会话层
- 会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话
- 会话层还利用在数据中插入校验点来实现数据的同步
表示层
-
表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解
-
表示层的数据转换包括数据的加密、压缩、格式转换等
应用层
为操作系统或网络应用程序提供访问网络服务的接口
重要知识点 | 内容 |
---|---|
数据传输基本单位 | 报文 |
包含的主要协议 | FTP(文件传送协议)、Telnet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3 协议(邮局协议),HTTP 协议(Hyper Text Transfer Protocol) |