IB Year 2 Higher Level Computer Science

Monday 3 October 2022 - Block 8, Room C152
← previous note | most current note | next note →

Daily Note


  1. Please write any questions, confusions, curiousities or wonderings on our webscience jamboard.
  2. Great resource from our classroom library on HTTP
  3. We are going to learn about DNS, IP, TCP and IP today.
  4. DNS
    1. We will review the standard and the big idea from our wiki page
    2. We will login to our classroom lbrary and review this cool zine about DNS
    3. We will watch this video
    4. We will use the dig command
  5. IP 
    1. We are going to review the wiki page for IP, remind ourselves about protocols, and learn about the characteristics of the IP protocol.
    2. We are going to watch a video about IP
  6. TCP
    1. What is the TCP protocol: Click here to watch a video
    2. Please watch this part 2: part 2 of TCP
    3. For a practical hands-on look at open TCP connections on your Mac, type the following command in terminal:

      lsof -i | grep -E "(LISTEN|ESTABLISHED)"

      and also:

      nettop (push "c" and "e" and "p" for different views)

      Characteristics of TCP are:

    4. Stream Data transfer: Applications working at the Application Layer transfers a contiguous stream of bytes to the bottom layers. It is the duty of TCP to pack this byte stream to packets, known as TCP segments, which are passed to the IP layer for transmission to the destination device. The application does not have to bother to chop the byte stream data packets.
    5. Reliability: The most important feature of TCP is reliable data delivery. In order to provide reliability, TCP must recover from data that is damaged, lost, duplicated, or delivered out of order by the Network Layer. TCP assigns a sequence number to each byte transmitted, and expects a positive acknowledgment (ACK) from the receiving TCP layer. If the ACK is not received within a timeout interval, the data is retransmitted. The receiving TCP uses the sequence numbers to rearrange the TCP segments when they arrive out of order, and to eliminate duplicate TCP segments.
    6. Flow control: Network devices operate at different data rates because of various factors like CPU and available bandwidth. It may happen a sending device to send data at a much faster rate than the receiver can handle. TCP uses a sliding window mechanism for implementing flow control. The number assigned to a segment is called the sequence number and this numbering is actually done at the byte level. The TCP at the receiving device, when sending an ACK back to the sender, also indicates to the TCP at the sending device, the number of bytes it can receive (beyond the last received TCP segment) without causing serious problems in its internal buffers.
    7. Multiplexing: Multitasking achieved through the use of port numbers.
    8. Connections: Before application processes can send data by using TCP, the devices must establish a connection. The connections are made between the port numbers of the sender and the receiver devices. A TCP connection identifies the end points involved in the connection. A socket number is a combination of IP address and port number, which can uniquely identify a connection.
    9. Full duplex: TCP provides for concurrent data streams in both directions



Our Big idea

The big idea for today is Web science.

The essential questions for this topic are:

What is the web, really? How is the web made? How do we design and build web-based applications?

It takes time to explore and really understand a big idea. If you want to
learn more about web science (which is connected to today's daily note), please click here .

We are learning this because as a designers must understand scientific and technical innovation. Designers use systems, models, methods, and processes to solve problems.

Reminders & routines:

Please read and follow these reminder

  1. IF today == Friday: