TCP/IP
什么是TCP/IP协议族
TCP/IP协议族是用于因特网的通信协议它定义了电子设备(比如计算机)如何连入因特网,以及数据如何传输的标准。
协议的重要性:
协议就是计算机之间通过网络实现通信时事先达成的一种“约定”;这种“约定”使那些由不同厂商的设备,不同CPU及不同操作系统组成的计算机之间,只要遵循相同的协议就可以实现通信
协议可以分很多种,每一种协议都明确界定了它的行为规范:2台计算机之间必须能够支持相同的协议,并且遵循相同的协议进行处理,才能实现相互通信
OSI参考模型(以及每个层的作用):
TCP/IP协议将计算机间的通信过程分为四层框架:
TCP/IP协议族按照层次由上到下,层层包装。最上面的是应用层,这里面有http,ftp,等等我们熟悉的协议。而第二层则是传输层,著名的TCP和UDP协议就在这个层次。第三层是网络层,IP协议就在这里,它负责对数据加上IP地址和其他的数据以确定传输的目标。第四层是数据链路层,这个层次为待传送的数据加入一个以太网协议头,并进行CRC(是一种根据网络数据包或电脑文件等数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误)编码,为最后的数据传输做准备。
TCP/IP协议通信的过程其实就对应着数据入栈与出栈的过程。入栈的过程,数据发送方每层不断地封装首部与尾部,添加一些传输的信息,确保能传输到目的地。出栈的过程,数据接收方每层不断地拆除首部与尾部,得到最终传输的数据。如下图所示:
1.先看最底层的数据链路层。
数据链路层负责将0、1序列划分为数据帧从一个节点传输到临近的另一个节点,这些节点是通过MAC来唯一标识的(MAC,物理地址,一个主机会有一个MAC地址)。
2.网络层。
通过路径选择将数据发送到目的地——在数据链路层中我们一般通过MAC地址来识别不同的节点,而在IP层我们也要有一个类似的地址标识,这就是IP地址。
3.传输层
TCP/IP传输层有TCP和UDP两个具有代表性的协议,主要功能是让应用程序之间实现通信。
4.应用层
常见的应用层协议:
HTTP协议:(HyperText Transfer Protocol)
浏览器与客户端通信所使用的协议,传输数据主要格式为HTML,http协议OSI应用层协议,而HTML属于表示层的协议
文件传输协议:FTP(File Transfer Protocol)
传输过程可以选择用二进制还是文本方式,传输时会建立两个TCP连接:发送传输请求时用到的控制连接和实际传输时用到的数据连接
电子邮件协议:SMTP(Simple Mail Transfer Protocol)
可以发送声音图像文字,甚至改变文字大小、颜色等
远程登录(TELNET与SSH):
常见的还有其他远程登录协议,比如:BSD UNIX系中的rlogin的r命令和X Window System中的X协议
网络管理协议:SNMP(Simple Newwork Management Protocol)
在TCP/IP进行网络管理时,采用该协议,其中使用SNMP管理的主机。网桥、路由器等称作SNMP代理(Agent),进行管理的那一段叫做管理器(Manager)
在SNMP代理端,保存着网络接口信息、通信数据量、异常数据量以及设备温度等信息,这些信息通过MIB访问,在TCP/IP中,SNMP属于应用协议,MIB属于表示层协议