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三次握手过程
  1. 主机A向主机B发送TCP报文 报文中控制字段syn置为1, 请求建立连接
  2. 主机B向主机A发送TCP响应报文 报文中控制字段syn置为1,ack置为1
  3. 主机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解析过程:

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

  1. Linux运维之基础拾遗

    第一部分 Linux常用文件管理命令 1.1 cp 文件复制 常用选项 -i # 覆盖之前提醒用户确认 -f # 强制覆盖目标文件 -r # 递归复制目录 -d # 复制符号链接本身而非其指向的源文件 ...

  2. linux运维基础__争取十月前研究的差不多

    转来的一编,考虑在十月前研究的差不多 linux运维人员基础 1.很多地方经常会用到的rsync工具 实施几台服务器的同步效果 我们公司就是使用这个工具完成服务器的游戏的服务端和客户端同步,有几个文章 ...

  3. 网络配置——Linux运维基础

    今天把Linux的网络配置总结了一下,尽管并不难可是是个比較重要的基础.然后我也不知到自己以后是否会做运维,可是我知道自己比較喜欢刨根问底.还有就是我很珍惜我以前掌握过的这些运维的技能.今天突然间问自 ...

  4. Linux运维七:网络基础

    1:网线 2:交换机,路由器 交换机(Switch)意为“开关”是一种用于电(光)信号转发的网络设备.它可以为接入交换机的任意两个网络节点提供独享的电信号通路.最常见的交换机是以太网交换机.其他常见的 ...

  5. Linux网站运维工程师基础大纲

    第一阶段:Linux运维基础 第一章:Linux基础以及入门介绍 1.Linux硬件基础 2.Linux发展过程 3.创建虚拟机和系统安装 第二章:Linux系统目录结构介绍 1.Linux系统优化 ...

  6. Linux运维工程师必须掌握的基础技能有哪些?

    这个问题挺好的,回答这个问题也是对自身的审查,看看自己还欠缺哪些.(所以我估计得好好思考下,也许下一刻我就会突然惊醒,发现我还是战⑤渣) 首先限定在Linux运维工程师上 回答仅代表我想到,不代表我都 ...

  7. [转帖] Linux运维基础知识学习内容

    原作者地址:https://www.cnblogs.com/chenshoubiao/p/4793487.html 最近在学习 linux  对简单的命令有所掌握 但是 复杂的脚本 shell pyt ...

  8. 第一阶段·Linux运维基础-第1章·Linux基础及入门介绍

    01-课程介绍-学习流程 02-服务器硬件-详解 03-服务器核心硬件-服务器型号-电源-CPU 01-课程介绍-学习流程 1.1. 光看不练,等于白干: 1.2 不看光练,思想怠慢: 1.3 即看又 ...

  9. RHEL7-RHCE培训系列教程,让您零基础入门Linux运维

    本教程是旨在帮助那些刚入门IT行业或计划从事IT行业的初学者(包括开发人员和运维人员,以及想要在Linux系统维护上提升自己的网络管理员),0基础入门Linux运维,完整学习完成本系列课程相当于培训机 ...

随机推荐

  1. COS 数据湖最佳实践:基于 Serverless 架构的入湖方案

    01 前言 数据湖(Data Lake)概念自2011年被推出后,其概念定位.架构设计和相关技术都得到了飞速发展和众多实践,数据湖也从单一数据存储池概念演进为包括 ETL 分析.数据转换及数据处理的下 ...

  2. mysql知识点归纳-锁(死锁)

    愿历尽千帆,归来仍是少年 所遇问题: MySql 更新死锁问题 Deadlock found when trying to get lock; try restarting transaction 场 ...

  3. [bug] Unable to create initial connections of pool.

    原因1 pom中mysql依赖的版本不对,导致无法连接mysql 原因2 SSL设置问题 参考 https://blog.csdn.net/qq_26346457/article/details/79 ...

  4. [bug] org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 2

    原因 SpringBoot启动加载yml配置文件出现编码格式错误 参考 https://www.pianshen.com/article/2431144034/

  5. gparted 当分区空间大于1T 用gparted分区

    lsblkfdisk -lparted -s /dev/sdb mklabel msdos parted -s /dev/sdb mkpart primary 0 100%lsblk dfparted ...

  6. coverage report

    转载:http://blog.sina.cn/dpool/blog/s/blog_7853c3910102yn77.html VCS仿真可以分成两步法或三步法, 对Mix language, 必须用三 ...

  7. 018.Python迭代器以及map和reduce函数

    一 迭代器 能被next进行调用,并且不断返回下一个值的对象 特征:迭代器会生成惰性序列,它通过计算把值依次的返回,一边循环一边计算而不是一次性得到所有数据 优点:需要数据的时候,一次取一个,可以大大 ...

  8. IT菜鸟之总结(Du teacher)

    初次接触云计算,从以前对计算机的一窍不通,经过这三周的学习,起码是通了一窍了:哈哈,至少是对计算机的组成及系统的安装都有了认识,也初次学习了Linux系统,对其的发展和使用有了认识,也学到了一些基础的 ...

  9. 8.2-3 partprobe、tune2fs

    8.2 partprobe:更新内核的硬盘分区表信息       partprobe命令用于在硬盘分区发生改变时,更新Linux内核中的硬盘分区表数据.有时在使用fdisk.part命令对硬盘进行分区 ...

  10. http keep-alive 的一些理解

    在日常的工作中涉及到了关于检测用户是否在线的功能需求,在方案设计过程中考虑过使用http-keepalive的方式,由于我们获取到的keepalive是经过nginx转发的keep-alive,所以最 ...