[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference lassie::ucx

Title:DEC TCP/IP Services for OpenVMS
Notice:Note 2-SSB Kits, 3-FT Kits, 4-Patch Info, 7-QAR System
Moderator:ucxaxp.ucx.lkg.dec.com::TIBBERT
Created:Thu Nov 17 1994
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:5568
Total number of notes:21492

5483.0. "Cluster alias and socket Push flag questions" by OSLAGE::AGE_P (Aage Ronning, Oslo, Norway, (DTN 872-8464)) Mon May 05 1997 07:39

OpenVMS Alpha V7.1, UCX V4.1 or V4.2
-------------------------------------

This customer has ordered a AS4100 "SCSI"-cluster in one cabinet with MC and
dual Ethernet adapters in each system. The customer is developing client/server
sw to read/write data into an Oracle DB on these systems(OPS). They are looking
at the different ways to use UCX cluster alias to do this easier for them. I've
been scanning notes and documentation, but it seems a little unclear to me
what's alloweded and not, so please provide the exact rules.

Configuration:

   ------	------
  !      !     !      !
  !Node A!     !Node B!
  !      !     !      !
  !      !     !      !
   ------	------
   !    !       !    !
  A!   B!      C!   D!
   !    !_______!____^_________! Router_2 (ISDN,X25 etc.)
   !                 !
   !_________________!_____________ ! Router_1 (ISDN,X25 etc.)
    				    
The clients will connect through any of the routers.

Q1. Could A+B+C+D be in the same alias and if so are there any rules about 
    subnetting?

Q2. Could they have two different aliases: Alias_1 for A+B and Alias_2 for C+D
    and if so are there any rules about subnetting?

Q3. Could they have two different aliases: Alias_1 for A+D and Alias_2 for B+C
    and if so are there any rules about subnetting?

The last question has nothing to do with cluster alias, but the same customer
will write some programs using sockets. One system will write messages of
variable length and they would like to be sure that a READ in the other end
allways only reads that message and not a stream of data that could contain more
than ONE message. They are trying to use the push flag for this but are unable
to find how to set it.

Q4. How do they set the push flag in their program(Example?)

Q5. Will the push flag result in that only one message is read at the time or do
    they have to write code to split the different messages apart on the READ   
    side? 


\�ge
T.RTitleUserPersonal
Name
DateLines
5483.1Response???OSLAGE::AGE_PAage Ronning, Oslo, Norway, (DTN 872-8464)Wed May 07 1997 02:516
Could someone PLEASE answer some of my questions or tell me what's wrong with
the base note. I have a customer who expects Digital to know these answers and
wonder why it takes me so long to get the answers........

Regards,
�ge
5483.2some answersUTRTSC::KNOPPERSOswald KnoppersWed May 07 1997 03:4130
Not realy sure on your questions but...

A cluster alias (and in your case I guess you are talking about the
failover type op alias) is something you define on an interface.

>Q1. Could A+B+C+D be in the same alias and if so are there any rules about 
>    subnetting?

No.

>Q2. Could they have two different aliases: Alias_1 for A+B and Alias_2 for C+D
>    and if so are there any rules about subnetting?

No.

>Q3. Could they have two different aliases: Alias_1 for A+D and Alias_2 for B+C
>    and if so are there any rules about subnetting?

Yes, this is the way it works. In your case you have two ethernet rails, on
both rails you have an alias.

There are no specific rules for subnetting with regard to the alias.

About your other question. TCP/IP doesn't have the concept of messages
unlike DECnet (record oriented). With TCP you just send a stream of bytes
which is received as a stream of bytes.

Regards,

Oswald
5483.3PUSH flag?OSLAGE::AGE_PAage Ronning, Oslo, Norway, (DTN 872-8464)Wed May 07 1997 09:258
>>About your other question. TCP/IP doesn't have the concept of messages
>>unlike DECnet (record oriented). With TCP you just send a stream of bytes
>>which is received as a stream of bytes.

OK, but what's the PUSH flag used for? And how is that flag set?

\�ge
5483.4UTRTSC::KNOPPERSOswald KnoppersWed May 07 1997 09:4711
>OK, but what's the PUSH flag used for? And how is that flag set?

Sorry, no idea. But, from .0:

>One system will write messages of variable length and they would like to be
>sure that a READ in the other end allways only reads that message and not a
>stream of data that could contain more than ONE message.

I think there is NO way with TCP to garantee this...

Oswald
5483.5I second .4LADDIE::TIBBERTLee Tibbert, DTN 226-6115Wed May 07 1997 15:2625
>>One system will write messages of variable length and they would like to be
>>sure that a READ in the other end allways only reads that message and not a
>>stream of data that could contain more than ONE message.

>I think there is NO way with TCP to garantee this...

I second .4's opinion. There is a way to do it with UDP for short messages.

Relying upon what gets read in a given I/O is poor programming
practice.  The usual way is to place a higher level application
protocol on top of the TCP. Tag-Length-Value (TLV) protocols are
typical.  A basic data communications text would describe the
three major methods of blocking data (I mean that to be helpful,
not as a put down.)


These days, I'd take an very strong look at HTML. It is not the
end all and be all, but it is exceptionally versatile.  
Using a widely know, well exercised data transfer protocol saves
your customer all kinds of problems.  Protocol design is easy
to get wrong and hard to get right. People have spent
a long time getting HTML right (and it still has some problems,
but less than the alternatives.)

Lee