- Zhaowei Tan, Discussion 1A
- OH: Wed 3-5 pm @ Boelter 2760
- [email protected]
- Due Wednesdays 6 pm
- Internet architecture
- End systems, communication links, routers
- Network of networks
- Private networks connect end systems within the network
- For example, government end systems can communicate with one another
- End systems are connected via a core network
- Packet is sent through wifi or cable
- End systems are "smart"; core is "dumb"
- Core has no function other than to transfer packets
- End systems include PCs, mobile phones, etc.
- Private networks connect end systems within the network
- Network protocol
- Layered structure
- Circuit switching vs. packet switching
- Processing delay, dprocess
- Created by router reading packet headers to determine where packet should be sent
- Queuing delay, dqueuing
- For each process, there is a FIFO buffer
- The packets have to wait until the prior packet has been sent
- Delay comes from waiting in the router buffer
- When buffer overflows, there are packet drops
- When there are too many packet drops, the transport speed has to slow down
- Transmission delay dtransmission
- Occurs as router sends packet through link
- Determined by the link capacity
- Propagation delay dpropagation
- Happens when packets are on the link; the link has a max speed at which packets can travel
- Processing delay, dprocess
- Access systems
- Multiple devices can connect to a single access point
- Each device receives a unique ID from access point
- Access points include wifi routers and cell towers
- Multiple devices can connect to a single access point
- ISP (Internet Service Provider)
- Packet goes to sender's ISP
- If sender's ISP is the same as receiver's ISP, packet goes straight to receiver
- If sender's ISP is different from receiver's ISP, packet goes to higher-level ISP
- Higher-level ISP sends packet to receiver's ISP
- Receiver's ISP sends packet to receiver's end device
- Hierarchy
- Application layer
- Web browser, email client, etc.
- Transport layer
- Congestion
- Network layer
- Routing
- Link layer
- Transmission
- Physical layer
- Cable
- Application layer
- Model for network programming
- Client-Server Model
- Clients request data
- Initiate communication
- Send request and wait for server reply
- Servers respond to data requests
- Well-known addresses
- Wait for client connection
- Process requests and delay
- Abstraction level
- Clients and servers are both prograps at the application layer
- Transport layer is responsible for providing communication services
- The lower layers take care of the rest (routing, transmission, etc.)
- You can usually choose between two transport protocols
- TCP
- UDP
- TCP (Transmission Control Protocol)
- Reliable data transfer
- Guaranteed delivery of all data
- No duplication will be received
- Ordered data transfer
- If sender sends A first and B second, receiver will get A first and B second
- Regulated data flow
- Flow control and congestion control
- Slower than UDP
- Reliable data transfer
- UDP (User Data Protocol)
- No reliability guarantee
- No ordered delivery guarantee
- No flow control
- No congestion control
- Faster than TCP
- Network Programming API
- Socket: A network socket is an endpoint of an inter-process communication flow across a computer network
- A socket address is identified by ip:port
- IP address can be thought of the location of your computer on the internet
- Port number is used for different services to share the network resources
- Some port numbers are "reserved"