Linux网络知识详解以及demo(Centos6、7)——OSI、TCP、UDP、IP、子网掩码/划分、网关、路由、广播、虚拟网络、网卡、交换机、DNS、ARP
ip地址:网络通讯标识信息
子网掩码:在局域网中可以有多少个主机
网关:从一个局域网到另一个局域网的必经之路
网络号:主机位全为0
广播地址:主机位全为1
子网掩码:网络位全为1,主机位全为0
虚拟软件网络配置
仅主机模式
- 宿主机可以访问外网,虚拟主机不能访问外网,只能和宿主机或其他虚拟主机建立通讯
- 优缺点:
- 优点:更加安全
- 缺点:不能连接外网
NAT模式
- 宿主机和虚拟主机都可以访问外网
- 但是虚拟主机访问外网的时候ip地址是宿主机的ip
- 并且宿主机的IP和虚拟机的ip网络信息可以不一样
- 宿主机:10.0.3.62
- 虚拟机:10.0.0.3
- 优缺点
- 优点:不容易出现网络冲突
- 缺点:其他宿主机不能直接访问虚拟主机
桥接模式
- 宿主机和虚拟主机都可以访问外网
- 宿主机和虚拟主机的ip的网络信息是一样的,但是可能会出现ip地址冲突
- 宿主机:10.0.3.62
- 虚拟机:10.0.3.11
- 优缺点
- 优点:其他宿主机可以直接访问虚拟机
- 缺点:容易出现ip地址冲突
远程连接排错方法
- 去的道路是通畅–链路是通畅的
- 检查链路通畅的方法:ping ip地址
- 不通畅的原因:
- 物理线路有问题/物理主机被人关机
- 网络安全设备阻止了ping
- 虚拟主机网卡地址是否设置正确
- 虚拟网卡有没有开启并且配置正确
- 虚拟主机网络服务是否开启
- 有网络安全策略进行阻止访问
- 防火墙的端口是否允许访问
- SSH服务配置中也可以防止用户远程连接
- 远程服务没有开启(sshd 端口号是22)
- 检查远程服务是否开启:talnet ip地址 端口号
- 网络中会将每个网络服务设置一个数字编号,成为网络服务端口
- 开启sshd:
systemctl start sshd
- 虚拟网络编辑器中网卡设置错误 进行默认还原即可
- 虚拟软件程序运行有问题
- 检查虚拟软件服务是否开启
- windows+r
- services.msc
- 将相关服务进行开启或者重启
- 检查虚拟软件服务是否开启
- 检查远程服务是否开启:talnet ip地址 端口号
网卡配置信息
cat /etc/sysconfig/network-scripts/ifcfg-eth0#指定网络类型 以太网Ethernet
TYPE=Ethernet
#网络启动协议 如何让主机得到ip地址a、自己手动配置 none(关闭)static(静态,自己手动数据)b、自动获取地址 dhcpd(了解)
BOOTPROTO=none
#主机网卡名称
NAME=etho
#虚拟主机,会给每个硬件一个标识
UUID=31048995-e74f-4f99-8e19-0da439ea257b
#主机网卡的名称,设备名称物理名称
DEVICE=etho
#设置网卡是否处于开启状态
ONBOOT=yes
#静态配置ip地址,表示主机身份
IPADDR=10.0.0.200
#定义网络中可以有多少主机:房间里可以有多少人
PREFIX=24
#一个网络到另一个网络到必经之路
GATEWAY=10.0.0.2
#DNS 建立域名与网络ip地址的对应关系,如果没有好的DNS,ping域名会不通
DNS1=223.5.5.5
修改配置文件后需要重启,但是这个会重启所有的网卡
systemctl restart network
systemctl status network
单独关闭一个网卡然后立即重启一个网卡
ifdown eth0 && ifup eth0
如果确定配置文件正确重启网络服务失败
systemctl stop NetworkManager
/etc/resolv.conf也可以修改DNS信息,但是优先级低于网卡配置文件
网络通讯基本原理
- 主机之间需要有传输介质
- 主机上必须有网卡设备
- 可以将二进制信息转换为高低电压 信号的调制过程
- 可以将高低电压转换为二进制信息 信号的解调过程
- 100Mbps传输速率: 100 Mbit per second :每秒钟传输100M bit的信息
- 用来判断连续的高电压或低电压有几个
- 多台主机需要协商网络速率:网络中传输速率最低的速率
- 购买一个100M网络线路,但是网速远远达不到100M
- 100Mb 网络的数据单位 bit 1bit=1/8byte 100/8=12.5
- 100MB 磁盘的数据单位 Byte 1byte=8bit
网络基础硬件介绍
交换机:在一个网络中实现多台主机之间通讯
- 一台交换机所连接的所有主机构成的网络称为局域网
- 主机上要有相应的mac地址(物理地址),由12位16进制数组成。电脑买回来就有,不能修改
- 谁发送的(本机mac地址)、发送给谁(对方mac地址)、data数据。发送过去后会有回复
- 通讯的过程一定是有去有回的
- 利用交换机进行通讯有时需要广播方式进行通讯
- 在不知道是否存在的时候使用广播来进行快速确认
- 广播的产生有时会影响主机性能,需要不同的主机对广播进行确认是否在找自己
路由器:实现不同局域网主机之间的通讯
主机上要有相应的IP地址(逻辑地址) 用十进制表示 可以变化
- IP地址的组成:网络信息(局域网标识)+主机地址信息
需要借助路由器中的路由表实现通讯
网络信息(局域网标识) 接口信息 IP地址 01 eth0 01.eth0 02 eth1 02.eth1 - 想要传输到别的局域网会经过路由器的路由表进行查看是否传输到别的局域网,避免的对其他局域网进行干扰
如何生成路由表里的信息
- 利用直连网络环境自动生成
- 利用手工配置方式(静态路由配置)
- 路由表中没有到达下一个路由器的信息就需要自己配置
- 利用路由协议动态生成(动态路由配置)
静态路由配置
网络环境规划
两台主机
- 主机01:192.168.1.1
- 主机02:192.168.4.1
两台交换机
三台路由器
路由器配置(接口地址配置)
Router> en 命令提示符 用户模式提示符 Router# conf t 特权模式提示符 可以进行系统配置查看 Router(config)# interface g0/0 Router(config-if)# 接口模式提示符 g0/0接口配置 ip address 192.168.1.254 255.255.255.0 no shutdown 激活网卡crtl+z:快速返回特权模式 show 查看所有接口信息 show ip interface brief 只显示接口信息的ip地址 show ip route 查看路由表ip route 去往网络地址信息 网络掩码 去往目标的下一条接口地址删除静态路由方法 no ip route 192.168.1.254 255.255.255.0
主机配置的网关就是路由器的接口地址
动态路由配置
实现多个路由器路由表信息一致的过程:路由收敛过程
动态路由协议如何配置:
RIP 思科私有(EIGRP) OSPF IS-IS BGP
R1动态路由配置
router rip ---指定配置使用什么路由协议 network 192.168.1.0(要跟哪个网络相连) ---宣告过程 network 192.168.2.0
R2动态路由配置
router rip network 192.168.2.0 network 192.168.3.0
这样R1就可以连到192.168.3.0,所有的路由器可以传输的路径都在路由表存在了
网络架构设计方法(网络拓扑)
- 三个层次规划网络拓扑
- 核心层:路由器(网关接口) 实现和外网通讯 冗余能力(主备两个)
- 汇聚层:交换机(三层交换机) 冗余能力 策略控制能力
- 接入层:交换机(二层交换机) 终端设备接入网络
网络层次模型
OSI7层模型,层次模型结构:由上至下
由ISO(国际标准化组织)定义了标准规范
- 应用层:程序接口规范
- 表示层:对数据进行转换、加密、压缩
- 会话层:控制网络连接建立或终止
- 传输层:保证数据传输的可靠性,找端口
- 网络层:实现通过路由找到目标网络,找ip地址
- 数据链路层:通过交换机找到真正的目标,找mac地址
- 物理层:制定一些网络物理设备的标准(网卡、网线、光纤)数据转为比特流
利用OSI7层模型如何建立主机与主机之间的通讯
- 数据的封装过程
- 数据的解封装过程
TCP/IP模型(4层模型)
在OSI7层模型的基础上做了简化
应用层
应用层
表示层
会话层
Telnet:23/FTP:20 21/TFTP/SNMP/HTTP/DHCP 21端口:FTP传输控制信息端口,用于连接; 20端口:FTP传输数据端口,是否会用到20端口与FTP传输模式有关,主动模式使用20端口传输,被动模式下服务器端和客户端协商决定端口。
传输层:主机到主机层
TCP/UDP
网络层:因特网层
ICMP:ping命令 ARP/RARP/IP
接入层:网络接入层
- 数据链路层
- 物理层
Ethernet/Fast Eth/TOkenRing/FDDI
dhcp服务ip地址分配流程
发送广播信息,需要有一个ip地址
响应广播信息:从地址池中按顺序分配地址(dhcp服务)
网卡自动配置地址信息,并且返回确认信息
接收确认信息,删除地址池中的响应地址
确认ip地址租期到期后,是否续租
TCP协议:传输控制协议
面向连接的网络协议
在线发送文件——>对端点击接收
优点:数据传输可靠性高
缺点:数据传输效率低
UDP协议:用户报文协议
- 无连接的网络协议
- 离线发送文件——>直接发送
- 优点:数据传输效率高
- 缺点:数据传输可靠性低
qq离线传输文件/在线传输文件都是TCP协议
- 在线传输
- PC传输文件—交换机—检查目标QQ主机是否在局域网汇总
路由器—目标主机
- 离线传输
- PC传输文件—互联网—QQ公司服务器(临时存储服务器)——对端QQ是否登录在线
TCP报文结构
源端口和目标端口都分别占用了16个bit
- 端口个数为:2的16次方=65536。
- 范围为:1~65535。0一般不用
六个控制字段都分别占用1个bit
- seq:tcp报文序号
- syn:请求控制连接控制字段
- fin:请求断开连接字段
- ack:数据信息确认控制字段
- ACK:确认号,seq+1(下次传输的应该是序列号加1的数据)
TCP三次握手过程
- 主机A向主机B发送TCP报文
- 报文中控制字段syn置为1,请求建立连接;
- 发送seq序列号信息(x),第一个数据包的序列号默认为0
- 主机B向主机A发送TCP响应报文
- 报文中控制字段syn置为1
- ack置为1表确认;
- 发送seq序列号信息也为x
- 还会发送ACK确认号(上一个seq序列号x+1)信息(对上一个数据序列号信息进行确认)
- 主机A向主机B发送TCP报文
- 报文中控制字段ack置为1,向主机B发送信息已经接收到了
- 发送seq序列号信息(x+1)
- 发送ACK确认号x+1
TCP四次挥手过程
- 客户端发送fin请求断开连接控制字段
- 服务端发送ack确认控制字段
- 客户端发送fin请求断开连接字段,发送ack确认字段
- 服务端发送ack确认控制字段
特殊情况三次挥手
- 客户端没有收到服务端的ack信息
- 服务端直接收到客户端第二次fin的信息
TCP的十一种状态集
TCP的三次握手
- 最开始两台主机都处于关闭状态 closed
- 服务端将相应服务开启 closed–listen
- 客户端向服务端发出连接请求 closed — syn_sent
- 服务端接收到连接请求,进行确认 listen – syn_rcvd
- 客户端再次进行确认 syn_sent – established
- 服务端接收到确认信息 syn_rcvd – established
- 只有两个都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
DNS:域名解析系统
- 先从本地DNS解析缓存中寻找
- 再从本地hosts文件中寻找(DNS缓存中也有的以hosts文件中的为主)
- 再从LDNS服务器中找
- 再从根域名服务器中找(.)
- 再从二级域名服务器中找(.com)
- 再从授权DNS服务器中找(baidu.com)
- www:主机记录信息
- 一个域名可以有多个记录,不同记录网页界面可以都不一样
ARP解析工作原理:获取主机MAC物理地址
- 发送广播信息获取目标mac地址,不是目标的会记录发送者的mac地址
- 这些都记录在ARP表中
IP地址概念:占用32bit(4个字节)
2的32次方
- 二进制表示:有很多位
- 十进制表示:0~4294967295
于是32位拆分为4个八位,然后再转为十进制
由网段地址和主机地址组成,网络位和主机位
- 路由器:快递员
- 网段地址:哪个省
- 主机地址:具体地址
IP地址的分类
按照地址的范围进行划分
- A类地址:最多有2的24次方个ip地址,有三块是自己可以改的
- B类地址:最多有2的16次方个ip地址,有两块是自己可以改的
- C类地址:最多有2的8次方个ip地址,只有最后一块是自己可以改的
- 但是有三个地址是特殊的 需要-3
- D类地址:组播地址
按照地址用途来划分
- 公网地址:全球唯一
- 私网地址:重复利用地址,避免地址枯竭,私网地址网段不能出现在互联网路由器路由表中
- 解决重复的私有网络地址在与外网进行访问的时候能够做到有去有回(NAT 网络地址转换技术),路由表中记录的不是私有地址
- 将私有网络地址转为路由公网地址(映射关系,去的时候转换,回来的时候也转换)
- 解决重复的私有网络地址在与外网进行访问的时候能够做到有去有回(NAT 网络地址转换技术),路由表中记录的不是私有地址
按照通讯地址划分
单播地址:网卡上配置的地址
广播地址:
- 主机位全为1的地址:192.168.1.11111111 ——>192.168.1.255
网络地址:
- 主机为全为0的地址:192.168.1.0
网络中主机数量=2的n次方-2-1
n:有多少个主机位
-2:一个广播地址、一个网络地址,是不能配置在网卡上的
-1:路由器的网关地址
C类:2的8次方-3
B类:2的16次方-3
A类:2的24次方-3
子网划分概念:将一个大的网络划分成几个小的网络
ip地址池:0.0.0.0~255.255.255.255
- 一个大的网络不做子网划分,会造成地址浪费
- 一个大的网络不做子网划分,会造成广播风暴
- 一个大的网络不做子网划分,会造成路由压力
如何做子网划分
对主机位进行划分
172.16.0.0
172.16. 00000000 00000000
可以拆出来一个当作子网位
网络位 子网位 主机位 网络地址 子网掩码 主机地址范围 广播地址 172.16. 0 0000000 00000000 172.16.0.0 255.255.128.0 172.16.0.1~172.16.127.254 172.16.127.255 172.16. 1 0000000 00000000 172.16.128.0 255.255.128.0 172.16.128.1~172.16.255.254 172.16.255.255
子网掩码:32位二进制数
IP地址网络位对应子网掩码置为1
- A类:255.0.0.0 /8 1.0.0.0~126.255.255.254
- 11111111 00000000 00000000 00000000
- B类:255.255.0.0 /16 128.0.0.1~191.255.255.254
- 11111111 11111111 00000000 00000000
- C类:255.255.255.0 /24 192.0.0.1~223.255.255.254
- 11111111 11111111 11111111 00000000
系统路由设置
centos6
route 和网络相关的命令 使用net-tools
静态默认路由:实现主机访问外网,用于测试新的网关地址
编写网卡配置文件
利用命令临时配置
route add default gw 10.0.0.254 route del default gw 10.0.0.254#查看路由信息 route -n
静态网段路由
route add -net 到达的ip netmask 255.255.255.0 gw 网关iproute del -net 到达的ip netmask 255.255.255.0 gw 网关ip
静态主机路由:只能访问配置了的ip
route add -host 访问的ip dev eth1(从哪出去的网卡)route del -host 访问的ip dev eth1
centos7
ip route 和网络相关的命令 使用ip route #查看路由信息 ip route show
静态默认路由
编写网卡配置文件
利用命令临时配置
ip route add default via 10.0.0.254 ip route del default via 10.0.0.254
静态网段路由
ip route add -net 到达的ip netmask 255.255.255.0 via 网关ipip route del -net 到达的ip netmask 255.255.255.0 via 网关ip
静态主机路由
ip route add -host 访问的ip 本机地址ip route del -host 访问的ip 本机地址
查看ip
curl cip.cc
Linux添加默认路由 route
route add default gw 10.0.0.254
route del default gw 10.0.0.254ip route add 0/0 via 10.0.0.254
ip route del 0/0 via 10.0.0.2540/0:从哪里来的都行
查看路由表
route -n
网卡添加ip地址
for i in {10..200};do ip addr add 10.0.0.$i/24 dev eth0;done
策略路由
#查看策略路由 ip ro list[root@pert ~]# cat /etc/iproute2/rt_tables # # reserved values # 255 local 254 main 253 default 0 unspec # # local # #1 inr.ruhep
添加一个表,给这个表设置一个路由
编辑配置文件
vim /etc/iproute2/rt_tables # # reserved values # 255 local 254 main 253 default 0 unspec 200 test # # local # #1 inr.ruhep200是优先级,比前面小就可以了 test 是添加的表名
命令添加
ip route add 0/0 via 10.0.0.254 table test ip rule add from 10.0.0.1 table test只要从10.0.0.1来的出的时候都走的test表,走的是test表里的网关10.0.0.1是你公司的公网ip
Linux网络知识详解以及demo(Centos6、7)——OSI、TCP、UDP、IP、子网掩码/划分、网关、路由、广播、虚拟网络、网卡、交换机、DNS、ARP相关推荐
- 网络知识详解之:网络攻击与安全防护
网络知识详解之:网络攻击与安全防护 计算机网络相关知识体系详解 网络知识详解之:TCP连接原理详解 网络知识详解之:HTTP协议基础 网络知识详解之:HTTPS通信原理剖析(对称.非对称加密.数字签名 ...
- 趣谈网络协议-第二模块-底层网络知识详解:2最重要的传输层
趣谈网络协议-第二模块-底层网络知识详解:2最重要的传输层 1:第10讲 | UDP协议:因性善而简单,难免碰到"城会玩" TCP 和 UDP 有哪些区别? UDP 包头是什么样的 ...
- linux设置共享权限设置命令,Linux系列知识详解(三)--------- Linux链接命令和权限管理命令...
Linux系列知识详解(三)--------- Linux链接命令和权限管理命令 一:链接命令ln 简介:什么是链接命令?链接命令分为软链接和硬链接.其中软链接产生的新文件是以路径的形式表示原文件,类 ...
- 趣谈网络协议-第二模块-底层网络知识详解:4陌生的数据中心2CDN和数据中心
趣谈网络协议-第二模块-底层网络知识详解:4陌生的数据中心2CDN和数据中心 1:CDN:你去小卖部取过快递么? 使用"中间仓库"来优化 网络中的"就近配送" ...
- 网络知识详解之:HTTPS通信原理剖析(对称、非对称加密、数字签名、数字证书)
网络知识详解之:HTTPS通信原理剖析(对称.非对称加密.数字签名.数字证书) 计算机网络相关知识体系详解 网络知识详解之:TCP连接原理详解 网络知识详解之:HTTP协议基础 网络知识详解之:HTT ...
- Linux从入门到放弃 运维网络知识详解
网络通讯基础 网络传输原理 网络:实现主机与主机之间通讯 直线通讯必须拥有传输介质 网线.光纤等 实现通讯必须拥有网卡设备 将二进制信息 转换 电信号信息 将电信号信息 转换 二进制信息 实现通讯必须 ...
- WebRTC学习进阶之路 --- 五、WebRTC网络知识详解(三)(最全流媒体协议(RTP/RTCP/RTSP/RTMP/MMS/HLS/HTTP/ HTTP-FLV(HDL)/SDP)
WebRTC学习进阶之路系列总目录:https://blog.csdn.net/xiaomucgwlmx/article/details/103204274 RTP:实时传输协议(Real-time ...
- 底层网络知识详解:从二层到三层-第9讲-路由协议:西出网关无故人,敢问路在何方
俗话说得好,在家千日好,出门一日难.网络包一旦出了网关,就像玄奘西行一样踏上了江湖漂泊的路. 上一节我们描述的是一个相对简单的情形.出了网关之后,只有一条路可以走.但是,网络世界复杂得多,一旦出了网关 ...
- Linux基础知识详解
一.什么是Linux(利尼克斯)系统? Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核.Linux可安装在各种计算机硬件设备中,比如手机.平板电 ...
最新文章
- 生日QQ配对【找到你生日QQ了吗?】
- VTK:可视化算法之Cutter
- Qt Creator使用Bazaar集市
- React和Vue的Chrome扩展工具安装
- 英雄联盟S11总决赛EDG夺冠,网友:立下的flag可以兑现了
- 2017安防市场新趋势:硬件免费 服务收费
- 单分支 两路分支和多分支的if结构_程序选择结构
- openwrt 需要高级浏览器_树莓派 + OpenWrt 实现 BT 下载机
- Elasticsearch.service failed after enable elasticsearch security features
- Python实现将mp3音频格式转换为wav格式
- 推荐测温软件SpeedFan 4.32
- 前后端分离实现在线音乐网站-springboot+vue
- 了解 Tornado 框架
- 井字棋游戏案例C++语言
- safe mode bypass and rooting
- 渗透测试-11种绕过CDN查找真实IP的方法
- pytorch torchvision.ops.roi_align 示例
- 我的世界服务器修改视野,我的世界默认视野是多少度
- Facebook第三方登录切换账号的问题
- 虚拟化技术基础知识全面了解
热门文章
- linux切换用户时报错 bash: /home/book/.bashrc: 权限不够 bash-4.2$
- 19.Oracle数据库SQL开发之 笛卡尔积
- 04 Response对象的status_code属性可以获取响应状态码
- 【日拱一卒行而不辍20221010】自制操作系统
- windows下安装mingw-w64
- 系统自带测试软件,Windows7自带软件测试RAID系统
- Unity载入骨骼动画详解
- 什么是 里氏代换原则?
- 《深入理解计算机系统》读书笔记
- 浅谈快件清关与邮关的区别