DELPHI中TCP如何广播

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DELPHI中TCP如何广播相关的知识,希望对你有一定的参考价值。

参考技术A 在TCP/TP协议中存在两种类型的广播地址

。一种是将IP地址的主机地址部分全部置0或置l,这种广播地址称为直接广播地址。利用该地址可以向任何子网直接

TCP/IP||UDP广播和多播

技术分享

  

    1.概述

    广播和多播应用于UDP,TCP是一个面向连接协议,意味着分别运行与两个主机内的两进程间存在一个连接,在考虑多个主机内的共享通信网络,每个以太网帧包含源主机和目的主机以太网地址(48bit),通常以以太网帧发往单个主机,目的地指明单个接收接口,因此称单播(unicast),然而需要一个主机向网上的所有主机发送帧,只就是广播,再通过ARP和RARP发现,多播(multicast)处于单播和广播之间,帧仅属于多播组的多个主机.

  技术分享

  该图中,网卡查看由信道传送过来的帧,确认是否收到帧,如果接收到发往设备驱动程序,网卡接收目的地址为网卡物理地址或广播地址的帧,收到目的地址为网卡物理地址或广播地址的帧.多数接口具备设置为混杂模式,这种模式可以接收到每个帧的肤质,TCPDUMP就是使用这个模式

技术分享

  大多数网卡经过配置都能接受到目的地址为多播地址或某些子网多播地址的帧.对于以太网,当地址的最高字节的最低位设置为1时表示地址为多播地址十六进制标示为(ff:ff:ff:ff:ff:ff:ff:ff)

  如果网卡接收到帧,帧传送给设备应用程序,设备应用程序进行帧过滤,帧类型必须指定要使用的的协议,其次,多播过滤检测该主机是否属于多播地址说明的多播组

  设备应用程序随后将数据传送给下一层,当帧类型指定为IP数据报时,就传往IP层,IP根据IP地址中的原地址和目的地址进行过滤检测,如果正常,将数据报传给下一层

  当UDP接收到数据报时,就根据目的端口号,或者源端口号进行数据过滤,如果进程没有该端口号,则丢弃数据产生一个ICMP不可达报文.如果UDP检验到差错则丢弃

  多播出现减少了处理负荷,使用多播,主机可加入一个或多个多播组.

 

  2.广播

    2.1受限的广播

      广播地址为255.255.255.255,地址用于主机配置过程中IP数据报目的地址,本地地知不知道所在地址的子网掩码。routed和rwhod是向每个接口发送UDP数据报的2个应用程序,均使用相似的启动过程来确定主机的所有接口

    2.2指向网络的广播

      只想网络的广播地址是主机好为全1的地址,A类为netid:255.255.255.255,netid为A类网络信号.

    2.3指向子网的广播

      全1且特定子网号地址,作为子网直接广播地址的IP地址需要了解子网掩码

    2.4指向所有子网的广播

       如果目的地子网掩码为255.255.255.255,那么IP地址128.1.255.255是一个指向所有子网的广播地址,如果没有划分子网,就是一个指向网络的广播,在RFC 922种指定

  

  3.多播

    IP多播提供2种服务

    1.向目的地址传送数据.

    2.客户对服务器的请求

 

    3.1多播组地址

    技术分享

  分配的28bit地址均使用多播组号,包括1110的4bit和多播组号,通常表示为点分十进制数,范围224.0.0.0到239.255.255.255

以上是关于DELPHI中TCP如何广播的主要内容,如果未能解决你的问题,请参考以下文章

Delphi最简化异步选择TCP服务器

Delphi最简化异步选择TCP服务器

Delphi事件的广播 转

delphi datasnap 心跳包

delphi如何接收别的程序发过来的自定义的消息

Delphi XE开发 Android 开机自动启动