tcpip协议栈讲解(IP协议栈-协议层)
各层的协议
- IP协议
IP是整个TCP/IP协议族的核心,也是构成互联网的基础;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协议是“Address Resolution Protocol”(地址解析协议)的缩写。其作用是在以太网环境中,数据的传输所依懒的是MAC地址而非IP地址,而将已知IP地址转换为MAC地址的工作是由ARP协议来完成的。
1.ARP请求:
当主机需要找出这个网络中的另一个主机的物理地址时,它就可以发送一个ARP请求报文,这个报文包好了发送方的MAC地址和IP地址以及接收方的IP地址。因为发送方不知道接收方的物理地址,所以这个查询分组会在网络层中进行广播。
2.ARP响应:
局域网中的每一台主机都会接受并处理这个ARP请求报文,然后进行验证,查看接收方的IP地址是不是自己的地址,只有验证成功的主机才会返回一个ARP响应报文,这个响应报文包含接收方的IP地址和物理地址。这个报文利用收到的ARP请求报文中的请求方物理地址以单播的方式直接发送给ARP请求报文的请求方。
3.ARP协议报文:
ARP协议报文首部的长度固定为28 bytes
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com