第一篇:计算机网络基础:
一、计算机网络:
1.TCP/IP:协议栈(使用中的模型)
ISO(国际标准化组织):OSI(开放系统互联基本参考模型),学习中的模型。
1)各层之间的相关协议和单位:
互联网层:IP协议
传输层:TCP,UDP 协议
应用层:http,https,ftp,ldap...
单位:
数据线路层:以太网帧(MTU最大传输单元1500字节)
互联网层:IP报文
2.通信子网与资源子网
1)从计算机网络各组成部分的功能来看,各部分主要完成两种功能:即网络通信和资源共享
2)通信子网:把计算机网络中实现网络通信功能的设备及软件的集合称为网络的通信子网;
组成有:中继器,集线器,交换机,通讯线缆,路由器等各种网关硬件设备;
3)资源子网:把网络中实现资源共享功能的设备及软件的集合称为资源子网。
组成有:用户计算机(工作站),网络存储设备,网络终端,服务器等。
3.以太网(Ethernet)和令牌环网(Token-ring network)
1)以太网指的是基带局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术,并以10M/S的速率运行在多种类型的电缆上。
2)令牌环网,常用于IBM系统中,有一种专门的帧称为“令牌”,在环路上持续地传输来确定一个结点何时可以发送包。
4.MAC地址:
MAC(Media Access Control)地址,意译为媒体访问控制,或称为物理地址、硬件地址,用来定义网络设备的位置。在OSI模型中,第三层网络层负责 IP地址,第二层数据链路层则负责 MAC地址。因此一个主机会有一个MAC地址,而每个网络位置会有一个专属于它的IP地址。(MAC地址是用来实现本地通信的,如果要跨网络通信,就要使用IP地址)
MAC地址是网卡决定的,是固定的。
二、网络设备:
1.Hub集线器:
Hub:多端口中继器
Hub并不记忆该信息包是由哪个MAC地址发出,哪个MAC地址在Hub的哪个端口
Hub的特点: 共享带宽,半双工通信
2.网桥(bridge):MAC地址表
静态指定:
动态学习:根据原地址学习 交换式以太网的优势:
扩展了网络带宽
分割了网络冲突域,使网络冲突被限制在最小的范围内
交换机作为更加智能的交换设备,能够提供更多用户所要求的功能:优先级、虚拟网、远程检测……
工作原理:
1)以太网桥监听数据帧中源MAC地址,学习MAC,建立MAC表
2)对于未知MAC地址,网桥将转发到除接收该帧的端口之外的所有端口;
3)当网桥接到一个数据帧时,如果该帧的目的位于接收端口所在网段上,它就过滤掉该数据帧;如果目的MAC地址在位于另外一个端口,网桥就将该帧转发到该端口;
4)当网桥接到广播帧时候,它立即转发到除接收端口之外的所有其他端口
3.交换机(switch):多端口的网桥
交换机工作于OSI参考模型的第二层,即数据链路层。交换机内部的CPU会在每个端口成功连接时,通过将MAC地址和端口对应,形成一张MAC表。在今后的通讯中,发往该MAC地址的数据包将仅送往其对应的端口,而不是所有的端口。因此,交换机可用于划分数据链路层广播,即冲突域;但它不能划分网络层广播,即广播域。
4.Hub和交换机比较:
1)集线器属于OSI的第一层物理层设备,而网桥属于OSI的第二层数据链路层设备;
2)从工作方式来看,集线器是一种广播模式,所有端口在一个冲突域里面。网桥的可以通过端口隔离冲突;
3)Hub是所有共享总线和共享带宽。网桥每个端口占一个带宽。
5.路由器:
1.路由表:
静态指定,动态学习(rip2,ospf)
2.为了实现路由,路由器需要做下列事情:
分隔广播域;
选择路由表中到达目标最好的路径;
维护和检查路由信息;
链接广域网;
3.路由:
把一个数据包从一个设备发送到不同网络里的另一个设备上去。这些工作依靠路由器来完成。路由器只关心网络的状态和决定网络中的最佳路径。路由的实现依靠路由器中的路由表来完成。
4.路由条目:
目标地址 经由 下一跳(nexthop)来实现;
目标地址的类别:主机路由
网络路由
默认路由(0.0.0.0/0.0.0.0)
6.VLAN:
功能:分隔广播域、安全、灵活管理
VLAN = 广播域= 逻辑网络(Subnet)
三、IP地址
在网络中,为了实现不同计算机之间的通信,每台计算机都必须有一个唯一的地址。就像日常生活中的家庭住址一样,我们可以通过一个人的家庭住址找到他的家。当然,在网络中要找到一台计算机,进而和它通信,也需要借助一个地址,这个地址就是IP地址,IP地址是唯一标识一台主机的地址。
一、定义和功能
它们可唯一标识IP 网络中的每台设备;
每台主机(计算机、网络设备、外围设备)必须具有唯一的地址。
1.IP地址由两部分组成:
1)网络ID:
标识网络
每个网段分配一个网络ID
2)主机ID:
标识单个主机
由组织分配给各设备
2.分类:
IPv4:32位,可以表示2^32个地址;
IPv6:128位,可以表示2^128个地址。
子网掩码(subnet mask)
1.用于与IP地址按位进行“与”运算,从而取出其网络地址。
与运算:1与任何数相与都的任何数,0与任何数相与都得0
举例:
1.3.2.1/255.0.0.0=1.0.0.0(网络号)
1.3.2.1/255.255.0.0=1.3.0.0(网络号)
2.划分子网和超网
3.子网掩码可以写成全格式的,也可以写成用1的个数表示的方式。
如:A类IP的子网掩码:255.0.0.0=/8
B类IP的子网掩码:255.255.0.0=/16 C类IP的子网掩码:255.255.255.0=/24 IPv4地址
1.地址格式
1)IP地址是一个32位二进制数,用于标识网络中的一台计算机。IP地址通常以两种方式表示:二进制数和十进制数。
2)二进制数表示:在计算机内部,IP地址用32位二进制数表示,每8位为一段,共4段 3)十进制数:为了方便使用,通常将每段转换为十进制数。
2.IP地址规定: 网络号不能以127开头,第一字节不能全为 0 ,也不能全为l。 主机号不能全为0,也不能全为l。 3、IP地址的分类 由于IP地址是有限资源,为了更好的管理和使用IP地址,INTERNIC根据网络规模的大小将IP地址分为5类(ABCDE)如图:
A类:
范 围: 1.0.0.0~126.0.0.0
网络数:2^7-2=126(去掉全0和全1的两个地址)
每个网络中的主机数:2^24-2
默认子网掩码:255.0.0.0/8
私网地址:10.0.0.0
B类:
范 围:128.0.0.0~191.255.0.0
网络数:2^14
每个网络中的主机数:2^16-2
默认子网掩码:255.255.0.0/16
私网地址:172.16.0.0-172.31.0.0
C类:
范 围:192.0.0.0~223.255.255.0
网络数:2^21
每个网络中的主机数:2^8-2
默认子网掩码:255.255.255.0/24
私网地址:192.168.0.0-192.168.255.0
D类:组播
1110 0000 -1110 1111: 224-239
E类:
240-255
进程地址:
IP:PORT,socket 总结:
1.三种通信的地址:
MAC地址:本地通信(任何互联网通信都要转化成本地通信才能够实现)范围:本地局域网() IP:界定通信主机,源主机和目标主机;范围:全球互联网 Port(端口):界定通信进程;范围:本地主机 2.通信实质
互联网通信其实实现的是多段接力的本地通信,IP地址只是标识网络地址,即源主机是谁,目标主机是谁,帮你选出一条路来;
真正通信的是,某一主机上的某一个端口和另外一个主机上的某一个端口进行通信,最终要转换成多MAC地址,或本地事物的交互。在通信子网中完成。
三、通信方式
1.跨网络之间主机的通信:
TCP/IP协议,路由(精度越高,优先级越高),还需要网关;
2.本地主机之间的网络通信:
ARP(地址解析)协议是通过广播实现的
四、将Linux主机接入到网络中,需要配置网络相关设置:
1.一般包括如下内容:
IP/NETMASK:本地通信;
路由(网关):跨网络通信;
DNS服务器地址:基于主机名的通信
DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。
包括三类:
主DNS服务器地址
备用DNS服务器地址
第三备用DNS服务器地址
2.配置方式:
1)静态指定:一般服务器的地址是静态指定
命令:(送往内核立即生效,但不会永久有效)
ifcfg家族:
ifconfig:配置IP,NETMASK
route:路由
netstat:状态及统计数据查看
iproute2家族:
ip OBJECT
addr:地址和掩码;
link:接口;
route:路由
ss:状态及统计数据查看
CentOS 7:nm家族
nmcli:命令行工具
nmtul:text window 工具
注意:
(1)DNS服务器指定
配置文件:/etc/resolv.conf
(2)本地主机名配置
hostname(临时生效,永久生效要写入配置文件中)
配置文件:/etc/sysconfig/network
CentOS 7:hostnamectl
配置文件:(会永久有效,但不会立即生效,需要强制通知内核重读文件)
RedHat及相关发行版
/etc/sysconfig/network-scripts/ifcfg-NETCARO_NAME(网卡名)
2)动态分配 :依赖于本地网络中有DHCP服务
DHCP(动态主机配置协议)
3.网络接口命名方式:
1)传统命名:
以太网:ethx[0,...),例如:eth0,eth1...
PPP网络:pppX,[0,...]例如:ppp0,ppp1...
2)可预测命名方案(CentOS):
支持多种不同的命名机制:Fimrware,拓扑结构
如果Firmware或者BIOS为主板上集成的设备提供的索引信息可用,则根据此索引进行命名,如:eth1,eth3...
如果Firmware或者BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,如ens1,ens2...
如果硬件接口的物理位置信息可用,则根据此信息命名,如enp2s0...
如果用户显示定义,也可根据MAC地址命名,例如:enx122161ab2e10...
上述均不可用,则使用传统方式命名
3)命名格式的组成:
en:entherent
wl:wlan
ww:wwan
4)名称类型:
o<index>:集成设备的设备索引号;
s<slot>:扩展槽的索引;
x<MAC>:基于MAC地址的命名;
p<bus>s<slot>:基于总线及槽的拓扑结构进行命名;
第二篇:Linux网络属性配置
一、ifcfg命令家族:ifconfig,route,netstat
1)ifconfig命令 查看及配置网卡的相关参数
ifconfig [INTERFACE] 默认显示激活状态的接口;
# ifconfig -a:显示所有接口,包括inactive状态的接口;
ifconfig interface [aftype] options | address ...完成配置;
# ifconfig IFACE IP/mask [up]
# ifconfig IFACE IP netmask MASK
注意:立即送往内核中的TCP/IP协议栈,并生效
示例:
也可以使用 # ifconfig eth1 192.168.10.100 netmask 255.255.255.0
options:
[-]promisc 启用或禁用混杂模式
管理IPv6地址:
add addr/prefixlen;
del aaddr/prefixlen
route 命令:路由查看及管理
1.路由条目类型:
主机路由(host): 目标地址为单个IP;
网络路由(net):目标地址为IP网络;
默认路由:目标位任意主机,0.0.0.0/0.0.0.0
2.查看:
# route -n (以数字格式显示,不要反解地址和端口号)
3.添加:route add
route add [-net|-host] target [netmask Nm] [gwGw] [[dev] If]
示例:
目标:192.168.1.3 网关:172.16.0.1
# route add -host 192.168.1.3 gw172.16.0.1 [dev eth0]
目标:192.168.0.0 网关:172.16.0.1
# route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
# route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
默认路由,网关:172.16.0.1
# route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
# route add default gw 172.16.0.1
删除:route del
route del [-net|-host] target [gwGw] [netmask Nm] [[dev] If]
示例:
目标:192.168.1.3 网关:172.16.0.1
# route del -host 192.168.1.3
目标:192.168.0.0 网关:172.16.0.1
# route del -net 192.168.0.0 netmask 255.255.255.0
删除默认网关
# route del default
netstat 命令:显示接口的统计数据
1.显示路由表:
netstat{--route|-r} [--numeric|-n]
-r: 显示内核路由表
-n: 数字格式
2.显示网络连接:
传输层协议:
tcp:面向连接的协议;通信开始之前,要建立一个虚链路;通信完成后, 拆除链接。
udp:无连接的协议;直接发行数据报文;
netstat[--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p]
-t: tcp协议相关链接,链接均有其状态;FSM
-u: udp协议相关
-w: raw socket相关
-l: 处于监听状态
-a: 所有状态
-n: 以数字显示IP和端口;
-e:扩展格式
-p: 显示相关进程及PID
常用选项:
-tan,-uan,-tnl,-unl,-tunlp
3.显示接口统计数据:
netstat{--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n]
# netstat -i 显示所有接口;
# netstat–I<IFACE> 显示指定接口,注意-I和接口名没有空格;
# ifconfig -s eno16777736
ifup/ifdown 命令
注意:通过配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE 来识别接口并完成配置;
配置主机名:
1.CentOS 6:hostname 命令:
查看:hostname
配置:hostname HOSTNAME
当前系统有效,重启后无效
2.CentOS 7:hostnamectl 命令
hostnamectl status :显示当前主机名信息;
hostnamectl set-hostname NAME:设定主机名,永久有效;
3.设置配置文件
1)CentOS 6 :/etc/sysconfig/network
HOSTNAME=<NAME>
注意:此方法的设定,不会立即生效,但以后会一直有效;
2)CentOS 7:直接使用 hostnamectl 设置即可,直接生效。
配置DNS服务器指向:
1.配置文件:/etc/resolv.conf
nameserver DNS_SERVER_IP(必须是IP地址);
注意:Linux最多只能设置3台主机被当做DNS地址解析;
2./etc/hosts
主机完成主机名解析会首先查找本地的/etc/hosts 文件,找不到才去DNS查找
3.如何做测试(host/nslookup/dig):
# dig -t A FQDN(主机名)
FQDN-->IP
# dig -x IP
IP-->FQDN
二、iproute2 家族
1.ip 命令
功能:ip-show / manipulate routing, devices, policy routing and tunnels
语法:ip[ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { link | addr| route }
注意:OBJECT 可简写,各object的子命令也可简写
2.IP OBJECT
1)ip link :network device configuration(网络设备的配置)
ip link set :change device attrlbutes(修改设备属性)
ip link show :display device attrlbutes(显示设备输属性)
查看的是二层设备的相关属性
|