Linux运维网络基础
1.网络架构的三个层次
核心层: 路由器(网关接口) 实现和外网通讯 冗余能力(主备) 汇聚层: 交换机(三层交换机) 冗余能力 策略控制能力 接入层: 交换机(二层交换机) 终端设备接入网络

2.网络层次模型
OSI七层模型:是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系。
| 应用层 | 应用层程序接口规范 | TCP/IP模型 |
|---|---|---|
| 表示层 | 对数据进行转换、加密和压缩 | 应用层 |
| 会话层 | 建立、管理和终止会话 | 主机到主机层 |
| 传输层 | 提供可靠的端到端的报文传输和差错控制 | 因特网层 |
| 网络层 | 将分组从源传送到目的端,提供网络互联 | 网络接入层 |
| 数据链路层 | 将分组数据封装成帧,提供节点到节点方式的传输 | |
| 物理层 | 在媒体上传输比特,提供机械的和电气的规约 |
(1)数据封装过程

(2)数据解封装过程

(3)TCP/IP模型及对应协议

3.TCP/UDP协议
(1)TCP协议:传输控制协议,面向连接的网络协议,
优点:数据传输可靠性高
缺点:数据传输效率低
(2)UDP协议:用户报文协议,无连接的网络协议
优点:数据传输效率高
缺点:数据传输可靠性低
4.TCP协议的两个重要原理
(1)TCP/IP的报文结构

控制字段:
syn(1):请求建立连接控制字段
fin(1):请求断开连接控制字段
ack(1):数据信息确认控制字段
(2)TCP三次握手过程
- 主机A向主机B发送TCP报文 报文中控制字段syn置为1, 请求建立连接
- 主机B向主机A发送TCP响应报文 报文中控制字段syn置为1,ack置为1
- 主机A向主机B发送TCP报文 报文中控制字段ack置为1, 确认主机B发送信息已经接收到了
a.第一次握手:发送syn请求建立连接控制字段,发送seq序列号信息,第一个数据包的序列号默认为0
b.第二次握手:发送syn请求建立连接控制字段,同时还会发送ack确认控制字段,发送seq序列号信息也为0,还会发送ACK确认号(上一个seq序列号 +1)信息(对上一个数据序列号信息进行确认)
c.第三次握手:发送ack确认控制字段,发送seq序列号信息(1),发送ack确认号(0+1)


(3)TCP四次挥手过程
a.第一次挥手:发送fin请求断开连接控制字段
b.第二次挥手:发送ack确认控制字段
c.第三次挥手:发送fin请求断开连接字段,发送ack确认字段
d.第四次挥手:发送ack确认字段


(4)TCP是十一种状态集
TCP三次握手:
| 状态 | 状态信息 |
|---|---|
| 最开始两台主机都处于关闭状态 | closed |
| 服务端将相应服务进行开启 | closed——>listen |
| 客户端向服务端发出连接请求 | closed——>syn_sent |
| 服务端接收到连接请求,进行确认 | listen——>syn_rcvd |
| 客户端再次进行确认 | syn_sent——>established |
| 服务端接受到确认信息 | syn_rcvd——>established |

TCP四次挥手:
| 客户端发送请求断开连接信息 | established——>fin_wait1 |
| 服务端接受断开连接请求,并进行确认 | established——>close_wait |
| 客户端接收到了确认信息 | fin_wait1——>fin_wait2 |
| 服务端发送ack和fin字段 | close_wait——>last_ack |
| 客户端接收到请求断开连接信息,发送确认 | fin_wait2——>time_wait |
| 服务端接受到确认信息 | last_ack——>closed |
| 客户端等待一段时间 | time_wait——>closed |

5.网络中重要协议原理
(1)DNS:域名解析系统
DNS解析过程:
- 浏览器先检查自身缓存中有没有被解析过的这个域名对应的ip地址,如果有,解析结束。同时域名被缓存的时间也可通过TTL属性来设置。
- 如果浏览器缓存中没有(专业点叫还没命中),浏览器会检查操作系统缓存中有没有对应的已解析过的结果。而操作系统也有一个域名解析的过程。在windows中可通过c盘里一个叫hosts的文件来设置,如果你在这里指定了一个域名对应的ip地址,那浏览器会首先使用这个ip地址。说明:这种操作系统级别的域名解析规程也被很多黑客利用,通过修改你的hosts文件里的内容把特定的域名解析到他指定的ip地址上,造成所谓的域名劫持。所以在windows7中将hosts文件设置成了readonly,防止被恶意篡改。
- 如果至此还没有命中域名,才会真正的请求本地域名服务器(LDNS)来解析这个域名,这台服务器一般在你的城市的某个角落,距离你不会很远,并且这台服务器的性能都很好,一般都会缓存域名解析结果,大约80%的域名解析到这里就完成了。
- 如果LDNS仍然没有命中,就直接跳到Root Server 域名服务器请求解析
- 根域名服务器返回给LDNS一个所查询域的主域名服务器(gTLD Server,国际顶尖域名服务器,如.com .cn .org等)地址
- 此时LDNS再发送请求给上一步返回的gTLD
- 接受请求的gTLD查找并返回这个域名对应的Name Server的地址,这个Name Server就是网站注册的域名服务器
- Name Server根据映射关系表找到目标ip,返回给LDNS
- LDNS缓存这个域名和对应的ip
- LDNS把解析的结果返回给用户,用户根据TTL值缓存到本地系统缓存中,域名解析过程至此结束

DNS追踪命令
[root@shuai ~]# yum install bind-utils -y
[root@shuai ~]# dig www.fushuaizhang.cn +trace
(2)ARP原理
作用:已知IP解析mac地址,减少交换网络中广播的产生
6.IP地址概念
(1)ip地址分类
a.按照地址的范围进行划分 A B C D E b.按照地址用途进行划分 公网地址: 全球为一 私网地址: 重复利用地址, 避免地址枯竭, 私网地址网段不能出现在互联网路由器路由表 c.按照通讯方式划分 单播地址: 网卡上配置的地址 广播地址: 主机位全为1的地址 192.168.1.11111111 –> 192.168.1.255
网络中主机数量=2的n(n 有多少个主机位)次方-2(一个广播地址 一个网络地址 是不能配置在网卡) 2的8-2=256 – 2 = 254 – 1(路由器网关地址) = 253 C类地址, 一个网络中可以有 253主机 B类地址, 一个网络中可以有 2的16 – 3 = 65536 – 3 = 65533 A类地址, 一个网络中可以有 2的24 – 3 = ??? 组播地址: D类地址 192.168.1 253 192.168.2 253
7.系统路由设置
(1)centos6: route 和网络相关的命令 使用net-tools
静态默认路由: a.编写网卡配置文件 b.利用命令临时配置 route add default gw 10.0.0.2(网关地址) route del default gw 10.0.0.2 作用: 实现主机访问外网, 用于测试新的网关地址
静态网段路由: route add -net 10.0.3.0 netmask 255.255.255.0 gw 10.0.1.2 route del -net 10.0.3.0 netmask 255.255.255.0 gw 10.0.1.2 路由信息 0.0.0.0 10.0.0.2 0.0.0.0 UG 0 0 0 eth0 10.0.3.0 10.0.1.2 255.255.255.0 UG 0 0 0 eth0
静态主机路由: route add -host 10.0.3.201 dev eth1 route del -host 10.0.3.201 dev eth1
(2)centos7: ip route 和网络相关的命令 使用iproute
静态默认路由: a 编写网卡配置文件 b 利用命令临时配置 ip route add default via 10.0.0.2 ip route del default via 10.0.0.2
静态网段路由: ip route add -net 10.0.3.0 netmask 255.255.255.0 via 10.0.1.2 ip route del -net 10.0.3.0 netmask 255.255.255.0 via 10.0.1.2
静态主机路由: ip route add -host 10.0.3.201 via 10.0.1.2 ip route del -host 10.0.3.201 via 10.0.1.2
Linux运维网络基础的更多相关文章
- Linux运维之基础拾遗
第一部分 Linux常用文件管理命令 1.1 cp 文件复制 常用选项 -i # 覆盖之前提醒用户确认 -f # 强制覆盖目标文件 -r # 递归复制目录 -d # 复制符号链接本身而非其指向的源文件 ...
- linux运维基础__争取十月前研究的差不多
转来的一编,考虑在十月前研究的差不多 linux运维人员基础 1.很多地方经常会用到的rsync工具 实施几台服务器的同步效果 我们公司就是使用这个工具完成服务器的游戏的服务端和客户端同步,有几个文章 ...
- 网络配置——Linux运维基础
今天把Linux的网络配置总结了一下,尽管并不难可是是个比較重要的基础.然后我也不知到自己以后是否会做运维,可是我知道自己比較喜欢刨根问底.还有就是我很珍惜我以前掌握过的这些运维的技能.今天突然间问自 ...
- Linux运维七:网络基础
1:网线 2:交换机,路由器 交换机(Switch)意为“开关”是一种用于电(光)信号转发的网络设备.它可以为接入交换机的任意两个网络节点提供独享的电信号通路.最常见的交换机是以太网交换机.其他常见的 ...
- Linux网站运维工程师基础大纲
第一阶段:Linux运维基础 第一章:Linux基础以及入门介绍 1.Linux硬件基础 2.Linux发展过程 3.创建虚拟机和系统安装 第二章:Linux系统目录结构介绍 1.Linux系统优化 ...
- Linux运维工程师必须掌握的基础技能有哪些?
这个问题挺好的,回答这个问题也是对自身的审查,看看自己还欠缺哪些.(所以我估计得好好思考下,也许下一刻我就会突然惊醒,发现我还是战⑤渣) 首先限定在Linux运维工程师上 回答仅代表我想到,不代表我都 ...
- [转帖] Linux运维基础知识学习内容
原作者地址:https://www.cnblogs.com/chenshoubiao/p/4793487.html 最近在学习 linux 对简单的命令有所掌握 但是 复杂的脚本 shell pyt ...
- 第一阶段·Linux运维基础-第1章·Linux基础及入门介绍
01-课程介绍-学习流程 02-服务器硬件-详解 03-服务器核心硬件-服务器型号-电源-CPU 01-课程介绍-学习流程 1.1. 光看不练,等于白干: 1.2 不看光练,思想怠慢: 1.3 即看又 ...
- RHEL7-RHCE培训系列教程,让您零基础入门Linux运维
本教程是旨在帮助那些刚入门IT行业或计划从事IT行业的初学者(包括开发人员和运维人员,以及想要在Linux系统维护上提升自己的网络管理员),0基础入门Linux运维,完整学习完成本系列课程相当于培训机 ...
随机推荐
- 都 2021 年了,竟然有人搞大数据时忽略 JSON 而去研究用 C# 把 XML 转换为 XML 的技术
在大数据项目开发过程中,ETL(Extract-Transform-Load)是必不可少.即便目前 JSON 非常流行,开发人员也有必定会有对远古系统的挑战,而 XML 格式的数据源作为经典存在浑身上 ...
- javaWeb——Servlet(二)
Servelet登录页面步骤: 浏览器访问http://127.0.0.1/login.html 浏览器通过form把账号和密码提交到/login(通过action),附带method="p ...
- 攻防世界(十一)warmup
攻防世界系列 :warmup 1.打开题目,一个贱贱的滑稽表情 F12看到注释内容source.php 2.访问source.php <?php highlight_file(__FILE__) ...
- 007.Ansible变量Fact,魔法变量和lookup生成变量
一 fact变量 1.1 fact简介 ansible有一个模块叫setup,用于获取远程主机的相关信息,并可以将这些信息作为变量在playbook里进行调用.而setup模块获取这些信息的方法就是 ...
- USB历代标准及接口发展
USB历代标准及接口发展 浊酒一杯家万里关注 2017.11.20 14:54:21字数 3,684阅读 2,514 文章转自中关村在线 1,多功能正反插 苹果让大众认识Type-C "Ty ...
- Centos 7 进入单用户模式更改root密码方法
进入单用户模式的方法 方法一: 1.开机进入grub菜单的时候上下选择,按e编辑. 到linux16所在行的最后面. ro 只读文件系统 biosdevname=0 戴尔的服务器需要设置 net.if ...
- BLDC 无刷电机FOC驱动 STM32官方培训资料
STM32 PMSM FOC SDK V3.2 培训讲座一http://v.youku.com/v_show/id_XNTM2NjgxMjU2.html?from=s1.8-1-1.2STM32 PM ...
- Java常用集合笔记
最近事情比较少,闲暇之余温习巩固一下Java的一些基础知识,并做一些笔记, Java常用集合, 主要参考的这篇文章:Java常用集合 ArrayList/Vertor 1. ArrayList 的主要 ...
- Git如何下载clone指定的tag
Git如何下载clone指定的tag 如上图,我想下载Tags标签为solution-4 的代码,如何处理呢? 命令如下: git clone --branch solution-4 git@gith ...
- 微信架构 & 支付架构(下)
微信架构 & 支付架构(下) 3. 管理网络请求 首先看看原来 iOS 处理支付网络请求的缺陷: 原来支付的请求,都是通过一个单例网络中心去发起请求,然后收到回包后,通过抛通知,或者调用闭包的 ...