协议及协议栈的基本概念

什么是协议

协议是网络中计算机或设备之间进行通信的一系列规则的集合。常用协议有 IP、TCP、HTTP、POP3、SMTP 等。

什么是协议栈

在网络中,为了完成通信,必须使用多层上的多种协议。这些协议按照层次顺序组合在一起,构成了协议栈(Protocol Stack),也称为协议族(Protocol Suite)。

协议的作用

一个网络协议的作用主要有两个:一是建立对等层之间的虚拟通信,二是实现层次之间的无关性。

层次间的无关性

所谓层次间无关性,就是指较高层次和相邻的相低层次进行通信时,只是利用较低层次提供的接口和服务,而不需了解底层实现该功能所采用的算法和协议的细节;较低层次也仅是使用从高层系统传送来的参数和控制信息,这就是层次间的无关性。

网络协议族/栈组成

网络通信协议的作用是负责在网络上建立通信通道和控制通过通道的信息流的规则。为了进行网络通信,通信双方必须遵守通信协议

image-20200424221653995

说明:网络协议与标准是基于 OSI 七层模型,每一层都有其对应的协议。

常见的网络协议

TCP/IP:工业标准、开放式协议,Internet 网络的标准

IPX/SPX:Novell 开发的 Netware 操作系统使用的协议,IPX 为网际数据包交换协议,工作在网络层,SPX 为序列数据包交换协议,工作在传输层。

NetBIOS/NetBEUI:较小的协议栈,应用于 IBM 和早期的 Windows 系统,现在 Windows 仍然支持。

AppleTalk:Apple 公司的 Mac OS 中所采用的网络协议。

TCP/IP 协议

TCP/IP 是分层协议,如层次图所示:从底层到应用层,分别是物理层,链路层,网络层,传输层,应用层。数据是层层封装,封装的方式一般都是在原有数据的前面加一个数据控制头。

image-20200424221730239

Telnet 协议

Telnet 是 TCP/IP 中的一种应用协议,可以为终端仿真提供支持。可使用户连接到主机上,使主机响应起来就像它直接连接在终端上一样。Telnet 在发送端和接收端使用 TCP 的 23 号端口以进行专用的通信。

IPV4

IP:1.1.1.1 — 255.255.255.255

IPV6

10 亿 10 亿 10 亿 10 亿

FTP 协议

FTP 协议使用 TCP20 号和 21 号端口,20 号端口用于数据交换,21 号端口用于建立连接,允许目录和文件访问,上传下载,不能远程执行文件。

TFTP 是简单文件传输协议(Trivial File Transfer Protocol,TFTP),TFTP 是无连接的,使用 UDP 的 69 号端口,用于当数据传输错误无关紧要而且无须安全性时的小型文件的传输。

SMTP 协议

SMTP 是简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)是为网络系统间的电子邮件交换而设计的。使用 25 端口。SMTP 只需要在接收端的一个电子邮件地址即可发送邮件。POP3 协议用来接收邮件.使用 110 端口

DNS 服务

DNS 是域名解析服务(Domain Name Service, DNS),作用是将域名转换为 IP 地址,或将 IP 地址转换为域名,用于解析完全合格域名(FQDN)。使用 53 号端口。

DHCP 服务

DHCP 是动态主机配置协议(DHCP),服务器可以提供的信息有:

1、IP 地址

2、子网掩码(subnet mask)

3、域名(domain name)

4、默认网关(default gateway)

5、DNS