TCP/IP Illustrated 第一章 Introduction

Introduction

在这一章节,作者大致地进行了 TCP/IP 的 whirlwind tour, 讲解了数据传输的四层, link layer, network layer, transport layer 和 application layer, 并且对其中的每一层进行了区分.
同时,作者也讲述了这四层之间执行协同工作的方式,即 encapsulation 和 demultiplexing
internet 是众多 network 的集合,它们通过 IP address 和 port number 进行沟通.

Layering

TCP/IP 是由四个层次构成的,这四个层次分别为:

  1. Application
  2. Transport
  3. Network
  4. 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.
TCP/IP Illustrated 第一章 Introduction

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 的处理方式为:

  1. Wait for a client request to arrive
  2. Process the client request
  3. Send the response back to the client.
  4. Go back to STEP 1.

concurrent server 的处理方式为:

  1. Wait for a client request to arrive
  2. Start a new server( to handle this client's request, and terminates when complete)
  3. 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 的一种.





上一篇:Session &cookie introduction,usage


下一篇:SMM283 Introduction to Python