Stanford CS144笔记(一)
Networked Applications
- World Wide Web
- BitTorrent
- Skype
- ......
Layerd Internet Model
Ineternet is a huge and complicated project, for simplifying the developments of Internet, The pioneers of internet designed a "4 Layer Internet Model".
This model divide Internet into 4 layer: Application layer, Transport layer, Network layer and Link layer.
The following picture illustrated the "4 Layer Internet Model"
1. Link layer
The job of Link layer is carry the data over one link at a time.
- Data is in packets( packet is the data we want deliver along with a header tells the network where the packet is be delivered, where it came from).
- Data is delivered hop-by-hop each link in turn.
2. Network layer
The job of Network layer is to deliver packets end-to-end across the Internet from the source to destination.
-
Network layer will invoke the service provided by Link layer to deliver packets.
-
Network layer don't need to kwon how Link layer complete his task.
Modularity:
- This separation of conerns between Network layer and Link layer allows each to focus on it's own job without worrying about how the other layer work.
- It means that a single Network layer has a common way to talk to many different Link layers by simply handing them datagrams to sent.
Network layer is "special":
We must use the Internet Protocol(IP).
- Best effort, but it makes no promises.
- IP datagrams can get lost, can be deliver out of order, and canbe corrupted, there are no guarantees.
3. Transport layer
- TCP(Transmission Control Protocol)
- Reliable data transfer.
- Congestion control
- Flow control
- UDP(User Datagram Protocol)
4. Application layer
- HTTP (World Wilde Web)
- SMTP (Email)
- DNS (Domain->IP address)
- Peer-to-Peer(BitTorrent)
5. Put it all together
We say that each layer communicates with its peer layer.
A complete process of transmission of Application data through Internet.
6. 7-layer OSI(Open System Inerconnection) Model
In the 1980s, ISO(International Standards Organization) created a 7-lay Internet Mode.
The IP Service Model
Each layer provides a "sevice" to the layer above.
1. Properties
2. Why the IP service so simple?
- Simple, minimal: Faster, more streamlined and lower cost to build and maintain.
- The end-to-end principle: Where possible, implement features in the end hosts.
- Allows a variety of reliable (or unreliable) services to be built on top.
- Works over any link layer: IP makes very few assumptions about the link layer below.
3. Some details
1, Tries to prevent packets looping forever. To do this IP adds a hop-count field in the header of datagram, called TTL(Time To Live)
2. Will fragment packets if they are too long. IP is designed to run over any kind of link, most links have a limit on the size of the packets they can carry.
3. Uses a header checksum to reduce chances of delivering datagram to wrong destination.
The checksum is the result of adding the data bit by bit and inverting the sum. When verifying the checksum, add the data bit by bit and add the checksum. If it is equal to zero, the verification is passed.
IPv4 Datagram
The format of IPv4 Datagram:
IPv4 Datagram capture by wireshark.
4. Summary
We use IP every time we send and receive datagrams.
IP privides a deliberately simple service:
- Datagram
- Unreliable
- Best-effort
- Connetionless
专业之外,喜欢阅读,尤爱哲学、金庸、马尔克斯。