对计算机网络中协议的理解
网络协议
四层/五层
网络接口层/(物理层+数据链路层)
网络层
IP
IP协议制定了一套网络地址,也就是IP地址,根据IP协议能够区分两台主机是否同属一个网络(子网)。
ICMP(网际控制报文协议)
在IP主机、路由器之间传递控制消息,其中控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息;
在IP之上,用来测试网络层有没有故障;ICMP不是高层协议,而是IP层协议;使用最多的命令是ping。ICMP报文件为IP层数据报的数据加上数据报的首部,组成IP数据报发送出去。
IGMP(Internet组播管理协议)
使用多播一般用于直播,网络会议,能够节省带宽。
IGMP协议的作用就是周期性扫描本网段内有没有主机在访问多播数据包。
ARP(地址解析协议)
每个主机都存有一个ARP高速缓存,存放本局域网上各主机和路由器的IP地址到MAC地址的映射表,称为ARP表;
如果所要找的主机和源主机不在同一个局域网上,那么通过ARP协议找到一个位于本局域网上的某个路由器硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络
工作原理:当主机A欲向本局域网上的某个主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址。一般为两种情况:
- 如果有可以查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过局域网将该MAC帧发往此硬件地址
- 如果没有,就通过使用目的MAC地址为本网络的广播地址即32个1(FF-FF-FF-FF-FF)的帧来封装并广播ARP请求分组,可以使同一个局域网里的所有主机收到ARP请求(去解析目标MAC地址)
RARP(反向地址转换协议)
逆地址解析协议,作用是完成硬件地址到IP地址的映射.(请求是广播,应答是单播)
网络上的每台设备都会有一个独一无二的硬件地址,通常是由设备厂商分配的MAC地址。主机从网卡上读取MAC地址,然后在网络上发送一个RARP请求的广播数据包,请求的RARP服务器分配一个IP地址。
- 本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址。如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用;如果不存在,RARP服务器对此不做任何的响应
- 源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应信息,表示初始化失败
传输层
TCP(传输控制协议)
需要将传输的文件分段,传输需要建立会话,可靠传输,可以流量控制(qq传文件)
UDP(用户数据报协议)
一个数据包就能完成数据通信;不需要建立会话和流量控制;多播/广播(同样是UDP);是一种不可靠传输。域名解析使用UDP(qq聊天)
应用层
HTTP(超文本传输协议)
FTP(文件传输协议)
FTP的连接方式包括控制连接和数据连接。每上传/下载一个文件就会建立一个会话。
控制连接:标准端口为21,用于发送FTP命令信息。
数据连接:标准端口为20,用于上传/下载数据。
SMTP(简单邮件传送协议)
DNS(域名系统)
把域名解析为IP地址。
Telnet
Internet远程登陆服务
RDP(远程桌面协议)
DHCP
客户端请求IP地址的过程;
这是一个动态IP地址的请求和分配过程。客户机在网中发广播请求地址,目标IP是4个255,目标MAC地址是全FF。DHCP收到后,会从地址池里选一个给客户机。如果网络中有2个DHCP服务端且都给了反馈,此时计算机还需要返回一个数据通知他选择了谁提供的地址。另一个DHCP客户端发现没要他的,于是收回他提供的。从这个角度看,网络中不能有太多的DHCP服务端。
七层
物理层
二进制物理传输;给数据包增加了接收端和发送端的IP地址。
将信息编码成电流脉冲或其它信号用于网上传输
数据链路层
传输有地址的帧,错误检测;在数据链路层里,增加了帧头帧尾,MAC地址和校验值。
通过物理网络链路提供可靠的数据传输
网络层
为数据包选择路由
负责在源和终点之间建立连接
传输层
提供端对端接口
向高层提供可靠的端到端的网络数据流服务(TCP)。传输层的功能一般包括流控、多路传输、虚电路管理及差错校验和恢复
会话层
解除或建立与别的接点的联系
建立、管理和终止表示层与实体之间的通信会话
表示层
数据格式化,代码转换,数据加密
提供多种功能用于应用层数据编码和转化,以确保一个系统应用层发送的信息可以被另一个系统应用层识别
应用层
文件传输,文件服务,电子邮件,虚拟终端
提供网络服务