各层的协议 IP协议 IP是整个TCPIP协议族的核心,也是构成互联网的基础;IP协议为上层协议提供无状态,无连接,不可靠得服务。 无状态:是指IP通信双方不同步传输数据的状态信息,因此所有IP数据报的发送,传输,和接收都是相互独立的,没有上下文关系的。其缺点是无法处理乱序和重复的IP数据报。 无连接:通信双方都不长久的维持对方的任何信息,那么就需要上层协议去指定传输的IP地址。 不可靠服务:不可靠指的是IP协议不能保证IP数据报完整并且准确的到达接收端。因此使用IP的上层协议需要自己做数据确认,超时重传等可靠传输机制。 IP协议的主要作用: 传输数据:为TCP、UTP、ICMP协议提供数据传输通道 寻址:根据子网划分和ip地址,寻找目标主机地址 路由选择:为数据传输提供选择路径 数据报文分段:当传输的数据大于MTU时,将数据分段发送和接收,并重新组装 IP报文: ICMP协议 IP协议处于同一层,但是ICMP协议底层用的是IP协议,分担了IP的一部分功能。 ICMP作用: 确认IP包是否成功达到目标IP 通知在发送过程中的IP包被丢弃的原因 ICMP原理: ICMP协议报文: ICMP协议实现Ping命令 1。向目的服务器发送回显请求 2。目的服务器发送回显应答 3。源服务器显示相关数据 ICMP协议实现traceroute命令 traceroute命令是一款充分利用ICMP差错报文类型的应用,其主要用作追踪路由信息 TCP协议 在IP协议基础上增加确认、重发、复用、滑动窗口等机制,提供了稳定的,安全的,面向连接的字节流服务。 特点: 1。面向连接: 应用程序在使用TCP协议之前,必须先建立TCP连接。在传送数据完毕后,必须释放已经建立的TCP连接。 2。单播协议: 单播:一对一,目的地址是单个主机 广播:一对多(全部),目的地址是局域网中的全部主机 组播:一对多(部分),目的地址是局域网中的部分主机 3。可靠性传输: 客户端向服务器端发送一个请求,服务器端必须给客户端一个响应,如果在请求传输的过程中发生请求丢失问题,TCP协议有一个重发机制,会重新发送请求直到客户端收到服务器端的响应。 4。面向字节流: 不限制数据大小,打包成报文段进行传输,保证有序接收,重复报文自动丢弃(报文会被分成一个一个的字节,传输时多个字节组成一个报文片段进行传输)。 5。拥塞控制: 在网络环境差的时候,TCP协议会考虑请求的报文大小,会对报文大小进行缩减,而且发送的频率也会降低,这是为了防止网络出现恶意拥塞。 6。TCP报文: UDP协议 UDP数据报分为首部和用户数据部分,整个UDP数据报作为IP数据报的数据部分封装在IP数据报中。 UDP报文: ARP地址解析协议 ARP协议是AddressResolutionProtocol(地址解析协议)的缩写。其作用是在以太网环境中,数据的传输所依懒的是MAC地址而非IP地址,而将已知IP地址转换为MAC地址的工作是由ARP协议来完成的。 1。ARP请求: 当主机需要找出这个网络中的另一个主机的物理地址时,它就可以发送一个ARP请求报文,这个报文包好了发送方的MAC地址和IP地址以及接收方的IP地址。因为发送方不知道接收方的物理地址,所以这个查询分组会在网络层中进行广播。 2。ARP响应: 局域网中的每一台主机都会接受并处理这个ARP请求报文,然后进行验证,查看接收方的IP地址是不是自己的地址,只有验证成功的主机才会返回一个ARP响应报文,这个响应报文包含接收方的IP地址和物理地址。这个报文利用收到的ARP请求报文中的请求方物理地址以单播的方式直接发送给ARP请求报文的请求方。 3。ARP协议报文: ARP协议报文首部的长度固定为28bytes