Transmission: Michael Lund, Ph.d. Student
Transmission: Michael Lund, Ph.d. Student
• Point-to-point networks:
– Many connections between individual computers. A packets is only received by
one computer
– Often multiple routes of different lengths are possible (so routing is
important) in point-to-point networks
• If two packets collide, the computer wait a random time and send
again
• Each Bit propagates around its own, not waiting for the rest of the
packet.
• Static allocation
– Time is divided into discrete intervals and a computer is only allowed
to broadcast when its time slot comes up.
– Time is wasted when computers have nothing to say.
• Dynamic allocation
– Can either be centralized or decentralized
– In Centralized allocation a specialized unit determines who goes next.
– In decentralized allocation there is not central regulation. All
computers must decide to transmit or not
– When a packet is sent from one router to another via one or more
intermediate routers, the packet is received at each
intermediate router in its entirety, stored there until the
required output line is free, and then forwarded.
• WLAN
• FWA
• GRPS
• Bluetooth
• IR
• Radio
• Satellites
Service
user
Service
provider
Principles:
Layer corresponds to abstraction. Each
layer has a well defined function. Layers
must aim towards standards. Minimal
information flow across interfaces. Each
Layer should have ONE function
• Function: make networks have virtual addresses, make the communication flow
• The network layer may handle protocol differences (to allow heterogeneous
networks to be connected).
• In Broadcasting networks the network layer is often thin (no routing problem)
• Basic property is to split data into smaller packets that may be handled by the network layer.
• Functions are:
• Permits hosts to inject packets into any network and have them
travel independently to the destination
• Major issues
– Packet routing
– Congestion control
• Bandwidth
• For a given connection, there’s a socket on each machine (as an abstraction can the connection be viewed as a
hypothetical “cable” running between the two machines with each end of the “cable” plugged into a socket).
The whole idea of the abstraction is that we don’t have to know more than is necessary.
• From the socket you get an InputStream and OutputStream (or, with the appropriate converters, Reader and
Writer).
• Once a client makes a socket connection, the ServerSocket returns a corresponding Socket through which
communications will take place on the server side (at this point you have a Socket to Socket connection). The
methods getInputStream( ) and getOutputStream( ) produce the corresponding InputStream and OutputStream
objects from each Socket. (These must be wrapped inside buffers and formatting classes just like any other
stream object)
• The system services reserve the use of ports 1 through 1024, so you shouldn’t use
those or any other port that you know to be in use.
telnet time-A.timefreq.bldrdoc.gov 13
• Client Program
– Create a socket
– Connect it to a server on a remote machine
– Use it to send/receive data to/from remote machine
– When done close socket
• Server Program
– Create a socket
– Bind it to a well known port on local machine
– Wait for clients
• Datagram
• Object Streams