计算机网络笔记(Internet Technologies Notes)
1. Broadcasting: When a packet with a special code in the address field is transmitted, it is received and processed by every machine on the network.
2. Multicasting: When a packet with a special code in the address field is transmitted, it is received and processed by a specific subnet of machines on the network.
3. Unicasting: Point-to-point transmission with one sender and one receiver.
4. Internetwork / Internet: A collection of interconnected networks is called an internetwork or Internet.
5. Subnet: In the context of a WAN, it refers to the collection of routers and communication lines owned by the network operator.
6. Network architecture: A set of layers and protocols.
7. Protocol stack: A list of protocols used by a certain system, one protocol per layer.
8. Multiplexing / demultiplexing: They are needed in the physical layer, where all the traffic for all connections has to be sent or received over at most a few physical circuits.
9. Connection oriented (based on telephony system): transmission in sequence
!) Steps: Connect à Use à Disconnect
i. Message stream (reliable): need acknowledgements (eg. A sequence of pages. (with boundaries));
ii. Byte stream (reliable): need acknowledgements (eg. Remote login. (without boundaries);
iii. Unreliable connection (unreliable): no acknowledgements. (eg. Digital voice).
3) Service primitives: i. LISTEN ii. CONNECT iii. RECEIVE iv. SEND v. DISCONNECT
10. Connectionless (based on post system): a datagram service don’t guarantee transmit in sequence.
1) Steps: Use.
i. unreliable datagram: no acknowledgment (eg. Electronic jerk mail);
ii. Acknowledged datagram: reliable (eg. Registered email);
iii. Request-reply: eg. Database query.
11. Why need unreliable service: 1) when acknowledgement (or reliable communication) is unavailable; 2) when delay (brought by acknowledgments) is unacceptable (eg. Live conversation).
12. Services vs. protocols: 1) Services: a set of primitives that a layer provides to the above layer. (related to the interfaces between layers)
Protocols: rules which govern the format and meanings of packets that are exchanged by peers at the same layer. (related to peer entities)
13. Layer divisions principles: 1) abstraction 2) function 3) international 4) minimize the information passes the interfaces 5) number of layers
14. TCP: is a reliable connection-oriented protocol (with sequencing, acknowledging, and flow control). It fragments the incoming byte stream into messages, and passes them to the next layer. The messages are reassembled at the destination transport-layer.
15. UDP: is an unreliable, connectionless protocol.
16. Network layer / Internet layer: wraps messages (from transport layer) into packets with IP address. Major issue is packet routing. For OSI, avoiding congestion is the responsibility of data-link layer. For TCP/IP, avoiding congestion is done by Internet layer.
17. Service / interfaces/ protocols: Service tells what the layer does; Interface tells the process above it that how to access it. Protocols are the peers’ own business.
18. Function of data-link layer: 1) Providing a well-defined service interface to network layer. 2) Handling transmission errors (error-control). 3) Regulating data-flow (flow-control).
19. Services provided by data-link layer: 1) unacknowledged connectionless service. (eg. LAN); 2) acknowledged connectionless service. (eg. Wireless); 3) acknowledged connection-orientated service. (eg. WAN, VPN).
20. Framing methods: 1) character count; 2) flag bytes with byte stuffing; 3) start and end flags with bit stuffing. 4) physical layer coding violations.
21. Hamming distance: the number of bit positions in which two codewords differ.
22. Go-back-N vs. Selective repeat: 1) Go-back-N: the receiver discards all subsequent frames from error point, sending no acknowledgement until ack timeout and frames from the error point are retransmitted in sequence. 2) Selective repeat: the receiver buffers good frames after the error point, and relies on sender to resend the oldest unacknowledged frames which is the error frame or lost frame. 3) Go-back-n can waste a lot of bandwidth if the error rate is high, while selective repeat can require large amount of data link layer memory if the window size is large.
(No. 23 ~ 40 were missing)
41. Contention vs. contention-free protocols: under the condition of light load, contention is preferable due to its low delay. As load increases, it becomes increasingly inefficient. For contention-free protocols, at low load, they have high delay, but as the load increases, channel efficiency increases rather than gets worse.
42. CSMA/CD: CSMA, but abort on detecting a collision.
43. Tree-walk protocol: a contention-free protocol. It reduces contention by dynamically dividing stations into two disjoint groups, one of which is permitted to transmit and the other is not. It tries to make the division in this way that only one station that is ready to send is permitted.
44. Network layer: the network layer is the lowest layer that deals with end-to-end transmission. It is responsible for routing packets from source to destination.
45. Services provided by network layer: 1) connectionless service (eg. Internet); 2) connection-oriented service (eg. ATM).
46. Virtual circuits (connection-oriented): virtual circuits avoid having to choose a new route for every packet sent. Each packet carries an identifier telling which virtual circuit it belongs to.
47. Routing algorithm: it manages the routing tables and makes the routing decisions.
48. Tradeoffs between Virtual circuit & Datagram: 1) virtual circuits allow packets to contain circuit numbers instead of full destination addresses which lead to a large amount of overhead, hence wasted bandwidth. Routers have to maintain routing tables for virtual circuits, which need more memory space of the routers. While Datagram don’t need so much. 2) virtual circuits require more complicated lookup procedure to locate the entry for destinations. 3) virtual circuits are easily to implement QoS. While for datagram, it’s difficult. 4) VC is more vulnerable. If a router crashes, the whole circuit will abort. While in datagram, if a router is down, packets can choose the other ways. Communication will keep going.
49. Nonadeptive vs. adaptive algorithms: Nonadeptive: the choice of route is computed in advance, off-line, but not based on the current traffic & topology.
Adeptive: routing decisions changes corresponding to the change of topology and sometimes the traffic.
45. Goal of routing algorithm: the good of all routing algorithm is to discover and use the “Sink Tree” for all routers.
46. Distance vector routing: tables are updated by exchanging information with the neighbors.
47. Link state routing: 1) discover its neighbors and learn their network addresses; 2) measure the delay or cost to each neighbors. 3) construct a packet telling all it just learned. 4) compute the shortest path to every other router.
48. Congestion control vs. flow control: Congestion control is to make sure the subnet is able to carry the offered traffic. It’s a global issue, which is related to the behavior of all hosts, routers, and all the other factors that tend to diminish the carrying capacity of the subnet. Flow control is related to the point-to-point traffic between a given sender and a given receiver. It is to make sure that fast sender can’t continually send data faster than the receiver is able to absorb it.
49. Approaches of congestion control: 1) Monitor and detect where congestion occurs. 2) Pass this information to where actions can be taken. 3) Adjust system operation to correct the problem.
50. Concatenated virtual circuits: using gateways (multiprotocol routers) to combinate different subnets together, and pass data from source to destination.
51. Internetwork routing: interior routing protocol / exterior routing protocol.
52. ICMP: Internet control message protocol. It is used to monitor the operation of the Internet and also test it.
53. QoS parameters: 1) reliability 2) delay 3) jitter 4) bandwidth
54. Transport layer vs. network layer: 1) Network layer service is unreliable. Transport layer service (connection-oriented) is reliable; 2) Network layer only provides its service to transport layer. Users can’t see it. Transport layer can be seen by many programs or users.
(No. 55 ~ 59 were missing)
60. Asymmetric vs. symmetric disconnection: Asymmetric: either side can send DISCONNECT primitive, and then the connection is released. Symmetric: either side can do DISCONNECT independently if it has no more data to send, but it can still receive data and it won’t affect the other side. When both sides do DISCONNECT, the connection is released.
61. Transport vs. datalink: 1). connectivity: Transport: via subnet. Datalink: via physical channel. 2). Addressing: Transport: explicit destination address. Datalink: no address needed. 3). Connection establish: Transport: more complicated (destination may not exist). Datalink: destination is always there. 4) Storage: Transport: packets may be stored by subnets for quite a while, befor they get to the destination. Datalink: no such significant effect, only a short delay may occur. 5) Buffering & flow-control: Transport: more complicated. Datalink: simpler.
62. Reliable connection establishment: 1) ensure packets lifetime bounded. 2) packet sequence number can’t be reused within a packet lifetime. 3) use 3-way-handshake to make initial sequence agree.
(NOTE: this note does not guarantee mistake-free.)
Summarized by Dan
To find more info at Sky in the Mirror (http://sonicdan.spaces.msn.com)