TCPIP协议详解和运作过程
⼀、TCP/IP协议族
TCP/IP协议族体系结构及主要协议.png
1、数据链路层
ARP协议和RARP协议,它们实现了IP地址和机器物理地址之间的相互转化
ARP协议(Address Resolve Protocol,地址解析协议)
RARP协议(Reverse Address Resolve Protocol,逆地址解析协议)
作⽤:⽹络层是⽤IP地址寻址⼀台机器,⽽数据链路层是⽤物理地址寻址⼀台机器,因此⽹络层必须先将⽬标机器的IP地址转化成其物理地址,这就是ARP协议的⽤途。RARP协议仅⽤于⽹络上某些⽆盘⼯作站。因为缺乏储存设备,⽆盘⼯作站⽆法记住⾃⼰的IP地址。但是它们可以利⽤⽹卡上的物理地址来向⽹络管理者查询⾃⾝的IP地址。运⾏RARP服务的⽹络管理者通常存有该⽹络上有所及其得物理地址到IP地址映射。
2、⽹络层
ip协议和ICMP协议,它们实现了数据包的选路和转发。⽹络层的任务就是选择这些中间节点,已确定两台主机之间通信路径。
3、传输层
TCP协议、UDP协议和SCTP协议
传输层为两台主机上的应⽤程序提供端对端的通信。与⽹络层使⽤的逐跳通信⽅式不同,传输层只关⼼通信的起始端和⽬的端,⽽不在乎数据包的中转过程。
TCP协议,传输控制协议
UDP协议,⽤户数据报协议
SCTP协议,流控制传输协议
4、应⽤层
应⽤层在⽤户空间实现,⽽数据链路层、⽹络层和传输层处理⽹络通信细节,这部分必须稳定有⾼效,因此它们都在内核空间中实现。
4.1、传输层和⽹络层区别
传输层和⽹络层区别.png
传输层为两台主机上的应⽤程序提供端对端的通信。与⽹络层使⽤的逐跳通信⽅式不同,传输层只关⼼通信的起始端和⽬的端,⽽不在乎数据包的中转过程
4.2、TCP协议的特点
tcpip协议分为哪几层作用为应⽤层提供可靠的、⾯向连接和基于流的服务。TCP协议通信使⽤超时重传、数据确定等待来确保数据包被正确地发送⾄⽬的端。因此TCP服务是可靠的。
使⽤TCP协议通信的双⽅必须先建⽴TCP连接,并在内核中为连接维持⼀些必要的数据结构,⽐如连接的状态、读写缓冲区以及诸多定时器等。当通信结束时,双⽅必须关闭连接已释放这些内核数据。TCP服务时给予流的。给予流的数据没有边界限制,它源源不断地从通信的⼀端流⼊另⼀端。发送端可以逐个字节地向数据流写⼊数据,接受端也可以逐个字节地将它们读出
4.3、UDP协议的特点
为应⽤层提供不可靠、⽆连接和基于据包的服务。
UDP协议⽆法保证数据从发送端正确的地传送到⽬的端。如果数据在中途丢失,或者⽬的端数据校验发现数据错误误将其丢弃,则UDP协议知识简单的通知应⽤程序发送失败,因此,使⽤UDP协议的应⽤程序通常要⾃⼰处理数据确认、超时重传等逻辑。
UDP协议是⽆连接的,即通信双⽅不保持⼀个长久的联系,因此应⽤程序每⼀次发送数据都要指定接收⽅的地址。每⼀个UDP 数据都有⼀个长度,就接受端必须以该长度为最⼩单位将其所有内容⼀次性读出,否则数据将被截断。
⼆、封装和分⽤
1、封装
上层协议是如何使⽤下层协议提供的服务的呢?其实通过封装实现的。应⽤程序数据在发送到⽆⼒⽹络上之前,将沿着协议栈从上往下依次
传递。每⼀层协议都将在上册数据的基础上加上⾃⼰的头信息。
封装.png
1. 经过TCP封装后的数据称TCP报⽂段,经过UDP封装后的数据称为UDP数据包。
2. 经过IP封装后的数据称为IP数据报。
3. 经过数据链路层封装后的数据称帧
2、分⽤
当帧到达⽬的的主机时,将沿着协议栈⾃底向上依次传递。各层协议依次处理帧中本层负责的头数据,以获取所需的信息,并最终将处理后的帧交给⽬的应⽤程序。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。