1、网络设备
网卡:有线网卡、无线网卡、路由器、交换机、光猫(光调制解调器)

每个网络设备都有ip地址、数据传输有加密

c/s架构:客户端程序client C、服务端程序server S
交换机:
功能:
1、ARP广播功能:发送arp协议的数据包给每个连接的电脑,收集每个电脑的mac地址
2、DHCP动态分配ip地址:自动分配ip地址
所以每个交换机里会有ARP缓存表:记录每一个mac地址和ip的对应关系
路由器:
(也叫“网关”,路由器ip也叫网关ip)
功能:
1、划分子网
2、路由协议:计算最优的路由跳转路径(路由跳转)
3、NAT网络地址转换:将私网IP转成公网IP
4、端口映射:判断端口号,自动连接相应端口
DNS服务器:
记录每个域名和ip地址关系
2、网络通信
互联网按照功能不同划分成七层或tcp/ip五层或tcp/ip四层

2.1、mac地址
Mac地址(全世界唯一):网卡出场自带物理地址,八个十六进制数字(48个二进制)
ipconfig /all
终端内查看电脑配置,终端里mac地址显示是以“-”连接,但实际上是“:”连接
XX:XX:XX:XX:XX:XX:前6个数是厂商编号,后六个数是生产流水号
例:发送“Hello”:
一、电脑发送数据包(网络请求)给集线器
二、集线器将数据包广播给所有连在集线器上的设备
三、每个设备判断该数据包是否指向自己mac地址
2.2、ip地址
问题出现:如若每个设备都发送数据包给集线器,会出现“广播风暴”的网络拥堵现象
解决方式:利用ip地址划分广播域
发消息过程:
1、发送数据包给交换机(去掉一些协议头):
目标ip地址 源ip地址 目标mac地址 源mac地址 目标端口号 源端口号 内容
2、交换机发送给路由器
3、路由器发送给相应路由器并联系相应交换机发送广播
| ipv4(主流) | ipv6(未来主流) |
| 0.0.0.0-255.255.255.255 | X:X:X:X:X:X:X:X(其中每个X表示地址中的16b) |
ip地址由IANA机构颁布
关于ipv6:IPv6,是英文“Internet Protocol Version 6”(互联网协议第6版)的缩写,是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议,其地址数量号称可以为全世界的每一粒沙子编上一个地址 。由于IPv4最大的问题在于网络地址资源不足,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍 。互联网数字分配机构(IANA)在2016年已向国际互联网工程任务组(IETF)提出建议,要求新制定的国际互联网标准只支持IPv6,不再兼容IPv4。 截至2024年6月,IPv6地址数量为69080块/32,较2023年12月增长1.5%。 截至2025年9月,中国IPv6地址资源总量达71590块(/32),占全球已分配IPv6地址的14.61%,位居世界第二;中国IPv6活跃用户数达8.65亿居世界第一位。
IP地址(也解决了IPv4资源不足问题):
| 公网IP | 私网IP |
| 一般在路由器上而非电脑上 | 如:192.168.x.x(但不可用来上网,路由器会自动跳转相应设备) |
2.3、端口号
所谓的端口,就好像是门牌号一样,客户端可以通过ip地址找到对应的服务器端,但是服务器端是有很多端口的,每个应对程序对应一个端口号,通过类似门牌号的端口号,客户端才能真正的访问到该服务器。为了对端口进行区分,将每个端口进行了编号,这就是端口号
详细端口号大全:https://blog.csdn.net/Aprilqxs/article/details/130856856
| pid | 系统对自己程序内部进程的分类端口 |
| 端口号 | 系统对外开放的端口 |
2.4、OSI七层模型

2.4.1物理层
解决信号转换问题,基本是数字信号。设备厂商的事儿~
2.4.2数据链路层
mac地址:

(了解:通过mac地址可以直接搜到厂家等信息)
数据链路层由来:单纯的电信号1和0没有任何意义,必须规定电信号多少位一组,每组什么意思
数据链路层的功能:定义了电信号的分组方式
以太网协议:
早期的时候各个公司都有自己的分组方式,后来形成了统一的标准,即以太网协议Ethernet
以太网协议规定
一组电信号构成一个数据包,叫做“帧”(数据帧)
每一组数据帧分成报头head和数据data两个部分
| head(包含18字节) | data(最短46字节,最长1500字节<MTU>) |
| 发送者/源地址,6字节 接收者/目标地址,6字节 数据类型,6字节 | 数据包具体内容 |
head长度+data长度=最短46字节,最长1518字节;超过最大限制就分片发送
2.4.3网络层
IP协议:
要求数据包前面加上ip地址
IP数据包:也分为head和data部分,无须为ip包定义单独的栏位,直接放入以太网的data部分
以太网头|IP头|IP数据
说白了,其实就是打包上源ip和目标ip
IP地址:看上去是4个点分十进制数字,实际上是32位二进制数
ARP协议:
全称为地址解析协议(Address Resolution Protocol),是一种用于将网络层的地址转换为数据链路层地址的重要网络协议。在TCP/IP网络中,ARP的主要功能是将IP地址转换为MAC地址,这一过程对于网络中的数据传输至关重要。
ARP协议的作用:
在以太网环境中,数据传输依赖于MAC地址,而非IP地址。当一个主机需要与另一个主机通信时,它必须知道目标主机的MAC地址。ARP协议正是用来解决这个问题的,它通过目标设备的IP地址查询目标设备的MAC地址,从而确保通信的顺利进行。
ARP的工作流程通常包括以下几个步骤:
- 主机A检查自己的ARP表,查看是否已经有主机B的MAC地址。
- 如果没有,主机A会发送一个ARP请求报文,询问网络中谁拥有主机B的IP地址。
- 网络中的所有主机都会收到这个ARP请求,但只有主机B会响应,因为它拥有被询问的IP地址。
- 主机B会发送一个ARP响应报文给主机A,告知自己的MAC地址。
- 主机A收到响应后,会更新自己的ARP表,并使用主机B的MAC地址来发送数据。
关于ARP属于那一层:有时候属于网络层,有时候属于数据链路层(不重要)
2.4.4传输层
TCP协议(多数场景常用):

相比UDP协议,不会丢数据包
UDP协议:
应用:视频、直播、QQ发信息
利处:使数据传输更快,不需要每次发送都重新建立连接
弊端:会丢数据包

==============================================================
传输方式tcp/udp,发送数据包的方式,比如发快递:空运、火车等
| tcp | 可靠的(每转发一个数据包需要对方确认,但是因为网络传输要经过很多设备,所以慢) |
| udp | 不可靠的(我就使劲给你发,不需要你确认,可能会丢包,但是很快) |
端口概念,英文port,见2.3
通过指令可以查看运行程序的端口
netstat -ano
netstat -lntup
2.4.5应用层
应用层就是我们所传输的数据
应用层分为应用层、表示层、会话层
| 项目 | 基本功能 |
| 应用层 | 应用层的功能非常广泛,它不仅包括网络通信的基础服务,如域名系统(DNS)和超文本传输协议(HTTP),还涵盖了电子邮件、文件传输、远程终端访问等特定服务。此外,应用层还负责提供目录服务、远程作业录入、图形和信息通信等功能。 |
| 表示层 | 表示层负责数据的表示、加密和压缩。 其主要功能包括: 数据表示:确保数据在传输过程中的正确表示。 加密:保护数据免受未授权访问。 压缩:减少数据传输的体积。 |
| 会话层 | 会话层负责建立、管理和终止会话。 其主要功能包括: 会话建立:在通信双方之间建立连接。 会话管理:监控和管理会话状态。 会话终止:在通信结束后正确关闭会话。 NetBIOS和RPC(Remote Procedure Call)是会话层的协议。 |
3、数据的封装与解封
wireshark抓包:


可见,IP和TCP的信息(Src本机地址,Dst目标地址)
DNS解析:将域名解析替换成ip地址并输出

Comments NOTHING