11-15-2012
Here is the packet by packet: A client sends a TCP syn bit packet from his socket to a listening socket on a server. The server sends a syn-ack packet back and sets up a connection filter to divert this clients packets to a child socket that is now considered possible 'connected' to the client, so the listener just gets new connection packets. Middle packets are just ack packets, as I recall. When idle, keep-alive packets are sent, to ensure timers do not expire saying there is a disconnect. Sometimes routers delete and fake these to reduce traffic! Either end could send a fin packet to close it, and expects a fin-ack packet back in response. If a code bit gets a stale socket, and asks for the peer name (remote ip and port), while the information is probably available, the fact that the connection is closed is deemed a more appropriate response -- no point beating a dead horse, as it were.
Last edited by DGPickett; 11-15-2012 at 06:47 PM..
This User Gave Thanks to DGPickett For This Post:
9 More Discussions You Might Find Interesting
1. Solaris
Someone who can help me. the following error occur, what does it mean, and any possible solution you can give.thanks
syslog: fp: NOTICE: fp(2): PLOGI to d5900 failed state=Packet Transport error , reason=No Connection (Database)
$cat /var/adm/messages
Nov 3 05:16:21 vfaus279 fp: ... (7 Replies)
Discussion started by: o_m_g
7 Replies
2. Shell Programming and Scripting
I'm not sure how to phrase this...
We currently have a server that we have to load a special kind of file onto, to do this we have a script that someone on my team wrote years ago called emm <file>. We recently added another server to our system, so every file that's added on one has to be added... (2 Replies)
Discussion started by: DeCoTwc
2 Replies
3. UNIX for Advanced & Expert Users
Dear Friends,
I am using Solaris 10 on Sun Sparc T5120 with 4 HDD(Raid).I am getting transport error in one of my mirrored HDD c1t2d0. Below is a screen shot. I have replaced the HDD with new one but still the same. Any one can help????
c1t2d0 Soft Errors: 0 Hard Errors: 0... (1 Reply)
Discussion started by: solaris5.10
1 Replies
4. Shell Programming and Scripting
Hi, my problem:
gzgrep "^.\{376\}8301685001120" filename /dev/null
###ERROR ###
grep: RE error 11: Range endpoint too large.
Whats my mistake?
Is the position 376 to large for grep???
Thanks. (2 Replies)
Discussion started by: Timmää
2 Replies
5. Solaris
I am trying to set up a two host cluster. trouble is with the cluster transport configuration.
i'm using e1000g2 and g3 for the cluster transport. global0 and global1 are my two nodes, and I am running the scinstall from global1.
i think i should be expecting, is this:
The following... (19 Replies)
Discussion started by: frustin
19 Replies
6. Solaris
what is the difference between softerrors,harderrors,transport errors? (3 Replies)
Discussion started by: tv.praveenkumar
3 Replies
7. Programming
i've made a simple program that change a string from lowercase to uppercase and from uppercase to lowercase. Server works until start client, after client run server give this error: "recv server fallita: Transport endpoint is not connected" why? i think that stream closed too soon or not? below... (1 Reply)
Discussion started by: tafazzi87
1 Replies
8. UNIX for Dummies Questions & Answers
Hi Unix experts,
I have a question regarding a disk failure seen in "iostat -Enm" output:
# iostat -Enm
c1t0d0 Soft Errors: 0 Hard Errors: 7 Transport Errors: 9
Vendor: FUJITSU Product: MAU3073NCSUN72G Revision: 0802 Serial No: 0514F005M0
Size: 73.40GB <73400057856 bytes>
Media... (5 Replies)
Discussion started by: dyavuzy1
5 Replies
9. Solaris
Hi Folks,
Here is one for the real Solaris aficionados on the site;
I have a T5240 and have to create an I/O domain with access to the serial port, in this case /dev/term/a and although I have been through the documentation I'm having some issues in identifying the device to assign.
What I... (2 Replies)
Discussion started by: gull04
2 Replies
LEARN ABOUT DEBIAN
explain_getpeername_or_die
explain_getpeername_or_die(3) Library Functions Manual explain_getpeername_or_die(3)
NAME
explain_getpeername_or_die - get name of peer socket and report errors
SYNOPSIS
#include <libexplain/getpeername.h>
void explain_getpeername_or_die(int fildes, struct sockaddr *sock_addr, socklen_t *sock_addr_size);
DESCRIPTION
The explain_getpeername_or_die function is used to call the getpeername(2) system call. On failure an explanation will be printed to
stderr, obtained from explain_getpeername(3), and then the process terminates by calling exit(EXIT_FAILURE).
This function is intended to be used in a fashion similar to the following example:
struct sockadd sock_addr;
socklen_t sock_addr_size = sizeof(sock_addr);
explain_getpeername_or_die(fildes, &sock_addr, &sock_addr_size);
fildes The fildes, exactly as to be passed to the getpeername(2) system call.
sock_addr
The sock_addr, exactly as to be passed to the getpeername(2) system call.
sock_addr_size
The sock_addr_size, exactly as to be passed to the getpeername(2) system call.
Returns:
This function only returns on success, see getpeername(2) for more information. On failure, prints an explanation and exits.
SEE ALSO
getpeername(2)
get name of connected peer socket
explain_getpeername(3)
explain getpeername(2) errors
exit(2) terminate the calling process
COPYRIGHT
libexplain version 0.52
Copyright (C) 2009 Peter Miller
explain_getpeername_or_die(3)