Chapter 4 - Communication (mine) Flashcards
What is an endpoint?
When a device connects to a network, it becomes an endpoint. It’s the entry and exit points for data communication. Usually just refers to one side of a network connection.
What is a port?
It’s a number assigned to uniquely identify a specific process (e.g., emails go to a different port than webpages). Think of it like a numbered door on a house (IP Address), that leads to a specific room (application)
Virtual endpoint. They’re software-based
What is a socket?
IP Address + port number + (usually) transport protocol (TCP or UDP)
e.g., 192.168.1.10:80 is a socket
Think of it like “I want to talk to the program listening on port 80 at this IP address, using TCP”
Actual object that an application can write data to & read data from, data is sent over a network
Which OSI model layer indicates the port that a packet should go to?
Only the transport protocol (TCP or UDP). TCP and UDP headers have section for port number
Persistent communication
Message is stored (by middleware) after submission.
- Sender can stop executing after they submit message
- Receiver doesn’t have to be executing when message is submitted
(Think mailbox)
Transient communication
Message is stored (by communication system) only as long as sender & receiver are executing.
- If there’s a transmission interrupt, or someone not active, message is discarded
What type of communication do transport-level communication service offer? Transient or persistent?
Transient
Remember transport layer is typically TCP or UDP
Asynchronous communication
Sender submits message and moves on with its life
Message is (temporarily) stored by middleware right after submission
Synchronous communication
After submitting, sender can’t do shit until:
- Middleware takes over transmission of request
- Request is delivered to recipient
- Recipient returns a response
(one of these three)
What is a remote procedure call?
It’s when one machine can call a procedure on another machine, but make it looks like it’s happening locally
What’s the biggest challenge with RPC?
Marshaling (packing into a message) parameters so that both sides can understand contents of the procedure call