ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

计算机网络协议分析 第八课 ICMPv6 UDP

2021-04-08 23:32:17  阅读:283  来源: 互联网

标签:发送 UDP 首部 报文 校验 第八课 ICMPv6 IPv6


计算机网络协议分析 第8课 ICMPv6 UDP

第3章 网络层协议

3.3 ICMP

5.3 ICMPv6

ICMPv6包含了ICMPv4,IGMP和ARP的功能
ICMPv6报文

ICMPv6报文类型

差错类 :(类型 报文类型)

  • 1 终点不可达
  • 2 数据包太大
  • 3 超时
  • 4 参数问题
  • 137 改变路由

信息类:(类型 报文类型)

  • 128或129 Echo请求/应答
  • 133或134 路由器询问/通告
  • 135/136 邻居询问/通告
  • 142 反向邻居询问/通告
  • 130/143 成员关系查询/报文

可以看到和ICMPv4的其实差不多,多了几个igmp等的类型

数据包太大报文

当IPv6数据包的大小超过了链路的MTU值,路由器会丢弃,并向源节点发送此信息。
数据包太大报文
注意:区分链路MTU和路径MTU

超时报文

  • 当IPv6数据报的TTL=0时
  • 当一个数据报的某些分片未能按期到达时

超时报文
这里的部分由IPv6首部+前8字节组成

代码值:

  • 0:超出跳数限制(数据包的跳数值为0)
  • 1:分片重组超时(IPv6数据包在分片重组时超时)

参数问题报文

  • 当IPv6数据报的基本首部出错时

参数问题报文
代码值:

  • 0:IPv6包头参数错误
  • 1:未识别的< Next Header>类型
  • 2:未识别的IPv6可选项
  • 3:第一个分片包中包头数据不完整

改变路由报文

  • 网络拓扑变化时,用于更新主机的路由表

改变路由报文

Echo请求/应答报文

  • 检测两个节点之间的网络连通性

ECHO请求应答报文
一对应答请求报文的数据部分的值都是一样的

路由器询问/通告报文

  • 主机发送路由器询问报文寻找默认路由器
  • 路由器发送路由器通告报文进行响应或定期通告

路由器询问/通告报文
两种使用情况:

  1. 移动网络有新的设备接入的时候使用
  2. 有线环境的使用

邻居询问/通告报文

  • 作用与ARP相同

邻居询问/通告报文
源主机向目的主机发送报文时需要知道MAC地址,IPv4中的ARP是广播的,但是IPv6没有广播,就需要邻居询问/通告报文通过组播来发送。
实例

第6章 用户数据报协议UDP

6.1 传输层概述

运输层概述
三个层次的作用范围:

  • 链路层的接收与发送是局限于结点之间
  • 网络层的作用范围是源端到目标端,根据IP地址传输数据报
  • 运输层的作用范围是进程到进程之间,根据端口号再给到相应进程

IP地址与端口号

例如:一个客户与两个服务器之间的通信,假设P1是web服务,P2是FTP服务,P3是Email服务
实例
P1的端口是80,P3的端口号可以是80(web)或25(SMTP),分组2的源IP与分组1及分组3的源IP相同,但目的IP不同,源端口三个都不一样,P2目的端口对应21

运输层协议

运输层协议

  • UDP(DHCP,DNS):面向报文,无连接,不可靠
  • TCP(HTTP,FTP):面向字节流,面向连接,可靠,流量控制,拥塞控制
  • SCTP(H.248,H323,IUA,M2UA):面向报文,可靠,流量控制,拥塞控制

UDP面向报文

UDP面向报文

  • 发送方UDP对应用层提交的报文,添加首部后交付给网络层
  • 接收方UDP对网络层交上来的UDP数据报,去除首部后交给应用进程

TCP面向字节流

TCP面向字节流
因为有拥塞控制,所以会判断自己的发送缓存和接受缓存,在网络不好的时候,会把字节流切成较短的报文发送出去,也会在网络好的时候把几个短的报文并起来(区别于UDP的对报文内容不作为)

6.2 UDP分组格式

UDP分组格式
:长度的范围是多少?
:8~65535。因为UDP必须要首部,但可以不要数据。于是至少就有8个字节,长度字段就两个字节,于是对应长度最长为65535字节

检验和字段使用的是伪首部进行计算
端口号:

  • DNS53;
  • DHCP67/68;
  • TFTP(简单文件传输协议)69;
  • SNMP(网络管理协议)161;
  • RIP520

UDP端口扫描

源主机向目标主机的某个UDP端口发送一个UDP报文段,若源主机:

  • 收到端口不可达ICMP报文,表示目标主机该端口是关闭的
  • 什么都没有收到,表示目标主机的该端口是打开的

UDP检验和

UDP检验和

  • 由发送方计算并填写,由接收方进行检验
  • 当接收方检测到差错时,丢弃整个UDP分组
  • UDP伪首部来源于IP首部最后12字节,发送时不带伪首部,但是接收时会通过IP首部补齐伪首部
  • 计算就是转化为16进制,逐位相加求和,然后求反

6.3 UDP-Lite标准

  • 当UDP接收方检测到校验和有差错时,将丢弃整个UDP报文段
  • UDP校验的两种方案:
    • 使用校验和
    • 不使用校验和(校验和字段为0)

问题:使用校验和时,发送方计算出来的校验和为0,如何处理?
:填入65535来防止接收方混淆;不存在求和结果为0,所以不存在求反后为65535

UDP-Lite标准:

  • 首部必须使用校验和
  • 数据部分可部分地使用校验和

UDP-Lite分组

UDP-Lite分组

  • UDP分组的长度字段是冗余的,不需要整个字段也可以算出来
  • 校验和覆盖:指校验的范围,取值范围:0或>=8,等于0时校验整个UDP分组
  • 使用UDP和UDP-Lite时,应用层使用的端口号不变,但此时IP首部中的协议字段的值是136(UDP是17)

6.4 UDP与IPv6

IPv6

  • 在IPv6网络中的UDP校验和是强制的
  • 下一个首部=136

6.5 UDP反射DDoS攻击

UDPDDoS攻击
攻击机H先用端口扫描,收集互联网中的哪些服务器开放的端口X,得到这些服务器的IP列表,然后发出请求报文,向目标主机发送响应报文

上一课:第7课 ICMP

标签:发送,UDP,首部,报文,校验,第八课,ICMPv6,IPv6
来源: https://blog.csdn.net/mcyuuji/article/details/115493274

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有