TCP/IP协议族

TCP/IP协议族

现在internet使用的驻留协议族是TCP/IP协议族,它是四层协议的通信系统。自底向上分别是:数据链路层、网络层、传输层和应用层。

TCP/IP协议族_第1张图片
  • 数据链路层

数据链路层实现了网卡接口的网络驱动程序,以处理数据在物理媒介上的传输(以太网、令牌环网等)。网络驱动程序隐藏了不同物理网络的电气特性,提供了一个统一的接口。
常用协议有:ARP、RARP

  • 网络层

网络层实现数据包的选路和转发。网络层对上层协议隐藏了网络拓扑的细节,使得在传输层和网络应用程序看来,通信双方是直接相连的。
常用协议有:IP、ICMP

  • 传输层

传输层为两台主机上应用程序提供端到端的通信。与网络层使用的逐跳通信不同,传输层只关心通信的起始端和目的端,不在乎数据包的中转过程。
常用协议有:TCP、UDP、SCTP

  • 应用层

应用层负责处理应用程序的逻辑。数据链路层、网络层和传输层负责处理网络通信的细节,这部分必须既稳定又高效,因此都在内核中实现,而应用层则在用户空间实现。
应用层协议很多,例如:telnet、OSPF、DNS、FTP、HTTP等。值得注意的是,ping是应用程序,不是协议,它只是利用ICMP报文对网络连接进行检测。

少数常见协议

  • ARP、RARP

网络层使用IP地址寻址一台机器,而数据链路层使用物理地址寻址一台机器,因此必须先将目标机器的IP地址转化成目标机器的物理地址,才能使用数据链路层的服务。
ARP协议用于实现网络地址到物理地址的转换,RARP协议用于实现物理地址到网络地址的转换。RARP协议仅用于网络上某些无盘工作站,由于缺乏存储设备,其无法记住自己的IP地址,只能利用网卡上的物理地址向网络管理者查询自身IP地址。

  • ICMP

ICMP由类型字段分为两大类:一类是差错报文,这类报文主要是用来回应网络错误,比如目标不可达(类型值3)和重定向(类型5);另一类是查询报文,这类报文用来查询网络信息,比如ping程序就是使用ICMP报文查看目标是否可达的(类型8)。

  • TCP、UDP

TCP协议为应用层提供可靠的、面向连接的基于流(数据无边界)的服务。其通过超时重传、数据确认等方式保证数据包被正确地接受。
UDP协议为应用层提供不可靠、无连接和基于数据报的服务。无法保证数据从发送端正确传送到目的端。需要应用程序自己处理数据确认、超时重传等逻辑。

  • DNS

DNS协议是一套分布式域名服务器。每个DNS服务器上都存放着大量机器名和IP地址映射,并且是动态更新的。众多网络客户端都使用DNS协议来向DNS服务器查询目标主机的IP地址。

封装与分用

应用程序数据在发送到物理网络之前,将沿着协议栈从上往下传递。每层协议都在上层数据的基础上加上自己的头部信息(有时还包括尾部信息),以实现该层的功能,这个过程就叫封装

TCP/IP协议族_第2张图片

当帧到达目的主机时,将沿着协议栈自底向上依次传递。各层协议依次处理帧中本层负责的头部,提取所需的信息,并将最终处理后的帧交给目标应用程序,这个过程称为分用

TCP/IP协议族_第3张图片

你可能感兴趣的:(TCP/IP协议族)