主机(端系统)
各种终端设备,笔记本,手机,等等。
通信链路和分组交换机(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.《计算机网络自顶向下》