浅析TCP/IP协议族

TCP/IP协议族里最重要的思想就是“分层”,从上向下分为

应用层
-决定了向用户提供应用服务时通信的活动,这一层的协议中大多数都是基于CS(client-server)模式
-主要协议有:FTP、DNS、HTTP、HTTPS、SMTP、SNMP、TELNET、DHCP、POP3

运输层
-对上层应用层提供处于网络中两台计算机之间的数据传输
-主要协议有:TCP、UDP

网际层
-用来处理在网络上流动的数据包,也就是怎么选择一条最快的传输路线
-主要协议有:ICMP、IGMP、IP、ARP、RARP、RIP、OSPF、BGP

网络接口层
-处理连接网络的硬件部分,还包括控制操作系统、网卡,光纤等物理可见部分
-主要协议有:PPP

分层之后,每一层就无须考虑下层怎么把数据提交给上层,哪里需要修改也能单独再次进行设计,这就是分层的好处。

**FTP协议:**使用21端口,FTP面向的直接是服务器的文件系统,可以进行文件的上传和下载操作,并且具有维持状态的特点。

**DNS协议:**提供域名到IP地址之间的解析服务,当然也提供逆向从IP到域名的的反查服务。既然可以通过IP来进行通信,为什么还要域名呢?因为单纯的记忆IP地址肯定记不住啊,所以用一串字母配合数字的方式来与IP进行绑定,就能更方便人的记忆。DNS 协议可以使用 UDP 或者 TCP 进行传输,使用的端口号都为 53。但大多数情况下 DNS 都使用 UDP 进行传输。

**HTTP协议:**使用80端口,用于客户端和服务器之间的通信,在使用HTTP协议通信时,一条通信线路上,一端一定是客户端,另一端一定是服务端,发送请求时,请求一定是客户端发出,而服务器端回复响应。服务器传输超文本到本地浏览器的传送协议,它是基于TCP/IP来进行数据传输。

**HTTPS协议:**使用443端口,SSL/TLS+HTTP构建的可进行加密传输、身份认证的网络协议,要比HTTP安全,可防止数据在传输过程中被窃取、改变,确保数据的完整性 。

**SMTP协议:**使用25端口,它帮助每台计算机在发送或中转信件时找到下一个目的地,它是建立在FTP文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知。

**POP3协议:**使用110端口,是第一个离线协议标准,用户登录客户端设置POP3,可以将邮件从服务器存储到本地计算机,同时删除服务器上的邮件,用于接收电子邮件。

**SNMP协议:**使用161端口,用于监控目标设备的操作系统、硬件设备、服务应用、软硬件配置、网络协议状态、设备性能及资源利用率、设备报错事件信息、应用程序状态等软硬件信息。一般包含GET命令和SET命令。

**TELNET协议:**使用23端口Telnet提供了一种通过终端远程登录到服务器的方式,呈现一个交互式操作界面。用户可以先登录到一台主机,然后再通过Telnet的方式远程登录到网络上的其他主机上去,而不需要为每一台主机都连接一个硬件终端,然后对设备进行配置和管理,它可以工作在任何主机或者任何终端之间。但是它是直接建立TCP进行通信的,所以都是以明文进行传输,这样就很不安全,所以现在一般都是使用加密的SSH协议来进行远程连接,SSH协议使用22端口。

**DHCP协议:**Dynamic Host Configuration Protocol,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,统一使用两个IANA分配的端口:67(服务器端),68(客户端)。DHCP通常被用于局域网环境,主要作用是集中的管理、分配IP地址,使client动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。简单来说,DHCP就是一个不需要账号密码登录的、自动给内网机器分配IP地址等信息的协议。详细信息请查看(https://blog.csdn.net/zzd_zzd/article/details/88372014)

**TCP协议:**提供可靠的字节流服务(Byte Stream Service),什么是字节流服务呢?为了方便传输,把非常大的数据分割成以报文段为单位的数据。TCP协议采用了三次握手四次挥手策略,能够准确无误地将数据送达。

**UDP协议:**UDP协议是一种不可靠的网络协议,所以通信效率高,它在通信的两端各建立一个Socket对象,但是这两个Socket只是发送,接收数据的对象,因此对于基于UDP协议的通信双方而言,没有所谓的客户端和服务器的概念。

**ICMP协议:**因特网控制报文协议(Internet Control Message Protocol),是一个差错报告机制,当数据包在网络传输中出错时,就把这个异常错误信息报告给源目标。详细内容请参考(https://info.support.huawei.com/info-finder/encyclopedia/zh/ICMP.html)

IGMP协议:(Internet Group Management Protocol)互联网组管理协议,用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。

**IP协议:**IP协议的作用就是把各种数据包传给对方,但是仅仅依靠IP来寻找对方,万一对方的IP是恶意伪造的呢?为了安全,还得搭配MAC地址来确认对方,MAC地址是网卡所属的固定地址(唯一不变的),然后主机拿IP和MAC一起去寻找接收方。

**ARP协议:**用IP地址解析出MAC地址

**RARP协议:**将MAC地址解析成IP地址

**RIP协议:**是应用较早、使用较普遍的内部网关协议,适用于小型同类网络,是典型的距离向量(distance-vector)协议。它要求网络中每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离记录(即一组距离),RIP最大的特点就是简单,在一条路由上若超过了15台路由器,那么RIP就认为不可达。

**OSPF协议:**开放式最短路径优先协议,保证了无路由环路,OSPF在传输成本方面比RIP表现更好,适用于大型网络.

**BGP协议:**外部网关协议,工作在两个自制系统(AS)之间,主要功能在于控制路由的传播和选择最好的路由。