TCP/IP四层协议
1、数据链路层
数据链路层实现了网卡接口的网络驱动程序,处理数据在物理媒介(以太网,令牌环)上的传输,常用协议包含ARP(地址解析协议),RARP(逆地址解析协议)两个协议,他们实现了IP地址和物理地址间的相互转换。网络层使用IP地址寻找机器,而数据链路层使用物理地址寻找机器,当网络层需要使用数据链路层提供的服务时,必须把IP地址转换为物理地址,这就用到了RAP协议。RARP协议仅用于网络上某些无盘工作站,因为缺乏存储设备,无盘工作站无法记住自己的IP地址,需要利用网卡上的物理地址来查询自身的IP地址
2、网络层
实现数据包的选路和转发,WAN(Wide Area Network,广域网),使用多级路由器连接分散的主机或LAN(Local Area Network,局域网),两台主机一般不是直接相连的,而是通过多个中间节点(路由器)连接的。网络层的任务就是选择这些中间节点,确定两台主机之间的通信路径。同时网络层对上层协议隐藏了网络拓扑连接的细节,使得在传输层和网络应用程序来看,通信的双方是直接相连的。
网络层的核心协议是IP协议,根据数据包的目的IP地址来决定如何投递它。如果数据包不能直接发送给目的主机,那么IP协议就为它寻找合适的下一跳路由器,并将数据包交付给路由器转发。多次重复该过程最终将数据包送达目的地址,如果发送失败则被丢弃。可见IP协议使用逐跳方式确定通信路径。
另外一个核心协议是ICMP(Internet Control Message Protocol,因特网控制报文协议),它是IP协议的重要补充
3、传输层
传输层为两台主机上的应用程序提供端到端的通信,只关心通信的起始端和目的端,不在乎数据包的中转过程。
主要协议是TCP和UDP
4、应用层
应用层负责处理应用程序的逻辑,数据链路层、网络层和传输层负责处理网络通信细节,这部分必须既稳定又高效,因此它们都在内核空间中实现。而应用层则在用户空间实现,它负责处理众多逻辑,比如文件传输,名称查询和网络管理等。
主要协议包含Telnet,OSPF,DNS等
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现