以下内容处在大连理工大学出版社出版的由谢希仁教授主编的《计算机网络》
TCP/IP的运输层有两个不同的协议:
(1) 用户数据报协议 UDP (User Datagram Protocol)
(2) 传输控制协议 TCP (Transmission Control Protocol)
在互联网上源主机的协议层与目的主机的同层协议通过下层提供的服务实现对话。在源和目的主机的同层实体称为对等实体(Peer entities)或叫对等进程,它们之间的对话实际上是在源主机上从上到下然后穿越网络到达目的主机后再从下到上到达相应层。
下面以使用TCP协议传送文件(如FTP应用程序)为例说明了TCP/IP的工作原理。
(1) 在源主机上应用层将一串字节流传给传输层;
(2) 传输层将字节流分成TCP段,加上TCP包头交给互联网络(IP)层;
(3) IP层生成一个包,将TCP段放人其数据域,并加上源和目的主机的IPIP包交给数据链路层;
(4) 数据链路层在其帧的数据部分装IP包,发往日的主机或IP路由器;
(5) 在目的主机,数据链路层将数据链路层帧头去掉,将IP包交给互联网层;
(6) IP层检查IP包头,如果包头中的校验和与计算出来的不一致,则丢弃该包;
(7) 如果校验和一致,IP层去掉IP头,将TCP段交给TCP层,TCP层检查顺序号来判断是否为正确的TCP段;
(8) TCP层为TCP包头计算TCP头和数据。如果不对,TCP层丢弃这个包,若对,则向源主机发送确认;
(9) 在目的主机,TCP层去掉TCP头,将字节流传给应用程序;
(10) 于是目的主机收到了源主机发来的字节流,就像直接从源主机发来的一样。
实际上每往下一层,便多加了一个报头,而这个头对上层来说是透明的,上层根本感觉不到下面报头的存在。如下图3-10所示,假设物理网络是以太网,上述基于TCP/IP的文件传输(FTP)应用打包过程便是一个逐层封装的过程,当到达目的主机时,则从下而上去掉包头。
下面以使用TCP协议传送文件(如FTP应用程序)为例说明了TCP/IP的工作原理。
(1) 在源主机上应用层将一串字节流传给传输层;
(2) 传输层将字节流分成TCP段,加上TCP包头交给互联网络(IP)层;
(3) IP层生成一个包,将TCP段放人其数据域,并加上源和目的主机的IPIP包交给数据链路层;
(4) 数据链路层在其帧的数据部分装IP包,发往日的主机或IP路由器;
(5) 在目的主机,数据链路层将数据链路层帧头去掉,将IP包交给互联网层;
(6) IP层检查IP包头,如果包头中的校验和与计算出来的不一致,则丢弃该包;
(7) 如果校验和一致,IP层去掉IP头,将TCP段交给TCP层,TCP层检查顺序号来判断是否为正确的TCP段;
(8) TCP层为TCP包头计算TCP头和数据。如果不对,TCP层丢弃这个包,若对,则向源主机发送确认;
(9) 在目的主机,TCP层去掉TCP头,将字节流传给应用程序;
(10) 于是目的主机收到了源主机发来的字节流,就像直接从源主机发来的一样。
实际上每往下一层,便多加了一个报头,而这个头对上层来说是透明的,上层根本感觉不到下面报头的存在。如下图3-10所示,假设物理网络是以太网,上述基于TCP/IP的文件传输(FTP)应用打包过程便是一个逐层封装的过程,当到达目的主机时,则从下而上去掉包头。