计网学习--网络层的协议.md - 计算机网络 - 网络层 - TCP/IP协议
网络层协议
网络层协议,OSI参考模型的第三层。它控制通信子网进行工作,提供建立、保持和释放连接的手段,保证传输层实体之间进行透明的数据传输。
网络层有四个协议:
ARP协议
,IP协议
,ICMP协议
,IGMP协议
。ARP协议为IP协议提供服务,IP协议为ICMP协议提供服务,ICMP协议为IGMP协议提供服务。
ARP协议
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。
物理地址也叫MAC地址,是一个直接烧录在网卡上的数据,也是一个不变的真实地址。
主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
每一个主机都有一个ARP高速缓存
,此缓存中记录了最近一段时间内其它IP地址与其MAC地址的对应关系
。如果本机想与某台主机通信,则首先在ARP高速缓存中查找此台主机的IP和MAC信息,如果存在,则直接利用此MAC地址构造以太帧;如果不存在,则向本网络上每一个主机广播一个ARP请求报文,其意义是”如果你有此IP地址,请告诉我你的MAC地址”,目的主机收到此请求包后,发送一个ARP响应报文,本机收到此响应后,把相关信息记录在ARP高速缓存中,以下的步骤同上。
arp协议的缺点–arp欺骗
可以看出,ARP协议是有缺点的,第三方主机可以构造一个ARP欺骗报文,而源主机却无法分辨真假。如果发送者硬件地址字段填入攻击者的硬件地址,而发送者IP地址填入被假冒者的IP地址,那么就构造出了一个用于欺骗的ARP请求报文。那么被欺骗主机的ARP高速缓存,被假冒者的IP地址与其MAC地址的对应关系就会更改为欺骗者的,从而达到ARP欺骗的目的。特别的,如果攻击者冒充网关,将转发子网内到外网的所有通信量,以达到捕获其他主机的通信量,从而破坏数据传输的保密性。
IP协议
IP是Internet Protocol(网际互连协议)的缩写,是TCP/IP体系中的网络层协议。
设计IP的目的是提高网络的可扩展性:一是解决互联网问题,实现大规模、异构网络的互联互通;二是分割顶层网络应用和底层网络技术之间的耦合关系,以利于两者的独立发展。根据端到端的设计原则,IP只为主机提供一种无连接、不可靠的、尽力而为的数据包传输服务。
作用的范围不同也是IP协议和ARP协议的区别,一般ARP协议只可以作用在一个子网之中;而IP协议是可以作用在不同网络之间的。
ICMP协议
ICMP(Internet Control Message Protocol),全称为Internet控制报文协议。
它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
ICMP使用IP的基本支持,就像它是一个更高级别的协议,但是,ICMP实际上是IP的一个组成部分,必须由每个IP模块实现。
以前的关于ICMP协议的具体描述:https://qidangge.github.io/2021/10/24/%E4%BD%9C%E4%B8%9A2.2%20ping%E6%93%8D%E4%BD%9C%E4%B8%8Eicmp/
IGMP协议
互联网组管理协议(IGMP,Internet Group Management Protocol)是因特网协议家族中的一个组播协议。
TCP/IP协议族的一个子协议,用于IP主机向任一个直接相邻的路由器报告他们的组成员情况。允许Internet主机参加多播,也是IP主机用作向相邻多目路由器报告多目组成员的协议。多目路由器是支持组播的路由器,向本地网络发送IGMP查询。主机通过发送IGMP报告来应答查询。组播路由器负责将组播包转发到所有网络中组播成员。
互联网组管理协议(IGMP)是对应于开源系统互联(OSI)七层框架模型中网络层的协议。在互联网工程任务组(The Internet Engineering Task Force,简称IETF)编写的标准文档(RFC)2236.中对Internet组管理协议(IGMP)做了详尽的描述。附上链接:https://datatracker.ietf.org/doc/html/rfc2236