网络协议、网络传输认识

目录

网络协议概念

网络协议具象化理解

协议分层

TCP/IP模型

网络传输基本流程


网络协议概念

网络协议是计算机网络中用于在通信设备之间传输数据的规则集合。这些规则定义了数据的格式、传输方式、错误检测和纠正方法等,以确保不同设备之间的通信能够正确进行。网络协议通常分为多个层次,每个层次负责不同的功能,从物理层到应用层

网络协议具象化理解

具象化协议理解:当我们和周围人交流使用汉语,而汉语被我们双方理解且接受,为什么会理解且接受,是因为汉语语法是我们事先约定好的。同样老外用英语互相交流,英语协议也是事先约定好的。

协议分层

还是如上例子所示 我们协议其实分为两层,分别为语言层和通信设备层。而实际应用中协议会分很多层。

TCP/IP模型

  • TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇.
  • TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求.
  1. 物理层: 负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层.
  2. 数据链路层: 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层.
  3. 网络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层.
  4. 传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机.
  5. 应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等. 我们的网络编程主要就是针对应用层.

一般而言

  • 对于一台主机, 它的操作系统内核实现了从传输层到物理层的内容;
  • 对于一台路由器, 它实现了从网络层到物理层;
  • 对于一台交换机, 它实现了从数据链路层到物理层;
  • 对于集线器, 它只实现了物理层;

网络传输基本流程

两台计算机通讯过程如下

计算机A-B的具体通信过程如下

数据包从应用层到数据链路层的过程中每向下传递一层,就需要封装一层首部(也可以称为报头),而这一过程是为了更好的在路网中处理数据。

从数据链路层到应用层的过程正好相反,会不断的去掉首部。具体过程可以参考下图。

跨网段的主机的文件传输. 数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器.

相关推荐
wdfk_prog7 分钟前
lely-canopen-rtt:为什么推荐在 RT-Thread 上使用 Lely CANopen 构建主站
java·运维·缓存·docker·容器
海盗123410 分钟前
DSH 接入 OpenCode Go 报 400 MissingSessionID:从 LLM 语义层退到 fetch 传输层的完整排障
开发语言·后端·golang
Jeremy_WW11 分钟前
802.3协议解读 01:116章节 200 Gb/s 和 400 Gb/s 网络介绍 I
网络·网络协议·信息与通信·光模块·802.3协议
元岳数字人小元12 分钟前
数字人交互的用户体验设计与场景交互感受
运维·人工智能·开源·人机交互·交互
一技安身14 分钟前
【信创】外网打包ragflow镜像并导入内网银河麒麟V10arm64服务器
运维·服务器
weixin1997010801616 分钟前
《Mercari OTA 直连接入:日本二手电商出海的API通道与600次/分钟限流实战》(附Python源码)
开发语言·数据库·python
一木 之林19 分钟前
第 3 节 在 AI 行业中,C/C++ 编程中的动态库和静态库
c语言·c++·后端
T011561819 分钟前
全栈项目实战手记|艺培场馆课时预约小程序全项目开发历程完整复盘总结
运维·服务器·小程序
库玛西20 分钟前
深度解构高并发利器:纯事件驱动 Reactor 模式的设计哲学与工程实践
服务器·开发语言·c++·笔记·tcp/ip
lemon_sjdk31 分钟前
JavaScript 常用关键字全解析
开发语言·javascript·ecmascript