Linux网络基础

简介: Linux网络基础

认识 “协议”


“协议” 是一种约定。

举个栗子,你和好友之间提前约好在某个地方见面,这件事只有你们俩知晓,当到了约定的时间,你们俩一定会去目的地回合;重点是这种约定只有双方知晓


网络协议初识


协议分层


打电话为例


67fd7ff5343c453400caac9a37177517_641625af3b754178b559b810c08de5fa.png


两个用户进行远距离沟通,单单使用语言二者不可能进行沟通,而仅使用通信设备也不行;用户需要进行语言的输出,通信设备进行读取,通过自己的协议将读取到的内容传递给另一个设备,再由设备传递给另一个用户,从而达到通信的目的


OSI七层模型


OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范;

把网络从逻辑上分为了7层.

OSI 七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输;

它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整. 通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯


818fec5ea36f0124b1dc209ae5e22ce3_4d9462a4f53443d3b826a269e9b9dc99.png


为了方便理解分层,举个栗子

假如你打算从沈阳到北京去玩,而你又不想称作任何交通工具,于是你决定骑山地车去北京;首先要先到达临近沈阳的城市例如锦州;到达锦州之后可以再向目的地靠近,也可以绕远先去其他城市游玩,这就是路径选择的能力;也有可能导航出现问题,路径出现偏差,需要即使进行修改,这是纠错能力;最好到达目的地北京,这并不是目的,而是手段,游玩才是目的


总结下来


如何将数据交付给临近的主机

拥有路径选择的能力

拥有纠错能力

解决应用方面的能力

每一层都有相对应的协议,每一次协议都有要解决的问题


TCP/IP五层(或四层)模型


TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求


物理层: 负责光/电信号的传递方式.

数据链路层: 负责设备之间的数据帧的传送和识别.

网络层: 负责地址管理和路由选择.

传输层: 负责两台主机之间的数据传输.

应用层: 负责应用程序间沟通


网络传输基本流程


网络传输流程图


为了方便理解局域网中主机的通信,先来学习什么是协议报头???

举个栗子

网购是很常见的事情,方便了你我他。假如我网购了一件衣服,卖家会通过快递公司将快递送到我家附近的快递点。当我拿到快递时,除了衣服之外,还有一个快递单,我并不需要快递单,可是为什么快递上要有它呢???


其实快递单并不是给用户(我)看的,而是给快递公司看的。快递公司对于快递单的管理有自己的规则,也就是协议,从而就能实现全国各地的快递发送。而这个多余的快递单也称作“报头”,协议是通过报头来进行表达的


协议报头


协议每一层都有,协议的最终表现形式就是协议都有报头

协议是通过报头来进行表达的

每一份数据最终在被发送或者在不同的协议层中,都有对应的报头


局域网


两台局域网的主机能够进行直接通信

原理:每台机器都有自己的“名字”,每台主机都有网卡,每一张网卡都有自己的地址,也称MAC地址,表明自己在局域网中的唯一性


e26446c4e6a7057ef4363f342dda725e_d49f0e345d9c4a019b156dd66a346ae2.png


6个字节用来存储MAC地址

两台机器在局域网中进行通信的过程如下


f226ab52f2b9811a5eb0df68efcdfb77_4dbf6136cab94612bacaf2a5127ea2ec.png


用户A发送一个消息,在用户层添加用户层协议,传递给下一个协议;数据在传输层,添加传输层协议,接着传递给网络层;数据在网络层中添加网络层协议,向下传递给链路层,再添加上链路层协议,这整个过程称为封装;数据最终传递到以太网,通过以太网将数据传递给对应的用户B,经过层层解包分用将消息发送给了用户B,至此完成了局域网中两主机进行通信的过程


上述中的报头加上数据也称有效载荷整体称作报文;每一层协议的报文中都涵盖了上一层的信息;在局域网中,只允许一个主机在任何时刻发送消息,否则发生碰撞,局域网中网络资源其本质也是共享资源;在网络协议中,可以认为同层协议在直接通信,也可以理解为将报文进行向下交付


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


86cdedae29779c96f9a36ea3fafa00e9_136552e624b44cbf9225be98f0f176bd.png


跨网络通信和局域网的区别就是,多了一个令牌环网,路由器需要横跨两个网路;具体实现,报文到达以太网层之后,通过以太网传递给同一个网络中的以太网层,接着向上传递到另一个网络(令牌环)进行解包分用,然后重新封装;其余过程与上述一致


数据包封装和分用


不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame)

应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装

首部信息中包含了一些类似于首部有多长, 载荷(payload)有多长, 上层协议是什么等信息

数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理

数据封装的过程


67b2f255dbeed7aba73f36e34a40a72c_bd02520e1b854e17bebf0d89b444c324.png


网络中的地址管理


认识IP地址


IP地址是在IP协议中, 用来标识网络中不同主机的地址

对于IPv4来说, IP地址是一个4字节, 32位的整数

我们通常也使用 “点分十进制” 的字符串表示IP地址

3b67954cd66cc2cf2aa5caad9801173d_67e07c10a0e34d29b482dd5c1fbfec48.png


认识MAC地址


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

长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示

在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址)


c03c5e2a0a137f891cad52e2cb5ab52e_93f723b67542499190bc1884b77ad2bb.png


相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
目录
相关文章
|
3天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
16 2
|
2月前
|
安全 Linux 网络安全
Web安全-Linux网络协议
Web安全-Linux网络协议
76 4
|
15天前
|
域名解析 网络协议 安全
|
21天前
|
运维 监控 网络协议
|
17天前
|
存储 Ubuntu Linux
2024全网最全面及最新且最为详细的网络安全技巧 (三) 之 linux提权各类技巧 上集
在本节实验中,我们学习了 Linux 系统登录认证的过程,文件的意义,并通过做实验的方式对 Linux 系统 passwd 文件提权方法有了深入的理解。祝你在接下来的技巧课程中学习愉快,学有所获~和文件是 Linux 系统登录认证的关键文件,如果系统运维人员对shadow或shadow文件的内容或权限配置有误,则可以被利用来进行系统提权。上一章中,我们已经学习了文件的提权方法, 在本章节中,我们将学习如何利用来完成系统提权。在本节实验中,我们学习了。
|
25天前
|
Ubuntu Linux 虚拟化
Linux虚拟机网络配置
【10月更文挑战第25天】在 Linux 虚拟机中,网络配置是实现虚拟机与外部网络通信的关键步骤。本文介绍了四种常见的网络配置方式:桥接模式、NAT 模式、仅主机模式和自定义网络模式,每种模式都详细说明了其原理和配置步骤。通过这些配置,用户可以根据实际需求选择合适的网络模式,确保虚拟机能够顺利地进行网络通信。
|
1月前
|
网络协议 安全 Ubuntu
Linux中网络连接问题
【10月更文挑战第3天】
32 1
|
1月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控总结
Linux系统命令与网络,磁盘和日志监控总结
55 0
|
1月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控三
Linux系统命令与网络,磁盘和日志监控三
38 0
|
2月前
|
机器学习/深度学习 安全 网络协议
Web安全-Linux网络命令
Web安全-Linux网络命令
32 1