TCP/IP详解:协议(UDP,广播和多播)

@本系列文章是在阅读TCP/IP协议:详解的过程中,根据稳重内容,对重要知识点做的总结,不包含个人观点,插图均来自书中。

第11章:UDP:用户数据报协议

  • UDP不提供可靠性
  • TCP端口号由TCP来查看,UDP端口号由UDP来查看;TCP端口号与UDP端口号是相互独立的
  • UDP首部
    TCP/IP详解:协议(UDP,广播和多播)_第1张图片 
    TCP/IP详解:协议(UDP,广播和多播)_第2张图片
    • UDP校验和可选,覆盖UDP首部和UDP数据
    • 如果发送端没有计算检验和而接收端检测到检验和有差错,那么UDP数据报就要被悄悄地丢弃。不产生任何差错报文(当IP层检测到IP首部检验和有差错时也这样做)。
  • 不是所有的以太网数据帧都是IP数据报,至少以太网还要使用ARP协议
  • IP分片
    • 参照TCP/IP详解:协议(网络层),IP数据报中的标识字段表示唯一的IP数据报(一个数据报被分成多片时,多片的标识字段相同);标志字段中的1bit置为1表示还有更多的片,0表示最后一片;片偏移字段指的是该片偏移原始数据报开始处的位置
    • 尽管I P分片过程看起来是透明的,但有一点让人不想使用它:即使只丢失一片数据也要重传整个数据报;原因是IP层本身没有超市重传的机制,UDP也没有,TCP具有
    • 分片过程,除最后一片外,其他每一片中的数据部分(除IP首部外的其余部分)必须是8字节的整数倍
  • 任何运输层首部只出现在第1片数据中
    TCP/IP详解:协议(UDP,广播和多播)_第3张图片
  • ICMP不可达差错(需要分片)
    TCP/IP详解:协议(UDP,广播和多播)_第4张图片
    使用ping程序测试路径MTU
  • ICMP源站移植差错:当一个系统(路由器或主机)接收数据报的速度比其处理速度快时,可能产生
    TCP/IP详解:协议(UDP,广播和多播)_第5张图片 
  • UDP服务器的设计
    • 客户端IP及端口号
    • 目的IP地址
    • UDP输入队列
    • 限制本地IP和远端IP
      TCP/IP详解:协议(UDP,广播和多播)_第6张图片
    • 多个端点可以使用同一个IP地址和UDP端口号

第12章:广播和多播

  • 广播和多播仅应用于UDP
  • 单播:每个以太网帧仅发往单个目的主机,目的地址指明单个接收接口,任意两个主机的通信不会干扰网内其他主机(可能引起争夺共享信道的情况除外)
  • 广播:一个主机要向网上的所有其他主机发送帧
  • 多播:帧仅传送给属于多播组的多个主机
  • 主机对信道传输过来帧的过滤情况
    TCP/IP详解:协议(UDP,广播和多播)_第7张图片 
    备驱动程序将进行另外的帧过滤。首先,帧类型中必须指定要使用的协议(IP,ARP等等)。其次,进行多播过滤来检测该主机是否属于多播地址说明的多播组。
  • 四中广播地址
    • 受限的广播地址255.255.255.255.在任何情况下,路由器都不转发目的地址为受限的广播地址的数据报,这样的数据报仅出现在本地网络中。
    • 指向网络的广播地址:主机号全为1的地址.一个路由器必须转发指向网络的广播,但它也必须有一个不进行转发的选择
    • 指向子网的广播地址:特定子网内主机号全为1的地址.
    • 指向所有子网的广播:与指向网络的广播地址的区别是--是否划分子网
    • 广播是一种应该谨慎使用的功能。在许多情况下,IP多播被证明是一个更好的解决办法
  • 多播
    • IP多播提供两种服务
      • 向多个目的地址传输数据
      • 客户对服务器的请求
    • 多播地址
      TCP/IP详解:协议(UDP,广播和多播)_第8张图片
      范围:224.0.0.0到239.255.255.255
      TCP/IP详解:协议(UDP,广播和多播)_第9张图片

第13章:IGMP:Internet组管理协议

  • IGMP报文通过IP数据报进行传输,I G M P有固定的报文长度,
    没有可选数据
    TCP/IP详解:协议(UDP,广播和多播)_第10张图片
    TCP/IP详解:协议(UDP,广播和多播)_第11张图片
    类型: 1说明是多播路由器发出的查询报文,2说明是主机发出的报告报文
    校验和:这里回忆一下:IP校验和只校验20个字节的IP报头;而ICMP校验和覆盖整个报文(ICMP头部+ICMP数据);UDP和TCP校验和不仅覆盖整个数据报,而且还有12个字节的IP伪首部.IGMP和ICMP相同
  • 加入一个多播组,多播的基础就是一个进程的概念,一个进程可以在多个接口上加入同一多播组

你可能感兴趣的:(TCP/IP协议)