TCP/IP五层协议

📅 2026/8/24 13:41:21
TCP/IP五层协议
一TCP/IP五层协议1.1 应用层网络上传输的数据应用程序如何使用1.2 传输层传输层负责端到端的数据传输通信双方只需关注数据的起点和终点确保数据能够可靠、有序地送达。1.3 网络层网络层负责传输的中间过程尤其是路径的规划负责点到点的传输点到点中间节点之间的转发 即路由器之间的转发1.4 数据链路层数据链路层负责两个相邻节点两个直接连接的交换机/路由器数据转发1.5 物理层网络中的“硬件架构”有线网线网口无线天线类似于现实生活中的“基建”---------------------------------------------1应用层和应用程序直接相关应用层的实现是应用程序中的一部分2传输层/网络层是操作系统内核中已经实现好了的不需要自己来实现3数据链路层/物理层则对应硬件设备和驱动程序eg网卡内部实现了网络中的物理层其中网卡要插到电脑上要想被电脑识别就需要有对应的驱动程序二 网络设备所在的分层对于一台主机它的操作系统内核实现了从传输层到物理层的内容也即是TCP/IP五层模型的下四层对于一台路由器它实现了从网络层到物理层即是TCP/IP五层模型的下三层对于一台交换机它实现了从数据链路层到物理层即是TCP/IP五层模型的下两层对于集线器它只实现了物理层2.1 应用层举例在输入框中输入“hello”按下发送所以在QQ程序中读取输入框的内容拿到hello根据界面的窗口拿到接收方的信息根据系统时间拿到消息的时间根据这三个构造出一个“应用层数据包”即一个字符串结构化的字符串在这个字符串中包含了很多属性这些属性表示不同的含义而这个应用程序包具体是什么样子的都是开发这个程序的程序员来定义的由于应用程序不能直接操作网卡因为协议分层约定了上层调用下层下层给上层提供服务不能越级调用应用程序会把上述的数据交给传输层传输层提供了函数让应用程序调用就可以把上述的数据包作为一个参数传递到传输层了这个函数需要自己写2.2 传输层传输层根据当前选择的传输层的通信协议对上述“应用层数据包”进行进一步的加工构造成“传输层数据包”传输层主要有两个协议UDP和TCP假设使用UDP则UDP数据包UDP报头 UDP正文载荷payload正文就是应用层数据包UDP报头就是“快递标签”给通信提供了必要的信息UDP报头中就包含了目的端口和源端口传输层也不能操作网卡就需要继续往下传递给相邻的层传递给网络层网络层提供了函数给传输层调用其中这个函数是操作系统内核中已经实现好了的函数调用的过程中不需要自己干预2.3 网络层网络层也需要针对传输层的数据包进行进一步的加工网络层最核心的协议就是IP协议IP数据包 报头 载荷正文IP报头中包含的内容很多最关键的就是源IP和目的IP网络层还是不能直接操作网卡还需要把数据往下传递数据链路层提供了函数让网络层调用调用的操作在网络层内部写好了不需要我们关注2.4 数据链路层数据链路层有一个知名的协议以太网以太网即“网络世界”数据传输的媒介插网线传输的数据使用的数据链路层协议就是以太网wifi就是另一种数据链路层协议802.11以太网数据帧 以太网数据帧头 载荷 帧尾注意一次网络通信传输的数据的基本单位有多种叫法1段 ----TCP2) 报 ----UDP3包 ----IP4帧 ----数据链路层数据链路层负责两个相邻节点之间的数据传输需要在帧头中补充信息辅助相邻节点传输比如mac地址数据链路层将上述数据交给物理层2.5 物理层网卡就是把刚才的数据视为一组1010 二进制bit流根据当前网卡的状态把1010通过物理信号传输出去三接收端的流程假设数据已经到达目标主机的网卡接收方处理的过程和发送方的过程是相反的3.1 物理层物理层收到的是一些 高低电平 信号从而把这些信号转成10101 这样的二进制内容把这样的内容交给上层即数据链路层3.2 数据链路层以太网协议对数据进行解析把载荷取出来进一步交给上层3.3 网络层IP协议对数据进行解析把载荷取出来进一步交给上层其中IP报头中会记录当前的载荷是UDP的还是TCP的3.4 传输层UDP协议进一步的对数据进行解析取出载荷进一步交给上层UDP报头中包含了“目的端口”3.5 应用层应用程序进一步对数据解析这样由下往上的层层解析即为“分用”封装和分用就是网络通信中的“基本盘”最核心的规则四封装和分用不同的协议层对数据包有不同的称谓在传输层叫做段在网络层叫做数据报在链路层叫做帧应用层数据通过协议栈发到网络上时每层协议都要加上一个数据首部称为封装首部信息中包含了一些类似于首部有多长载荷有多长上层协议是什么等信息数据封装成帧后发到传输介质上到达目的主机后每层协议再剥掉相应的首部根据首部中的层协议字段将数据交给对应的上层协议处理