第一节-TCP/IP协议-理解过程[1]

1.  TCP/IP协议的结构 以及 有哪些主要的协议

TCP/IP协议的结构以及主要协议图

                从上到下分别分为 应用层、传输层、网络层、数据链路层。

         1.1数据链路层

                在数据链路层的协议主要有ARP(地址解析协议)RARP(逆地址解析协议),在这一层当中,主要把处理数据在硬件上传输,网络驱动隐藏了物理网络的不同电气特性,可以理解成不需要自己去操控硬件。数据链路层帮你提供了一系列接口让上层去调用它。在这一层通常是将IP地址转换成MAC地址。或者反向。

                在网络层中使用IP地址去寻找另外一台主机,而在数据链路层中则是使用MAC地址寻找另外一台主机。因此网络层要经过数据链路层则必选现将IP地址转换成为MAC地址,而这个转换过程就是ARP协议在做的事情。

        1.2网络层

                网络层的主要协议有ICMP(因特网控制报文协议),在网络层A主机到B主机当中,是不之间相连的,当中有可能通过了多个中间节点(路由器)的连接,网络层的任务就是选择这些中间节点,让A主机能够通过这些中间节点去到B主机。而在该层也封装了一系列的细节,让更上一层的协议感觉就是点对点的,直接相连的。

               ICMP协议的主要作用是检测网络的连接。ICMP主要分成2大类型,一种是差错报文,另外一种是查询报文, 前者用于回应网络的错误,比如说目标不可达到。后者用于ping某个网络是否可以到达。而当中有一个CRC(循环冗余校验)算法需要学会,该算法是在检验报文在传输过程中有没有损坏。

        1.3传输层

                传输层有三大主要的协议:TCP协议、UDP协议、SCTP协议,在传输层中起点与终点是端到端的,与网络层当中的跳跃方式不一样,传输层只关心目的地,不在乎数据包传输的过程

                TCP协议是一种可靠的协议,TCP协议拥有超时重传、数据确认的方式,去保证数据能够正确的发送到目的地去,因为TCP是可靠协议,所有双方在通讯的时候必须先建立连接,该连接可以理解成是双方的管道。TCP协议通过流的方式,不断写入该管道,连接的接收方可以不断从管道中读出。因此,TCP协议的数据是没有长度限制的。而这些连接、数据结构等都是在内核中维持的。

                UDP协议则是一种不可靠的协议,在传输时,无需建立连接,也不能够保证数据的传输正确。有丢包的情况下,只能将其丢弃。也没有超时重传等功能,UDP的数据报是有长度限制的,如果不一次性全部读取则数据会被截断。但是UDP被广泛应用在视频、音频通讯等功能上,因为这些业务需要保证快速数据传输,偶尔丢弃几帧并没有太大的影响。

                SCTP协议主要应用在因特网传输电话信号设计的。

        1.4应用层

                应用层负责处理程序的逻辑,应用层在用户空间实现,而网络层、传输层、数据链路层,则在内核中实现。应用层有很多协议,例如 ping程序使用的ICMP协议检测网络,telnet协议用于远程登录协议,OSPF、DNS等等,都是应用层的程序/协议。

你可能感兴趣的:(第一节-TCP/IP协议-理解过程[1])