网络编程(六)

网络编程(六)

广播&组播

广播

是一种基于1发送多接收的模型 (发送方和接收方)
广播是在局域网内实现的(发送到广播地址上的消息是会被局域网内同网段的所有主机进行接收,接收方的主机不能拒绝,除非接收方关闭了相应的接收消息的进程。)
弊端:广播会出现大量宽带的问题,继而出现“广播风暴“的现象。
广播实现的思路:
发送方可以将数据给局域网内某网段的广播地址上推送消息,同网段之后的所有主机就可以接收到。
广播地址的形式:保留网络地址不变(子网掩码也是默认形式)的情况下,将主机地址的最大值取到
255,该IP地址就称为“广播地址”。
eg:IP地址为:192.168.13.110 子网掩码为:255.255.255.0 —》广播地址为:192.168.13.255

在这里插入图片描述
在这里插入图片描述

步骤

在这里插入图片描述

  1. 设计广播发送和接收程序只能使用数据报套接字
  2. 广播地址:是该局域网中IP地址最大的地址,如192.168.15.255
  3. 万能广播地址:255.255.255.255在所有网段中都代表广播地址

步骤
发送端:client

  1. socket创建数据报套接字
  2. setsockopt设置允许广播包
  3. sendto():IP为广播地址

在这里插入图片描述
接收端:server

  1. socket
  2. bind
  3. recvfrom
    在这里插入图片描述

组播

单播方式只能发给一个接收方。
广播方式发给所有的主机。过多的广播会大量占用网络带宽,造成广播风暴,影响正常的通信。
组播(又称为多播)是一种折中的方式。只有加入某个多播组的主机才能收到数据。
多播方式既可以发给多个主机,又能避免象广播那样带来过多的负载(每台主机要到传输层才能判断广播
包是否要处理)

D类IP(网络地址的最高位必须为1110):组播地址!!!
组播地址的范围:224.0.0.0 ~ 239.255.255.255

224.0.0.0~224.0.0.255为预留的组播地址(永久组地址),地址224.0.0.0保留不做分配,其它地
址供路由协议使用;
224.0.1.0~224.0.1.255是公用组播地址,可以用于Internet;
224.0.2.0~238.255.255.255为用户可用的组播地址(临时组地址),全网范围内有效;
239.0.0.0~239.255.255.255为本地管理组播地址,仅在特定的本地范围内有效

步骤

发送端(client):

  • socket
  • sendto(),IP地址为组播地址

在这里插入图片描述
接收端(server):

  • socket
  • 加入组播组:setsockopt
  • bind
  • recvform

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值