三、计算机网络:协议概述
1.1. 网络层
1.1.1. IP
IP是跨越网络传送数据包,使整个互联网都能收到数据的协议。IP协议使数据能够发送到地球的另一端,这期间它使用IP地址作为主机的标识。
IP还隐含着数据链路层的功能。通过IP,相互通信的主机之间不论经过怎样的底层数据链路都能够实现通信。
虽然IP也是分组交换的一种协议,但是它不具有重发机制。即使分组数据包未能到达对端主机也不会重发。因此,它属于非可靠性传输协议。
1.1.2. ICMP
IP数据包在发送途中一旦发生异常导致无法到达对端目标地址时,需要给发送端发送一个异常的通知。ICMP就是为这一功能而制定的,它有时也被用来诊断网络的健康状况。
1.1.3. ARP
地址解析协议
从分组数据包的IP地址中解析出物理地址(MAC地址)的一种协议。主机发送信息时,将包含目标IP地址的ARP请求广播到局域网上的所有主机,并接收返回消息,以此确定目标的物理地址,收到返回消息后,将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
ARP是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送应答消息,其他主机收到应答报文时,不会检测该报文的真实性就会将其记入本机ARP缓存
ARP攻击:攻击者向某一主机发送伪应答报文,使其发送的信息无法到达预期的主机,或到达错误的主机,这就构成了一个ARP欺骗
ARP命令:用于查询本机缓存中的IP地址和MAC地址的对应关系、添加或删除静态对应关系等
|
ARP报文格式 |
||
|
硬件类型 |
协议类型 |
|
|
硬件地址长度 |
协议长度 |
操作类型 |
|
发送方硬件地址(0-3字节) |
||
|
发送方硬件地址(4-5字节) |
发送方IP地址(0-1字节) |
|
|
发送方IP地址(2-3字节) |
目标硬件地址(0-1字节) |
|
|
目标硬件地址(2-5字节) |
||
|
目标IP地址(0-3字节) |
||
- 硬件类型:指明了发送方想知道的硬件接口类型,以太网的值为1;
- 协议类型:指明了发送方提供的高层协议类型,IP为0800(16进制);
- 硬件地址长度和协议长度:指明了硬件地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意协议的网络中使用;
- 操作类型:用来表示这个报文的类型,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4;
- 发送方硬件地址(0-3字节):源主机硬件地址的前3个字节;
- 发送方硬件地址(4-5字节):源主机硬件地址的后3个字节;
- 发送方IP地址(0-1字节):源主机硬件地址的前2个字节;
- 发送方IP地址(2-3字节):源主机硬件地址的后2个字节;
- 目标硬件地址(0-1字节):目的主机硬件地址的前2个字节;
- 目标硬件地址(2-5字节):目的主机硬件地址的后4个字节;
- 目标IP地址(0-3字节):目的主机的IP地址。
相关协议有:RARP、代理ARP。
NDP:在IPV6中代替ARP
1.2. 传输层
1.2.1. TCP
TCP是一种面向有连接的传输层协议。它可以保证两端通信主机之间的通信可达。TCP能够正确处理在传输过程中丢包、传输顺序乱掉等异常情况。此外,TCP还能够有效利用带宽,缓解网络拥堵。
然而,为了建立与断开连接,有时它需要至少7次的发包收包,导致网络的浪费。为了提高网络的利用率,TCP协议中定义了各种各样复杂的规范,因此不利于视频会议(音频、视频的数据量既定)等场合使用。
1.2.2. UDP
UDP是一种面向无连接的传输层协议。UDP不会关注对端是否真的收到了传送过去的数据,如果需要检查对端是否收到分组数据包,或者对端是否连接到网络,则需要在应用程序中实现。
UDP常用于分组数据较少或多播、广播通信以及视频通信等多媒体领域。
1.3. 应用层(会话层以上的分层)
1.3.1. HTML
HyperText Markup Language超文本标记语言,属于表示层协议
1.3.2. HTTP
HyperText Transfer Protocol超文本传输协议,属于应用层协议
1.3.3. HTTPS和TLS/SSL
1.3.4. DNS和PTR
DNS:域名解析,通过域名获取对应IP
PTR:反向解析,通过IP获取对应域名
1.3.5. SMTP和MIME
Simple Mail Tranfer Protocol简单邮件传输协议,用于发送电子邮件
Multipurpose Internet Mail Extensions多用途互联网邮件扩展类型,互联网媒体类型,属于表示层。可以发送文本格式、扩展了声音、图像等各式各样的信息邮件,甚至还可以修改邮件文字的大小、颜色。
1.3.6. POP和IMAP
访问电子邮件的协议
POP3:允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件、标记已读等),不会反馈到服务器上,电子邮件不会实时同步
IMAP:提供webmail与电子邮件客户端之间的双向通信,客户端的操作都会反馈到服务器上,对邮件进行的操作,服务器上的邮件也会做相应的动作。电子邮件会实时同步。
1.3.7. FTP
File Tranfer Protocol文件传输协议
用于将保存在其他计算机硬盘上的文件转移到本地的硬盘上,或者将本地硬盘的文件传送到其他机器硬盘上
FTP进行文件传输时会建立两个TCP连接,分别是发出传输请求时所用到的控制连接与实际传输数据时所要用到的数据连接。
1.3.8. SSH和TELNET
远程登录协议,类似于BSD UNIX系中rlogin的r命令协议以及X window SystemK 中的X协议
远程登录是指登录到远程的计算机上,使那台计算机上的程序得以运行的一种功能。
1.3.9. SNMP和MIB
Simple Network Management Protocol网络管理协议,属于应用层协议。
使用SNMP管理的主机、网桥、路由器等称作SNMP代理(Agent),而进行管理的那一段叫做管理器(Manager)。Manager与Agent所用到的协议即为SNMP协议
在SNMP的代理器,保存着网络接口的信息、通信数据量、异常数据量以及设备温度等信息。这些信息可以通过MIB(Management Information Base)访问(MIB属于表示层协议)。
一个网络范围越大,结构越复杂,就越需要对其进行有效的管理。而SNMP可以让管理员及时检查网络拥堵情况,及早发现故障,也可以为以后扩大网络收集必要的信息。
1.3.10. URI
Uniform Resource Identifier 标识、定位任何资源的字符串,统一资源标识符
是一个用于标识某一互联网资源名称的字符串。该种标识允许用户对任何(包括本地和互联网)的资源通过特定的协议进行交互操作。URI由包括确定语法和相关协议的方案所定义。
Web上可用的每种资源-HTML文档、图像、视频片段、程序等,由一个通用资源标识符进行定位。
1.3.11. DHCP
Dynamic Host Configuration Protocol动态主机配置协议
局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。默认情况下,DHCP作为Windows Server的一个服务组件不会被系统自动安装,还需要管理员手动安装并进行必要的配置。
1.3.12. RIP
Routing Information Protocol路由信息协议,属于应用层协议。
是一种分布式的基于距离向量的路由选择协议,主要适用于小规模的网络环境,主要用于一个AS(自治系统)内的路由信息的传递,每30s发送一次路由信息更新。

浙公网安备 33010602011771号