首页 > 代码库 > TCP/IP协议
TCP/IP协议
OSI模型各层
物理层负责把逐个的比特从一跳移动到下一跳。关心内容包括:接口和媒体的物理特性、比特表示、数据率、比特同步、线路配置、物理拓扑和传输方式
数据链路层负责把物理层转换为可靠的链路。主要任务包括:组帧、物理编址、流量控制、差错控制、接入控制
网络层负责把分组从源点交付到终点,可能跨越多个网络(链路)。主要任务包括:逻辑编址、路由选择。如果说链路层监督的是同一个链路上两个系统之间的分组交付,那么网络层要确保每个分组从源点出发并最终抵达终点
运输层负责完整报文的进程到进程的交付。主要任务包括:端口编址、分段与重组、连接控制、流量控制、差错控制。网络层管理的是单个分组从源点抵达终点,并不考虑分组之间的关系。运输层要确保整个报文的分组按序到达
OSI模型和TCP/IP协议簇
物理层的通信单位是比特。通信发生在两跳或两个节点之间,可能是计算机或者路由器
数据链路层的通信单位是帧。一个帧封装来自网络层的数据分组,附加一个首部和尾部。通信发生在两跳或两个节点之间
网络层的通信单位是数据报。每个数据报独立传输,不同的数据报路由可能不一样,可能不按顺序到达,可能重复。网络层不会跟踪记录数据报路由,不具有按原顺序重排的能力。网络层上的通信是端对端的通信,物理层和链路层的通信是结点到结点的通信
运输层的通信单位可以是报文段、用户数据报或分组。运输层和网络层的一个重要区别:网络中所有结点都必须具有网络层,但只有两端的计算机才需要运输层。运输层负责将完整的报文段从计算机A交付到计算机B。TCP/IP协议簇包含两个运输层协议:用户数据报协议和传输控制协议
逻辑地址
规则:物理地址逐跳而变,逻辑地址保持不变
发送方网络层将数据封装入一个分组,加入两个逻辑地址。大多数协议,逻辑源地址出现在逻辑目的地址之前(物理地址顺序相反)。网络层必须找出下一跳的物理地址才能向下传递分组。首先网络层查询路由表获取下一跳的逻辑地址,然后查询地址解析协议表获取相应的物理地址。
TCP/IP协议