Introduction
在这一章节,作者大致地进行了 TCP/IP 的 whirlwind tour, 讲解了数据传输的四层, link layer, network layer, transport layer 和 application layer, 并且对其中的每一层进行了区分.
同时,作者也讲述了这四层之间执行协同工作的方式,即 encapsulation 和 demultiplexing
internet 是众多 network 的集合,它们通过 IP address 和 port number 进行沟通.
Layering
TCP/IP 是由四个层次构成的,这四个层次分别为:
- Application
- Transport
- Network
- Link
link layer, 又叫 data-link layer, 或者 network interface layer, 用于处理各种硬件方面的问题.
network layer, 又叫 internet layer, 用于处理网络中的 packets, 它包含了三个方面的协议:IP(Internet Protocol), ICMP(Internet Group Management Protocol) ,IGMP(Internet Group Management Protocol)
transport layer, 其功能是用于提供两机交流的通道,包括了 TCP(Transmission Control Protocol) 和 UDP(User Datagram Protocol) 两种.
application layer, 用于实际的功能,如 FTP, SMTP, HTTP 等等.
区别
application layer 用于处理应用的细节,而对数据的传输一无所知;
其下的三个 layer 对应用的细节一无所知,但是负责数据的传输.
IP layer 是一种 hop-by-hop protocol,而其他的 protocol, 都是 end-to-end protocol, 其中的 IP router 可以将 IP 连接 link 层的不同协议.
TCP 具有 timeout 和 retransmission 的机制,但是 IP 没有, 因此 TCP 层更加安全.
目的
建成的目的是为了 hide all the details of the physical layout of the internet
Internet Address
定义: 每一个 interface 都必须有一个 internet address, 其又称 IP address.
记法: 是 32-bit 的,分为 A,B,C,D,E 五个等级,每个等级的编号包含前缀, netid, hostid.
the Domain Name System
定义: DNS, 用于提供 IP address 和 hostname 之间的 mapping .
Encapsulation & Demultiplexing
Encapsulation
定义;
当用户通过 application 发送信息的时候,也就是数据由 application layer 向下游走的时候, 每一层接受到之后,会在其前或者其后添加一段信息,然后再发送给下一层,这一概念叫做 encapsulation.
概念:
其中 TCP 向 IP 发送的为 TCP segment, IP 向 link layer 发送的为 IP datagram.最后在 Ethernet 层形成 Ethernet frame.

Demultiplexing
数据的接收端接受信息的时候,信息中所带的 header 被逐层解释并去掉,然后向上一层再发送去掉 header 的信息,这一过程叫做 demultiplexing.
在 demultiplexing 的过程中, 需要用到 source IP address & port number 和 destination port address & port number.
Client-Server Model
所有的 networking application 都假设一端是 client,另一端是 server, 因此存在两种 server 的类型,分别为 iterative server 和 concurrent server.
iterative server 的处理方式为:
- Wait for a client request to arrive
- Process the client request
- Send the response back to the client.
- Go back to STEP 1.
concurrent server 的处理方式为:
- Wait for a client request to arrive
- Start a new server( to handle this client's request, and terminates when complete)
- Go back to STEP 1
Port number
ephemeral port: a client's port, 仅仅存在于 client 登陆的时候, 因此是 short lived 的
在 UNIX 系统中, 这些 port number 位于 /etc/services 中,可以利用
grep telnet /etc/services 来查找这些端口位置.

Internet & internet
区别
Internet 指的是能够通过 TCP/IP 协议的主机,能够在全球范围内进行交流.
internet 指的是通过使用一个共同的协议族进行网络的连接.是 a collection of networks
联系
Internet 是 internet 的一种.