一、Internet控制报文协议ICMP(Internet Control Message Protocol)
ICMP是网络层的一个重要协议 。ICMP协议用来在网络设备间传递各种差错和控制信息,它对于收集各种网络信息、诊断和排除各种网络故障具有至关重要的作用 。使用基于ICMP的应用时,需要对ICMP的工作原理非常熟悉 。基于IP协议,协议号 1
文章插图
ICMP是TCP/IP协议簇的核心协议之一,它用于在IP网络设备之间发送控制报文,传递差错、控制、查询等信息 。
echo request type = 8 code = 0
echo reply type =0 code=0
二、ICMP重定向
ICMP Redirect重定向消息用于支持路由功能 。如图所示,主机A希望发送报文到服务器A,于是根据配置的默认网关地址向网关RTB发送报文 。网关RTB收到报文后,检查报文信息,发现报文应该转发到与源主机在同一网段的另一个网关设备RTA,因为此转发路径是更优的路径 。所以RTB会向主机发送一个Redirect消息,通知主机直接向另一个网关RTA发送该报文 。主机收到Redirect消息后,向RTA发送报文,RTA会将报文转发给服务器A 。
文章插图
三、ICMP差错检测
文章插图
ICMP数据包格式
文章插图
1、ICMP消息封装在IP报文中 。ICMP消息的格式取决于Type和Code字段,其中Type字段为消息类型,Code字段包含该消息类型的具体参数 。后面的校验和字段用于检查消息是否完整 。消息中包含32比特的可变参数,这个字段一般不使用,通常设置为0 。
2、在ICMP Redirect消息中,这个字段用来指定网关IP地址,主机根据这个地址将报文重定向到指定网关 。在Echo请求消息中,这个字段包含标识符和序号,源端根据这两个参数将收到的回复消息与本端发送的Echo请求消息进行关联 。尤其是当源端向目的端发送了多个Echo请求消息时,需要根据标识符和序号将Echo请求和回复进行一一对应 。
3、Type表示ICMP消息类型,Code表示同一消息类型中的不同信息 。
四、ICMP消息类型和编码类型
文章插图
【ICMP ARP协议 TCP&UDP协议相关介绍,两分钟快速掌握】五、ARP
文章插图
1、一台网络设备要发送数据给另一太网络设备时,必须要知道对方的IP地址 。但是,仅有IP地址是不够的,因为IP数据报文必须封装成帧才能通过数据链路进行发送,而数据帧必须要包含目的mac地址,因此发送端还必须获取到目的MAC地址 。每一个网络设备在数据封装前都需要获取下一跳的MAC地址 。
2、IP地址由网络层来提供,
MAC地址通过ARP协议来获取 。ARP协议是TCP/IP协议簇中的重要组成部分,ARP能够通过目的IP地址发现目标设备的MAC地址,从而实现数据链路层的可达性 。
文章插图
3、华为设备接口默认没有开启ARP代理功能,接口下面使用arp-proxy enable 开启代理功能 。免费ARP:免费ARP可以用来探测IP地址是否冲突主机被分配了IP地址或者IP地发生变更后,必须立刻检测其所分配的IP地址在网络上是否是唯一的,以避免地址冲突 。主机通过发送ARP request报文来进行地址冲突检测 。主机A将ARP Request广播报文中的目的IP地址字段设置为自己的IP地址,该网络中所有主机包括网关都会接收到此报文 。当目的IP地址已经被某一个主机或网关使用时,该主机或网关就会回应ARP reply报文 。通过这种方式,主机A就能探测到IP地址冲突了 。
六 TCP&UDP
传输层中最为常见的两个协议分别是:
TCP 传输控制协议(Transmission Control Protocol )
TCP是一种面向连接的传输层协议,提供可靠的传输服务
UDP 用户数据报协议(User Datagram Protocol)
TCP端口号:
文章插图
1、TCP允许一个主机同时运行多个应用进程 。每台主机可以拥有多个应用端口,每对端口号、源和目标IP地址的组合唯一地标识了一个会话 。端口分为知名端口和动态端口 。
2、有些网络服务会使用固定的端口,这类端口称为知名端口,端口号范围为0-1023 。如FTP、HTTP、Telnet、SNMP服务均使用知名端口 。动态端口号范围从1024到65535,这些端口号一般不固定分配给某个服务,只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用 。
推荐阅读
- 不改一行代码,让你的web应用支持https协议
- 基于MIT协议,一个开源的Python微信公众号开发框架——WeRoBot
- IPv4自动获取有dhcp协议,那IPv6是否有dhcpv6协议
- WebSocket 协议初探
- 5个重要的CCNP协议
- 网络工程师怎么看待TCP/IP协议与UDP协议?
- 从抓包分析角度分析arp攻击
- Http超文本传输协议
- Python解决滑块验证,Scarpy框架采集数据到redis数据库!
- 导航迎新突破 搜狗地图推适配iOS CarPlay车载仪表盘版本