网络通讯基础

网络传输原理

网络:实现主机与主机之间通讯

  1. 直线通讯必须拥有传输介质
    网线、光纤等
  2. 实现通讯必须拥有网卡设备
    将二进制信息 转换 电信号信息
    将电信号信息 转换 二进制信息
  3. 实现通讯必须进行协商过程
    协商通讯速率(自适应 以最低的速率匹配)
    数据单位信息

网络传输数据

bit  1b=1/8B

系统存储数据

Byte  1B=8b

网络路由和交换

交换机(switch):实现一个网络内部多台主机通讯

  1. 在进行数据通讯时,数据信息前面有地址信息。
    在交换机上使用mac地址(物理地址 全球唯一)作为通讯地址
  2. 在进行数据通讯时,有事需要使用广播方式通讯

PS:进行网络主机之间通讯,一定确保数据传输过程是有去有回

利用交换机通讯容易产生广播风暴

路由器(router):实现不同网络之间通讯需求

  1. 路由器实现多个不同网络之间主机通讯
    在路由器上使用IP地址(逻辑地址)作为通讯地址
    IP地址组成部分=网络(网段)地址部分+主机地址信息

  2. 在进行数据通讯室,是需要使用路由表进行通讯
    路由器上和交换机连接接口,可以称为网关接口
    路由器上和交换机连接接口地址,可以称为网关地址

  3. 路由器配置:路由表信息
    配置静态路由信息
    配置动态路由信息
    配置静态默认路由
    自动生成直连路由


网络设备的配置

思科设备配置基础配置:

命令:

show ip route查看路由表
设备名称>         用户模式        什么都干不了
enable              简写  en      切换特权模式设备名称#         特权模式        查看设备信息
configuer terminal  简写 conf t   切换配置模式设备名称(config)# 配置模式        进行设备配置

路由器初始配置:

  1. 配置接口地址
int f0/0 #选择修改接口ip add 192.168.7.254  255.255.255.0  #配置网关和子网掩码no shut   #执行int f1/0ip add 192.168.9.254 255.255.255.0no shut
  1. 静态路由配置

R1

int f0/0
ip add 192.168.7.254 255.255.255.0
no shutint f0/1
ip add 12.0.0.1 255.255.255.0
no shut

R2

int f0/0
ip add 12.0.0.2 255.255.255.0
no shutint s2/0
ip add 23.0.0.2 255.255.255.0
no shut

R3

int s2/0
ip add 23.0.0.3 255.255.255.0
no shutint f0/0
ip add 192.168.9.254 255.255.255.0
no shut

R1 手动添加路由

ip route 192.168.9.0 255.255.255.0 12.0.0.2

R2 手动添加路由

ip route 192.168.9.0 255.255.255.0  23.0.0.3
ip route 192.168.7.0 255.255.255.0  12.0.0.1

R3 手动添加路由

ip add 192.168.9.254 255.255.255.0 23.0.0.2
  1. 动态路由配置
R1
router rip
network 12.0.0.0
netwprk 192.168.7.0
R2
router rip
network 12.0.0.0
netwprk 23.0.0.0
R3
router rip
network 23.0.0.0
netwprk 192.168.9.0

网络通讯概念

网络架构层次

作用说明:了解网络设备连接结构(网络拓扑)
架构划分:

1. 核心词:和外网运营商连接层次 实现连接互联网                 路由器
2. 汇聚层:将数据设备数据包进行汇聚  实现通讯管理(访问控制)      三层交换设备
3. 接入层:和终端设备连接       实现主机之间通讯                    二层交换设备

网络模型概念

OSI7层模型
模型组成:7层
物理层 数据链路层 网络层 传输层 会话层 表示层 应用层

应用层:产生数据信息 服务
表示层:加密/解密 压缩/解压缩 分段/整合
会话层:控制会话是否建立/断开
传输层:保证数据传输可靠性/数据传输高效性
网络层:实现不同网络(网段)之间可以将数据进行转发      路由器三层设备
数据链路层:实现局域网内主机之间通讯       交换机二层设备
物理层:将数据包信息转换为    二进制信息-电信号/光信号电信号/光信号-二进制信息

模型作用:

  1. 数据传输封装与解封装过程

数据封装过程:客户端

 第一步:产生通讯数据信息     数据信息                            PDU(协议数据单元)第二步:传输层封装过程         传输头部信息-数据信息第三步:网络层封装过程           网络头部信息-传输头部信息-数据信息第四步:链路层封装过程            链路层头部信息-网络头部信息-传输头部信息-数据信息第五步:物理层封装过程            将数据转为二进制信息 -- 电信号

数据解封装过程:(服务器)

 第一步:物理层解封装过程     将电信号信息 -- 二进制信息第二步:链路层接封装过程      链路层头部信息 # (目标MAC地址 源MAC地址)第三步:网络层解封装过程     网络层头部信息 # (目标IP地址 源IP地址)第四步:传输层解封装过程       传输层头部信息 # (目标端口号码 源端口号码)第五步:应用层解封装过程       查看到最终数据信息

  1. 互联通讯过程(nginx)
    第一步:发送端(客户端) 产生数据信息
    第二步:对数据信息进行封装过程
    第三步:经过路哟器拆解数据包 根据路由表进行路由
    第四步:接收端(服务器) 接收数据信息
    第五步:对数据信息进行接封装过程
    进行数据恢复响应过程

TCP/IP模型
模型组成:4层
接入层:
网络层(互联网层)
传输层(主机到主机层)
应用层:

模型作用:

  1. 定义各种网络通讯协议信息

  2. 应用层:HTTP FTP NFS SMTP(邮件) SNMP(监控) DHCP DNC 协议=服务
    DHCP协议:动态主机配置协议
    作用:自动获取IP地址
    原理:
    第一步:主机向局域网中发送广播包 获取IP地址
    第二步:局域网中DHCP服务器 分配IP地址
    配置过程:

      1、 安装软件服务   DHCP软件程序2、 编写配置文件   地址池信息地址掩码信息网关地址信息DNS地址信息
    

    第三步:主机收到DHCOP服务分配地址确认数据包发送
    第四步:局域网中DHCP速武器 收到确认信息 调整地址池信息
    第五步:局域网中DHCP服务 定期发送IP地址使用确认信息
    第六步:主机去人地址是否使用
    地址在使用中 自动进行续租
    地址未在使用中 地址分配给其他主机使用

传输层:TCP UDP
TCP(Transmission Control Protocol):传输控制协议
概述说明: 面向连接网络协议
特点说明: 可靠传输协议 传输过程有确认机制
应用场景:右键服务 FTP HTTP

TCP报文结构:
端口:1 ~ 65535 2的16次方

源端口:
占用16bit 2的16次方 65536 0号端口没有被TCP或者UDP协议使用
1 ~ 1024 含有知名服务端口好吗 22 23 80 111 110 21 20
目标端口: 访问服务信息
序列号: 表示拆分后数据包
确认号:ack=x+1
控制字段:6个字段 实现不同控制功能

0功能未开启 1功能开启SYN:请求建立连接控制字段ACK:数据确认控制字段FIN:请求断开控制字段

TCP三次握手:

第一次:客户端发送信息   发送TCP报文信息(控制字段 SYN=1 SEQ=x)
A   SYN=1      B
第二次:服务器接收信息  发送TCP报文响应(控制字段SYN=1 ACK=1 SEQ=y ack=x+1)
B   SYN=1      A
B   ACK=1      A
第三次:客户端发送信息  发送TCP报文信息(控制字段ACK=1 SEQ=x+1 ack=y+1)
A   ACK=1      B

TCP四次挥手:

第一次:主动方发送信息  大宋TCP报文信息(控制字段FIN=1 ack=1)
A   FIN=1 ACK=1   B第二次:被动方发送信息 发送TCP报文信息(控制字段ACK=1)
B   ACK=1      A第三次:被动方发送信息 发送TCP报文信息(控制字段FIN=1 ACK=1)
B   FIN=1 ACK=1   A第四次:主动方发送信息 发送TCP报文信息(控制字段ACK=1)
A   ACK=1      B

PS:TCP协议可以保证数据可靠传输

  1. 拥有ACK确认控制字符段:保证数据包是否被对端接收
  2. 拥有SEQ和ack字段信息:确认数据包可以进行拆分/有效重组

UDP(User Datagram Protocol):用户数据报协议
概述说明:无连接网络协议
特点说明:传输效率较高协议 传输过程验证机制
应用场景:DNS解析 语音 视频

TCP11种状态

CLOSED

初始状态,表示TCP连接是“关闭着的”或“未打开的”。

LISTEN

表示服务器端的某个SOCKET处于,可以接受客户端的连接。

SYN_SENT

这个状态与SYN_RCVD 状态相呼应,当客户端SOCKET执行connect()进行连接时,它首先发送SYN报文,然后随即进入到SYN_SENT 状态,并等待服务端的发送三次握手中的第2个报文。SYN_SENT 状态表示客户端已发送SYN报文。

SYN_RCVD

表示服务器接收到了来自客户端请求连接的SYN报文。在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中的一个中间状态,很短暂,基本上用netstat很难看到这种状态,除非故意写一个监测程序,将三次TCP握手过程中最后一个ACK报文不予发送。当TCP连接处于此状态时,再收到客户端的ACK报文,它就会进入到ESTABLISHED 状态。

ESTABLISHED

表示TCP连接已经成功建立。


三次握手状态转换

1) 初始状态信息   客户端(closed)    服务端(closed)
2) 准备状态信息   服务端创建socket  服务端(closed-listen)
3) 握手状态信息   客户端发送syn     客户端(closed-syn_sent)服务端接收syn     服务端(listen-syn_rcvd)发送ack syn 客户端接收ack syn 客户端(syn_sent-established) 发送ack 服务端接收ack     服务端(syn_rcvd-established)

FIN_WAIT_1

这个状态得好好解释一下,其实FIN_WAIT_1 和FIN_WAIT_2 两种状态的真正含义都是表示等待对方的FIN报文。
而这两种状态的区别是:FIN_WAIT_1状态实际上是当SOCKET在ESTABLISHED状态时,
它想主动关闭连接,向对方发送了FIN报文,此时该SOCKET进入到FIN_WAIT_1 状态。
而当对方回应ACK报文后,则进入到FIN_WAIT_2 状态。
当然在实际的正常情况下,无论对方处于任何种情况下,都应该马上回应ACK报文,
所以FIN_WAIT_1 状态一般是比较难见到的,而FIN_WAIT_2 状态有时仍可以用netstat看到。

CLOSE_WAIT

表示正在等待关闭。怎么理解呢?当对方close()一个SOCKET后发送FIN报文给自己,
你的系统毫无疑问地将会回应一个ACK报文给对方,此时TCP连接则进入到CLOSE_WAIT状态。
接下来呢,你需要检查自己是否还有数据要发送给对方,如果没有的话,
那你也就可以close()这个SOCKET并发送FIN报文给对方,即关闭自己到对方这个方向的连接。
有数据的话则看程序的策略,继续发送或丢弃。简单地说,当你处于CLOSE_WAIT 状态下,
需要完成的事情是等待你去关闭连接。

FIN_WAIT_2

上面已经解释了这种状态的由来,实际上FIN_WAIT_2状态下的SOCKET表示半连接,
即有一方调用close()主动要求关闭连接。
注意:FIN_WAIT_2 是没有超时的(不像TIME_WAIT 状态),
这种状态下如果对方不关闭(不配合完成4次挥手过程),
那这个 FIN_WAIT_2 状态将一直保持到系统重启,
越来越多的FIN_WAIT_2 状态会导致内核crash。

LAST_ACK

当被动关闭的一方在发送FIN报文后,等待对方的ACK报文的时候,
就处于LAST_ACK 状态。当收到对方的ACK报文后,也就可以进入到CLOSED 可用状态了。

TIME_WAIT

表示收到了对方的FIN报文,并发送出了ACK报文。TIME_WAIT状态下的TCP连接会等待2*MSL(Max Segment Lifetime,最大分段生存期,指一个TCP报文在Internet上的最长生存时间。每个具体的TCP协议实现都必须选择一个确定的MSL值,RFC 1122建议是2分钟,但BSD传统实现采用了30秒,Linux可以cat /proc/sys/net/ipv4/tcp_fin_timeout看到本机的这个值),然后即可回到CLOSED 可用状态了。如果FIN_WAIT_1状态下,收到了对方同时带FIN标志和ACK标志的报文时,可以直接进入到TIME_WAIT状态,而无须经过FIN_WAIT_2状态。(这种情况应该就是四次挥手变成三次挥手的那种情况)

CLOSING

这种状态在实际情况中应该很少见,属于一种比较罕见的例外状态。
正常情况下,当一方发送FIN报文后,按理来说是应该先收到(或同时收到)对方的ACK报文,
再收到对方的FIN报文。但是CLOSING 状态表示一方发送FIN报文后,并没有收到对方的ACK报文,
反而却也收到了对方的FIN报文。什么情况下会出现此种情况呢?那就是当双方几乎在同时close()一个SOCKET的话
,就出现了双方同时发送FIN报文的情况,这是就会出现CLOSING 状态,表示双方都正在关闭SOCKET连接。

CLOSED

产生的原因是客户端和服务端同时关闭


四次挥手状态转换

 1) 初始状态信息   客户端(established)    服务端(established)2) 挥手状态信息   主动端发送fin        主机端(established --> fin_wait1)被动端接收fin       被动端(established --> close_wait)                    发送ack 主动端接收ack        主动端(fin_wait1   --> fin_wait2)被动端发送ack fin   被动端(close_wait  --> last_ack)主动端接收ack fin    主动端(fin_wait2   --> time_wait) 发送ack 被动端接收ack        被动端(last_ack    --> closed)主动端等待2MSL 90s 主动端(time_wait   --> closed)

网络重要协议

DNS:域名解析系统
域名解析成IP地址 利用IP地址访问相应服务器设备进行网络通讯
原理过程:network crond

1) 本地解析过程
DNS缓存:  linux bind / window ipconfig/displaydns
本地hosts文件:  etc/hosts
2) 递归查询过程   孩子 -- 借钱 -- 父母(LDNS)
询问DNS服务器(LDNS)
阿里: 223.5.5.5 223.6.6.6
电信: 114.114.114.114
谷歌: 8.8.8.8 了解
  1. 迭代查询过程:
人  --  借钱(10万) -- 父母(LDNS)   -->  朋友 30000  -->    同事 30000-->  领导 40000a 询问根域名服务器b 询问顶级域名服务器c 询问二级域名服务器  域名和IP地址解析关系(A记录)

ARP
协议原理: 已知IP地址 — mac地址 (作用: 减少广播产生)
ARP协议原理

    ARP动态? 自动获取MAC-IP对应关系动态:1) 自动构建ARP表2) ARP表信息会动态变化应用场景:在局域网中主机经常发生变化ARP静态? 手动配置MAC-IP对应关系 应用场景:数据中心  银行网络
1) 发送ARP请求数据包(广播方式)
2) 接收ARP响应数据包(获得目标mac地址)
3) 实现局域网通讯每台主机需要构建ARP
4) 交换机上需要构建mac表


网络IP地址

  1. 地址组成部分
    网段部分
    主机部分
    IP地址由32位二进制组成 每8位二进制数表示地址 称为点分十进制
    10100101 . 01010101 . 10100101 . 01010101
 二进制 如何转换为 十进制  求和运算10100101 . 01010101 . 10100101 . 0101010110000000  128    64   12800100000   32    16    3200000100    4     4     4 00000001    1     1     1165    85   165  85
十进制 如何转换为 二进制  求差运算
  1. 地址分类方式
    按照IP地址范围分类:
    A类 B类 C类 D类 E类
    按照IP地址用途分类:
    公网地址: 公网地址全球唯一 公网地址网段信息可以出现在运营商路由表中
    私网地址: 私网地址可以重复 私网地址网段信息不可以出现在运营商路由表中
    特殊技术NAT技术: 网络地址映射技术
    按照IP通讯方式划分:
    单播地址: 主机上配置地址
    组播地址: D类地址 实现局域网中部分主机通讯
    广播地址: 局域网中所有主机可以接收
    主机位全为1地址称为广播地址
    主机位全为0地址称为网段地址

  2. 地址子网划分



企业中网络环境配置方法
企业办公网环境架构: 路由器 交换机 多个主机设备
路由器: (命令行 图形界面)
· 进行路由或者拨号配置
· DHCP服务配置(地址池范围 子网掩码 网关地址 DNS地址)
交换机:
· 网络vlan(虚拟局域网)信息
vlan配置:
1) 创建vlan
2) 进入接口模式
3) 将接口划分到指定vlan中
扩展说明: 划分vlan
接口有两种模式:
access模式接口直接连接主机
trunk模式直接连接交换机或者路由器
· 安全策略配置
配置ACL: 访问控制 == iptables–> filter表
静态ARP配置:

虚拟主机如何访问外网:
第一个注意点: 虚拟主机网络配置(地址 掩码 网关 DNS) ip a
第二个注意点: 虚拟主机网络模式
第三个注意点: 虚拟主机服务状态  service.msc
第四个注意点: 本地windows主机是否可以访问外网
第五个注意点: 本地windows主机防火墙安全软件虚拟主机如何远程连接:
第一个注意点: 虚拟主机网络配置(xshell 虚拟主机地址)
第二个注意点: 虚拟主机网卡状态(启动 地址是否正确)
第三个注意点: 初始化虚拟网络编辑器

系统路由配置方法:
centos6:  route     net-tools软件包
静态默认网关配置:  route add default gw 10.0.0.254route del default gw 10.0.0.254
静态网段路由配置:  route add -net 223.5.5.0 netmask 255.255.255.0 gw 10.0.0.254route del -net 223.5.5.0 netmask 255.255.255.0 gw 10.0.0.254
静态主机路由配置:  route add -host 223.5.5.5 gw 10.0.0.254route del -host 223.5.5.5 gw 10.0.0.254centos7:  ip route iproute软件包
静态默认网关配置:  ip route add default via 10.0.0.254
静态网段路由配置:  ip route add 223.5.5.0/24 via 10.0.0.254
静态主机路由配置:  ip route add 223.5.5.5/32 via 10.0.0.254

网络操作说明

企业网络配置
系统路由配置
系统网络命令
ping
telnet

172.16.0.0/18

Linux从入门到放弃 运维网络知识详解相关推荐

  1. 自动化运维工具——puppet详解(二)

    自动化运维工具--puppet详解(二) 目录 一.class 类 1)什么是类? 2)带有参数的类 3)类的继承 1.新增属性 2.新增原有值 3.修改原有值 4.整体调用父类,并重写部分值 二.模 ...

  2. 趣谈网络协议-第二模块-底层网络知识详解:2最重要的传输层

    趣谈网络协议-第二模块-底层网络知识详解:2最重要的传输层 1:第10讲 | UDP协议:因性善而简单,难免碰到"城会玩" TCP 和 UDP 有哪些区别? UDP 包头是什么样的 ...

  3. 网络知识详解之:网络攻击与安全防护

    网络知识详解之:网络攻击与安全防护 计算机网络相关知识体系详解 网络知识详解之:TCP连接原理详解 网络知识详解之:HTTP协议基础 网络知识详解之:HTTPS通信原理剖析(对称.非对称加密.数字签名 ...

  4. 趣谈网络协议-第二模块-底层网络知识详解:4陌生的数据中心2CDN和数据中心

    趣谈网络协议-第二模块-底层网络知识详解:4陌生的数据中心2CDN和数据中心 1:CDN:你去小卖部取过快递么? 使用"中间仓库"来优化 网络中的"就近配送" ...

  5. 网络知识详解之:HTTPS通信原理剖析(对称、非对称加密、数字签名、数字证书)

    网络知识详解之:HTTPS通信原理剖析(对称.非对称加密.数字签名.数字证书) 计算机网络相关知识体系详解 网络知识详解之:TCP连接原理详解 网络知识详解之:HTTP协议基础 网络知识详解之:HTT ...

  6. Oracle入门(一)之入门级知识详解

    转载自 Oracle入门级知识详解 一. Oracle基本介绍 1. 什么时候用Oracle数据库? SQL SERVER 号称百万级数据(一个表的数据),但是其实做多20万条数据 超过20万条数据就 ...

  7. linux运维面试题大厂,大厂Linux运维面试题详解

    大厂面试题: 网络基础类面试题 01.Linux运维经典面试题_网络基础-视频介绍 02.Linux运维经典面试题_网络基础-面试题1 03.Linux运维经典面试题_网络基础-面试题2 04.Lin ...

  8. Linux自动化运维工具ansible详解

    文章目录 认识ansible ansible的组成 ansible的相关文件 ansible的使用 ansible的常用模块 1.copy模块 2.fetch模块 3.command模块 4.shel ...

  9. 自动化运维工具——ansible详解(一)

    ansible 简介 ansible 是什么? ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.chef.func.fabric)的优点,实现了批量系统 ...

最新文章

  1. 微软IE8浏览器个性化设置技巧
  2. JavaScript的数据类型---最全,最详细的数据类型,高级的工程师从数据类型开始
  3. es6新语法Object.assign()
  4. 单片机和java_java和单片机哪个难学?
  5. html之四种方法导入css...
  6. set集合判断集合中是否有无元素_Python入门教程笔记(五)集合(set)及函数
  7. 【C语言】18-变量类型
  8. gephi java教程_如何使用java 生成gephi类似使用YifanHu's Multilevel算法生成的gexf文件?...
  9. 将编译器的代码快速转存为图片
  10. 分布式任务调度:你知道和不知道的事
  11. Java:求两个正整数的最大公约数和最小公倍数
  12. 西湖论剑2020-BrokenSystems
  13. 服务器做虚拟网吧,一种基于游戏的虚拟网吧实现方法
  14. 百度java面试应届,秋招 百度二轮面试---血淋淋的经历写实
  15. 数据库表及其字段变量命名神器之codeIf
  16. 【完全背包】A005_LC_贴纸拼词(dp + 状态压缩)
  17. windows10安装redis数据库,并设置开机自启动
  18. 实习面经-2018大疆测试面经
  19. 试一试 kolla部署OpenStack Ocata
  20. VGG16-好莱坞明星识别

热门文章

  1. lsdyna如何设置set中的node_list_牛逼~新来的同事,100 页Word页眉页脚设置只需5秒!成功征服老板!...
  2. 短网址生成1.1 新增绿标短网址
  3. 用JavaScript实现双色球滚动效果
  4. FSSC22000认证辅导,GFSI旨在维持食品安全管理方案的基准审核流程,以实现食品安全标准的统一
  5. Vijava 学习笔记之模板
  6. 7-3 计算银行存款的本息 (5分)
  7. 有关2021年基金从业资格考试的疑惑
  8. 数字化转型的湖仓一体道路,企业到底该怎么走?
  9. 使用selenium和第三方浏览器插件驱动完成搜狐网页信息爬取
  10. android 重新绘制界面,基于Android Q:华为最新EMUI10界面曝光,图标重绘继续优化...