network and protocol

主机(端系统)

各种终端设备,笔记本,手机,等等。

通信链路和分组交换机(packet switch)

端系统通过通信链路和分组交换机连接在一起。
路由器和链路层交换机都是分组交换机。

公共因特网

公共因特网是指一个特定的网络,通常被称为因特网。

因特网服务提供商(ISP)

主机通过Internet Service Provider(ISP)接入因特网,ISP提供的是链路接入,不提供内容。

协议(Protocol)

定义了在两个或者多个通信实体之间交换报文的格式和次序,以及在报文传输/接收或其他方面上所采取的动作。

传输控制协议(TCP)

Transmission Control Protocol,

网际协议(IP)

Internet Prococol,定义了在路由器和端系统中发送和接收的packet的格式。

RFC(Request For Comment)

RFC是一个标准文档,其中包含很多协议的制定。

分组(packet)交换

应用程序之间叫交换报文(message),通常源主机会将message划分为更小的分组(packet)。在源主机和目的主机之间,每个packet都通过通信链路和packet交换机传送。

存储转发传输和输出缓存

多数分组交换机在链路的输入端使用存储转发传输(store-and-forward-tranmission),在交换机开始向输出链路传送该packet的第一个bit之前,它必须接收到整个packet。这个过程存在一个存储转发时延。
每个交换机都有多条链路和它相连,对于每条相连的链路,这个分组交换机有一个输出缓存(output buffer),也叫输出队列(output deque),用于存放路由器准备发往的那条链路的packet。如果这个输出链路被其他packet占用了,这个packet需要等待。这个过程存在一个排队时延。

这些时延的变换和网络用塞水平相关,如果输出缓存满了,就会出现丢包(packet loss)。

时延

除了存储转发时延(传输时延),排队时延,还有节点处理时延,和传播时延,这些时延加起来是节点总时延。

TCP/IP模型

应用层
传输层
网络层
网络接口层

五层因特网协议栈

应用层
传输层
网络层
链路层
物理层

七层ISO OSI参考模型

应用层
表示层
会话层
运输层
网络层
链路层
物理层

应用层

应用层的信息分组被称为报文(message)。
常见的如FTP, SMTP, HTTP。

运输层

运输层的信息分组被称为报文段(segment)。
两个运输层协议:TCP和UDP。
运输层提供了在应用程序之间传送报文段的服务。

网络层

网络层的信息分布被称为数据报(datagram)。
IP。
将数据报从一台主机移动到另一台主机。

链路层

传输的是帧(frame)。
链路层的任务是将帧从一个网络元素移动到邻近的一个网络元素。

物理层

物理层传输的是比特(bit)。
物理层的任务是将比特从一个节点移动到下一个节点。

报文,报文段,数据报,帧

应用层叫报文。
运输层叫报文段。应用层报文加上运输层的附加信息就得到了报文段。
网络层叫数据报。运输层报文段加上网络层的附加信息得到数据报。
链路层叫帧。网络层数据报加上链路层的附加信息就得到了帧。
物理层是比特。
当然实际上,并不是一个上层的报文对应一个下层的封装后的报文,上层的报文可能被拆分成多个底层的报文。
如下图所示,路由器实现了协议栈的网络层,链路层和物理层,而分组交换机只实现了链路层和物理层,主机实现了五层协议栈的所有层。

套接字

套接字是一个同一台主机内应用层和网络层之间的接口。由于套接字是在网络上建立网络应用程序的可编程接口,所以也把套接字称为应用程序和网络之间的应用编程接口。

参考文献

1.《计算机网络自顶向下》