Linux_07 网络
一、网络基本知识
OSI七层网络模型与TCP/IP四层网络模型的关系
OSI七层网络模型 TCP/IP四层概念模型 对应网络协议 应用层 应用层 HTTP、TFTP、FTP、NFS、WAIS、SMTP 表示层 应用层 Telnet、Rlogin、SNMP、Gopher 会话层 应用层 SMTP、DNS 传输层 传输层 TCP、UDP 网络层 网络层 IP、ICMP、ARP、RARP、AKP、UUCP 数据链路层 数据链路层 FDDI、Ethernet、Arpanet、PDN、SLIP、PPP 物理层 数据链路层 IEEE 802.1A、IEEE 802.2到IEEE 802.11 - OSI七层网络模型与TCP/IP四层网络模型的关系
- OSI引入了服务 、 接口、 协议 、 分层的概念 , TCP/IP借鉴了OSI的这些概念建立了TCP/IP模型
- OSI先有模型 , 后有协议 ;先有标准 , 后进行实践 ; 而TCP/IP则相反 , 先有协议和应用后提出了模型 , 且参照的OSI模型 。
- OSI是一种理论下模型 , 而TCP/IP已被广泛使用 , 称为互联网事实上的标准。
- TCP: transmission control protocol 传输控制协议
- UDP: user data protocol 用户数据包协议
- 常用设备: 交换机
- 思考: Mac地址全球唯一 , 那为什么不适用Mac地址连入互联网 , 而是使用IP地址呢?
- 因为如果使用Mac地址 , 每次检索时工作量巨大 , 效率很低 。 而IP地址可以将用户逐一=分类细化 , 最终精确到一个地址上 , 极大地减少了检索的时间 。
- 目前的家用路由器 , 已将交换机和路由器合为一体
网络连接:
- IP地址分析:
- IP地址由32为二进制组成
- IP地址 = 网络位 + 主机位 (前24位为网络位 , 后8位为主机位)
- 相同的网络 , 网络位一定相同, 主机位不一样
- 不同的网络, 网络位肯定不同 , 主机位可能一样 。
- 交换机用来连接相同的网络(局域网) , 路由器用来连接不同的网络 。
子网掩码:
- 子网掩码(subnet mask)又叫网络掩码 、 地址掩码 、 子网络遮罩 , 它是一种用来指明一个IP地址的哪些位表示的主机所在的子网 , 以及哪些位标识的是主机的位掩码 , 子网掩码不能单独存在 , 他必须结合IP地址一起使用 。 子网掩码只有一个作用 , 就是将某个IP地址划分成网络地址和主机地址两部分 。
- 子网掩码是一个32为地址 , 用于屏蔽IP地址的一部分以区别网络标识和主机标识 , 并说明该IP地址是在局域网上 , 还是在远程网上 。
子网掩码在二进制的前提下 , 将网络位全置1 , 主机位全置0 , 作用是判断一个IP地址属于那个网络 。 用法是将IP地址与子网掩码惊醒按位与运算 。
IP地址与子网掩码按位与运算 IP : 192.168.1.10 子网掩码: 255.255.255.0 运算演示: 11000000 10101000 00000001 00001010 11111111 11111111 11111111 00000000 ------------------------------------ 11000000 10101000 00000001 00000000 = 192.168.1.0
- 网关(Gateway)又称网间连接器 、 协议转换器
- 网关: 不同网络之间的关卡
- 如今很多局域网都是采用路由器来接入网络 , 因此通常指的网关就是路由器的IP 。
- DNS(Domain Name System)域名系统
- 因特网上作为IP地址和域名相互映射的一个分布式数据库 , 能够使用户更方便的访问网络 , 而不用去记住直接被机器读取的IP数据串 。 通过主机名 , 最终得到该主机名对应的IP地址的过程叫做域名解析(或叫主机名解析) 。
- DNS协议运行在UDP协议之上, 使用的默认端口号为53 。
- 主机名到IP地址的映射有两种方式:
- 静态映射:每台设备上都配置主机到IP的映射 , 各设备独立维护自己的映射表 , 而且只供本设备使用 。
- 动态映射:建立一套 域名解析系统(DNS) , 只在专门 的DNS服务器上配置主机到IP地址的映射 , 网络上需要使用主机名通信的设备 , 首先需要到DNS服务器查询主机所对应的IP地址 。 (类似于 通讯录)
ifconfig命令 : 显示或设置网络设备
类似windows下的ipconfig
[outman02@bogon ~]$ ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:80:55:14 inet addr:192.168.43.178 Bcast:192.168.43.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe80:5514/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:13 errors:0 dropped:0 overruns:0 frame:0 TX packets:17 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2251 (2.1 KiB) TX bytes:1819 (1.7 KiB)
- eth(Ethernet的 缩写) 新装的虚拟机为eth0
- 为什么原来的eth0会变成eth1?
- 解答: 很多Linux中distribution使用udev动态管理设备文件 , 并根据设备的信息对其进行持久化命名 。
- udev会在系统引导的过程中识别网卡 , 将mac地址和网卡名称对应起来记录在udev的规则脚本中 。 而对于新的虚拟机 , 会自动为虚拟机的网卡生成MAC地址 , 当你克隆或者重装虚拟机软件时 , 由于你使用的是旧的虚拟机硬盘信息 , 并且该信息中已经有eth0的信息了 , 所以对于新的网卡 , udev会将其自动命名为eth1(依次顺延) 。
- 如何将eth1改回eth0?
- 解答: udev记录网络规则的脚本文件为: /etc/udev/rules.d/70-persistent-net.rules . 打开该文件之后会发现 , 里面有eth0和eth1两个网卡信息 , 但实际上通过ifconfig查询时只有eth1一个网卡信息 , 这是因为eth0这个网卡信息根本就不存在 。 只要将 其中 eth0删除, 并且将eth1名字改为eth0之后 , 重启系统 。 或是直接删掉该文件中所有的信息 , 重启系统之后udev会自动发现新设备并生成网卡信息 。
虚拟机连接的几种方式:
- NAT即为网络地址转换 , 通常他的名称为VMnet8 , 通过nat的连接方式可以使得虚拟机和真实机的网卡在不同的网段中 , 从而实现联网
- bridge即为桥接 , 通常他的名称为VMnet0 , 使用桥接的方式使得自己的虚拟机和自己的真是网卡在同一个网段 , 从而实现联网
- host-only即为仅主机 , 通常 他的名称为VMnet1 , 使用 host-only的方式是不能和外界通信的 , 只能够和本机的物联网卡 通信 。
修改网络 连接方式之后 , 要重启网络服务
[root@localhost ~]# service network restart
- IP地址分析:
网络操作:
通过主机名查看IP
[root@localhost ~]# host www.baidu.com
远程管理
将本地的目录或文件拷贝到服务器目录下
[root@localhost ~]#scp -r 需要拷贝的文件或目录 root@目标服务器的IP:目标目录
从本机远程登录服务器
[root@localhost ~]#ssh 用户名@服务器IP
SSH远程免密操作
- SSH是最常用的Linux远程登录工具之一 。
- 免密码设置(在集群管理等场景会经常用到)
- RSA
- 非对称加密算法 , 秘钥分为公钥和私钥对
- 公钥加密的内容 , 只有拥有私钥者才能解密
- 客户端与服务器连接过程:
- 客户端发出请求: 建立连接请求并发送公钥
- 服务端验证本地公钥及发来的公钥 , 如果相等则生成一段公钥加密的challenge , 并回送 。
- 客户端私钥解密 , 将challenge回送。
- 服务端验证两端challenge , 相同则建立连接 。
免密操作
在客户端生成公钥\私钥对
[root@localhost ~]#ssh -keygen
将公钥私钥对拷贝至服务器端
[root@localhost ~]#ssh-copy-id -i ~/ssh/id_rsa.pub <username>@<server>
- SSH是最常用的Linux远程登录工具之一 。
网络下载
wget命令
- 用于网络上下载资源 , 没有指定目录 , 下载资源默认存储到当前目录
- wget 【参数】 【URL地址】
- 支持断点下载功能
- 同时支持FTP和HTTP下载方式
- 支持代理服务器
使用wget下载单个文件
wget http://www.baidu.com
使用wget -O下载并以不同的文件名保存
wget -O newname.new http://www.baidu.com
使用wget –limit-rate 限速下载(单位 , byte/秒)
wget --limit-rate=300k http://....
使用wget -c 断点续传
wget -c http://www.baidu.com
使用wget -b 后台下载
wget -b http://www.baidu.com
使用wget -i 下载多个文件
wget -i urlfile.txt urlfile.txt中内容为 http://www.baidu.com http://www.souhu.com