Flashcards
CNA
Cards in this deck (68)
- 1Transmission DelayThe amount of time required to push all of a packet’s bits on to the physical medium. Caused by the data-rate of the link. given by
- 2Propagation DelayThe amount of time taken for a signal to travel from sender to receiver. Given by
- 3C/S File TransferThe server with upload rate must transmit one copy of the file to each of the N peers: "NF/us"
The peer with the lowest download rate cannot receive the file in less than: "F/dmin" - 4Circuit Switchingo Resources are reserved, idle when not in use.
o Know and guaranteed performance
o The circuit must be manually set up - 5Packet Switchingo Resources used as needed.
o Good for bursty traffic
o Contention may occur
o Data might be dropped
o No guarantees on delays. - 6P2P File TransferAt the beginning, only the server has the file. The server must send each bit of the file at least once: F/us
Again, the peer with the lowest download rate cannot receive the file in less than: F/dmin
The total upload capacity of the system is the sum of the capacity of the server and all of the peers. The whole system must deliver F bits each to N peers, which cannot be done at a rate faster than the upload capacity of the system - 7Iterative QueryAn iterative name query is one in which a DNS client allows the DNS server to return the best answer it can give based on its cache or zone data. If the queried DNS server does not have an exact match for the queried name, the best possible information it can return is a referral (that is, a pointer to a DNS server authoritative for a lower level of the domain namespace). The DNS client can then query the DNS server for which it obtained a referral. It continues this process until it locates a DNS server that is authoritative for the queried name, or until an error or time-out condition is met. The burden is on the client to resolve such a query
- 8Recursive QueryA Recursive name query, the DNS client requires that the DNS server respond to the client with either the requested resource record or an error message i.e. the record or domain name doesn’t exist. If DNS server is not able to resolve the requested query, then it forwards the query to another DNS server until it gets an answer, or the query fails. The burden is on the root to resolve such a query
- 9DNSDomain Namespace Server. Provides name resolution – conversion of hostname to IP address.
- 10Root name serverOnly 13 worldwide. Able to either resolve a query, or identify another intermediate name server.
- 11Top Level Domain Servers (TLD)Responsible for resolving, com, org, net and top level country domains (uk, fr, ca, jp).
Network Solutions – Responsible for COM TLD
Educause – Responsible for EDU TLD. - 12Authoritative DNS ServersOrganisation specific DNS servers, responsible to provide name mappings for that organisations services (mail, http etc). Can be maintained either by the organization, or the service provider.
- 13Local Name ServerHandles local DNS requests. Must know at least one root server. Caches resolved addresses.
- 14Attacking DNS- Bombard root server with traffic. Not successful yet thanks to traffic filtering.
- Bombard TLD servers. More dangerous.
- Man in the middle – intercept queries.
- DNS poisoning: Send false replies to the DNS server, caching them.
- Send queries with spoofed source address, the target IP. This will DDoS them. - 15HTTP 1.0 vs 1.1Proxy support and the Host field:
HTTP 1.1 has a required Host header by spec.
HTTP 1.0 does not officially require a Host header, but it doesn't hurt to add one, and many applications (proxies) expect to see the Host header regardless of the protocol version.
Persistent connections:
HTTP 1.1 also allows you to have persistent connections which means that you can have more than one request/response on the same HTTP connection.
In HTTP 1.0 you had to open a new connection for each request/response pair. And after each response the connection would be closed. This lead to some big efficiency problems because of TCP Slow Start.
Caching:
HTTP 1.0 had support for caching via the header: If-Modified-Since.
HTTP 1.1 expands on the caching support a lot by using something called 'entity tag'. If 2 resources are the same, then they will have the same entity tags. - 16HTTP PersistenceHTTP persistent connection, is the idea of using a single TCP connection to send and receive multiple HTTP requests/responses, as opposed to opening a new connection for every single request/response pair.
- 17HTTP PipeliningHTTP pipelining is a technique in which multiple HTTP requests are sent on a single TCP connection without waiting for the corresponding responses
- 18TCP MultiplexingAt the sender site, there may be many processes that want to send their packets. TCP at transport layer accepts all these messages from different sockets differentiated by their port numbers and after adding headers, passes the segment to the network layer.
- 19TCP DemultiplexingAt the receiver site, the TCP at transport layer accepts datagrams from network layer, removes IP header, checks their port numbers and then delivers the datagrams to the respective sockets and ultimately to the attached processes. This process is referred to as Demultiplexing.
- 20Maximum Segment Size (MSS)The maximum segment size (MSS) is the largest amount of data, specified in bytes, that TCP is willing to receive in a single segment. For best performance, the MSS should be set small enough to avoid IP fragmentation, which can lead to packet loss and excessive retransmissions.
- 21TCP Congestion Control1. Slow Start Phase: Starts slow, exponentially incrementing to threshold
2. Congestion Avoidance Phase: After reaching the threshold increment by 1
3. Congestion Detection Phase: (Timeout/No Reno go back to slow start) else if Reno and 3 dup acks go to half congestion window size at time of resubmit(phase 2) - 22Reliable data transfer (RDT)Does away with the need for NAKs. Simply includes a sequence number with any ACK, which means that both sides can deal with re transmission etc. This protocol supports the assumption that the layer below it may lose packets. This is the protocol that we implemented. There Is a timeout time that causes a re transmit.
- 23UDP
- 24TCP
- 25TCP Flow ControlFlow control exists to prevent the sender from overwhelming the receiver. Receiving host informs the sender of its receive window size in the header of tcp segments.
- 26TCP Connection Establishment1. Request Connection
2. Grant Connection
3. Acknowledge Connection
Initial sequence numbers of the sender and receiver are exchanged as a part of this connection establishment. A SYN bit in the header is set to 1 for the first two segments in order to indicate this set up. The third handshake is required to deal with duplicate segments / acks. - 27Network LayerPath determination (i.e routing packets to their destination)
- Forwarding (moving packets from router input to the appropriate router output)
- Call setup (some network architectures require router call setup along path before data can travel along it). - 28Data planeThe data plane is local, per router. It determines how datagrams arriving at the router input port is forwarded to the router output ports. It takes responsibility for the forwarding function of the layer.
- 29Control PlaneNetwork wide logic. This determines how datagrams are routed among routers along and end to end path between the source and destination hosts. There are two traditional approaches:
- Traditional routing algorithms (implemented in routers)
- Software defined networking (implemented in remote servers). - 30Virtual Circuitsare used to create a virtual wire between two applications. This essentially means that the application does not have to worry about splitting up its messages into packets. It does however require individual setup for each of these lines. This process is not used in the modern internet.
Advantages are that the service is guaranteed. It also allows for much simpler end systems (like telephones), as it hides the complexity of the connection inside the actual network itself. - 31Datagram NetworksThis is what the internet uses. Unlike VCs, it does not require any setup at the network layer. Routers have no state about end to end connections. Packets are usually routed using a destination host ID. Unlike VCs, packets between the source and the destination hosts may take different paths.
Unlike VCs the data exchange among computers is elastic. This means there are no strict timings or guaranteed service. It also requires much smarter end systems (i.e computers) that can adapt, perform control, perform error recovery. This does however keep the complexity inside the end systems, leaving the actual network simple. It also supports many different link types. - 32BroadcastSends the packet to every node in the wetwork. Before CIDR, you could just set all bits to 1. I.e: 189.244.x.x -> 189.244.255.255.
- 33Network IdentifierNetwork Identifiers have host parts of all 0s. This is the defining IP address for that network.
- 34DHCPis a network protocol that enables a server to automatically assign an IP address to a computer from a defined range of numbers (i.e., a scope) configured for a given network.
- 35DNS vs DHCPDNS server resolves names and gives address to the DNS clients.
DHCP server dynamically assigns IP address on demand to the DHCP clients - 36IP FragmentationNetwork links have a max transfer size (MTU). This is the largest possible link level frame. Different link types have different MTUs.
Large IP datagrams are divided (fragmented) within the network. IP header bits are used to reassemble the datagrams when they reach their destination. - 37IPv6 vs IPv4- Improved security
- No fragmentation required
- More possible IP addresses - 38IPv6 Extension headers
- 39Transitioning from IPv4 to IPv6Since we cant upgrade all routers at the same time we have to deal with the possibility that we will have both IPv4 and IPv6 routers along the path. There are two proposed solutions to this:
- Dual Stack: some routers with dual stack can translate messages between the formats.
- Tunneling : IPv6 packets are carried as a payload in IPv4 packets, where necessary - 40Link State (LS)Link state algorithms assume global information propagation. This means that each router stores the complete topology of the network. Using this format, we can use algorithms such as Dijkstra’s algorithm.
OSPF is another link state algorithm. In OSPF we use the number of hops as our cost. - 41Router OscillationIf traffic is used as metric for routing, oscillation can occur. This is because if a path has low traffic, it will be used to route more traffic after 1 iteration. This increase in traffic will mean after the next iteration, it won't be chosen to route through as its no longer the lowest traffic. This causes it to lose traffic and after a further iteration, it will again be selected as the best route. This repeats indefinitely and causes an oscillation.
- 42Distance Vector Routing AlgIt continues until no nodes in the network exchange any info. Its asynchronous – nodes need not exchange info at the same time. Distributed: Nodes only communicate with their neighbours. Each node has its own row for each possible destination and a column for each directly attached neighbor node.
Process:
1. Wait for change in local link cost msg from neighbour.
2. Recompute the distance table
3. If least cost path to any destination has changed, then we notify our neighbors.
It is possible to get routing loops in this manner. - 43Hierarchical RoutingThis resolves the need for routers to store information about millions of routes. We aggregate routers into regions, “autonomous systems” (AS). Routers in the same AS run the same routing protocol (intra-AS routing). Routers in different AS can run different intra-AS routing protocols. Special routers the AS called Gateway routers run the same intra-AS routing protocol as the other routers, but are also responsible for routing to destinations outside the AS (inter-AS).
- 44Link LayerThe link layer provides:
- Encapsulation of datagram into a frame, adding header and trailer.
- Implementing channel access if it is a shared medium.
- Physical addresses used in frame headers to identify source and destination. (this is different from an IP).
- Reliable delivery between two physically connected devices.
- Flow control (pacing between senders and receivers)
- Error detection (errors caused between attenuation and noise). This is important as every link will have errors.
- Receiver detects presence of errors, and signals the sender for retransmission, or drops the frame.
- Error correction – Receiver identifies and corrects bit errors without resorting to retransmission. Also called forward error control. - 45Parityis a bit that attempts to round out the number of 1s in a line of binary. This helps detect single bit errors.
- 46Checksums – CRCsare a system whereby the sender chooses r bits such that D,R is exactly divisible by G (a r+1 bit pattern). If there is any non zero remainder from this then there has been an error. This can detect all burst errors less than r + 1 bits long.
- 47Multiple Access Links:1. Point to point links (single wire)
2. Broadcast (shared wire or medium, eg Ethernet)
3. Switched (e.g. Switched Ethernet) - 48Multiple Access Protocols- Synchronicity
- Information needed about other stations
- Robustness
- Performance
There are 3 broad classes:
1. Channel partitioning – Divide channel into smaller pieces (time slots, frequencies, etc) and allocate a piece to a node for their exclusive use.
2. Random Access – allow collisions between stations (and deal with them)
3. Taking turns – tightly coordinate shared access in order to avoid collisions. - 49Time Division Multiple Access (TDMA)This gives access to a given channel in rounds. Each station gets a fixed length slot, where the length is the transmission time for a packet, in each round. Unused slots are idle.
- 50Frequency Division Multiple Access (FDMA)This gives access to a wireless network, by dividing the network into frequency bands. Each station is assigned a fixed frequency band. Unused transmission time in frequency bands simply means that that frequency goes idle.
- 51Code Division Multiple Access (CDMA)Unique code assigned to each user. Used mostly in wireless broadcast channels (like satellite or cellular). All users share the same frequency, but each user has its own sequence code with which it encodes its data. This sequence code is called its “chipping sequence”.
Encoding = data * chipping sequence
Decoding = inner product of encoded signal and chipping sequence.
This allows multiple users to coexist and transmit simultaneously with minimal interference. - 52Random Access ProtocolsWhen a node has a packet to send it just sends it at the full channel data rate. If two or more nodes attempt to do this at the same time, a collision occurs. The Random Access MAC protocol specifies how to detect collisions and also how to recover from them.
- 53Slotted ALOHATime is divided into equal size slots (packet transmission time). If a node wishes to transmit a packet, it waits until the beginning of the next slot. If there is a collision we simply retransmit the packet in future slots with a certain probability until it is successful.
With slotted aloha, at best, channel use with be successful for transmission 37% of the time. - 54Pure ALOHAUnslotted ALOHA is simpler and requires no synchronization. If a packet needs transmission it just goes. It don’t wait for nobody. This does however mean that the probability of packet collision increases, to around 18% success rate at best case.
- 55Carrier Sense Multiple Access (CSMA)Carrier Sense Multiple Access (CSMA)
CSMA listens to the channel before it transmits. If it detects that the channel is idle then it sends the entire packet. If it is busy, it waits. If CSMA is persistent then it will retry immediately based on some probability when the channel becomes idle (this may cause instability). If CSMA is non-persistent then it will simply try again after a random interval.
Collisions can still occur due to propagation delay however. In the case of a collision, the entire packet transmission time is wasted, and that for two packets. - 56CSMA CDcollision detection, which means that if a collision is detected, transmission is immediately aborted in order to reduce the wastage of the channel. This happens in both persistent and non persistent CSMA.
To detect a collision in a wired LAN, we just measure signal strengths. If its not what we transmitted, then there's been a collision.
Over WLANs the receiver is shut off while transmitting which makes this difficult. - 57Polling (Taking Turns)Master node invites slave nodes to transmit in turn. Request to ‘send’ and ‘clear to send’ messages are sent. The carries a lot of overhead and latency with it however. The master is also the single point of failure.
- 58Token PassingControl token is passed from one node to the next sequentially. This token allows that node to transmit data. Concerns include the overhead that this introduces, the latency of passing the token around (in which time the link is unused), and the fact that the token becomes the single point of failure.
- 59Distributed Polling (Reservation based)Time is divided into slots, we begins with N short reservation slots. Reservation slot time is equal to the end to end propagation delay of the channel. Station with a message to send reserves a slot. This slot is reserved for that station, and is seen by all other stations. After reservations are made, the stations take turns broadcasting based on their reservation Priority.
- 60ARP – Address Resolution ProtocolProtocol for determining the MAC address of a host, given its IP address.
- 61Multiple Simultaneous Transmissions (via Switch)Hosts have dedicated connection to the switch. Switches buffer packets. Ethernet protocol is used on each incoming link, but there can be no collisions, as each link is its separate link. Therefore we can transmit many different packets in many different directions simultaneously.
- 62Multiprotocol Label Switching (MPLS)Initial goal is to quickly forward IP’s without actually having to use the IP address, but rather to use a fixed length label.
This allows for fast lookup (since were using a fixed length identifier). We borrow ideas from the VC approach. The idea is to forward packets by only looking at the label value and not considering the IP address at all. This means that the MLPS table is different to the IP lookup table. - 63distance vector vs link state
- 64confidentialityonly sender, intended receiver should
“understand” message contents
– sender encrypts message
– receiver decrypts message - 65authenticationsender, receiver want to confirm identity of each other
- 66message integritysender, receiver want to ensure message not altered (in transit, or afterwards) without detection
- 67QueingTime packet has to wait to be transmitted on link
- 68ProcessingTime Taken to determine where to direct packet
Information
- Description
- Flashcards on CNA, created by Josh Vogt on 19/06/2018.
- Created by
- Josh Vogt
- Views
- 2
- Rating