网络基础与协议

协议

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

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

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

网络中的协议是分层的

同层协议之间在互相通信

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

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

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

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地址前缀不同

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

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

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

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

相关推荐
Escalating_xu9 分钟前
【Linux 网络编程】connect 的断线重连:用状态机写一个能恢复连接的 TCP 客户端
linux·网络·tcp/ip
2401_868534782 小时前
局域网络中信息安全方案设计及攻击防范技术(制造企业园区网)
服务器·网络
懂点Tech2 小时前
ctfshow MISC入门图片篇(信息附加):misc21解题思路
网络
CS_Zero3 小时前
计算机网络通信基础2:带宽和吞吐量、客户端和服务器、网络基础设施
网络·计算机网络
盛世宏博智慧档案3 小时前
算力机房多协议融合:Modbus TCP 温湿度变送器与 SNMP 设备混合组网方案
网络·网络协议·tcp/ip·传感器·温湿度
知识分享小能手4 小时前
C学习教程,从入门到精通,C语言文件 — 完整知识点详解(14)
c语言·网络·学习
zhuhai_xigedian4 小时前
源网荷储一体化柜通信层:网络架构与协议矩阵设计
网络·矩阵·架构
shiyi.十一4 小时前
【CISP教材】第9知识域:计算环境安全
网络·安全·cisp
物联网软硬件开发-轨物科技4 小时前
【轨物方案】深度解读开关柜智能感知及一键顺控专家系统
大数据·运维·网络·人工智能·算法·机器人
小小、码农4 小时前
[特殊字符]【C++11】类的新功能全面解析:移动构造、移动赋值、default、delete、final 与 override
linux·开发语言·网络·c++