网络模型和TCP协议族
网络模型
经典的OSI-7层模型
OSI 的全称是开放系统互连参考模型(Open System Interconnection/Reference Model,OSI/RM)
ps: 超详细大图,请见文章末尾~
各层传输协议、传输单元、主要功能性设备比较
名称 | 传输协议 | 传输单元 | 主要功能设备/接口 |
---|---|---|---|
物理层 | IEEE 802.1A、IEEE 802.2 | bit-flow 比特流 | 光纤、双绞线、中继器和集线器 & RJ-45(网线接口) |
数据链路层 | ARP、MAC、 FDDI、Ethernet、Arpanet、PPP、PDN | frame 帧 | 网桥、二层交换机 |
网络层 | IP、ICMP、ARP、RARP | 数据包(packet) | 路由器、三层交换机 |
传输层 | TCP、UDP | Segment/Datagram | 四层交换机 |
会话层 | SMTP、DNS | 报文 | QoS |
表示层 | Telnet、SNMP | 报文 | – |
应用层 | FTP、TFTP、Telnet、HTTP、DNS | 报文 | – |
关于数据在各层级的组织形式,可以参考另一篇博文:《Understanding TCP/IP Network Stack》,这里仅展示个大概过程:
TCP/IP 协议族的4层模型
关于4层网络模型,需要熟记各层的功能与区别,以及相关的协议,具体内容见下文。
TCP/IP 协议简述
-
IEEE 802.1A、IEEE 802.2
IEEE是英文Institute of Electrical and Electronics Engineers的简称,其中文译名是电气和电子工程师协会。IEEE 802规范定义了网卡如何访问传输介质(如光缆、双绞线、无线等),以及如何在传输介质上传输数据的方法,还定义了传输信息的网络设备之间连接建立、维护和拆除的途径。遵循IEEE 802标准的产品包括网卡、桥接器、路由器以及其他一些用来建立局域网络的组件。
IEEE802.1A —— 局域网体系结构
IEEE802.2 ——- 逻辑链路控制(LLC) -
FDDI
光纤分布式数据接口(Fiber Distributed Data Interface) -
PPP
点对点协议(Point to Point Protocol),为在点对点连接上传输多协议数据包提供了一个标准方法。 -
IP
互联网协议(Internet Protocol),为计算机网络相互连接进行通信而设计的协议。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。IP地址具有唯一性,根据用户性质的不同,可以分为5类。 -
ICMP
控制报文协议(Internet Control Message Protocol)。TCP/IP设计了ICMP协议,当某个网关发现传输错误时,立即向信源主机发送ICMP报文,报告出错信息,让信源主机采取相应处理措施,它是一种差错和控制报文协议,不仅用于传输差错报文,还传输控制报文。 -
ARP/RARP
ARP (Address Resolution Protocol) 地址解析协议
RARP (Reverse Address Resolution Protocol) 反向地址解析协议
ARP的工作原理如下(RARP工作原理与之相反)- 首先,每台主机都会在自己的ARP缓冲区 (ARP Cache)中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。
- 当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址,如果有﹐就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。
- 网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个 ARP响应数据包,告诉对方自己是它需要查找的MAC地址;
- 源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
-
SMTP
简单邮件传输协议(Simple Mail Transfer Protocol),它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了。 -
SNMP
简单网络管理协议(Simple Network Management Protocol ),该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。 -
DNS
域名系统(Domain Name System),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。 -
FTP
文本传输协议(File Transfer Protocol),用于Internet上的控制文件的双向传输。同时,它也是一个应用程序Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守该协议以传输文件。在FTP的使用当中,用户经常“下载”(Download)和“上载”(Upload)。“下载”文件就是从远程主机拷贝文件至自己的计算机上;“上载”文件就是将文件从自己的计算机中拷贝至远程主机上。 -
HTTP
超文本传输协议(HyperText Transfer Protocol),是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型,是一个无状态的协议。
经典配图,超详细的OSI-7层网络模型及相关协议