Upload
kholissmktelkom
View
22
Download
0
Embed Size (px)
Citation preview
5/12/2018 Connection Oriented Communication (TCPIP) - slidepdf.com
http://slidepdf.com/reader/full/connection-oriented-communication-tcpip 1/7
Manual:Connection oriented communication (TCP/IP) 1
Manual:Connection oriented communication
(TCP/IP)
Connection oriented communication (TCP/IP)The connection-oriented communication is a data communication mode in which you must first establish a
connection with remote host or server before any data can be sent. It is similar with analog telephone network where
you had to establish connection before you are able to communicate with a recipient. Connection establishment
included operations such as dial number, receive dial tone, wait for calling signal etc.
TCP session establishment and termination
Process when transmitting device establishes a connection-oriented session with remote peer is called a three-way
handshake. As the result end-to-end virtual (logical) circuit is created where flow control and acknowledgment for
reliable delivery is used. TCP has several message types used in connection establishment and termination process(see Figure 2.1.).
5/12/2018 Connection Oriented Communication (TCPIP) - slidepdf.com
http://slidepdf.com/reader/full/connection-oriented-communication-tcpip 2/7
Manual:Connection oriented communication (TCP/IP) 2
Connection establishment process
1. The host A who needs to initialize a connection sends out a SYN (Synchronize) packet with proposed initial
sequence number to the destination host B.
2. When the host B receives SYN message, it returns a packet with both SYN and ACK fags set in the TCP header
(SYN-ACK).
3. When the host A receives the SYN-ACK, it sends back ACK (Acknowledgment) macket.4. Host B receives ACK and at this stage the connection is ESTABLISHED.
Connection-oriented protocol services are often sending acknowledgments (ACKs) after successful delivery. After
packet with data is transmitted, sender waits acknowledgement from receiver. If time expires and sender did not
receive ACK, packet is retransmitted.
Connection termination
When the data transmission is complete and the host wants to terminate the connection, termination process is
initiated. Unlike TCP Connection establishment, which uses three-way handshake, connection termination uses
four-way massages. Connection is terminated when both sides have finished the shut down procedure by sending a
FIN and receiving an ACK.
1. The host A, who needs to terminate the connection, sends a special message with the FIN (finish) flag, indicating
that it has finished sending the data.
2. The host B, who receives the FIN segment, does not terminate the connection but enters into a "passive close"
(CLOSE_WAIT) state and sends the ACK for the FIN back to the host A. Now the host B enters into
LAST_ACK state. At this point host B will no longer accept data from host A, but can continue transmit data to
host A. If host B does not have any data to transmit to the host A it will also terminate the connection by sending
FIN segment.
3. When the host A receives the last ACK from the host B, it enters into a (TIME_WAIT) state, and sends an ACK
back to the host B.4. Host B gets the ACK from the host A and closes the connection.
Segments transmission (windowing)
Now that we know how the TCP connection is established we need to understand how data transmission is managed
and maintained. In TCP/IP networks transmission between hosts is handled by TCP protocol.
Let’s think about what happens when datagrams are sent out faster than receiving device can process. Receiver stores
them in memory called a buffer. But since buffer space are not unlimited, when its capacity is exceeded receiver
starts to drop the frames. All dropped frames must be retransmitted again which is the reason for low transmission
performance.To address this problem, TCP uses flow control protocol. window mechanism is used to control the flow of the data.
When connection is established, receiver specifies window field (see, TCP header format, Figure 1.6.) in each TCP
frame. Window size represents the amount of received data that receiver is willing to store in the buffer. window size
(in bytes) is send together with acknowledgements to the sender. So the size of window controls how much
information can be transmitted from one host to another without receiving an acknowledgment. Sender will send
only amount of bites specified in window size and then will wait for acknowledgments with updated window size.
If the receiving application can process data as quickly as it arrives from the sender, then the receiver will send a
positive window advertisement (increase the windows size) with each acknowledgement. It works until sender
becomes faster than receiver and incoming data will eventually fill the receiver's buffer, causing the receiver to
advertise acknowledgment with a zero window. A sender that receives a zero window advertisement must stop
transmit until it receives a positive window. Windowing process is illustrated in Figure 2.2.
5/12/2018 Connection Oriented Communication (TCPIP) - slidepdf.com
http://slidepdf.com/reader/full/connection-oriented-communication-tcpip 3/7
Manual:Connection oriented communication (TCP/IP) 3
The host A starts transmit with window size of 1000, one 1000byte frame is transmitted. Receiver (host B) returns
ACK with window size to increase to 2000. The host A receives ACK and transmits two frames (1000 bytes each).
After that receiver advertises an initial window size to 2500. Now sender transmits three frames (two containing
1,000 bytes and one containing 500 bytes) and waits for an acknowledgement. The first three segments fill the
receiver's buffer faster than the receiving application can process the data, so the advertised window size reacheszero indicating that it is necessary to wait before further transmission is possible.
The size of the window and how fast to increase or decrease the window size is available in various TCP congestion
avoidance algorithms such as Reno, Vegas, Tahoe etc.
Ethernet networking
CSMA/CD
The Ethernet system consists of three basic elements:
• the physical medium used to carry Ethernet signals between network devices,• medium access control system embedded in each Ethernet interface that allow multiple computers to fairly
control access to the shared Ethernet channel,
• Ethernet frame that consists of a standardized set of bits used to carry data over the system.
Ethernet network uses Carrier Sense Multiple Access with Collision detection (CSMA/CD) protocol for data
transmission. That helps to control and manage access to shared bandwidth when two or more devices want to
transmit data at the same time. CSMA/CD is a modification of Carrier Sense Multiple Access. Carrier Sense
Multiple Access with Collision Detection is used to improve CSMA performance by terminating transmission as
soon as collision is detected, reducing the probability of a second collision on retry.
Before we discuss a little more about CSMA/CD we need to understand what is collision, collision domain and
network segment. A collision is the result of two devices on the same Ethernet network attempting to transmit data at
the same time. The network detects the "collision" of the two transmitted packets and discards both of them.
5/12/2018 Connection Oriented Communication (TCPIP) - slidepdf.com
http://slidepdf.com/reader/full/connection-oriented-communication-tcpip 4/7
Manual:Connection oriented communication (TCP/IP) 4
If we have one large network solution is to break it up into smaller networks – often called network segmentation. It
is done by using devices like routers and switches - each of switch ports create separate network segment which
result in separate collision domain. A collision domain is a physical network segment where data packets can
"collide" with each other when being sent on a shared medium. Therefore on a hub, only one computer can receive
data simultaneously otherwise collision can occur and data will be lost.
Hub (called also repeater ) is specified in Physical layer of OSI model because it regenerates only electrical signal
and sends out input signal to each of ports. Today hubs do not dominate on the LAN networks and are replaced with
switches.
Carrier Sense – means that a transmitter listens for a carrier (encoded information signal) from another station
before attempting to transmit.
Multiple Access – means that multiple stations send and receive on the one medium.
Collision Detection - involves algorithms for checking for collision and advertises about collision with collision
response – “ Jam signal” .
When the sender is ready to send data, it checks continuously if the medium is busy. If the medium becomes idle the
sender transmits a frame.
Look at the Figure 2.4 bellow where simple example of CSMA/CD is explained.
5/12/2018 Connection Oriented Communication (TCPIP) - slidepdf.com
http://slidepdf.com/reader/full/connection-oriented-communication-tcpip 5/7
Manual:Connection oriented communication (TCP/IP) 5
1. Any host on the segment that wants to send data “listens” what is happening on the physical medium(wire) an is
checking whether someone else is not sending data already.
2. Host A and host C on shared network segment sees that nobody else is sending and tries to send frames.
3. Host A and Host C are listening at the same time so both of them will transmit at the same time and collision will
occur. Collision results in what we refer to as "noise" - a change in the voltage of the signals in the line (wire).4. Host A and Host B detect this collision and send out “ jam” signal to tell other hosts not to send data at this time.
Both Host A and Host C need to retransmit this data, but we don't want them to send frames simultaneously once
again. To avoid this, host A and host B will start a random timer (ms) before attempting to start CSMA/CD
process again by listening to the wire.
Each computer on Ethernet network operates independently of all other stations on the network.
Half and Full duplex Ethernet
Ethernet standards such as Ethernet II and Ethernet 802.3 are passed through formal IEEE (Institute of Electrical and
Electronics Engineers) standardization process. The difference is that Ethernet II header includes Protocol type field
whereas in Ethernet 802.3 this field was changed to length field. Ethernet is the standard CSMA/CD access method.
Ethernet supports different data transfer rates Ethernet (10BaseT) – 10 Mbps, Fast Ethernet (100Base-TX) – 100
Mbps Gigabit Ethernet (1000Base-T) – 1000 Mbps through different types of physical mediums (twisted pairs
(Copper), coaxial cable, optical fiber). Today Ethernet cables consist of four twisted pairs (8 wires). For example,
10Base-T uses only one of these wire pairs for running in both directions using half-duplex mode.
Half-duplex data transmission means that data can be transmitted in both directions between two nodes, but only one
direction at the same time. Also in the Gigabit Ethernet is defined (Half-duplex) specifications, but it isn’t used in
practice.
Full-duplex data transmission means that data can be transmitted in both directions using different twisted pairs for
each of direction at the same time. Full Duplex Ethernet, collisions are not possible since data is transmitted andreceived on different wires, and each segment is connected directly to a switch. Full-duplex Ethernet offers
5/12/2018 Connection Oriented Communication (TCPIP) - slidepdf.com
http://slidepdf.com/reader/full/connection-oriented-communication-tcpip 6/7
Manual:Connection oriented communication (TCP/IP) 6
performance in both directions for example, if your computer supports Gigabit Ethernet (full duplex mode) and your
gateway (router) also support it then between your computer and gateway 2Gbps aggregated bandwidth is available.
Simple network communication example
ARP protocol operationAddress Resolution Protocol (ARP) is a protocol for mapping an Internet Protocol (IP) address of host in the local
network to the hardware address (MAC address). The physical/hardware address is also known as a Media Access
Control or MAC address. Each network device maintains ARP tables (cache) that contain list of MAC address and
its corresponding IP address. MAC addresses uniquely identify every network interface in the network. IP addresses
are used for path selection to destination (in the routing process), but frame forwarding process from one interface to
another occur using MAC addresses.
When host on local area network wants to send IP packet to another host in this network, it must looks for Ethernet
MAC address of destination host in its ARP cache. If the destination host ’s MAC address is not in ARP table, then
ARP request is sent to find device with corresponding IP address. ARP sends broadcast request message to all
devices on the LAN by asking the devices with the specified IP address to reply with its MAC address. A device that
recognizes the IP address as its own returns ARP response with its own MAC address. Figure 2.5 shows how an
ARP looks for MAC address on the local network.
Commands that displays current ARP entries on a PC (linux, DOS) and a MikroTik router (commands might do the
same thing, but they syntax may be different):
For windows and Unix like machines: arp – a displays the list of IP addresses with its corresponding MAC
addresses
ip arp print–
same command as arp – a but display the ARP table on a MikroTik Router.
[Back to Content]
5/12/2018 Connection Oriented Communication (TCPIP) - slidepdf.com
http://slidepdf.com/reader/full/connection-oriented-communication-tcpip 7/7
Article Sources and Contributors 7
Article Sources and ContributorsManual:Connection oriented communication (TCP/IP) Source: http://wiki.mikrotik.com/index.php?oldid=19069 Contributors: Andriss, Marisb
Image Sources, Licenses and ContributorsImage:image2001.gif Source: http://wiki.mikrotik.com/index.php?title=File:Image2001.gif License: unknown Contributors: Andriss
Image:image2002.gif Source: http://wiki.mikrotik.com/index.php?title=File:Image2002.gif License: unknown Contributors: Andriss
Image:image2003.gif Source: http://wiki.mikrotik.com/index.php?title=File:Image2003.gif License: unknown Contributors: Andriss
Image:image2004.gif Source: http://wiki.mikrotik.com/index.php?title=File:Image2004.gif License: unknown Contributors: Andriss
Image:image2005.gif Source: http://wiki.mikrotik.com/index.php?title=File:Image2005.gif License: unknown Contributors: Andriss