网络原理(初识)

一.概念

1.IP地址:

表示一个设备在网络上所处的位置

本质上是32位的整数

表示的时候通常把32位分成四个部分,每个部分1个字节8bit

每个部分使用十进制表示,使用三个点分割叫做点分十进制

2.端口号

一个机器上,可能同时有多个进程在使用网络

端口号用于定位主机中的进程。

本质是一个整数,可以去进行指定的

3.认识协议

协议,网络协议的简称,网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的一组约定、规则。

4.五元组

进行一组通信就需要五元组作为关键信息

分别是

源IP

源端口

目的IP

目的端口

协议类型

二.协议分层

上层协议:调用下层协议

下层协议:给上层提供服务

1.优点

1.不同层之间,不需要理解对方的实现细节,简化学习成本

2.不同的层之间,充分做到解耦合,方便替换成其他的协议

2.具体的划分方式

1.OSI七层模型(只存在于教科书)

2.TCP/IP五层(或四层)模型(后两个有的视为一层)

不是唯一方案,通过光纤、网线、WiFi通信都是这一套

应用层

传输层 负责端到端的传输,通信双方只关心起点和终点

网络层 负责传输的中间过程,尤其是路径的规划

数据链路层 负责两个相邻节点(两个直接连接的交换机/路由器)数据转发

物理层 网络中的"硬件架构"

三.封装和分用

1.封装

应用层

例如用qq发送文字

会构造出一个"应用层数据包", 应用层数据包就是一个结构化的字符串

由于应用程序不能直接操作网卡,应用程序就会把上述数据交给传输层

传输层提供了函数,让应用程序调用就可以把上述的数据包作为一个参数传递到传输层

传输层

根据当前选择的传输层的通信协议,对上述"应用层数据包"进行进一步的加工构造成"传输层数据包"

传输层主要有两个协议,UDP,TCP

假设使用UDP

UDP报头加上UDP正文(载荷,payload),正文就是应用层数据包

UDP报头就是"快递标签"给通信提供了必要的信息

UDP包头中就包含了目的端口和源端口

传输层也不能操作网卡,就需要继续往下传递给相邻的层

传递给网络层,网络层提供了函数给传输层调用(操作系统内核中已经实现好了)

网络层

对传输层数据包进行进一步加工

网络层最核心的协议是IP协议

在拼上IP报头,IP报头包含的内容很多,最主要的就是源IP和目的IP

网络层还是不能直接操作网卡,还需要把数据往下传递

数据链路层提供了函数,让网络层调用

数据链路层

数据链路层知名的协议:以太网

在拼上以太网的数据帧头以及尾部拼上帧尾,叫做以太网数据帧

数据链路层负责两个相邻节点之间的数据传输

需要在帧头中补充信息辅助相邻节点传输(mac地址)

数据链路层把上述数据交给物理层

物理层

通过网卡把刚才的数据视为一组1010二进制bit流

根据当前网卡的形态把1010通过物理信号传输出去

以太网数据帧

分用

接收端

数据已经达到目标主机的网卡

接收方处理的过程和发送方的过程相反

物理层

收到的是一些高低电平的信号

把这些信号转成10101这样的二进制内容

把这样的内容交给上层数据链路层处理

数据链路层

把载荷取出来交给网络层

网络层

把载荷取出来交给传输层

IP报头中会记录当前的载荷是UDP还是TCP

传输层

UDP协议,进一步对数据进行解析取出载荷交给应用层

UDP报头中包含了目的端口

该端口号会对应qq这个应用程序

应用层

应用程序进一步的对数据进行解析,分析出数据是谁发的,啥时间发的,正文是啥显示到界面上

相关推荐
Dream Cosmos36 分钟前
传输层协议之UDP
网络·网络协议·udp
鸿蒙开发爱好者4 小时前
下班后做的小工具和小游戏,我把它们整理成了 WyanHub
网络·人工智能·职场和发展·个人开发
乐橙开放平台4 小时前
海康和大华摄像头能统一管理吗?可以通过 GB28181 或视频融合平台接入
网络·后端·物联网·音视频
张小姐的猫6 小时前
【基于 WebSocket 的多用户网页五子棋】—— 项目结构设计与实用工具类模块
网络·websocket·网络协议
QXWZ_IA7 小时前
测绘单位采购RTK:设备价格、账号年费、售后,用时间轴分权重
网络·人工智能·安全
IT大白鼠8 小时前
GitLab 未认证 RCE 应急实战CVE-2026-97229(CVSS 10.0)
网络·安全·gitlab
陈希1238 小时前
Linux 网络诊断工具实战:ping、curl、tcpdump、mtr、dig 用法详解
linux·网络·tcpdump
草莓熊Lotso10 小时前
【C++ 基于微服务的即时通讯系统】文件存储子服务实战:UUID生成、文件IO封装与全接口单元测试
开发语言·网络·数据库·c++·微服务·架构·单元测试
wuyk55512 小时前
Spider-第03讲-HTTP速通与读懂响应
网络·爬虫·网络协议·http
默|笙21 小时前
【Linux网络】网络层协议 IP(1)理解报头、网段划分
linux·网络·tcp/ip