网络基础
设备是如何上网的?
- 网卡(有线、无线:内置天线):网线接口RJ45 usb转RJ45
- 交换机
- 路由器(外置天线,天线棒)
- 光猫
- 宽带运营商(不同的宽带运营商之间是互通的)
路由器发出的wifi信号:
- 2.4GHz wifi
- 5.0GHz wifi
- 多频合一:终端链接wifi时,路由器会根据网络情况自动为终端选择最佳上网频段;
- 如果手机只支持2.4GHz的信号,那么就只能接收到该信号;
一般的路由器:1个接外网,剩下的4个接内网;可以通过交换机扩展更多的内网接口;可以用交换机来扩展交换机(交换机的层数不宜过多);主力交换机通常被用于扩展;
光猫:
- 路由器外网 一般连在 光猫的wlan接口;
- 而光猫一般由宽带运行商,如联通提供的”联通设备箱“使用光纤接入;
- 而”联通设备箱“与”联通机房“是通过光缆连接的;
以前没有光线入户的时候一般是通过电话线上网,代替光猫的是”猫“,即调制解调器;用以将电话的模拟信号转换为数字型号;”猫“的另一头就可以直接接网线,与之相连的可以是各种终端,电脑、路由器等;电话线的宽带是6M;现在都是千兆网(与之匹配使用千兆光猫);
现在的光猫,也具有路由器的功能;(注意光猫的内网口,有的是千兆口,有的是百兆口,甚至还有电话线的接口ITV,别连错了,少搞几个千兆口主要是为了省钱)
wifi:
- wifi5 802.11ac:最高可达866Mbps 带宽2.4GHz和5.0GHz
- wifi6 802.11ax:最高可达9.6Gbps 带宽2.4GHz和5.0GHz
OSI七层模型
网线(双绞线)标准:568b
- 橙白 橙 绿白 蓝 蓝白 绿 棕白 棕:四根上传、四根下载
- 两头顺序一致
- 也有只支持四根线的网口,上限是百兆;千兆的话需要8根线;
通信介质:网线、光线、电磁波
信号在各种终端、各种媒介之间传播,且需保证目标传输正确,内容传输安全,就需要遵循一定的网络传输标准,目前较为通用的标准是OSI七层模型
;按照这个模型实现的协议,就对应了各种通信协议;
协议:协商一致,共有协议、私有协议;
OSI七层模型
层 |
描述 |
物理层 |
信号转换的问题 数字信号 电信号 光线 电磁波 |
数据链路层 |
mac地址 唯一 物理地址 以太网 |
网络层 |
ip地址 公网ip唯一 定位 |
传输层 |
端口 tcp/udp |
会话层 |
会话 |
表示层 |
文件的类型 |
应用层 |
http ftp smtp |
mac地址:
- 每一块网卡都有一个唯一的地址,及MAC地址,可以通过该地址查询到相应的厂商,厂商申请一个入网许可证的过程就是一个分配mac地址的过程;
- 校验mac地址可以知道信号接收方是否正确,用于识别身份(前三个是厂商编号,后三个是设备编号);
ip地址:
- 公网IP:全世界唯一,由IANA(互联网数字分配机构)分配
- 内网IP:统一内网唯一;
- ip地址用于定位信号接收方;
百度搜索ip即可查到当前公网ip;
单个数据包1500个字节,那么对于大的文件在网络传输过程中,就要进行拆包;接收方收到的包还需要进行合并;
tcp/udp:
- tcp:可靠传输,对每一个数据包,都会进行确认;
- udp:不可靠传输,速度快(兼顾实时性);
端口:
- 区分主机上的服务,每个服务启动的时候都会监听一个端口;
- http 80端口/ ssh 22端口;
- tcp和udp协议都需要指定端口;
会话层:探测网络连通性
表示层:描述文件类型(只改了后缀,不一定能再打开文件)
应用层:具体的应用软件
后三层有时也会合并为1个;简化后的四层模型:网际层、网络层、传输层、应用层;
tcp/ip协议:
数据的封装与解封装
使用抓包工具wireshack,可以对当前指定的网卡(包括虚拟网卡)进行抓包;
过滤:ip.addr == 192.168.11.153
传输数据:
- 应用层:数据
- 传输层:拆包,tcp报头(源端口和目标端口) + 数据1
- 网络层:ip包(源ip和目标ip) + tcp报头 + 数据1
- 数据链路层:数据帧(源mac地址和目标mac地址) + ip包 + tcp报头 + 数据1
- 物理层:将完整的数据包1,由二进制转换为电信号
接收数据:
- 传输过程的逆过程;
- 每个过程都会进行 相应地址信息的校验;
- 传输层要进行已完成传输包的合并;
ip地址的划分
ipv4地址的范围:
-
0.0.0.0 ~ 255.255.255.255
-
32位二进制
-
43亿个ip,不够用,因此有了nat(网络地址转换),路由器就有这个功能,用以完成内外网地址转换;
-
a类ip地址:1.0.0.1~126.255.255.254(最多,多用于公网ip)
-
b类:128.0.0.1~191.255.255.254
-
c类:192.0.0.1~233.255.255.254
-
d类:组播,VRRP协议
-
e类:科研240~255
内网ip地址网段:
- 10.0.0.0~10.255.255.255(a类的内网ip)
- 172.16.0.0~172.31.255.255(b类的内网ip)
- 192.168.0.0~192.168.255.255(家用路由器使用的内网网段)(c类的内网ip)
ipv6:
- 128位二进制
0000::0000::0000::0000~ffff::ffff::ffff::ffff
子网掩码
举例:255.255.255.0 === 192.168.19.11/24(等价于斜杠的写法,24位网格位,8位主机位)
- 子网掩码决定了一个网段的大小(确定网段的起始),即该网段有多少个ip地址可以用;
- 网络位相同,即表示同一网段(确认网段范围);
- 同一个网段的ip地址,才能直接相互通信;不同网段的ip地址,需要路由器才能相互通信;
- ip的全0和全1主机位是被保留的,全0一般作为网络号使用,全1则作为广播地址;
路由器:
- 路由器软件(iKuai) + 普通PC
- 普通路由器
- 企业级路由器
路由器至少两块网卡:
- 初始化一个软路由所需的系统;然后配置网卡;
- 一块对应外网:nat模式(用于共享主机的IP地址)
- 一块内网:仅主机模式(与主机共享的专用网络)
其他模式:
主机:
路由器内网地址lan1可设置:192.168.42.254/255.255.255.0
(网段与路由器所在主机同设置);
然后在主机的网页打开192.168.42.254
,进行路由器的配置;
如果路由器的配置中没有配置dhcp(动态获取ip地址),那么对于通过链接路由器进行上网的主机来说,就需要手动配置IP;
- 主机网卡适配器,使用ipv4;
- IP:
192.168.42.100
,填充C段IP默认的24位子网掩码;
- 网关:则指向路由器的内网地址
192.168.42.254
;
- DNS:
223.5.5.5
dns解析
计算机和计算机之间通信,就是用ip地址和端口;
服务端的程序:ip+端口 一般是固定的;
domain name system 域名系统,解析:将域名解析成ip地址,常用unix命令:(使用yum安装命令包:yum install bind-utils
)
- dig,解析命令,
dig www.baidu.com
、dig @192.168.3.1 www.baidu.com
这里指定内网进行解析实际用的并不是192.168.3.1,而是路由器的DNS服务;
- nslookup,所使用的dns服务查询,
nslookup www.baidu.com
、nslookup www.baidu.com 223.5.5.5
- host,
host www.baidu.com
、host www.baidu.com 223.5.5.5
$ host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 110.242.68.3
www.a.shifen.com has address 110.242.68.4
查看系统dns配置:cat /etc/resolv.conf
=> nameserver 192.168.3.1
dns服务器:查询指定域名对应的ip地址;
常用国内DNS服务器IP:
- 223.5.5.5 223.6.6.6
- 119.29.29.29
- 180.76.76.76
- 8.8.8.8(google)
223.5.5.5 本地有缓存即使用缓存,没有的话就向根dns服务器进行查询(一系列的查询过程);
dns记录的类型
- A:ipv4,给定子域名名称test,以及对应的IP地址,就会被解析为test.xx.com;
- CNAME:给定子域名,以及对应的别名子域名,就会被解析为相应的别名子域名;
- MX:发邮件的时候,需要使用邮箱服务
- NS:主域名授权给下级DNS服务器进行解析;
- AAAA:ipv6;
arp协议:
- 工作在 数据链路层和网络层之间的协议,用于把ip地址解析为mac地址;
- arp广播,接收方(所有)ip校验后会进行响应;
- arp欺骗:主机响应不是发给自己的广播内容,然后由自己再行发送;(arp防火墙,固定网关)
- 局域网太大容易造成广播风暴;(通过路由器自带网口进行网段划分,广播只能在网段内传播,降低广播风暴)
tcp三次握手:
企业级宽带对上传带宽的支持更好,民用宽带则下载带宽要高些;
四次挥手:
文字编码
- bit:比特,0 1
- Byte:字节,8bit
1000Mbps / 8 => 125MB
一个英文字母1个字节,不同编码方式所占字节数不同;
端口映射: