transmission control protocol/internet protocol; 1. tcp/ip协议介绍 tcp/ip(又称tcp/ip协议簇)是一组用于实现网络互连的通信协议,其名称来源于该协议簇中两个重要的协议(ip协议和tcp协议)。基于tcp/ip的参考模型将协议分成四个层次,它们分别是网络
transmission control protocol/internet protocol;
1. tcp/ip协议介绍tcp/ip(又称tcp/ip协议簇)是一组用于实现网络互连的通信协议,其名称来源于该协议簇中两个重要的协议(ip协议和tcp协议)。基于tcp/ip的参考模型将协议分成四个层次,它们分别是网络接口层、网际互连层(ip层)、传输层(tcp层)和应用层。图17-4画出了tcp/ip模型以及该模型与osi模型各层的对照关系。
图17-4 osi模型与tcp/ip模型对照图
① 网络接口层:网络接口层与osi参考模型中的物理层和数据链路层相对应。
② 网际互联层:网际互联层对应于osi参考模型的网络层,主要解决主机到主机的通信问题。该层有四个主要协议:网际协议(ip)、地址解析协议(arp)、互联网组管理协议(igmp)和互联网控制报文协议(icmp)。ip协议是网际互联层最重要的协议,它提供的是一个不可靠、无连接的数据报传递服务。
③ 传输层:传输层对应于osi参考模型的传输层,为应用层实体提供端到端的通信功能。该层定义了两个主要的协议:传输控制协议(tcp)和用户数据报协议(udp)。tcp协议提供的是一种可靠的、面向连接的数据传输服务;而udp协议供的是不可靠的、无连接的数据传输服务。
④ 应用层:应用层对应于osi参考模型的会话层、表示层和应用层,为用户提供所需要的各种服务,例如ftp、telnet、dns、smtp等。
2. osi模型与tcp/ip模型比较说明(1)osi模型与tcp/ip模型比较说明
osi引入了服务、接口、协议、分层的概念,tcp/ip借鉴了osi的这些概念建立tcp/ip模型。osi先有模型,后有协议,先有标准,后进行实践;而tcp/ip则相反,先有协议和应用再提出了模型,且是参照的osi模型。osi太复杂,tcp/ip简单却并不全面。osi花了很长时间进行标准化,与此同时,tcp/ip已被广泛使用,已成为网络互联事实上的标准。
(2)osi模型与tcp/ip模型
表17-1列出了osi模型与tcp/ip模型的协议对照及协议说明。
表17-1 osi模型与tcp/ip模型协议对照表
osi中的层
功能
tcp/ip协议簇
应用层
文件传输,电子邮件,文件服务,虚拟终端
tftp、http、snmp、ftp、smtp、dns、telnet
表示层
数据格式化,代码转换,数据加密
没有协议
会话层
解除或建立与别的接点的联系
没有协议
传输层
提供端对端的接口
tcp、udp
网络层
为数据包选择路由
ip、icmp、ospf、bgp、igmp 、arp、rarp
数据链路层
传输有地址的帧以及错误检测功能
slip、ppp、mtu
物理层
以二进制数据形式在物理媒体上传输数据
iso2110、ieee802、ieee802.2
3. tcp/ip通信过程图 下图17-5画出了两台主机通过tcp/ip协议的通信过程,其中应用层使用的是ftp协议。除物理层是实际传输数据的,其他对等层只是虚拟通信(所以画的是虚线),对等层一般需要遵照相同的协议。上层传输数据只与相邻上下层有关系。tcp及以下层是由操作系统内核实现,是处理通信细节。而应用层程序是通过socket编程实现的,处理的是应用程序细节。
图17-5 tcp/ip通信过程图
4. tcp/ip数据包
tcp/ip数据包说明如图17-6所示。ip层传输单位是ip分组,属于点到点的传输;tcp层传输单位是tcp段,属于端到端的传输。
图17-6 tcp/ip数据包说明图
摘录自《深入浅出linux工具与编程》