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的迁移。
目录
相关文章
|
25天前
|
安全 Linux 网络安全
Web安全-Linux网络协议
Web安全-Linux网络协议
50 4
|
25天前
|
机器学习/深度学习 安全 网络协议
Web安全-Linux网络命令
Web安全-Linux网络命令
19 1
|
2月前
|
存储 Linux Shell
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
|
2月前
|
监控 网络协议 Linux
在Linux中,如何实时抓取并显示当前系统中tcp 80 端口的网络数据信息?
在Linux中,如何实时抓取并显示当前系统中tcp 80 端口的网络数据信息?
|
2月前
|
监控 安全 Linux
在Linux中,如何进行网络资源的优先级管理?
在Linux中,如何进行网络资源的优先级管理?
|
21天前
|
网络协议 Linux
Linux 网络配置
了解基本命令与权限后,如何让Linux系统联网?可通过编辑`/etc/sysconfig/network-scripts/`下的`ifcfg-ethX`文件配置网卡,其中`ethX`代表第X块网卡。对于DHCP自动获取或静态IP,需设置`BOOTPROTO`参数,并指定IP、子网掩码和网关等。配置完成后,运行`/etc/init.d/network restart`重启网络。DNS可在`/etc/resolv.conf`中设置,添加`nameserver`行即可,无需重启网卡。配置好后,可用`ifconfig`查看IP信息,并通过远程工具如SecureCRT连接服务器。
42 0
|
28天前
|
域名解析 负载均衡 网络协议
Linux网络接口配置不当所带来的影响
总而言之,Linux网络接口的恰当配置是保证网络稳定性、性能和安全性的基础。通过遵循最佳实践和定期维护,可以最大程度地减少配置错误带来的负面影响。
65 0
|
2月前
|
存储 Linux 网络安全
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
|
2月前
|
存储 Linux 网络安全
【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志
【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志
|
2月前
|
网络协议 Linux Shell
【Azure 应用服务】App Service For Linux 中安装paping, 用于验证从App Service向外请求的网络连通性
【Azure 应用服务】App Service For Linux 中安装paping, 用于验证从App Service向外请求的网络连通性
下一篇
无影云桌面