网络基础与协议

协议

在网络通信中,协议本质是一种约定

协议本质也是软件,软件是分层的

是为了更好的模块化和解耦合

网络中的协议是分层的

同层协议之间在互相通信

同层协议之间是没有直接通信的

是各自使用下层提供的结构能力,完成通信

分层就是解耦合的有效方式,是为了代码的可维护性

eg.

OS和网络之间的关系

网络是操作系统的一部分

因为windows和Linux使用相同的网络协议栈

所以他们虽然OS不同,但是可以互相通信,因为他们必须遵守相同的协议

OSI七层模型和TCP/IP四层(五层)模型

OSI将网络协议定成了七层

但实际工程实践中(TCP/IP)只有四层

链路层,网络层,传输层,应用层(没包括物理层)

TCP/IP协议族

为什么要有TCP/IP协议

TCP/IP协议本质是一种解决方案

TCP/IP协议能够分层,前提是因为问题本身是可以分解的

网络通信最大的特点就是主机之间的距离变远了

这会导致一些问题

如何局域网通信,如何定位主机,丢包如何解决等

这些不同性质的问题

TCP/IP协议就是这些问题的解决方案

TCP/IP协议是分层的,就是因为这些不同性质的问题

协议本身就是为了操作系统之间为了能够网络通信,所约定的数据结构

所以协议就是结构体

所谓协议,就是双方都认识的结构化的数据类型

网络传输的基本流程

局域网(以太网为例)通信原理

每台主机在局域网,都有一个唯一的标识来保证主机的唯一性

这个唯一的标识就是mac地址

两台主机在同一个局域网,可以直接通信

原理:

所有的主机都能收到消息和目标主机的mac地址

然后将报文中包含的mac地址和自己的mac地址对比

和自己相同就接受该报文

不同就丢弃报文

mac地址用来识别数据链路层中相连的节点

长度位48bit,即6个字节,一般用十六进制加冒号标识(08:00:27:03:fb:19)

mac地址在网卡出厂时就确定了

主机会在数据链路层来对比mac地址并选择是否丢弃

上面的层是不会知道被自己丢弃的的报文的

一个局域网是一个碰撞域

在一个碰撞域如果同时发消息,就是发生了碰撞

则这些同时发消息的主机会随机休眠一段时间

这就是碰撞避免

所有主机都可以访问以太网

但同一时间只能由一个主机访问

本质是一种临界资源

一个子网中的主机数越多,发生碰撞的概率越高

发送的过程:

主机A逐层将信息封装,发送到主机B,然后逐层解包

同层之间都认为自己在和对方的同层直接通信,但是实际上确实逐层封装解包的

同层间拿到的报头是一样的

报文 = 报头 + 有效载荷

报头的共性:

1.报头和有效载荷的分离问题

2.报头内部,必须包含一个字段,叫做交给上层的谁的字段---分用

跨网传输

IP协议有两个版本,分别是IPv4和IPv6,但是没有特殊说明,都是IPv4

对于IPv4,IP地址是一个4字节,32比特的整数

通常用点分十进制来标识,如192.168.0.1

mac与ip的区别:

源ip地址 -> 目的ip地址

地址到最终目的地址

源mac地址 -> 目的mac地址

当前 地址到下一个地址

传输mac地址的两个设备在同一个局域网

局域网通信需要mac地址,mac地址,一般只在局域网有效

自己机器要发送的报文会发送至自己的网络层

自己的机器有路由功能

网络层发现要发送的报文的目的ip地址与自己的局域网的ip地址前缀不同

则会将报文发给路由器,路由器是连接外网的唯一出口

随后由路由器将报文解包,分用,然后封装,发给别的局域网

网络层,全网同一层,拿到的报文时一样的,是统一的

网络报文流通的真实流程:

相关推荐
2301_816374331 小时前
服务访问的用户认证
前端·网络
认真的薛薛1 小时前
阿里云:A记录、CNAME记录 详细应用场景
网络·阿里云·云计算
谷雨不太卷1 小时前
TCP外壳
linux·网络·tcp/ip
上海云盾-高防顾问1 小时前
什么是IP访问数据?
网络·网络协议·tcp/ip
@insist1231 小时前
信息安全工程师-主动防御体系核心技术:从监测溯源到隐私保护全解析
网络·安全·软考·信息安全工程师·软件水平考试
德迅云安全-小潘1 小时前
游戏行业如何保障网络安全
服务器·网络·游戏
QYR_111 小时前
2026年MT 插芯市场洞察:CAGR 7.9%,2032 年全球规模将达 4.6 亿美元
网络·数据库·人工智能
星恒讯工业路由器1 小时前
SYN Flood攻击与防护:工业路由器安全
网络·智能路由器
南京码讯光电技术有限公司1 小时前
2026年国内工业路由器技术分析与FAQ
网络·智能路由器·工业通信·工业无线覆盖