第6章 通往底层的网络协议

1 地址解析协议(ARP):用来将IP地址解析为MAC地址的过程
  • 网络中的通信会使用到逻辑地址和物理地址,逻辑地址可以使得不同网络以及没有直接相连设备之间能够进行通信,物理地址则用来在单一网段中交换机直接连接的设备之间进行通信。
6.1.1 ARP头

在这里插入图片描述
1.硬件类型: 数据链路层使用的类型数据(大多数为以太网)

  • 协议类型: ARP请求正在使用的高层协议
  • 硬件地址长度:(8位组/字节)
  • 协议地址长度:(8位组/字节)
  • 操作: 1表示请求,2表示相应
  • 发送方硬件地址
  • 发送方协议地址:
  • 目标硬件地址
  • 目标协议地址
6.2 互联网协议
6.2.1 IP地址
  • 每个IP地址都会被分为两个部分:网络地址与主机地址 网络地址用来标识设备所连接到的局域网,而主机地址则标识这个网络中的设备本身,其中子网掩码用来标识IP地址中究竟哪一部分属于网络地址而哪一部分属于主机地址,子网掩码中设为1的每一位都标识着IP地址的对应部分是属于网络地址的,而剩下设为0的部分则标识着主机地址。
    在这里插入图片描述
  • IP地址10.10.1.22和网络掩码255.255.0.0可以表示为10.10.1.22/16 其中16表示网络部分位数的数字
6.2.2 IPv4头(6.2.4IP分片没弄懂)
  • 版本号:IP使用的版本
  • 首部长度:IP头的长度
  • 服务类型:优先级标志位和服务类型标志位
  • 总长度:IP头与数据包中数据的长度
  • 标识符:用来识别一个数据包和被分片数据包的次序
  • 标记:用来标记一个数据包是否是一组分片数据包的一部分
  • 分片偏移:一个数据包是一个分片,这个域中的值就会被用来将数据包以正确的顺序重新组装
  • 存活时间:数据包的生存周期
  • 协议:上层协议数据包的类型
  • 首部校验和
  • 源IP地址
  • 目的IP地址
  • 选项
  • 数据:使用IP传递的实际数据
    在这里插入图片描述
6.3传输控制协议
6.3.1 TCP头
  • 源端口
  • 目的端口
  • 序号:用来表示一个TCP片段,这个域用来保证数据流中的部分没有丢失
  • 确认号:通信中希望从另一个设备得到的下一个数据包序号
  • 标记:URG,ACK,PSH,RST,SYN,FIN,表示所传输的TCP数据包类型
  • 窗口大小:TCP接收者缓冲的字节大小
  • 校验和
  • 紧急指针:如果设置了URG位,这个域将被检查作为额外的指令,告诉CPU从数据包的哪里开始读取数据
  • 选项
6.3.2 TCP端口
  • 1~1023是标准端口组,特定服务会用到这些通常位于标准端口分组中的标准端口
6.3.3 TCP的三次握手
  • 保证源主机确定目的主机在线,并且可以进行通信
  • 让源主机检查它是否正在监听试图去连接的端口
  • 允许源主机向接收者发送它的起始序列号,使得两台主机可以将数据包流保持有序
  • RST标志用来指出连接被异常终止或拒绝连接请求

6.4 用户数据包协议(UDP)

6.4.1 UDP头
  • 源端口
  • 目的端口
  • 数据包长度
  • 校验和
    在这里插入图片描述
6.5 互联网控制消息协议(ICMP)

负责提供在TCP/IP网络上设备、服务、以及路由器可用性的信息

6.5.1 ICMP头
  • 类型(Type):ICMP消息基于RFC规范的类型或分类
  • 代码(Code): ICMP消息基于RFC规范的子类型
  • 校验和
  • 可变域:依赖于类型和代码域的部分
  • 在这里插入图片描述
6.5.2 ICMP类型和消息

icmp数据包的结构取决于它由Type和Code域中的值所定义的用途,如Type域的值为3时意味着“目标不可达”,当Code域中指明值为3,也就是“端口不可达”。

6.5.3 Echo请求与相应

ICMP因为其Ping(发送ICMPecho请求数据包)功能而声名大噪,ping用来检测一个设备的可连接性,基本就是每次向一个设备发送一个数据包,并等待回复,确定设备是否可连接

6.5.4 路由跟踪

用来识别一个设备到另一个设备的网络路径。

发布了96 篇原创文章 · 获赞 4 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/L_H_L/article/details/100824470