- Please write any questions, confusions, curiousities or wonderings on our webscience jamboard.
- Great resource from our classroom library on HTTP
- We are going to learn about DNS, IP, TCP and IP today.
- What is the TCP protocol: Click here to watch a video
- Please watch this part 2: part 2 of TCP
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)"
nettop (push "c" and "e" and "p" for different views)
Characteristics of TCP are:
- 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.
- 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.
- 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.
- Multiplexing: Multitasking achieved through the use of port numbers.
- 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.
- 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.