Module 10: Sockets
The window can be broken into two basic sections:
- Bytes that have been sent but not acknowledged - Bytes that can be sent (Are ready or empty)
How does flow control prevent network congestion?
- Ensures transmitters do not overwhelm receivers with data - Source device may generate traffic faster than network can transfer it / destination device can receive and process it.
4 Reasons why IP "Won"?
- More flexible - Less complciated - Easier to implement - Worked from the beginning
3 Features of flow control
- Prevents network congestion - Buffering - Windowing
Process of handling receives in a TCP stream
- Receive the packet header (Size should be known): Loop until all of the bytes in the packet header have been received - Receive the message's data element: Loop to receive the remaining bytes in the message - At this point we have at least one complete message, so parse the message
What are the transport protocols and what do they have in common?
- Transmission Control Protocl (TCP) - User Datagram Protocol (UDP) Both TCP & UDP - Built on top of IP - Use port numbers - Process to process
Each IP address is ... (...) or ... ... for a host or group
- unique (Internet-wide) - LAN Identifier
Translation needs to be done when the data is larger than ...
1 Byte
6 Things UDP cannot do
1. Establish connections before sending data 2. Provide acknowledgements of data receipt 3. Provide any guarantees that a message will arrive 4. Detect lost messages and retransmit them 5. Ensure data is received in same order it was sent 6. Provide any mechanism to handle congestion / manage flow of data
1. Transport: ... to ... 2. Network: ... to ... 3. Access: Give it to the ...
1. Process to process 2. Device to device 3. Hardware
TCP Connection Establishment process (3 way handshake)
1. Server side. Opens a socket and starts listening. 2. Client side. Issues a connect call 3. SYN packets has some number that it uses. Says "Hi, I want to connect, here is a sync number"
4 things UDP can do
1. Servers needs only one socket 2. Can receive from multiple addresses 3. Can send to multiple addresses 4. Messages are sent and arrive whole (No partial message)
What are the 3 IP delivery mechanisms?
1. Unicast: Single destination 2. Multicast: Group destination 3. Broadcast: All Network Hosts
In addressing, how many bits represent the network?
24
Give an example of a header in a packet/frame
A game state or a message that should display on the screen, etc.
What is a socket?
A socket is an abstraction through which an application may send and receive data
Why is effective transmission rate not the same as raw transmission rate?
Because it is padded with a lot of other information
Most things sent over the network are ... endian
Big
Network byte order is
Big-Endian
Which protocol uses sockets, UDP or TCP?
Both
What is the advertised window in TCP
Each peer tells its counterpart how many bytes of data it is willing to accept. This window is usually the amount of room currently available in the receive buffer.
A break in the TCP connection can come from which side?
Either side
What is an example of UDP?
Emails
T/F: You send only the intended data when networking?
False. The size of the data sent over the network is more than just your data due to padding at each layer.
Active Connection
Going out and finding a server to connect to
... is a packet switching network protocol
IP
Network to host: What is the endian type?
In the devices native format
Protocol originally created for ARPAnet( U.S. military research)
Internet Protocol (IP) - The troublesome child
On blocking stream sockets, how many bytes of read from / written to the transport buffer can there be?
It can be between 1 and the requested length, depending on how many bytes are available.
How does the size of the receive window change?
It changes dramatically. - As data is received from the sender, the window size decreases. - As the receiver reads data from the buffer, the window size increases.
How is a socket using TCP/IP protocol family identified?
It is uniquely identified by an internet address, an end-to-end protocol (TCP/UDP), and a port number.
What does the router really only deal with?
It really only deals with the network and access layers. This is unless it is dealing with masking, then sometimes the router pokes its head into the transport layer.
Most modern processes are ... endian
Little
What are the two number formats that processors use?
Little & Big endian
Does TCP always send a complete message in one send/receive?
No, some parts may be incomplete, needing some bits and bytes.
Host to network: What is the endian type?
Number that comes out the other end is big endian
One send call does not correspond to
One receive call
One receive call does not correspond to
One send call
Original ISO standard protocol
Open Systems Interconnection (OSI) - The Good Child
What does video memory represent for a bitmap display system?
Pixels on the screen
A ... identifies the process we wish to communicate with
Port
The transport layer goes from
Process to process
- Provides interface to TCP/IP and UDP/IP - Is a generic interface for many protocls - Represents a connection endpoint
Socket
This is an abstraction, sort of like a file. UNIX treats it like a file, utilizing the same calls that you would use for a file.
Socket
The successful completion of send does not indicate that the data was
Successfully delivered.
Which protocol is like a tube?
TCP
Which protocol has some reserved ports that are (typically) used by common system services. These services are in the range 1-1023.
TCP/IP
In regards to layers, with whom does each layer need to communicate with?
The API above and below it
Which connection protocol is based on loosely layered modeling and takes an "incremental implementation & model ("What works?")" approach?
The Internet Protocol (IP)
Which connection protocol is based on strictly controlled layers and takes a "model before implementation" approach?
The Open Systems Interconnection (OSI) Protocol
In a port, the destination is
The address
In addressing, what does the last byte represent?
The host (in range)
The DCPI handles which layers in IP?
The network and transport layer
What does the subnet show?
The number of the host
The send window is the same size as
The receive window of the sender's counterpart
In a port, the source is
The return address
What happens when a new window size is received from the counterpart?
The window is resized to the new window size to prevent overwhelming the receiver.
What happens if your bytes received is more than available?
They are dropped/lost
In IPV6, what does 2 subsequent colons represent?
They represent 0s
IP Layers (Diagram)
This is important, make sure it is on the Crib sheet for the exam
OSI Layers (Diagram)
This is important, make sure it is on the Crib sheet for the exam
Why is there an advertised window?
This keeps the sender from overwhelming the receiver
This transport protocol: - Connection-oriented - Lost data is re-transmitted - Data is delivered in-order - Data is delivered as a stream - Controls data flow to maximize efficiency
Transmission Control Protocol (TCP)
This feature belongs to which protocol?: - Delivers data as parcels (packet-based messages)
UDP
Which protocol is represented as a mailbox that anyone can come by at anytime and put something in?
UDP
This transport protocl: - Connectionless - Best effort delivery - Packets may arrive out of order - Data delivered as datagrams
User Datagram Protocol (UDP)
Passive Connection
Waiting for someone to show
The principals of locking mechanisms apply where within the context of networking?
Within the concept of flow control