1/71
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
TCP/IP Model
Framework for network communication protocols.
Transport Protocols
Enable communication between application processes.
Sender
Breaks messages into segments for transmission.
Receiver
Reassembles segments into complete messages.
User Datagram Protocol (UDP)
Unreliable, unordered delivery of segments.
Transmission Control Protocol (TCP)
Reliable, in-order delivery of segments.
3-way handshake
Connection setup method in TCP.
Flow Control
Regulates data transmission rate between sender and receiver.
Congestion Control
Manages packet loss during network congestion.
Corrupted Packets
Packets that arrive with errors and are discarded.
Retransmission
Resending lost packets to ensure delivery.
Synchronous Communication
Blocking communication requiring acknowledgment.
Asynchronous Communication
Non-blocking communication without immediate acknowledgment.
Queue
Storage for messages at the destination.
Port
Endpoint for communication, unique to each process.
Point-to-Point Message Service
Reliable delivery despite packet drops.
Message Integrity
Ensures messages arrive uncorrupted and unduplicated.
Message Ordering
Messages delivered in the order sent.
Sockets
Endpoints for sending and receiving messages.
InetAddress Class
Represents Internet addresses in Java.
Datagram
Message unit sent via UDP without acknowledgment.
Socket Binding
Associating a socket with a local port.
Timeouts
Prevent indefinite waiting during communication.
Checksum
Ensures message integrity in UDP.
DatagramPacket Class
Holds message data, length, IP, and port.
DatagramSocket Class
Supports sending and receiving UDP datagrams.
AF_UNIX
Address format for UNIX pathname.
AF_INET
Address format for host and port.
UDP Applications
Used in multimedia streaming and DNS queries.
Multicast communication
A multicast sends a single message from one process to each of the members of a group of processes.
Sender in multicast
The sender is unaware of the identities of the individual recipients and of the size of the group.
IP multicast
IP multicast is built on top of the Internet Protocol (IP).
Multicast group address
A multicast group is specified by a Class D Internet address, an address whose first 4 bits are 1110 in IPv4.
Membership of multicast groups
The membership of multicast groups is dynamic, allowing computers to join or leave at any time and to join an arbitrary number of groups.
Application programming level for IP multicast
At the application programming level, IP multicast is available only via UDP.
Multicast routers
IP packets can be multicast both on a local network and on the wider Internet.
224.0.0.1
All systems on the local subnet.
224.0.0.2
All routers on the local subnet.
224.0.0.11
Mobile agents on the local subnet.
MulticastSocket
The Java API provides a datagram interface to IP multicast through the class MulticastSocket, which is a subclass of DatagramSocket with the additional capability of being able to join multicast groups.
joinGroup method
A process can join a multicast group with a given multicast address by invoking the joinGroup method of its multicast socket.
leaveGroup method
A process can leave a specified group by invoking the leaveGroup method of its multicast socket.
TCP
Transmission Control Protocol (TCP) is connection-oriented.
TCP session
Explicit set-up and tear-down of TCP session.
Stream-of-bytes service
Sends and receives a stream of bytes, not messages.
Reliable delivery in TCP
Reliable, in-order delivery with checksums to detect corrupted data.
Flow control
Prevent overflow of the receiver's buffer space.
Congestion control
Adapt to network congestion for the greater good.
Acknowledgments
Positive: 'okay' or 'ACK'; Negative: 'please repeat that' or 'NACK'.
Timeout by the sender
Don't wait indefinitely without receiving some response.
Retransmission by the sender
After receiving a 'NACK' from the receiver or receiving no feedback from the receiver.
Challenges of Reliable Data Transfer
Over a lossy channel with bit errors, some data are missing, and some bits are corrupted.
Checksum in TCP
Used to detect corrupted data at the receiver, leading the receiver to drop the packet.
Sequence numbers in TCP
Used to detect missing data and for putting the data back in order.
Cloud Computing
Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
Cloud Computing
Cloud Computing refers to manipulating, configuring, and accessing the applications online.
Cloud Computing
It offers online data storage, infrastructure and application.
Cloud Computing
Cloud Computing is both a combination of software and hardware based computing resources delivered as a network service.
Deployment Models
Deployment models define the type of access to the cloud, i.e., how the cloud is located.
Public Cloud
The Public Cloud allows systems and services to be easily accessible to the general public.
Private Cloud
The Private Cloud allows systems and services to be accessible within an organization.
Community Cloud
The Community Cloud allows systems and services to be accessible by a group of organizations.
Hybrid Cloud
The Hybrid Cloud is a mixture of public and private cloud, where critical activities are performed using private cloud while non-critical activities are performed using public cloud.
Service Models
Service Models are the reference models on which the Cloud Computing is based.
Infrastructure as a Service (IaaS)
IaaS is the delivery of technology infrastructure as an on-demand scalable service.
Infrastructure as a Service (IaaS)
IaaS provides access to fundamental resources such as physical machines, virtual machines, virtual storage, etc.
Platform as a Service (PaaS)
PaaS provides the runtime environment for applications, development & deployment tools, etc.
Platform as a Service (PaaS)
PaaS provides all of the facilities required to support the complete lifecycle of building and delivering web applications and services entirely from the Internet.
Software as a Service (SaaS)
SaaS model allows to use software applications as a service to end users.
Software as a Service (SaaS)
SaaS is a software delivery methodology that provides licensed multi-tenant access to software and its functions remotely as a Web-based service.
Advantages of Cloud Computing
Lower computer costs, Improved performance, Reduced software costs, Instant software updates, Improved document format compatibility, Unlimited storage capacity, Increased data reliability, Universal document access, Latest version availability, Easier group collaboration, Device independence.
Disadvantages of Cloud Computing
Requires a constant Internet connection, Does not work well with low-speed connections, Features might be limited, Can be slow, Stored data can be lost, Stored data might not be secure.