计算机网络——应用层(4)DHCP和套接字编程

一、动态主机配置协议DHCP

1、关于协议配置:

  • 在协议软件中,给协议参数赋值的动作就叫协议配置
  • 一个协议软件在使用前必须已被正确配置,具体的配置信息取决于协议栈
  • 连接到互联网的计算机的协议软件需要正确配置的参数包括①IP地址;②子网掩码;③默认路由器的IP地址;④域名服务器的IP地址

2、DHCP

提供了即插即用连网机制:允许一台计算机加入网络获取IP地址而不用手工配置。它给运行服务器软件、且位置固定的计算机指派一个永久地址,给运行客户端的计算机分配一个临时地址。

3、DHCP的客户服务器方式

  • 需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文,这时该主机就成为HDCP客户。
  • 本地网络上所有主机都能收到此广播报文,但只有DHCP才能回答
  • DHCP服务器先在其数据库中查找该计算机的配置信息,找到的返回,找不到则从服务器的IP地址池中取一个地址分配给该计算机。回答报文叫提供报文

4、DHCP工作方式

  • 使用呵护服务器方式,采用请求/应答方式工作
  • 基于UDP,DHCP服务器在67号端口,HDCP客户端在68号端口

5、中继代理

并不是每个网络上都需要DHCP服务器,会导致服务器数量过多,若没有DHCP服务器,则每个网络至少有一个DHCP中继代理,它配置了DHCP服务器的IP地址信息

DHCP中继代理收到主机广播发送的发现报文后就以单播方式向DHCP服务器准发此报文,等待其回答。收到提供报文后中继代理将其发给主机。

6、租用期

  • DHCP服务器分配给DHCP客户的IP地址是临时的,因此DHCP客户只能在一段有限的时间内使用这个分配到的IP地址,这段时间就是租用期。
  • 租用期的数值应由DHCP服务器自己决定
  • DHCP客户可在自己发送的报文中提出对租用期的要求

二、套接字编程

1、什么是Socket:

又称为套接字,应用程序通常通过套接字向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。

在python中可以用socket()函数来创建套接字

2、套接字编程和UDP

UDP:在客户端和服务器之间没有连接

  • 没有握手
  • 发送端在每一个报文中明确指定目标的IP地址和端口号
  • 服务器必须从收到的分组中提取出发送端的IP地址和端口号

UDP套接字编程的概念是基于Socket套接字技术,通过创建UDP套接字来实现网络通信。UDP套接字编程的实现方法包括以下步骤:

  • 创建UDP套接字:使用socket库的socket()函数创建一个UDP套接字。
  • 绑定套接字:使用bind()函数将套接字绑定到指定的IP地址和端口号。
  • 接收数据:使用recvfrom()函数从套接字接收数据。
  • 发送数据:使用sendto()函数将数据发送到指定的目标地址。

3、套接字编程TCP

TCP套接字编程的概念是基于Socket套接字技术,通过创建TCP套接字来实现网络通信。TCP套接字编程的实现方法包括以下步骤:

  • 创建TCP套接字:使用socket库的socket()函数创建一个TCP套接字。
  • 绑定套接字:使用bind()函数将套接字绑定到指定的IP地址和端口号。
  • 监听连接:使用listen()函数开始监听连接请求。
  • 接受连接:使用accept()函数接受客户端的连接请求。
  • 接收数据:使用recv()函数从套接字接收数据。
  • 发送数据:使用send()函数将数据发送到连接的客户端。
相关推荐
DevSecOps选型指南3 小时前
2025软件供应链安全最佳实践︱证券DevSecOps下供应链与开源治理实践
网络·安全·web安全·开源·代码审计·软件供应链安全
ABB自动化3 小时前
for AC500 PLCs 3ADR025003M9903的安全说明
服务器·安全·机器人
努力学习的小廉3 小时前
深入了解linux系统—— 进程池
linux·运维·服务器
秃头菜狗4 小时前
各个主要目录的功能 / Linux 常见指令
linux·运维·服务器
利刃大大4 小时前
【在线五子棋对战】二、websocket && 服务器搭建
服务器·c++·websocket·网络协议·项目
国科安芯4 小时前
抗辐照MCU在卫星载荷电机控制器中的实践探索
网络·嵌入式硬件·硬件工程·智能硬件·空间计算
vfvfb4 小时前
bat批量去掉本文件夹中的文件扩展名
服务器·windows·批处理·删除扩展名·bat技巧
孤寂大仙v5 小时前
【计算机网络】非阻塞IO——select实现多路转接
linux·计算机网络
EasyDSS5 小时前
国标GB28181设备管理软件EasyGBS远程视频监控方案助力高效安全运营
网络·人工智能
玩转4G物联网5 小时前
零基础玩转物联网-串口转以太网模块如何快速实现与TCP服务器通信
服务器·网络·物联网·网络协议·tcp/ip·http·fs100p