[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RE: IPv6 address/port format (summary of valid chars)



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dwayne Litenberger wrote:
> On Tue, Jan 11, 2000 at 09:22:53AM +0800, Wang Hui wrote:
> >    I suggest that we use the symbol of `#' to seperate the 
> > IP address and  the port *number*.  Since `#' is mostly 
> > pronounced as `number'. :)) why not 3ffe:3216:2101::1#8080?
> Let's not use a widely-used comment character to introduce 
> bugs in our scripts.

Quick summary. We need a non alphanumeric symbol found on a standard
US Qwerty keyboard, and hopefully found on most keyboards worldwide.
Most cases are excluded due to overloading from unix(tm) like shells:
	:	it is in the IPv6 address, unless we use ::
	;	it separates unix(tm) commands in most shells
	#	it is a script comment in most shells
	|	it is a unix(tm) pipe in most shells
	~	it expands to user directoy in most shells
	&	it backgrounds unix(tm) processes in most shells
	<, >	it redirect in most unix(tm) shells
	$	it expands to a shell variable in several shells
	`	it is a subshell start token in most unix(tm) shells
	\	will cause escaping nightmares in most unix(tm) shells


This leaves us with:
	!	@	%	^
	*	=	+

I kind of like @:
	::ffff:127.0.0.1@80


So a URl would look like:
	http://::ffff:127.0.0.1@80/

And isf we can user service names (a la /etc/services):
	http://::ffff:127.0.0.1@www/

It also kind of makes sense as 'at port 80'. The only problem I can
see is perl - the @ array token needs to be escaped to \@ - but since
this is already the case with email addresses in perl, this should
not be too big a deal. We're not exactly reinventing the wheel here.
The only problem comes with user education - that when a novice sees
<something>@<something>, they currently think 'email'. Overloading
this may cause some confusion.

:: could be used if we obey the current rules for :: notation, and
:: add that a second :: is only acceptable at the end of an already
:: valid IPv6 address, and can only contain a port number or port
:: name:  

	::ffff:127.0.0.1::80 => '::ffff:127.0.0.1' port '80'

'::' can only currently appear once (I think). Hence a :: at the end
of an address needs to firstly make a valid IPv6 host address, or
host address and port. If there are no problems, then this will cause
the least amount of confusion with current users.

Yours,

- --
 James Bromberger, UWA Campus Wide Information Systems Officer (UWA
Webmaster)
 Work Ph:  +61-8-9380-7306              Work Fax: +61-8-9380-1162
 Remainder moved to
http://www.ucc.gu.uwa.edu.au/~james/james/sig.html

-----BEGIN PGP SIGNATURE-----
Version: PGPfreeware 6.5.1 for non-commercial use <http://www.pgp.com>
Comment: http://www.ucc.gu.uwa.edu.au/~james/

iQA/AwUBOHpEZwx4pH6kw0jXEQLkmACcCXGM4U5ZVe0HLPam1AXm79D6IvoAn20A
dQLv1zF0WUdvO4do/mY61r6G
=Sbk4
-----END PGP SIGNATURE-----


Reply to: