当我们打开百度,进行搜索时,数据是如何产生、如何传递的呢?其实数据的传递与真实的物品传递有许多相似之处:在发送端进行打包贴标签发送,在中间节点进行分拣传输,在接收端进行接收与拆包。分层模型的提出让数据传送更加高效。20世纪八十年代,ISO组织提出OSI七层模型,极大推动了网络技术发展,但因其模型比较复杂且TCP和IP两大协议在业界被广泛使用,后来TCP/IP四层参考模型成为了互联网的主流参考模型。
为了更好学习理解实践,融合了OSI和TCP/IP模型的TCP/IP对等模型被提出。它不是标准组织定义的官方模型,是学术界和工程界在实践中演化而来的协议框架。它们具体分层如图:
针对网络工程师,主要关注模型的1~4层,即物理层、数据链路层、网络层和传输层;针对IT工程师,主要关注模型的第5层,即应用层。
TCP/IP对等模型介绍
TCP/IP对等模型共五层,由上至下依次为:应用层、传输层、网络层、数据链路层、物理层。每一层之间使用PDU(协议数据单元)交换信息,确保网络设备之间能够通信。不同层的PDU中含有不同的信息,因此PDU在不同层被赋予了不同的名称。每一层常见协议如下:
一、应用层
应用层为应用软件提供接口,使应用程序能够使用网络服务。应用层协议会指定使用相应的传输层协议,以及传输层所使用的端口等。应用层的PDU被称为Data(数据)。
1、DNS协议
DNS负责将域名解析成IP地址,它是典型的C/S架构应用。
2、HTTP协议
HTTP协议是互联网上应用最为广泛的一种网络协议,是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。HTTP是典型的C/S架构应用。
二、传输层
传输层协议接收来自应用层协议的数据,封装上相应的传输层头部,帮助其建立“端到端”(Port to Port)的连接。传输层的PDU被称为Segment(段)。
| |
| 一种面向连接的、可靠的传输层通信协议,为应用程序提供可靠的面向连接的通信服务,由IETF的RFC 793定义。 |
| 一种面向无连接的、尽力而为的传输层通信协议,由IETF的RFC 768定义。 |
1、TCP协议
应用程序在使用TCP协议前,必须首先完成TCP连接的建立。在数据传输结束后,必须释放先前已建立的TCP连接。
特点:通信前先建立连接,传输中确保数据无丢失、无重复、无错误、按顺序。
使用场景:网页浏览、文件传输、电子邮件等对数据完整性要求较高的数据传输场景。
2、UDP协议
特点:无需建立连接,直接发送数据包。不保证可靠性,但开销极小、延迟极低。
使用场景:视频通话、在线游戏、DNS查询等对时延要求较高,但是允许少量丢包的数据传输场景。
三、网络层
网络层为网络中的设备提供逻辑地址,负责数据包的寻径和转发,将数据从一台主机传递到另外一台主机。其PDU被称为Packet(包)。
| |
| 将传输层的数据封装成数据包并完成源站点到目的站点的转发,提供无连接的、不可靠的服务。 |
| 基于IP协议在网络中发送控制消息,提供可能发生在通信环境中的各种问题反馈。通过这些信息,使管理者可以对所发生的问题作出诊断,然后采取适当的解决措施。 |
| 负责IP组播成员管理的协议。它用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。 |
四、数据链路层
数据链路层位于网络层和物理层之间,向网络层提供“段内通信”,负责组帧、物理编址、差错控制等功能。其PDU被称为Frame(帧)。
| |
| 一种多路访问广播型数据链路层协议,是当前应用最为广泛的局域网技术。 |
| |
| PPPoE提供通过简单桥接访问设备把一个网络的多个主机连接到远程访问集中器的功能。常见的应用有家庭宽带拨号上网。 |
1、以太网协议
以太网是一套用于局域网的通信协议标准,是广播式数据链路层协议,支持多点接入。如个人电脑的网络接口遵循的就是以太网标准,主要用于计算机互联和高速网络设备互联,实现数据的快速传输。
MAC地址就是数据链路层地址,也称以太网地址、物理地址、硬件地址等,由网络设备制造商生产时写在网卡内部,用来定义网络设备的位置。如个人电脑的网络接口有唯一的一个MAC地址。而数据链路层设备,如以太网交换机,会维护一张MAC地址表,用于指导数据帧基于MAC地址转发。
2、PPP协议
PPP是一种常见的广域网数据链路层协议,主要用于在全双工的链路上进行点到点的数据传输封装。
PPP链路的建立有三个阶段的协商过程:链路层协商、认证协商(可选)、网络层协商。
链路层协商:通过LCP报文进行链路参数协商,建立链路层连接。
认证协商(可选):通过链路建立阶段协商的认证方式(CHAP或PAP)进行链路认证。
网络层协商:通过NCP协商来选择和配置一个网络层协议并进行网络层参数协商。
五、物理层
数据到达物理层后,物理层会根据物理介质的不同,将数字信号转换成电信号、光信号或者电磁波信号。其PDU被称为比特流。
常见传输介质有:双绞线、光纤、光电混合缆、电磁波等。
1、双绞线:即网线,是以太网最常见的传输介质,通过网线连接维护终端和设备的网口,用于本地维护或远程维护。
2、光纤:即光传输介质,就是一根玻璃纤维,用于约束光传统的通道。分为单模光纤、多模光纤。
3、光电混合缆:是一种集成了光纤和导电铜线的混合形式的电缆,可以用一根线缆同时解决数据传输和设备供电的问题。
4、电磁波:无线信号的传输可以通过电磁波进行,例如:无线路由将数据通过调制,以电磁波发送出去,移动终端的无线网卡将电磁波解调,得到数据,完成从无线路由器到移动终端的数据传输。