admin 管理员组

文章数量: 887021


2023年12月17日发(作者:server是啥意思啊)

网珞与通信就术China

Computer

&

Communication信息与电162021年第6期基于UDP协议的分布式通信设计与实现麻观胜(长江大学文理学院,湖北荆州434020

)摘

要:在数据传输网络中,实现分布式系统多端传输的方式有很多。笔者提出一种基于UDP协议的会话层多端会

话可靠传输方式(Multiterminal

session

UDP

),详细分析了多端会话可靠传输的报文首部、ARQ协议的选择确认机制

和多端拥塞控制,并设计一个多端会话可靠传输程序,希望能够为相关研究提供借鉴。关键词:用户数据报协议;UDP协议;多端会话;分布式通信中图分类号:TP393.

04

文献标识码:A

文章编号:1003-9767

(2021)

06-196-03Design

and

Implementation

of

Distributed

Communication

Based

on

UDP

ProtocolMA

Guansheng(Yangtze

University

College of

Arts

and

Sciences,

Jingzhou

Hubei

434020,

China)Abstract:

In

the

data

transmission

network,

there

are

many

ways

to

realize

the

multi-terminal

transmission

of

the

distributed

system.

The

author

proposes

a UDP-based

session

layer

multi-terminal

session

reliable

transmission

method

(Multiterminal

session

UDP), analyzes

in

detail

the

message

header

of

the

reliable

transmission

of

the

multi-terminal

session,

the

selection

confirmation

mechanism

of

the

ARQ

protocol

and

the

multi-terminal

congestion control, and

designs

a

multi-terminal

session

to

be

reliable

The

transmission

program,

hoping

to

provide

a

reference

for

related ds:

user

datagram

protocol;

UDP

protocol;

multterminal

session;

distributed communication1会话协议报文首部设计会话端有子会话端,如会话端1.1.0.0.0的子会话端ID

从1.1.1.0.0到1.1.255.0.0Z]。子会话端还可以拥有子会话端,

一个会话就由一个会话端和一个或多个子会话端组成的。会

话与会话端如图]所示。多端会话报文首部信息占用20个字节,保留TCP协议

的序列号、URG、ACK、PSH、SYN、FIN、窗口大小、紧

急指针和可选项。图2为多端会话可靠传输报文的首部信息。会话协议报文首部1

|

2

3

4

5

|

6

|

7

|

8

9

|

10 11

12

13

14115

16

17

会话id18

19

|

-

38

39 40首部序列号urg|ack|psh

rst

syn|

fin

|con|alw|dor|hbt

BRO

SEN

1

REP紧急指针窗口大小可选项数据数据区域图2会话协议报文作者简介:麻观胜(1998-),男,苗族,贵州铜仁人,本科。研究方向:计算机科学与技术。196

2021年第6期China

Computer

&

Communication信IB与电IE网絡与通信技求会话端ID占用5个字节,存储的是当前发送报文的会

会话退出与TCP协议的协议机制一样,只不过存储在数

话端ID。序列号占用5个字节,表示报文中的数据在传输过

程中的位置。URG、ACK、PSH、RST、SIN和FIN各占一位,

窗口大小占用3个字节,紧急指针占用2个字节,可选项占

据区域而已,REP为0,此时数据区域的SID代表当前的会话

端ID叫会话端也需要考虑端到端之间的停止等待,与TCP

协议的出现差错、确认丢失和确认迟到处理机制是一样的。用3个字节。CON确认位占一位大小,为1表示当前报文是

否需要确认。ALW长时会话位占一位大小,为1表示会话

会话报文的选择确认机制,是会话确认机制的核心部分,

会话端收到分组数据后会根据报文首部广播位转发分组数

据,转发的时候不会修改协议报文中的任何信息,如果需要

确认收到,会一直等待全部确认后才会确认收到。对不需要

是长时会话。DOR休眠位占1位,当ALW为1的时候DOR

才有用,DOR为0代表休眠会话端,DOR为1代表唤醒会

话端冈。HBT心跳位占]位,代表当前报文为心跳监控报文。确认收到的报文和确认收到的报文,直接提交数据按照会话

端ID分区,再按序列号进行排序叫BRO广播位占2位,0代表报文经过会话端时不需要转

发给其他会话端,1代表当前数据包只能在当前的会话传递,

不会转发给其他子会话,2代表数据报文经过当前会话只需

要转发给子会话端,3代表收到当前报文的会话端不仅要转

当会话端接收到传输数据的报文后,会根据数据报文的

先后顺序存储在滑动窗口中,会话端根据数据报文的广播位

发送数据,等滑动窗口能转发的数据报文被确认后,把数据

发给自己的父会话端,还要转发给自己的子会话端。SEN位

为请求类型报文的数据区域存储的信息类型,占用2位大小。

取出按照会话端ID和序列号对数据报文进行排序,最后把

排序好的报文提交给应用程序。如果当前报文广播不需要确

SEN为0的时候代表请求连接,数据区域存储的是当前会话

端的IP地址、接收数据端口号和会话端的ID信息,可以存

储多组{[IP:RPORT:SID],.....}信息,RPORT代表接收端的端

口号旳;为1代表数据区域存储的是传输数据;为2代表数

认,直接交给分区排序,尽最大努力排序然后提交。多端会话之间的拥塞控制方案主要考虑单个会话中的拥塞

情况,所有子会话端发送的数据报文会被父会话端接收,这些

窗口的值称为窗口建议值RWS

(Refer

Wndow

Size)

[8]o父会

据区域存储的数据包能被哪些会话ID接收,可以在数据区

域存储多组会话端ID{[SID1],[SID2],……}。话端会结合自身的滑动窗口剩余情况和网络中的阻塞情况在确

认报文中给所有子会话端一个不大于RWS最小值的实际窗口

REQ为响应类型数据区域存储的数据类型叫

大小MRWS

(Min

Real

Window

Size)

□所有自会话端发送数据

的实际大小就是MRWS值叫RWS和MRWS是一个动态变化

的数据,RWS的增长率—个大于1的常数,在独立判断网络

0代表请求连接第二步,可以存储多组授权会话端信息

{[ack:IP:RPORT:SID_l],……},

1代表数据报文确认信

息,一组确认信息包括SID:序列号,一个确认数据报文

拥塞情况后,把自身发送的RWS改成原来的一半。的数据区域可以同时存储多个确认分组的信息{[SID:序列

号],……},

2代表是,数据区域存储的是当前会话端信息

3多端会话可靠传输程序的实现采用面向对象开发语言Java进行开发,使用JDK8提

{[ack:IP:RPORT:SID],.......}。供的DatagramSoket进行接收和发送,会话通信传输模块

2多端会话可靠传输的原理会话端建立连接采用的是TCP协议的三次握手机制。如

udptransmission使用Maven打包成Jar,为其他程序提供会

话控制接口、注册监听器、过滤器及注册数据提交监听器。图3所示,会话A端加入会话B端后,SID为发送报文首部

程序主要分为3模块,即网络交互模块、会管理器模块、

会话端模块。网络交互模块的主要功能是注册端口,可用于

ID,加入会话就是修改会话端的ID。接收UDP协议报文和发送UDP协议报文,将数据报文解析

成特定的数据结构,并存储在接收数据队列中“切。网络交

互模块拥有两个端口,一个是接收数据端口,另一个发送数

据端口。会话管理器模块的主要功能包括读取数据接收数据

队列的数据、过滤数据报文、异步监听数据报文、向应用层图4会话管理器的工作流程197

网絡与盧信牧术China

Computer

&

Communication西安:西安电子科技大学,2014:46.信18与电1E2021年第6期会话端模块是处理会话报文的主要模块,拥有管理会话

信息、过滤数据协议报文、异步监听协议报文、拥塞控制、

首部数据处理、确认报文处理、滑动窗口、转发报文、确认

[4]王艳芳,戴永,刘东华,等.基于UDP的数据可靠传输技

术研究与应用[J]•计算机工程与应用,2010,46(3):105-108.报文、为不同端的数据报文排序和提交数据等功能阿。会话⑸周丽娟.基于UDP协议的Socket网络编程[J].电脑知识

与技术,200&4(34):1867-186&[6]

燕永新.一种基于UDP协议的即时通信系统的研究[D].

大连:大连海事大学,200&15.[7]

王继刚,顾国昌,徐立峰,等•可靠UDP数据传输协议的

研究与设计[J].计算机工程与应用,2006(15):113-116.[8]

鲍国超.基于UDP/IP的可靠用户数据报协议的设计与实

现[D],北京:华北电力大学,2004:34.[9]

芦东昕,张华强,王陈.基于UDP的可靠数据传递技术研

究[J].计算机工程,2003(22):62-63.[10]

鲁宏伟.基于UDP传输协议的包丢失和失序处理[J].计

4结语基于UDP协议的多端会话是一种基于计算机网络的会

算机工程与应用,2001(2):48-49.[11]

卓红艳,陈进,张家如.VC环境下基于UDP协议的分布

式实时监测系统的实现[J],兵工自动化,2008(12):85-86.话层应用技术,在消息传输的过程中不仅能保证消息传输的

一致性,还可以记录每一个加入会话端的会话IP。由于会话

报文拥有休眠、心跳监控等功能,能为分布式系统提供远程

[12]

张良春,龙鹏飞.基于UDP的高效通信机制的研究与应

用[J].微计算机信息,2011,27(12):100-101.通信服务。在客服端请求负载服务器的时候,负载服务器会

话端会转发给其他的会话端,由其他会话端对当前的客服端

[13]

刘玉军,姜美雷,徐万里,等.基于UDP协议的应用层实

时中间件[J].计算机工程与设计,2009,30(12):2930-2933.进行授权,引导客服端与当前会话端进行通信。[14]

丁黎颖,黄少冰.基于UDP协议的气象数据通信软件的

设计与实现[J].情报杂志,2011,30(6):146.参考文献[1]

谢希仁.计算机网络[M].北京:电子工业出版社,2017:325.[2]

黄文杰.基于UDP的可靠高效数据传输协议的研究[D],

北京:北京邮电大学,2019:157.[15]

王贞体.基于UDP协议的通信设备模拟器的设计与实

现:线程池,负载平衡机制在VC中的应用[J].金卡工

程,2005,9(3):36-39.[16]

李军显,陈春红,王晓宇.基于UDP的SAR回波分布式

仿真研究[J].计算机应用与软件,2012(2):142-144.⑶张恺.基于UDP的可靠文件传输协议的设计与实现[D].198


本文标签: 报文 数据 协议 确认 模块