TCP/IP协议基础
- TCP/IP协议是目前最完整的、被普遍接受的通信协议标准。它可以使不同的硬件结构、不同操作系统的计算机之间相互通信。
- TCP/IP协议族包括TCP(传输层协议)、Ip(网络层协议)和其他协议。
- TCP/IP协议只是习惯叫法,更专业的叫法是Internet协议。无论是局域网还是广域网,TCP/IP都是使用最广泛的协议。
TCP/IP协议的层次结构
1、TCP/IP与OSI的层次对应关系:
2、TCP/IP各层的功能:
1. 网络接口层(链路层): 又称网络访问层,负责向网络物理介质发送数据包,从网络物理介质接受数据包。
2. 网络层: 又称互联网层或IP层,负责处理IP数据包的传输、路由选择、流量控制和拥塞控制。包含协议有:地址解析协议(ARP,根据IP地址获取物理地址)和反向地址解析协议(RARP,根据物理地址获取查找IP地址);IP协议是网络层的核心协议;控制报文协议(IGMP),主机和网关进行差错报告、控制和进行请求/应答的协议;管理协议(IGMP),用于实现组播中的组成员管理。
3. 传输层: 为两台主机上的应用程序提供端到端的通信。包含协议有:传输控制协议(TCP,面向连接的、可靠的、字节流的传输服务)和用户数据报协议(UDP,无连接的、不可靠的、高效的、数据报传输服务)。
4. 应用层: 为用户提供一些常用的应用程序。包含协议有:文件传述协议FTP、简单邮件传输协议SMTP、超文本传输协议HTTP等。
TCP/IP层次结构的必要性: TCP/IP的层次结构,使一个复杂的通信系统具备层次化,更利于理解分析、排查故障、维护更新和统一标准化。
TCP/IP协议族
1、分层:
- tcp和udp都是运输层的协议,二者都使用ip协议作为网络层协议,不同的是tcp虽然使用不可靠的ip服务,但它却提供了一种可靠的运输层服务。
- ip协议是网络层的主要协议,同时被udp和tcp使用。ip协议主要负责数据在网络上的传送(路由选择)。
- icmp是IP协议的一个附属协议。ip协议用它来与其他主机或路由器交换错误报文和其他重要信息。
- igmp是internet组管理协议。用来吧一个udp数据报多播到多个主机。
- arp和rarp协议是负责ip地址和mac地址之间的转换的。
2、封装:
当应用层程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要加上一些首部信息(甚至还有尾部),如下:
封装相当于,发送端主机将需要发送的数据加密成能在以太网中传输的数据帧。
3、分用:
当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由低向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程叫做分用。
分用相当于,目的主机解析收到的数据帧,提取其中有用的信息。