网络层-IP,ICMP协议小小总结

IP、ICMP协议

1.IPv4协议

1.1IPv4头部

  • IP数据报格式(头部结构)
    • 在这里插入图片描述
    • 头部长度:4bit,可表示2^4-1=15个单位(一个单位4字节),即IP首部长度的最大值时60字节。
    • TTL:每当数据报经过一台路由器,该字段减1,当TTL为0时,丢弃该数据报。
    • 标志位:保留、DF(Don’t fragment)、MF(More fragment)。

1.2IPv4分片

  • 一个最大分片可封装的数据应该是8的倍数,一个最大分片可封装的数据为: d = M T U 20 8 × 8 d = \lfloor \frac{MTU-20}{8} \rfloor × 8
  • 需要总的分片数为: n = L 20 d n = \lceil \frac{L-20}{d} \rceil
  • 偏移: M T U 20 8 \lfloor \frac{MTU-20}{8} \rfloor

1.3IPv4编址

  • 子网的表示方法:前缀(网络号)/长度(子网掩码):223.1.1.0/24
  • 主机号全0代表网络本身,主机号全1代表本子网的广播地址
  • 分类IP编址:
    • 在这里插入图片描述
    • A类:0.0.0.0 ~ 127.255.255.255(0段和127段不使用)
    • B类:128.0.0.0 ~ 191.255.255.255
    • C类:192.0.0.0 ~ 233.255.255.255
    • D类:224.0.0.0 ~ 233.255.255.255
    • E 类:240.0.0.0 ~ 255.255.255.255
  • CIDR(Classless Inter Domain Routing无类域间路由)
    • 消除传统A、B、C类地址界限
    • 子网为连续地址的地址块,网络前缀可以任意长度。
    • 某地址块为200.23.16.0/23,则其
      • 子网掩码为:255.255.254.0 或 /23
      • 网络地址为:200.23.16.0/23 (主机比特全为0)
      • 可用主机地址为:200.23.16.1 ~ 200.23.16.254
      • 广播地址为:200.23.16.255 (主机比特全为1)

2.ICMP协议

2.1概述

  • 背景:IP协议是一种无连接的不可靠的数据交付,IP协议不提供任务错误校验和恢复机制。因此,设计了ICMP协议弥补上诉缺陷。

  • ICMP(Internet Control Message Protocol)因特网控制报文协议。它是IPv4协议族中的一个子协议,用于IP主机、路由器之间传递控制消息

  • 控制消息是在网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然不传输用户数据,但是对于用户数据的传递起着重要的作用。

  • ICMP通过差错报文和询问报文来辅助IP网络的工能。

    • 差错报告:不可达主机、网络、端口、协议
    • 网络探寻:回声请求/回答(由ping使用)
    • 与IP的关系:ICMP报文作为IP有效载荷

2.2ICMP报文

  • 在这里插入图片描述

2.3ping和traceroute的原理

  • ping是用来探测主机到主机之间是否可通信。
  • ping的原理是用类型码为0的ICMP发请求,受到请求的主机则用类型码为8的ICMP回应。
  • traceroute可以用来跟踪一个分组从源点到终点的路径。
  • traceroute的原理是,把ICMP报文和IP分组中的TTL从1开始,去试探,TTL为0时,路由器会丢弃这个分组并发送一个超时ICMP报文;这时源主机再把TTL+1,重复这个步骤,直到目的主机收到了。那么目的主机就会递交给UDP,但是UDP的目的端口已经被设为UDP协议不支持的一个端口,所以目的主机收到这个分组的时候,找不到可以交付的应用程序,于是丢弃,并向源主机发送一个ICMP终点不可达报文。至此traceroute就找出了整个路由。

3.IPv6

3.1概述

  • 32-bit的IPv4地址空间很快将会被完全分配完。
  • 不允许分段
  • 128位,16位为一组,每组以冒号隔开,每组以4位十六进制方式表示。
  • 类似于IPv4的点分十进制,也存在点分十六进制的写法。去除冒号,每一位以点号分隔。
  • IPv6在某些条件下可以省略:
    • 每项数字前导的0可以省略,省略后前导数字仍是0则继续,例如下组IPv6是等价的。
    • 可以用双冒号“::”表示一组0或多组连续的0,但只能出现一次。
    • 如果这个地址实际上是IPv4的地址,后32位可以用10进制数表示;因此::ffff:192.168.89.9 相等于::ffff:c0a8:5909。
    • 另外,::ffff:1.2.3.4 格式叫做IPv4映射地址

3.2首部

  • 在这里插入图片描述
  • 协议版本,流量类别(8位,包优先级),流标号(20比特,QoS服务质量控制),有效载荷长度(分组长度,16位),下一个头部(用于入栈解码,类似IPv4中的协议号),和跳段数限制(8位,生存时间,相当于IPv4中的TTL)。

4.VPN的工作原理

  • VPN,全称为Virtual Private Network,译为无线虚拟专用网络,主要用于在公用网络上建立专用网络,进行加密通讯。
  • 通常情况下,VPN网关采取双网卡结构,外网卡使用公网IP接入Internet。
  • 网络一(假定为公网internet)的终端A访问网络二(假定为公司内网)的终端B,其发出的访问数据包的目标地址为终端B的内部IP地址。

------本篇完------

猜你喜欢

转载自blog.csdn.net/weixin_43191072/article/details/106986111