TCP/IP协议族的分层
网络协议分不同层次进行开发,每一层分别负责不同的通信功能。TCP/IP协议族是一个四层的协议系统。
链路层:通常包括操作系统中的设备驱动程序和计算机中的网卡,它们一起处理与电缆(或其他的传输媒介)的物理接口细节。涉及到了以太网协议,如ARP(地址解析协议,转换IP层和链路层使用的地址)和RARP(逆地址解析协议)协议。
网络层:处理分组在网络中的活动,例如分组的选路。提供点到点的通信(主机到主机,准确来说是网卡到网卡)。网络层包括:IP协议(网际协议),ICMP协议(Internet互联网控制报文协议)和IGMP协议(Internet组管理协议)。
ICMP是IP协议的附属协议,IP层用它来与其他主机或路由器交换错误报文或其他信息。尽管ICMP主要是被IP使用,但应用程序也有可能访问它,如Ping和Traceroute两个诊断工具。
IGMP协议用来把一个UDP数据报多播到多个主机。
运输层:为两台主机上的应用程序提供端到端(端口到端口)的通信,包括两个协议:TCP(传输控制协议)和UDP(用户数据报协议)。TCP为应用程序提供高可靠性的数据通信,包括将应用程序交给它的数据分快,确认接收到的分组等等。UDP则只是将被称为数据包的分组从一台主机发送给另外一台主机,但并不保证该数据报能到达另一端,任何需要的可靠性保证必须由应用层提供。
TCP和UDP都使用IP作为网络层协议,TCP和UDP的没组数据都通过端系统和每个中间路由器的IP层在网络中传输。
应用层:负责处理特定的应用程序细节。如,Telnet远程登录,FTP文件传输协议,SMTP简单邮件传送协议和SNMP简单网络管理协议。
举例子
在一个局域网(LAN,广域网,WAN)中,有两台主机,二者都运行FTP协议,那么在传输过程中涉及的协议如下。
所以,运输层和网络层尽管在功能上相似,但实际上是负责不同的功能的。
连接两个网络的另一个方法是使用网桥,网桥是在链路层上对网络进行互连,而路由器是在网络层上对网络进行互连。网桥是多个局域网组合在一起,这样对于上层来说就好像是一个局域网。TCP/IP倾向于使用路由器来连接网络。