obonaventure / cnp3

Computer Networking : Principles, Protocols and Practice (first and second edition, third edition is being written on https://github.com/cnp3/ebook)
https://www.computer-networking.info
503 stars 91 forks source link

Corrections mistake thoughtput formula + misprints, language and punctuation #255

Open Magalii opened 5 years ago

Magalii commented 5 years ago

I have made several corrections of misprints, language and punctuation in the part Principles. Here is the list of all changes that have been made, organized by files and preceded by the line at which the change has been done, sometimes with a short justification. Somehow, spaces at the end of lines have also been deleted in several places, but I expect this will not lead to any change in the book and those small changes are not listed here.

reliability.rst 330: the datalink entity will not be (added: be) able to accept any additional frames 481: error detection code (emphasis on the three words without omitting "code")

network.rst 141: ensure that there are no (previous:not) black holes inside the network 168: Another interesting point that is worth being discussed is the way (previous: when) the forwarding tables are computed 281: it first checks whether the packet's destination is a (added: a) direct neighbor 453: label forwarding tables (deleted: ‘) of all network nodes

dv.rst 127: v=v+Pair(d,R[d].cost) (previous: R[d.cost]) 143: v=v+Pair(d,R[d].cost) (previous: R[d.cost]) 150: Unfortunately, split-horizon is not sufficient

transport.rst 12: The are two important models used to organize (previous: organise) a networked application. 48: to ensure a (previous: an) successful exchange of information 333: the main limitations of the network layer service are (added: are) that its service is unreliable 382: Similarly, connection-oriented protocols use (previsous: used) checksums/CRCs 384: maintain some state during the (added: the) lifetime of the connection 428: creates a (added: a) state for the connection attempt 519: Transport entities (previous: entity) are usually implemented inside the operating system kernel and share (previous: shares) memory with other parts of the system.

naming.rst 78: The name service also enables the servers to better sustain a big (previous: be) load.

sharing.rst 12: The first and most (previous: more) important resource inside a network is the link bandwidth. 12: Consider for (deleted: a) example a network with four (previous: five) hosts. Any of these hosts needs to be able to exchange information with any of the other three (previous: five) hosts. (NB: The number of four hosts has been chosen instead of keeping the number five because it better matches the figure that follows these sentences.) 12: A first organization (previous: organisation) for this LAN is the full-mesh. 20: this network organization (previous: organisation) has two important drawbacks 20: then each host must have :math:n-1 interfaces to terminate (previous: terminante) :math:n-1 links. 22: The second possible physical organization (previous: organisation) 22: all hosts are attached to a shared medium, usually a cable, (added: ,)through a single interface. 30: A third organization (previous: organisation) of a computer network is a star topology. 37: A network organized (previous: organised) as a Star. 39: A fourth physical organization (previous: organisation) of a network is the ring topology. Like the bus organization (previous: organisation), each host has a single physical interface connecting it to the ring. 45: A network organized (previous: organised) as a ring 47: A fifth physical organization (previous: organisation) of a network is the tree. 47: Cable TV networks are often organized (previous: organised) as trees. 161: Performing these lookup operations requires (previous: require) resources such as CPU cycles or memory accesses. 326: The university of Hawaii chose a different organization (previous: organisation) 735: Thus, the measured round-trip-time (deleted: measured) is roughly 6 milliseconds if we ignore the propagation delay on the links. 930: At (previous: A) any time, the sending window is restricted to :math:\min(swin,cwin) 950: cwin (previous: cwnd) =cwin/2 # only once per rtt

security.rst 434: of her message in a way that (deleted: makes) prohibits an attacker from generating a

Magalii commented 5 years ago

Changes that have been made to the glossary and the part Protocols are the following (organized by file, preceded by line number and with a short explanation if necessary):

Glossary: 195,196: (deleted: “IMAP The Internet Message Access Protocol is defined in :rfc:3501” because it is already present with more details at line 258)

Protocols:

transport-service.rst 19: The connectionless transport service allows networked applications (previous: application) to exchange messages. 29: The figure below illustrates two applications (added: applications) that are using the datagram service

dns.rst 68: This allows, for example, a DNS server that only supports IPv6 to (previous: can) safely ignore the IPv4 addresses

ssh.rst 200: a key used by the client (resp. server) to initialize (previous: initalise) 247: We first require the key to be (added: be) as long as the block size.

http.rst 16: FTP (previous: http) was very popular in the 1990s and early 2000s 142: the Referer: (previous; Referrer) header is followed by a URI.

rpc.rst 20: The second subproblem (previous: problem) is how to reach the callee through the network ? 29: The eXternal Data Representation (XDR) Standard, defined in :rfc:1832, (added: ,) is an early specification 44: This implies that some padding bytes may be inserted during the encoding operation if (previous: is) the length of the string is not a multiple of 4. 113: Several error codes are defined in [JSON-RPC2]. For example, -32700 indicates an error in parsing the request, -32602 indicates invalid parameters and -32601 indicates that the method could not be found on the server. (deleted: “Other error codes are listed in [JSON-RPC2].” because it is redundant information)

dnssec.rst 42: he (previous: she ) could still launch a different attack (NB: “he” refers to Mallory) 110: :math:2^{32} (previsous: :math:2^32)

stcp.rst 44: The first two fields are (previous: and) the Source and Destination ports 85: The INIT (previous: INIT``) chunk may also contain the other addresses owned by the client. 101: A small message is always sent as a chunk (previous: a sent as chunk) whose ``B`` and ``E`` bits are set to1`. 122: SCTP uses a different approach to terminate (previous: terminante) connections.

congestion.rst 61: cwnd = cwnd+ MSS*(MSS/cwnd) (previous: “mss”, but the variable is called “MSS” everywhere else in this code) 66: retransmit segment(snd.una) (previous: “retransmitsegment(snd.una)”, which is not consistant with the function used in the other pseudo-code used in section tcp, line 434) 210: - Compound TCP, which was designed for high bandwidth links, (added: ,) is the default congestion control scheme 223: Some routers (deleted: have) use fixed-length slots with each slot large enough to store a maximum-length packet.

ipv6.rst 12: Until now, we have focused (previous: focussed) our discussion 61: The (added: The) company identifier is then used to populated the c bits 125: if the host does not already have an IPv6 address on this subnet (deleted: ‘)’ closed parenthese that was never opened). 195: the host updates its (previous: it) forwarding table

routing.rst 44: In steady state, routers multicast one or (previous: of) more RIP response messages every 30 seconds.

bgp.rst 23: distribution networks such as akamai or limelight . (added: . ) For the last few years, 154: A BGP router contains four (previous: three) important data structures : (Following this sentences are listed 4 different data structures and not 3 like it was annouced previously. If there is indeed only 3 important structures, it would be interesting to indicate which one is not considered important.) 292: each domain can define its (previous: is) own ranking algorithm 418: The topology composed of all the directed customer->provider peering links is an acyclic graph. (added: .) 444: (added: ‘.’ at the end of the line) 18: (added: ‘.’ at the end of the line)

ethernet.rst 75,76: added indentation and space to produce the correct format

Magalii commented 5 years ago

The third commit modifies the formula for the througput in Chap 3, Part 2: Protocols, 3.13. Congestion control, 3.13.2. Modeling TCP congestion control. (file protocols/congestion.rst, line 189)

The formula was: Throughput = (areaxMSS)/time = ((3xW²)/8)/((W/2)xrtt) It seems to me that this last expressing for the throughput doesn't take the MSS into account and is thus not correct. I have added it to give the following expression: Throughput = ... = (((3xW²)/8)xMSS)/((W/2)xrtt)