1/93
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
What does CIDR stand for?
Classless Interdomain Routing
How does CIDR at a very high level relate to subnetting?
It generalizes the ideas of subnetting
What are the two lessons we learned from subnetting?
(i) Address classes are not needed as the mask can define the number of bits for the network part
(ii) Network hierarchies can be hidden from the outside world, and network addresses can be aggregated/summarized/combined
What is the format of CIDR?
a.b.c.d/x where x is the number of bits in the subnet portion of the address. x is also called the prefix aka network-prefix
How does supernetting help with route aggregation?
You can aggregate grouped subnets by finding their longest common prefix and making that a supernet that the forwarding table uses
How are addresses allocated?
In contiguous chunks (thus have a common prefix)
(i) is the key to (ii) in address allocation
(i) Hierarchy
(ii) Scalability
Supernetting enables (i) based forwarding
prefix
When a forwarding table has many matches what does the router do?
It picks the entry with the longest matching prefix
What protocol is used for dynamic IP address allocation?
DHCP
What does DHCP stand for?
Dynamic Host Configuration Protocol
What is the goal of DHCP?
Allow hosts to dynamically obtain its IP address when it joins a network
What is the general starting interaction flow of a host and DHCP server? Hint is that it is four steps
Host broadcasts a DHCP Discover
DHCP server responds with a DHCP Offer
Host requests IP address with a DHCP Request
DHCP server sends the address with a DHCP Ack
What protocol does DHCP use?
UDP
How does a DHCP client and server keep track of the question-answer pairings?
Transaction Id
Which field does DHCP fill when offering an IP address?
yiaddr aka your ip address
How do DHCP servers and clients make sure messages get expired?
The lifetime field
What other things does a DHCP server return than allocated IP addresses? Hint is that there are 3 more things
(i) Address of first-hop router for client
(ii) Name & IP address of DNS server
(iii) Network mask
Is there a DHCP server for each subnet?
No. There is a server or relay for each subnet. There is at least one DHCP server for an administrative domain, though
What are DHCP relays?
Servers that unicast the DHCP messages from hosts to the DHCP server and wait for the response
What UNIX command lets you check your IP address?
ifconfig/ipconfig
What IP address chunks are reserved for private internets?
(i) 10.0.0.0/8
(ii) 172.16.0.0/12
(iii) 192.168.0.0/16
What does NAT stand for?
Network Address Translation
What does egress traffic look like for NAT?
All datagrams leaving the local network have the same single source NAT IP address and different source port numbers
What enables NAT to perform its address translation?
The NAT translation table that maps WAN side addresses to LAN side addresses
How does NAT handle ingress traffic?
It does a look up on the NAT translation table
What are the four motivations for NAT mentioned in lecture?
(i) When you don't need a range of addresses for a local network
(ii) When you want to change addresses of devices without notifying the outside world
(iii) When you want to change ISP without changing addresses of devices in the LAN
(iv) When you dont want devices in the LAN to be explcitly addressible aka visible by the oustide world
What field in addition to IP address is necessary for NAT?
Port number
How many ports can NAT support (aka how many simultaneous connections can it support with a single LAN-side address?)
Over 60k (port is a 16-bit field)
What addressing method do machines use at the link layer?
MAC Address
What makes MAC addresses structurally different from IP addresses?
MAC addresses are flat while IP addresses are hierarchical
How many bits are in an IPV4 address?
32 bits
How many bits are in a MAC address?
48 bit
What is different between MAC addresses and IP addresses based on portability?
MAC addresses are portable while IP addresses are not
What does ARP stand for?
Address Resolution Protocol
How does ARP help determine a MAC address associated with an IP address?
Each IP node on LAN has an ARP table that maps an IP address to a MAC address with a TTL
What is the broadcast MAC address?
FF-FF-FF-FF-FF-FF
How does an entry get added to the ARP table
When a node responds to another nodes broadcast ARP query packet with its MAC address
ARP and DCHP are both (i)-and-(ii)
(i) plug
(ii) play
What does it mean to be plug-and-play?
Added nodes can integrate to the network without intervention from the net administrator
What are the five key fields of an ARP packet mentioned in lecture?
(i) HardwareType
(ii) ProtocolType
(iii) HLEN & PLEN
(iv) Operation (Request Or Response)
(v) Source/Target Physical/Protocl Addresses
What does ICMP stand for?
Internet Control Message Protocol
What does ICMP define?
A collection of error messages that are sent back to the source host
What are the 3 highlighted ICMP message types mentioned in lecture?
Echo Reply
Echo Request
TTL Expired
What is an unintuitive application of ICMP TTL messages?
The TTL expired message can be used for traceroute which helps identify a route from a source to destination address
What is an obvious application of the Echo Request & Reply ICMP Message Types?
"The ping command that measures how long it takes to ""ping"" an address and have it respond"
What two key topics do virtual tunnels use in terms of the ip datagrams they forward and receive
Encapsulation/decapsulation and encryption/decryption. The gateways wrap the datagram with a new header that defines the source and destination gateways. When they receive these datagrams, they unwrap them to obtain the original IP datagram. The gateways also encrypt/decrypt the wrapped datagrams to maintain better security
What are three main needs for virtual networks/tunnels as mentioned in lecture?
(i) Security
(ii) Special capabilities between routers (such as multicast)
(iii) Supporting heterogeneity
What are key disadvantages of virtual networks/tunnels?
Increased packet length, which means wasted bandwidth, more processing, and fragmentation. Additionally, there are naturally more management costs
What are three key differences betwen IPV4 and IPV6 packets?
(i) There are no header checksums in IPV6
(ii) There are no fragmenting related options in IPV6
(iii) Addresses are 128-bits for IPV6
Why is there no header checksum in IPV6?
It is a performance tradeoff. Layers 2 and 4 already have checksums, and header checksumming can be expensive. So designers chose to remove it for IPV6
Why is there no fragmenting related option for IPV6?
It is a performance tradeoff. Fragmentation is computational overhead for routers. Removing them makes them faster and thus be able to handle more traffic
Is the 128-bit IP address big enough?
Yes it is actually way more than enough
Describe the differences between IPV4 and IPV6 in terms of unicast, anycast, multicast, and broadcast
Both IPV4 and IPV6 support unicast and multicast, but IPV4 supports broadcast while IPV6 supports anycast
What is the difference between broadcast and anycast?
Broadcast sends the message for all devices in a group while anycast sends a message to a single device in a group, typically the nearest or most optimal one
Transport layer can be viewed as an abstraction of (i) as well as an abstraction of (ii)
(i) clients
(ii) services
Where does TCP/IP handling reside in the computer? What about the transport layer socket apis?
The kernal space. The user space
What are two mandatory transport services?
Multiplexing/demultiplexing packets and detecting corrupted data
How is multiplexing/demultiplexing supported in the transport layer?
Port numbers
How is error detection supports in the transport layer?
Checksums
What is a protocol that supports connection-less mux/demux?
UDP
What is a protocol that supports connection-oriented mux/demux?
TCP
What is the difference between UDP and TCP in terms of mux/demux?
UDP is connection-less while TCP is connection-oriented
What does UDP stand for?
User Datagram Protocol
What does TCP stand for?
Transmission Control Protocol
How is a UDP socket identified?
By their (Dest IP, Dest Port) tuple
How is a TCP socket identified?
By their (Source IP, Source Port, Dest IP, Dest Port) tuple
What are the common properties that a transport protocol can be expected to provide as mentioned in lecture?
(i) Guarantees message delivery
(ii) Delivers messages in the same order they were sent
(iii) Delivers at most one copy of each message
(iv) Supports arbitrarily large messages
(v) Supports synchronization between the sender and the receiver
(vi) Allows the receiver to apply flow control to the sender
(vii) Supports multiple application processes (Mux/Demux)
What are the typical limitations of the network on which the transport protocol will operate on as mentioned in lecture?
(i) Drop messages/packet loss
(ii) Reorder messages/out of order delivery
(iii) Delivery duplicate copies of a given message
(iv) Limit messages to some finite size
(v) Deliver messages after an arbitrarily long delay
What does it mean when we way UDP is connctionless?
(i) No handshake required
(ii) Each segment is handled independently of one another
"What does it mean when we say UDP provides ""best-effort"" service?"
(i) Segments can be lost
(ii) Segments can be sent out of order
What are the four fields of a UDP header?
(i) Source port
(ii) Dest port
(iii) Length
(iv) Checksum
What are the four advantages of UDP as mentioned in lecture?
(i) Fine-grain control (udp sends as soon as app writes)
(ii) No connection setup delay
(iii) No connection state
(iv) Small header overhead
What are popular applications of UDP
(i) Multimedia streaming
(ii) Simple query-response models (DNS, DHCP, etc.)
What are the three exectations for a reliable packet delivery system?
(i) Guaranteed delivery
(ii) Ordered delivery
(iii) At most one copy of the message
"What are the five features of the underlying ""best-effort"" network?"
(i) Packet loss
(ii) Out of order delivery
(iii) Multiple copies
(iv) Delay variations
(v) Nonzero probability of packet delivery
When are TCP segments sent?
When the segment is full or is pushed by the application
How do you derive the sequence number?
"The Initial Sequence Number (ISN) + # of the first byte of the segment"
How large is a UDP header?
8 bytes
How large is a TCP header?
20 bytes minimum
What are the main fields of a TCP header?
(i) Source/Destination Ports
(ii) Sequence Number
(iii) Acknowledgement Number
(iv) Header Length
(v) Reserved Bits
(vi) Flags (ACK, RST, SYN, FIN)
(vii) Window Size (Advertisement Window)
(viii) Checkum
(ix) Urgent Pointer
What steps are necessary for the Three Way Handshake in TCP?
(i) Host A sends SYN to host B
(ii) Host B returns a SYN ACK
(iii) Host A sends back an ACK
What is the three-way handshake used for in TCP?
To establish a connection
What does RISN stand for and what is it used for in TCP?
(i) Random Initial Sequence Number
(ii) Used for the starting sequence number in a three way handshake
What does the initial SYN packet look like in a three-way tcp handshake?
(i) Initial Sequence Number Specified
(ii) SYN Flag Is Set
What does the SYN-ACK packet look like in a three-way tcp handshake?
(i) Initial Sequence Number Specified
(ii) Acknowledgement Number Specified
(iii) SYN & ACK Flags Set
In a SYN-ACK why is the acknowledgement number the SYN packets sequence number + 1?
The sender of the SYN-ACK is ready to receive the next byte, hence the +1
What does the ACK packet look like in a three-way TCP handshake?
(i) Acknowledgement Number Specified
(ii) ACK Flag Set
What is the typically timeout timer for TCP?
3 or 6 seconds
When is a TCP SYN packet retransmitted?
After a predefined timer expires
What is the four-way handshake for in TCP?
To close a connection
What does a four-way handshake consist of in TCP?
(i) FIN from host A
(ii) ACK from host B
(iii) FIN from host B
(iv) ACK from host A
What does the RST flag do in TCP?
It indicates the need to close a connection without the need to receive remaining bytes
What does FIN mean in a TCP four-way handshake?
That the sender has no more data to transmit