Title: MSc WLAN, IP/TCP and COMM NETWORK Topics
1MSc WLAN, IP/TCP and COMM NETWORKTopics
By Prof R A Carrasco School of Electrical
,Electronic and Computer Engineering University
of Newcastle Upon Tyne
r.carrasco_at_ncl.ac.uk Ext 7332
2MSc WLAN, IP/TCP and COMM NETWORK
- References
- 1 Tanenbaum, Andrew S., Computer Networks,
Fourth Edition ed Pearson Education
International, 2003, ISBN 0-13-038488-7. - 2 Comer, Douglas E, Computer Networks and
Internets with Internet Applications, Third
Edition ed Prentice Hall, 2001, ISBN
0-13-091449-5. - 3 Peterson, Larry L. Davie, Bruce S.,
Computer Networks, A Systems Approach Morgan
Kaufman Publishers, 2000, ISBN 1-55860-577-0. - 4 Halsall, Fred, Data Communications, Computer
Networks and Open Systems Adison-Wesley
Publishing, 1995, ISBN 0-201-42293-X
3Internet and Protocols
- Advanced Research Projects Agency Network
(ARPAnet), 1969. - The protocols in the TCP/IP suite either use
transport control protocols (TCP) or - user datagram protocol (UDP) as the transport
protocol. - Low level functions such as File Transfer
Protocol (FTP), the Internet Terminal - Protocol (TELNET) and Electronic Mail (E-Mail),
remote logon. - IP is responsible for moving packets of data
from node to node. IP forwards each - packet based on a four byte destination address
(the IP number), different - organisation, IP operates on a gateway machine.
- TCP is responsible for verifying the correct
delivery of data from client to server. - TCP adds support to detect errors or lost data
to trigger retransmission until the - data is correctly and completely received.
- Sockets is a name given to the package of
subroutines that provide access to - TCP/IP on most systems
4- The Internet Protocol was developed to create a
Network of Networks (the - Internet). Individual machines are first
connected to a LAN (Ethernet or Token - Ring). TCP/IP shares the LAN with other users.
One device provides the TCP/IP - connection between the LAN and the rest of the
World.
- A Network consisting of two or more far-apart
LANs is a Wide Area Network (WAN)
- Typical Network consisting of Switches, Hubs and
Routers are intermediary - devices between clients and servers
5The Network Layer in the Internet
- The Internet can be viewed as a collection of
sub-networks or autonomous systems (AS) that are
connected together - There is not real structure, but several major
backbones exist - These are constructed from high-bandwidth lines
and fast routers - Attached to the backbones are regional networks,
and attached to these regional networks are LANs
(Universities, companies etc.) - The glue that holds the Internet together is the
network layer protocol, IP
6The Network Layer in the Internet
- The Internet transmits data by packet switching
using a standardised Internet Protocol (IP) - IP Datagram
- The header has a 20-byte fixed part and a
variable length optional part - It is transmitted in big edian order from left to
right with higher-order bit of the version field
going first
7(No Transcript)
8Ethernet hub is a device for connecting multiple
twisted pair or fibre Ethernet devices together.
9Ethernet bridge connects multiple network
segments at the data link layer ( layer 2 ) of
the OSI model.
http//netbook.cs.purdue.edu/anmtions/anim09_2.htm
10A router is a computer networking device that
forwards data across networks towards their
destination, through a process known as routing.
http//netbook.cs.purdue.edu/anmtions/anim09_3.htm
11Modem is a device that modulates an analogue
carrier signal to encode digital information and
also demodulate such a carrier signal to decode
the transmitted information.
12(No Transcript)
13Popular Wired LAN Standards
- High-Level Data Link Control (HDLC)
- Ethernet (IEEE 802.3)
- Token Bus (IEEE 802.4)
- Token Ring (IEEE 802.5)
14HIGH LEVEL DATA LINK CONTROL
15HIGH LEVEL DATA LINK CONTROL(2)
- Control Field of
- An information frame
- A supervisory frame
- An unnumbered frame
16PPP- Point to Point Protocol
Bytes
17Ethernet (IEEE 802.3)
- Bus Topology
- Carrier Sense Multiple Access with Collision
Detection (CSMA/CD) - 10 Bases denoting 10 Mbit/s
http//netbook.cs.purdue.edu/anmtions/anim06_1.htm
18Ethernet (IEEE 802.3)
19Ethernet (IEEE 802.3)
- PR Preamble
- SFD Start Frame Data
- DA Destination Address
- SA Source Address
- TYPE Type of data
- FCS Frame Checksum
20CSMA/CD MAC Protocol
- Station checks if there is data being currently
transmitted (carrier sense) - If no data is present, station begins to transmit
data - If two or more stations begin this process
simultaneously, there will be a collision of
frames - Station monitors its own receiver output and
compares with transmitted signal to detect when
this occurs (collision detection)
http//netbook.cs.purdue.edu/anmtions/anim06_2.htm
http//netbook.cs.purdue.edu/anmtions/anim06_5.htm
21CSMA/CD MAC Protocol
- If a collision is detected, the station aborts
the transmission and sends a jamming signal to
inform all other stations that a collision has
occurred - Transmitting stations that have caused the
collision wait a randomly generated time interval
before reattempting to transmit - This avoids step-lock in terms of retransmission
causing repeated collisions
22Capacity Calculations
A
B
?
delay
23Capacity Calculations
The maximum propagation delay to frame length
ratio
a ? / T
The figure above allows a new frame to be
transmitted immediately following the previous
one, giving a frame rate of 1/T frames/sec
24Capacity Calculations
- If, on average K retries are necessary before the
next frame can be transmitted (in a lightly
loaded network k0), then the average time for
transmitting one frame, tv, is given by - tv T ? 2?K
- T ?(1 2K)
- T 1 ?/T(1 2K) T1 a(12K)
Where a?/T
25Capacity Calculations
- The utilisation factor, U, of the transmission
medium is given by - U T/tv 1/(1a(12k))
- Let Pt be the probability constant for all
stations over all time that any particular
station wishes to transmit at the end of a
specific 2? collision detection interval - Pt 2 ?? ,(where ? is the rate of packets/s)
26Capacity Calculations
- For a successful event, one station transmits,
but n-1 stations do not - The probability of n successful transmissions p
is therefore given by - p nPt(1 - Pt)n-1
- It can be shown by differentiating p with respect
to Pt that the maximum value of the probability
Pt is - Pt 1/n
Where n is the number of stations
27Capacity Calculations
- Consequently the maximum value of p is given by
- pmax n ? 1/n(1 1/n)n-1 (1 1/n) n-1
- If n?8 then pmax ? 1/e where e 2.718
- At the end of a 2? collision detection interval,
a further collision occurs with probability 1-p,
while a successful transmission occurs with
probability P - Thus, a sequence of K collision intervals
occupying a time 2?K sec, occurs with
probability - P (k) p(1-p)K-1 at least one collision
occurring
28Capacity Calculations
- The average number of collisions is therefore
given by - k S?k1 kp(k) S?k1 kp(1-p) k-1
- From this it can be proven that k1/p, and we
obtain the limiting utilisation - U T/tv 1/(1a(12k))
- Umax 1 / (1a(12?2.718)) 1/(16.44a)
29Utilisation with different values for the a
parameter
a
a
30Ethernet OPNET Simulation
- Ethernet with 30 nodes is connected via coaxial
link in a bus topology - The bus is operating at 10Mbps
- collision detection interval 2?51.2µsec, data
frame length 1024 bytes
31Network Snapshot
32Utilization vs. Traffic Load
33Ethernet Exercises
- Problem A certain Ethernet system has a maximum
bus delay of 16 µsec, and operates with a bit
rate of 10 Mbit/sec. Each frame is 576 bits in
length. Determine the maximum utilisation factor
of the medium under collision conditions - For the system above, calculate the actual
capacity if there are 15 active stations, each
with an equal amount of data to transmit
34Token Ring (IEEE 802.5)
http//netbook.cs.purdue.edu/anmtions/anim06_4.htm
35Token Ring Frame Structures
- SD Start Delimited (1 octet)
- AC Access Control (1 octet)
- FC Frame Control (1 octet)
- DA Destination Address (2/6)
- FCS Frame Check (4)
- ED End Delimiter (1)
- FS Frame Status (1)
36Token Ring
37Token Ring
A removes the data frame
A generates data frame for station A
Busy Token
Free Token
38Capacity Calculations
- Empty Ring
- C Capacity (bits/sec)
- ? Propagation time around ring
- N Number of stations
- L Delay of L bits in each station on the ring
(station latency)
39Capacity Calculations
- The ring latency is given by
- TL ? (NL)/C
- The free token is 24 bits (3 bytes) in length,
thus the maximum waiting time, if no other
station is transmitting, is given by - Tmax,empty (24/C TL)
40Capacity Calculations
- Full Ring
- Consider a full ring, where all stations have
data to transmit - Each station can only transmit when it has the
token - If each frame is limited to M bytes, the
transmission time is - T 8M/C
- The maximum waiting time is
- Tmax, Full (N-1)(TTL)
41Capacity Calculations
- Exercise
- A 4Mbit/s ring has 50 stations, each with a
latency of 2 bits, the total length of the ring
is 2km, and the propagation delay of the cable is
5µs/km - Determine the maximum waiting time when the ring
is empty, and when all stations are transmitting.
A full frame is 64 bytes in length
42Capacity Calculations
- Loaded Ring
- Traffic load of ?i frame/sec
- T Time when transmitted on the ring for each
frame - Tc time interval elapsed before the free token
arrives - ti ?iTcT
43Capacity Calculations
- The maximum waiting time experienced by every
station on the ring Tc is given by - Tc TL SNi1 ti TL tc ?T
- Where ? SNi1 ?i
- Here the parameter ? represents the gross input
to the ring in frame/sec - Tc/TL 1 / (1-U) and U ?T
44Token Ring OPNET Simulation
45Token Ring Parameters
46Single Station
- Only one station has data to transmit
- MSDU size 1024 bytes
- Test under different Token Holding Timer (THT)
values, which specifies the maximum amount of
time a token ring MAC may use the token before
releasing it.
47Utilization vs. THT Duration
48Full Ring
- All stations have data to transmit
- Each station can only transmit when it has the
token - MSDU size 1024 bytes
49Utilization vs. THT Duration
50Tutorial Network Systems and Technologies by
Professor R. A. Carrasco
- 1) Describe the basic differences between a
wide area network and a local area network in
terms of - a) Structure
- b) Operation
-
- 2) The techniques of passing information
from node to node across a broadcast network
differ according to the type of configuration
employed. - Compare the methods used for bus and ring
networks. -
- 3) a) What is a baseband LAN?
- What is a broadband LAN?
- b) What are the advantages of using a star ring
architecture in a computer network? What are its
disadvantages? -
- 4) Describe the effects of a complete
failure of a node in the operation of the
following network configurations - a bus
- a ring
- a star
-
- 5) List the seven layers of the CCITT ISO
architecture for network communications. - a) Describe their function and justify the
existence of each one. - b) Which layers are essential to LAN
communications and why?
51- 6) Assuming HDLC protocol
- a) Distinguish between the normal response
mode and the asynchronous mode of working. How
are they defined in the HDLC frame structure? - b) How is flow control achieved through this
frame structure? -
- 7) Describe the function of the logical link
control and medium access control layers as
defined in the IEEE 802 standards and indicate
their relationship with the lower protocol layers
in the ISO seven-layer reference model. -
- 8) a) Describe the basic differences
between circuit switching, message switching and
packet switching. - b) Give examples of each switching technique.
Advantages and disadvantages of switching
techniques. - c) For packet switching technique give an
example. How will the network handle stream of
packets? -
- 9) i) Discuss IEEE 802 standards and frame
format for CSMA/CD, token bus, token ring, 802.2
(logical link control), 802.3, 802.4 and 802.5
standards. - ii) Briefly discuss the comparison of 802.3,
802.4 and 802.5 standards. -
- 10) Imagine two LAN bridges, both connecting a
pair of 802.4 networks. The first bridge is faced
with 1000 512-byte frames per second that must
be forwarded. The second is faced with 200
4096-byte frames per second. Which bridge do you
think will need the faster CPU? Discuss. -
- 11) Suppose that the two bridges of the previous
problem each connected an 802.4 LAN to an 802.5
LAN. Would that change have any influence on the
previous answer? -
52- 12) A bridge between an 802.3 LAN and an 802.4
LAN has a problem with intermittent memory
errors. Can this problem cause undetected errors
with transmitted frames, or will these all be
caught by the frame checksums? -
- 13) A large FDDI ring has 100 stations and a
token rotation time of 40 msec. The token holding
time is 10 msec. What is the maximum achievable
efficiency of the ring?
53(No Transcript)
54- The Internet uses almost exclusively TCP for
layer 4 and IP for layer 3 - Clients and servers typically implement all of
the seven OSI layers whilst - hubs and switches are only aware of MAC
addresses - Routers are aware of network address (IP
addresses), a layer 3 switch is really - a fast router
- Routing protocols differ from routed protocols
since they dynamically determine - routing and the route taken by one packet can
be different to that of another - packet taking place in the same transaction.
- Transmission Control Protocol (TCP) is a
transport layer protocol layered on top - of IP and below the application layer SMTP,
Telnet, FTP, HTTP(web) etc.
55- Transmission Control Protocol (TCP)
- (RFC 793)
- Van Jacobsons algorithm
- Karns algorithm
- Nagles Algorithm
56(No Transcript)
57IEEE 802.x, TCP/IP and ISO/OSIArchitecture
Comparison
IEEE 802.x
58(No Transcript)
59(No Transcript)
60 IP
- The IP is the internetworking protocol that
offers a service with the following
characteristics - It is connectionless, so units of network layer
data protocol ,denominated datagram in the IP
context, are dealt with in an individual way from
the source host up to the destination host - It is not reliable. The data-grams can be lost,
duplicated, or disordered, and the network does
not detect or report this problem
http//netbook.cs.purdue.edu/anmtions/anim17_1.htm
61IP OPNET Simulation
IP Cloud Model Packet Discard Ratio
1.0 Packet Latency (secs) Exponential (0.5)
62Results
63(No Transcript)
64 IP Header format
- The version field keeps track of which version of
the protocol the datagram belongs to. - Hlen is provided to tell how long the header is
in 32-bit words - The type of service field allows the host to tell
the subnet what kind of service it wants. Various
combinations of reliability and speed are
possible. The three flag bits allow the host to
specify what it cares most about from the net
delay, throughput, reliability - The total length includes everything in the
datagram both header and data
65IP Header Format
- The identification field is needed to allow the
destination host to determine which datagram a
newly arrived fragment belongs to. All the
fragments of a datagram contain the same
identification value - DF Dont Fragment
- MF More Fragment
- The fragment offset tells where in the current
datagram this fragment belongs - The time to live field is a counter used to limit
packet lifetimes - The protocol field tells it which transport
process to give it to, TCP, UDP and some others -
66IP Header Format
- The header checksum verifies the header only.
Checksum is useful to detecting errors generated
by bad memory words inside a router - The source address and destination address
indicate the network number and host numbers - The option field was designed to provide an
escape to allow subsequent version of the
protocol to include information not present in
the original design
Option
Description
Security
Specifies how secret the datagram is
Strict source routing
Gives the complete path to be followed
Loose source routing Record route Timestamp
Gives a list of routers not to be missed Makes
each router append its IP address Makes each
router append its address and timestamp
67Fragmentation
- The IP-level datagram must be encapsulated in a
lower network level packet to travel in the
network - The rules for the fragmentation are as follows
- The size of the resulting fragments must be a
multiple of an octet so that the data
displacement records, offset, within the datagram
are done correctly - The size of the fragments are freely chosen
- The gateway must accept datagram with a greater
size than that of the network they are connected
to. This is so larger datagram can be admitted to
the network - The host and gateways must handle datagram larger
than 576 octets
68http//netbook.cs.purdue.edu/anmtions/anim16_1.htm
69(No Transcript)
70(No Transcript)
71(No Transcript)
72(No Transcript)
73ARP Address Resolution Protocol
- The IP packet are sent encapsulated in LAN or WAN
frame such as Ethernet, token ring or ATM - Q. How does the host needs to know the correct
Ethernet destination address to put in the frame? - EtherDes EtherSour length IP header Payload
- A. It uses ARP to map from the IP destination
address to the Ethernet destination address
http//netbook.cs.purdue.edu/anmtions/anim15_1.htm
74ARP cont
- The host broadcasts an APR request packet which
contains the IP address of the required station - The station which has that IP address replies
directly (unicast) returning the correct IP
address - Now the IP packet can be sent directly to the
correct Ethernet address
75Reverse Address Resolution Protocol (RARP)
- Allows a station to determine its IP address from
its hardware address - A server can be configured to respond to RARP
request automatically allocating IP address
across the network - Not used much nowadays, replaced instead by more
powerful auto configuration protocols such as
DHCP (Dynamic Host Configuration Protocol)
76Dynamic Host Configuration Protocol DHCP
- Allows a client to be configured automatically
over the network. - Means that machines do not have to have
configured by hand - New machines can be added to the IP network more
easily - Less chance of error (for example duplicate IP
addresses being configured)
77Domain Name Service DNS
- IP addresses are very difficult to remember
- DNS translates easier to remember text names
www.soc.ncl.ac.uk - into IP address 128.10.20.30
- When a host requires a domain name translation it
makes the request to its local Domain Name Server
78Domain Naming
- Each name in DNS can be split up a series of
domains - E.g. www.soc.ncl.ac.uk
- ukdomain of the UK
- ac.uk academic domain within the UK
- ncl.ac.ukNewcastle University domain within UK
academic - soc.ncl.ac.uk School of computing domain within
Newcastle University within UK academic
79Domain Name Servers
- Each domain name server is responsible domain
- The first request will go to the server which is
the local machine domain - DNS server can react in 3 different way
- -DIRECT just send back the correct IP
address - -RECURSIVE if it doesnt know the IP address make
a request to another DNS server for the IP
address then send back the IP address - -INDIRECT send back the IP address of another DNS
server
80- The change from IPv4 to IPv6 falls primarily
into the following categories - Expanded Addressing Capabilities
- IP address size from 32 bits to 128
- Header format simplification
- Improved support for extensions and options
- Flow labelling capability
- Authentication and privacy capabilities
-
81IPv6 extension headers
82Order of extension headers for IPv6
83Option header formats
Hop-by-hop extension IPv6 options header
Routing Extension IPv6 header
84Routing type 0 header
85Fragment extension IPv6 header
TCP and UDP pseudo-header for IPv6
86TCP Transmission Control Protocol
- Services
- -Guarantees end to end delivering of packets
- -Control the flow of data from host to host and
host into the network - -Multiplexing, the TCP header has a port number
which is used to determine which application
should receive the packet
http//netbook.cs.purdue.edu/anmtions/anim20_1.htm
87TCP Datagram Format, RFC 793
88TCP Client Ports
- Q. If you have a computer running an e-mail
package, 2 web browsers (e.g. Netscape and IE)
how does the compute know when a TCP/IP packet
arrives which application should receive the
packet? - A. Each application sets up its connection using
a different port number, when the replies come
back from the server the port number is used to
send the packet to the current connection.
89TCP SERVER PORTS
- The server must respond to client requests
- Q. How does the client know which port to send
its request to? - A. Well known port numbers are assigned to
particular services
90TCP Error control
- The acknowledgment (ack) and sequence number
fields are used to guarantee delivery of packets
to the destination - For each packet sent out an ack must be sent
back. - If no ack is sent back within a certain time the
packet is sent again. - Each new packet to be transmitted is allocated a
new sequence no. the returning ack no. informs
the sender of the next expected sequence no. - The sequence no. is used to keep the packets in
order
http//netbook.cs.purdue.edu/anmtions/anim20_5.htm
91TCP flow control
- The window size field is used by the receiver to
control the flow of packets from the sender. - If the receiver sets the window size to 400 the
sender is only allowed to send 400 bytes before
stopping. - The receiver can stop the sender by setting the
window size to 0
http//netbook.cs.purdue.edu/anmtions/anim20_3.htm
http//netbook.cs.purdue.edu/anmtions/anim20_3.htm
92TCP congestion control
- TCP uses a slow start algorithm to initially
limit a new connections bandwidth. - This is so that the connection does not overload
the network infrastructure - TCP increases the flow of data into the network
until an ack timeout occurs it will then cut back
93TCP OPNET Simulation
A packet loss
A packet loss
TCP Reno (Fast recovery)
TCP Tahoe
94UDP User Datagram Protocol
- Services
- -provides port allocations the same as TCP
- -does NOT guarantee delivery
- -does not guarantee sequencing
- -useful when speed is more important than
reliability e.g. Internet telephony
95User Datagram Protocol (UDP), RFC 768
- Source Port
- Destination Port
- Length Field
- The Checksum
- Internet Protocol IP
- RFC 791, RFC 792, RFC 826
- IPv4, IPv6
96Applications of UDP
- Appropriate when
- - transport layer overhead must be minimized
or - - data reliability is not crucial
- - Services such as NFS, DNS, SNMP and Voice
over IP (VoIP) use UDP
97Sockets
Applications
Socket references
UDP sockets
TCP sockets
Sockets bound to ports
1
2
1
2
TCP ports
UDP ports
65535
65535
TCP
UDP
IP
- A socket allows applications to send and receive
data. - It allows an application to connect to a network
and communicate with other - applications on that network
- Stream sockets use TCP as the end-to-end
protocol with IP underneath - Datagram sockets use UDP end-to-end with IP
underneath - A TCP/IP socket is uniquely identified by an
Internet address, type of protocol and - a port number
98Relationship of Socket Classes
UdpClient Class
TcpClient Class
TcpListener
.NET Framework Classes
Socket Class
Underlying Implementation
WinSock 2.0 Implementation
- WinSock was developed by Microsoft and provides
standard socket functions. - The .NET framework provides higher level classes
to simplify programming tasks. - The .NET socket class allows access to the
underlying sockets interface. - TcpListener, TcpClient and UdpClient are higher
level .NET socket classes that are implemented - using the .NET Socket wrapper class.
99TCP Sockets
- The .NET framework provides two classes for TCP
TcpClient and TcpListener - .NET uses the EndPoint class and IPEndPoint
subclass to represent the TCP channel. - Communication with a TCP client is initiated in
three steps - Construct an instance of TcpClient
- Communicate using the sockets stream
- Close the connection
100TCP Client and Echo server in C
- 0. using System //For string, Int32, Console,
ArgumentException - 1. using System.text //For Encoding
- 2. using System.IO //For IOException
- 3. using System.Net.Sockets //For TcpClient,
NetworkStream, SocketException - 4.
- 5. class TcpEchoClient
- 6.
- 7. static void Main(string args)
- 8.
- 9. if ((args.Length lt 2) (args.Length gt 3))
// Test for correct no of args - 10. throw new ArgumentException(Parameters
ltServergt ltWordgt ltPortgt) - 11.
- 12.
- 13. String server args0 // Server name or IP
address - 14.
- 15.// Convert input String to bytes
- 16. byte byteBuffer Encoding.ASCII.Getbytes(ar
gs1) - 17.
- 18. //Use port argument if supplied, otherwise
default to 7
101TCP Client and Echo server in C
- 21. TcpClient client null
- 22. NetworkStream netStream null
- 23.
- 24. try
- 25. // Create socket that is connected to server
on specified port - 26. client new TcpClient(server, servPort)
- 27.
- 28. Console.WriteLine(Connected to server
sending echo string) - 29.
- 30. netStream client.GetStream()
- 31.
- 32. // Send the encoded string to the server
- 33. netStream.Write(byteBuffer, 0,
byteBuffer.Length) - 34.
- 35. Console.WriteLine(Sent 0 bytes to
server, byteBuffer.Length) - 36.
- 37. int totalBytesRcvd 0 // Total bytes
received so far - 38. int bytesRcvd 0 // Bytes received in last
read - 39.
102TCP Client and Echo server in C
- 40. //Receive the same string back from the
server - 41. while(totalBytesRcvd lt byteBuffer.Length)
- 42. if((bytesRcvd netStream.Read(byteBuffer,
totalBytesRcvd, byteBuffer.Length
totalBytesRcvd)) 0) - 43. Console.WriteLine(Connection closed
prematurely.) - 45. break
- 46.
- 47. totalBytesRcvd bytesRcvd
- 48.
- 49.
- 50. Console.WriteLine(Received 0 bytes from
server 1, totalBytesRcvd, - 51. Encoding.ASCII.Getstring(byteBuffer, 0,
totalBytesRcvd)) - 52.
- 53. catch (Exception e)
- 54. Console.WriteLine(e.Message)
- 55. finally
- 56. netStream.Close()
- 57. client.Close()
- 58.
- 59.
103TCP Client and Echo server in C
- Lines 15-16 convert the echo string to bytes
- Line 19 finds the echo server port
- Lines 25-26 create the TCP socket
- Line 30 gets the socket stream
- Lines 32-33 send the string to the echo server
- Line 40-48 receive the reply from the echo server
- Lines 50-51 print the echoed string
- Lines 53-54 handle errors
- Lines 55-58 close the stream and socket
104UDP Sockets
- The .NET framework provides UDP sockets
functionality using the class UdpClient. This
allows for both sending and receiving UDP
packets, and can be used to construct a UDP
client and server. - The UDP client works in the following way
- Construct an instance of UdpClient
- Communicate using the Send() and Receive()
methods of UdpClient - Use the Close() method of UdpClient to deallocate
the socket.
105UDP Client and Echo Server in C
- 0. using System //For String, Int32, Console
- 1. using System.Text //For Encoding
- 2. using System.Net //For IPEndPoint
- 3. using System.Net.Sockets //For UdpClient,
SocketException - 4.
- 5. class UdpEchoClient
- 6.
- 7. static void Main(string args)
- 8.
- 9. if((args.Length lt 2) (args.Length gt 3))
// Test for correct no of args - 10. throw new System.ArgumentException(Parameter
s ltServergt ltWordgt ltPortgt) - 11.
- 12.
- 13. String server args0 // Server name or
IP address - 14.
- 15. // Use port argument if supplied, otherwise
default to 7 - 16. int servPort (args.Length 3) ?
Int32.Parse(args2) 7 - 17.
- 18. // Convert input String to an array of bytes
106UDP Client and Echo Server in C
- 23 try
- 24. // Send the echo string to the specified
host and port - 25. client.Send(sendPacket,
sendPacket.Length, server, servPort) - 26.
- 27. Console.WriteLine(Sent 0 bytes to
the server, sendPacket.Length) - 28.
- 29. // This IPEndPoint instance will be
populated with the remote senders endpoint
information after the Receive() call - 30. IPEndPoint remoteIPEndPoint new
IPEndPoint(IPAddress.Any, 0) - 31.
- 32. // Attempt echo reply receive
- 33. byte rcvPacket client.Receive(ref
remoteIPEndPoint) - 34.
- 35. Console.Writeline(Received 0 bytes
from 1 2, rcvPacket.Length,
remoteIPEndPoint, - 36. Encoding.ASCII.Getstring(rcvPacket, 0,
rcvPacket.Length)) - 37.
- 38. catch (SocketException se)
- 39. Console.WriteLine(se.ErrorCode
se.Message) - 40.
- 41.
107UDP Client and Echo Server in C
- Lines 21-22 create the UDP socket
- Lines 24-25 send the datagram
- Lines 29-30 create a remote IP end point for
receiving - Lines 32-33 handle datagram reception
- Lines 35-36 print reception results
- Line 42 closes the socket
108Voice over IP (VoIP)
- VoIP is the routing of voice signals over an
IP-based network. - The analogue voice signal is converted to a
digital signal. - The digital signal is compressed using a codec
(G.7xxx for voice, H.26xx for video) - The digital signal is then split into packets by
a process called Packetization
109Voice over IP (VoIP)
- Advantages
- Incoming calls can be routed to a VoIP phone
anywhere on the network - Lower cost especially for international calls
- Disadvantages
- Received IP packets can arrive in any order or
even be missing resulting in poor QoS. - Susceptible to power cuts
110Voice over IP Protocols
Audio/Video Applications
RTSP
ENUM
Codecs G.xxx, H.26x
SDP
RSVP
MEGACO/ H.248
DNS
SAP
RTCP
MGCP
SIP
RTP
H.323
TCP
UDP
IP
Network Interface Layer Protocols
111Protocols supporting VoIP
- Multicast IP
- Real-Time Transport Protocol (RTP)
- Real-Time Control Protocol (RTCP)
- Resource Reservation Protocol (RSVP)
- Real-Time Streaming Protocol (RTSP)
- Session Description Protocol (SDP)
- Session Initiation Protocol (SIP)
- Electronic Numbers (ENUM)
112Protocols supporting VoIP
- Multicast IP efficiently sends data to multiple
receivers at the same time on TCP/IP networks. - RTP provides end-to-end delivery services for
data that requires real-time support. - RTCP monitors the QoS and conveys information
about each user in the communication session. - RSVP requests an appropriate level of service
from the network. - RTSP controls the delivery of data that has
real-time properties. - SDP describes a multimedia session for the
purposes of session announcement and invitation.
113Protocols supporting VoIP
- SIP establishes a communication session between
two end-points. It creates, modifies and
terminates sessions between participants. - ENUM bridges the gap between telephone numbers
and IP addresses.
114Real-Time Transport Protocol (RTP)
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
Bits
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4
5 6 7 8 9 0 1
P
X
CC
M
PT
Sequence Number
V2
Timestamp
Synchronisation Source (SSRC) Identifier
Contributing Source (CSRC) Identifier (0 to 15
items)
20 ms Voice Sample
- V Version (currently 2)
- CC CSRC Count. Counts the number of CSRC
identifiers in the RTP header - CSRC Identifies contributing sources
(conferencing) in the payload. There can only be
a - maximum of 15 contributing sources. These are
inserted by a mixer. - SSRC Identifies synchronisation sources. It is
chosen randomly so that two or more - synchronisation sources in the same RTP
session have the same SSRC identifier. -
115Voice over IP Packet Format
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
Bits
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4
5 6 7 8 9 0 1
VER
IHL
Type of service
Total Length
IPv4 Header 20 octets Options Padding
Identifier
Fragment Offset
Flags
Time to live
Protocol
Header Checksum
Source Address
Destination Address
Options Padding
Source Port
Destination Port
UDP Header 8 Octets
Length
Checksum
V2
P
X
CC
M
PT
Sequence Number
Timestamp
Synchronisation Source (SSRC) Identifier
RTP Header 12 octets Identifiers
Contributing Source (CSRC) Identifier (0 15
items)
20 ms Voice Sample
Data 20 octets
116References
- TCP/IP Illustrated, Volume 1, The Protocols, W.
Richard Stevens, Addison-Wesley Professional
Computing Series, 1994 - TCP/IP Sockets in C, Practical Guide for
Programmers, David B. Makofske, Michael J.
Donahoo, Kenneth L. Calvert, The Practical Guide
Series, Elsevier, 2004 - Voice over IP Technologies, Building the
Converged Network, Mark A. Miller, MT Books,
2002
117Tutorial Sheet Network Systems and
Technologies by Prof R. A. Carrasco
- 1) What is the principal difference between
connectionless communication and
connection-oriented communication? -
- 2) Two networks each provide reliable
connection-oriented service. One of them offers a
reliable byte stream and the other offers a
reliable message stream. Are these identical? If
so, why is the distinction mode? If not, give an
example of how they differ. -
- 3) What are two reasons for using layered
protocols? -
- 4) Give two example applications for which
connection-oriented service is appropriate. Now
give two examples for which connectionless
service is best. -
- 5) Are there any circumstances when a
virtual circuit service will (or at least should)
deliver packets out of order? Explain. -
- 6) Datagram subnets route each packet as a
separate unit, independent of all others. Virtual
circuit subnets do not have to do this, since
each data packet follows a predetermined route.
Does this observation mean that virtual circuit
subnets do not need the capability to route
isolated packets from an arbitrary source to an
arbitrary destination? Explain your answer. -
- 7) What does negotiation mean when
discussing network protocols? Give an example of
it. -
118- 8) Give three examples of protocol
parameters that might be negotiated when a
connection is set up. -
- 9) Discuss the advantages and disadvantages
of message switching over circuit switching and
performance comparison. -
- 10) Discuss the advantages/disadvantages of
packet switching over circuit switching (and
performance comparison) -
- 11) Discuss the characteristics and medium
access control techniques of Broadcast Networks. -
- 12) Describe the routing functions attributes
and their elements. -
- 13) Describe the following routing strategies
- Fixed Routing
- Flooding
- Random Routing
- Adaptive Routing
119Wireless LANs
- Advantages
- Increased mobility of users
- Increased flexibility and fluidity, including
ad-hoc networks - Instant networking
- Availability of LAN technology
120Wireless LANs
- Disadvantages
- Higher Cost
- Lower Performance
- Lower Reliability (Variable Channel
Characteristics) - Multiple Standards
- Poor Inherent Security
121LAN Design
122(No Transcript)
123(No Transcript)
124(No Transcript)
125(No Transcript)
126(No Transcript)
127(No Transcript)
128IEEE 802.11 Wireless LAN Draft Standard
129Introduction
- IEEE 802.11 Draft 5.0 is a draft standard for
Wireless Local Area Network (WLAN) communication. - This tutorial is intended to describe the
relationship between 802.11 and other LANs, and
to describe some of the details of its operation. - It is assumed that the audience is familiar with
serial data communications, the use of LANs and
has some knowledge of radios.
130802.11 Data Frame
Bytes
2
2
6
6
4
6
2
6
0-2312
Address 1
Frame Control
Check- sum
Seq
Duration
Address 2
Address 3
Address 4
Data
Bits
2
2
4
1
1
1
1
1
1
1
1
To DS
From DS
Re- try
Version
Type
Subtype
Pwr
More
Frame Control
MF
W
O
131Contents
- Glossary of 802.11 Wireless Terms
- Overview
- 802.11 Media Access Control (MAC)
- Frequency Hopping and Direct Sequence Spread
Spectrum Techniques - 802.11 Physical Layer (PHY)
- Security
- Performance
- Inter Access Point Protocol
- Implementation Support
- Raytheon Implementation
132Glossary of 802.11 Wireless Terms
- Station (STA) A computer or device with a
wireless network interface. - Access Point (AP) Device used to bridge the
wireless-wired boundary, or to increase distance
as a wireless packet repeater. - Ad Hoc Network A temporary one made up of
stations in mutual range. - Infrastructure Network One with one or more
Access Points. - Channel A radio frequency band, or Infrared,
used for shared communication. - Basic Service Set (BSS) A set of stations
communicating wirelessly on the same channel in
the same area, Ad Hoc or Infrastructure. - Extended Service Set (ESS) A set BSSs and wired
LANs with Access Points that appear as a single
logical BSS.
133Glossary of 802.11 Wireless Terms, cont.
- BSSID ESSID Data fields identifying a
stations BSS ESS. - Clear Channel Assessment (CCA) A station
function used to determine when it is OK to
transmit. - Association A function that maps a station to
an Access Point. - MAC Service Data Unit (MSDU) Data Frame passed
between user MAC. - MAC Protocol Data Unit (MPDU) Data Frame passed
between MAC PHY. - PLCP Packet (PLCP_PDU) Data Packet passed from
PHY to PHY over the Wireless Medium.
134Overview, IEEE 802, and 802.11 Working Group
- IEEE Project 802 charter
- Local Metropolitan Area Networks
- 1Mb/s to 100Mb/s and higher
- 2 lower layers of 7 Layer OSI Reference Model
- IEEE 802.11 Working Group scope
- Wireless connectivity for fixed, portable and
moving stations within a limited area - Appear to higher layers (LLC) the same as
existing 802 standards - Transparent support of mobility (mobility across
router ports is being address by a higher layer
committee)
135Overview, IEEE 802.11 Committee
- Committee formed in 1990
- Wide attendance
- Multiple Physical Layers
- Frequency Hopping Spread Spectrum
- Direct Sequence Spread Spectrum
- Infrared
- 2.4GHz Industrial, Scientific Medical shared
unlicensed band - 2.4 to 2.4835GHz with FCC transmitted power
limits - 2Mb/s 1Mb/s data transfer
- 50 to 200 feet radius wireless coverage
- Draft 5.0 Letter Ballot passed and forwarded to
Sponsor Ballot - Published Standard anticipated 1997
- Next 802.11 - November 11-14, Vancouver, BC
- Chairman - Victor Hayes, v.hayes_at_ieee.org
136Overview, 802.11 Architecture
ESS
Existing Wired LAN
AP
AP
STA
STA
STA
STA
BSS
BSS
Infrastructure Network
STA
STA
Ad Hoc Network
Ad Hoc Network
BSS
BSS
STA
STA
137Overview, Wired vs. Wireless LANs
- 802.3 (Ethernet) uses CSMA/CD, Carrier Sense
Multiple Access with 100 Collision Detect for
reliable data transfer - 802.11 has CSMA/CA (Collision Avoidance)
- Large differences in signal strengths
- Collisions can only be inferred afterward
- Transmitters fail to get a response
- Receivers see corrupted data through a CRC error
138802.11 Media Access Control
- Carrier Sense Listen before talking
- Handshaking to infer collisions
- DATA-ACK packets
- Collision Avoidance
- RTS-CTS-DATA-ACK to request the medium
- Duration information in each packet
- Random Backoff after collision is determined
- Net Allocation Vector (NAV) to reserve bandwidth
- Hidden Nodes use CTS duration information
139802.11 Media Access Control, cont.
- Fragmentation
- Bit Error Rate (BER) goes up with distance and
decreases the probability of successfully
transmitting long frames - MSDUs given to MAC can be broken up into smaller
MPDUs given to PHY, each with a sequence number
for reassembly - Can increase range by allowing operation at
higher BER - Lessens the impact of collisions
- Trade overhead for overhead of RTS-CTS
- Less impact from Hidden Nodes
140802.11 Media Access Control, cont
- Beacons used convey network parameters such as
hop sequence - Probe Requests and Responses used to join a
network - Power Savings Mode
- Frames stored at Access Point or Stations for
sleeping Stations - Traffic Indication Map (TIM) in Frames alerts
awaking Stations
141802.11 Protocol Stack
Upper Layers
Logical Link Control
Data Link Layer
MAC Sub- layer
802.11 Infrared
802.11 FHSS
802.11 DSSS
802.11a OFDM
802.11b HR-DSSS
802.11g OFDM
Physical Layer
142Performance of IEEE802.11b
MAC Header 30 Bytes
CRC 4 Bytes
Data
MPDU
DIFS
Backoff
PLCP Preamble
PLCP Header
SIFS
PLCP Preamble
Ack 14 Bytes
Header
MPDU
143Performance of IEEE802.11b
- Successful transmission of a single frame
- PLCP physical layer convergence protocol
preamble
Header transmission time (varies according to the
bit rate used by the host
SIFS 10 ?sec (Short Inter Frame Space) is the
MAC acknowledgement transmission time (10 ?sec
if the selected rate is 11Mb/sec, as the ACK
length is 112 bits
144Performance of IEEE802.11b
is the frame transmission time, when it
transmits at 1Mb/s, the long PLCP header is used
and
If it uses 2, 5.5 or 11 Mb/s, then the short PLCP
header can be optionally used
145Performance of IEEE802.11b
- For bit rates greater than 1Mb/s and the frame
size of 1500 Bytes of data (MPDU of total 1534
Bytes), proportion p of the useful throughput
measured above the MAC layer will be
- So, a single host sending long frames over a
11Mb/s radio channel will have a maximum useful
throughput of 7.74Mb/s
146Performance of IEEE802.11b
- If we neglect propagation time, the overall
transmission time is composed of the transmission
time and a constant overhead
Where the constant overhead
147Performance of IEEE802.11b
- For N hosts, assuming that multiple successive
collisions are negligible, the proportion of
collisions experienced for each packet
successfully acknowledged at the MAC is given by
148Performance of IEEE802.11b
- The overall frame transmission time experienced
by a single host when competing with N 1 other
hosts has to be increased by time interval tcont
that accounts for the time spent in contention
procedures
149Performance of IEEE802.11b
- N stations, mean wait interval per transmission
- Backoff interval is doubled when a collision
occurs
150Performance of IEEE802.11b
- So the overall transmission time
proportion p of the useful throughput measured
obtained by a host
151Performance Anomaly of IEEE802.11b
- Consider how the situation in which N hosts of
different bit rate compete for the radio channel.
N-1 hosts use the high transmission rate R
11Mb/s and one host transmits at a degraded rate
r 5.5, 2, or 1Mb/s
Where
is the data frame length in bits
152Performance Anomaly of IEEE802.11b
- Let Tf be the overall transmission time for a
fast host transmitting at rate R
- Similarly, let Ts be the corresponding time for a
slow host transmitting at rate r
and
the associated overhead time
153Performance Anomaly of IEEE802.11b
- We can express the channel utilization of the
fast host as
where
- The throughput obtained by a fast host is given
by
154Performance Anomaly of IEEE802.11b
- Similarly, we can express the channel utilization
of the slow host as
- The throughput obtained by a slow host is given
by
155Performance Anomaly of IEEE802.11b
- Result
- Fast hosts transmitting at a higher rate R
obtain the same throughput as slow hosts
transmitting at a lower rate r.
156Performance Anomaly of IEEE802.11b
- Validated by OPNET Simulation
157Performance of IEEE802.11b
- Study
- The UDP traffic
- TCP traffic.
-
- Flows in IEEE 802.11 WLANs
158Frequency Hopping and Direct Sequence Spread
Spectrum Techniques
- Spread Spectrum used to avoid interference from
licensed and other non-licensed users, and from
noise, e.g., microwave ovens - Frequency Hopping (FHSS)
- Using one of 78 hop sequences, hop to a new 1MHz
channel (out of the total of 79 channels) at
least every 400milliseconds - Requires hop acquisition and synchronization
- Hops away from interference
- Direct Sequence (DSSS)
- Using one of 11 overlapping channels, multiply
the data by an 11-bit number to spread the
1M-symbol/sec data over 11MHz - Requires RF linearity over 11MHz
- Spreading yields processing gain at receiver
- Less immune to interference
159802.11 Physical Layer
- Preamble Sync, 16-bit Start Frame Delimiter, PLCP
Header including 16-bit Header CRC, MPDU, 32-bit
CRC - FHSS
- 2 4GFSK
- Data Whitening for Bias Suppression
- 32/33 bit stuffing and block inversion
- 7-bit LFSR scrambler
- 80-bit Preamble Sync pattern
- 32-bit Header
- DSSS
- DBPSK DQPSK
- Data Scrambling using 8-bit LFSR
- 128-bit Preamble Sync pattern
- 48-bit Header
160802.11 Physical Layer, cont.
- Antenna Diversity
- Multipath fading a signal can inhibit reception
- Multiple antennas can significantly minimize
- Spacial Separation of Orthoganality
- Choose Antenna during Preamble Sync pattern
- Presence of Preamble Sync pattern
- Presence of energy
- RSSI - Received Signal Strength Indication
- Combination of both
- Clear Channel Assessment
- Require reliable indication that channel is in
use to defer transmission - Use same mechanisms as for Antenna Diversity
- Use NAV information
161A Fragment Burst
Fragment Burst
Frag1
RTS
Frag2
Frag3
A
ACK
CTS
ACK
ACK
B
NAV
C
NAV
D
Time
162Security
- Authentication A function that determines
whether a Station is allowed to participate in
network communication - Open System (null authentication) Shared Key
- WEP - Wired Equivalent Privacy
- Encryption of data
- ESSID offers casual separation of traffic
163Performance, Theoretical Maximum Throughput
- Throughput numbers in Mbits/sec
- Assumes 100ms beacon interval, RTS, CTS used, no
collision - Slide courtesy of Matt Fischer, AMD
164WLAN OPNET Simulation
- Maximum throughput of a single station as a
function of MSDU size (802.11b, 11Mb/s)
165Background for broadband wireless technologies
- UWB Ultra Wide Band
- High speed wireless personal area network
- Wi-Fi Wireless fidelity
- Wireless technology for indoor environment
(WLANS) - broader range that WPANs
- WiMAX Worldwide Interoperability for Microwave
Access - Wireless Metropolitan Area Networks (WMANs)
- For outdoor coverage in LOS and NLOS environment
- Fixed and Mobile standards
- 3G Third generation
- Wireless Wide Area Networks (WMANs) are the
broadest range wireless networks - High speed data transmission and greater voice
capacity for mobile users - Bluetooth -
166What is WiMax?
- WiMAX is an IEEE802.16/ETSI HiperMAN based
certificate for equipments fulfilling the
interoperability requirements set by WiMAX Forum. - WiMAX Forum comprises of industry leaders who are
committed to the open interoperability of all
products used for broadband wireless access. - The technique or technology behind the standards
is often referred as WiMAX
167What is WiMax?
- Broadband is thus a Broadband Wireless Access
(BWA) technique - WiMax offers fast broadband connections over long
distances - The interpretability of different vendors
product is the most important factor when
comparing to the other techniques.
168The IEEE 802.16 Standards
- The IEEE 802.16 standards family
- - broadband wireless wideband internet
connection - - wider coverage than any wired or wireless
connection before - Wireless system have the capacity to address
broad geographic areas without the expensive
wired infrastructure - For example, a study made in University of Oulu
state that WiMax is clearly more cost effective
solution for providing broadband internet
connection in Kainuu than xDSL
169The IEEE 802.16 Standards
- The IEEE 802.16 standards family
- - broadband wireless wideband internet
connection - - wider coverage than any wired or wireless
connection before - Wireless system have the capacity to address
broad geographic areas without the expensive
wired infrastructure - For example, a study made in University of Oulu
state that WiMax is clearly more cost effective
solution for providing broadband internet
connection in Kainuu than xDSL
170The IEEE 802.16 Standards
- 802.16, published in April 2002
- - A set od air interfaces on a common MAC
protocol - - Addresses frequencies 10 to 66 GHz
- - Single carrier (SC) and only LOS
- 802.16a, published in January 2003
- - A completed amendment that extends the
physical layer to the 2 to 11 GHz both licensed
and lincensed-exempt frequencies - - SC, 256 point FFT OFDM and 2048 point FFT
OFDMA - - LOS and NLOS
- 802.16-2004, published in July 2004
- - Revises and replaces 802.16, 802.16a and
802.16 REVd. - - This announcements marks a significant
milestone in the development of future WiMax
technology - - P802.16-2004/Corl published on 8.11.2005
171IEEE 802.16 Broadband Wireless MAN Standard
(WiMAX)
- An 802.16 wireless service provides a
communications path between a subscriber site and
a core network such as the public telephone
network and the Internet. This wireless broadband
access standard provides the missing link for the
"last mile" connection in metropolitan area
networks where DSL, Cable and other broadband
access methods are not available or too
expensive.
172Comparison Overview of IEEE 802.16a
- IEEE 802.16 and WiMAX are designed as a
complimentary technology to Wi-Fi and Bluetooth.
The following - table provides a quick comparison of 802.16a
with to 802.11b
Parameters 802.16a (WiMax) 802.11 (WLAN) 802.15 (Bluetooth)
Frequency Band 2-11GHz 2.4GHz Varies
Range 31miles 100meters 10meters
Data transfer rate 70 Mbps 11 Mbps 55 Mbps 20Kbps 55 Mbps
Number of Users Thousands Dozens Dozens
173Protocol Structure -IEEE 802.16 Standard (WiMAX)