学习TCP/IP协议前我们先提几个问题,再带着问题去学,务必保证自己看的都能看懂。
问题一、TCP/IP协议出现的背景是什么?
问题二、TCP/IP协议具体是指什么?
1、TCP/IP协议出现的背景是什么?
学习TCP/IP前,我们先要了解下另外一个网络体系结构OSI开放系统互联(Open Systems Intereconnection),OSI是个标准模型,它在协议未发明时便已经出现,所以这个模型不会偏向任何一组特定的协议(如蓝牙协议等),这使得OSI模型具有通用性,但是这个模型和协议却过于庞大复杂低效,所以并不常用。而今天我们要讲的TCP/IP参考模型是由于计算机科学家自己设计的模型,是先有协议后有模型,所以协议与模型高度契合,因此得到了广泛使用。
2、TCP/IP协议具体是指什么?
TCP/IP协议我们一般指的是以TCP和IP为主的协议族,它是一个四层模型:数据链路层、网络层、传输层、应用层,为了之后更好的学习我一般使用的是也比较被常用的一种五层模型。其五层模型的功能及关系运用如下几张图所示:
层次名 | 主要协议 | 主要功能描述 |
应用层 | telnet、ftp、snmp、http、tftp、rip | 应用层通常包含客户需要的协议,处理特定的细节,并把数据传输到传输层并从传输层接收数据。如telnet(虚拟终端协议)、ftp(文件传输协议)、http(超文本传输协议)等 |
传输层 | TCP、UDP | 允许源主机和目标主机进行端到端的通信对话。 TCP传输控制协议:可靠的、面向连接的协议 UDP用户数据报协议:不可靠无连接的协议 |
网络层 | IP、、ICMP、IGMP | 也称互联网层,允许主机将数据包注入到任何网络,并且让这些包独立的到达接收方。 IP(因特网协议)、ICMP(因特网控制报文协议)、IGMP、因特网组管理协议 |
链路层 | ARP、RARP、设备驱动程序及接口卡 | 也称网络接口层,处理与电缆等的物体接口细节。主要为 1、ip模块发送和接收ip数据报 2、为ARP和RARP发送请求和应答 |
物理层 | 100BASE-T、1000BASE-TX等 | 规定了两个设备之间的物理接口及接口的电气特性等内容,其中物理信道的不同也影响传输性能。主要传输介质有1、有线(铜、光纤)2、无线(陆地无线电)3、卫星 |
协议关系图

物理层:主要为信号和介质(光纤、电缆,无线信号等),为服务用户(数据链路层)提供一条物理的传输媒体上传送和接收比特流的能力。
链路层:也称数据链路层,媒体控制子层MAC,物理解析和逆解析协议ARP,RARP,数据链路层是对物理层传输原始比特流的功能的加强,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一无差错的线路。提供透明(帧编码)的和可靠(误差纠错控制)的数据传送基本服务。
网络层:ip协议和ip辅助协议ICMP、IGMP,数据链路层的主要作用是负责解决两个直接相邻节点之间的通信,而网络层负责解决数据经过通信子网中多个转接节点时的通信问题,实现源端的数据能够以最佳路径透明地通过通信子网中的多个转接节点到达目的端,使得传输层不必关心网络的拓扑构型以及所使用的通信介质和交换技术。
运输层:也称传输层,负责数据通信的最高层,由于网络层只负责将源结点发出的数据包(无连接不可靠)传送到目的结点,而传输层则负责将数据可靠地传送到相应的端口,提供给高层用户传输数据的通信端口。
应用层:定义了运行在不同端系统上的应用程序进程如何相互传递报文。
数据分装分解图
数据发送时是自上而下经过层层加码进行(分装),数据接收时又是自下而上层层解码(分用)。如图,当应用程序使用TCP进行传送数据时,数据被送人协议栈中,然后通过每一层加入首部(以太网还需加尾部),最后以比特流通过物理层送入网络。其中TCP传给IP的数据单元称为TCP报文段或TCP段,IP传给以太网的的称为ip数据报,以太网传给物理层的称为帧,最后物理层的为比特流。
同级通信图(逻辑上)
如图,垂直方向的结构是当今数据处理的功能流程,每一层都有与其相接的接口,通过接口进行各层之间的数据通信,但是,每一层逻辑上又是能够同远程计算机系统进行相应层通信。所以说理论上是垂直通信,逻辑上是同级通信。