前言:对于计算机网络部分,咱们主要学习的是TCP/IP协议栈。而TCP/IP协议栈并没有法将各类的协议进行一个合理的区分,所以,在大学本科教育中咱们一般讲解的是IOS七层网络模型。
协议:简单的理解就是通讯双方相互交流的一种约定,也就是说只有通讯双方知足这样的约定才可以相互通讯。然而,咱们也说过,各类协议必需要被软件实现,才可以被咱们所使用。
那么,对于咱们的http协议而言,实现http协议的客户端程序有curl,浏览器等工具,服务端有Apache、Nginx等这样的静态服务器软件

(二)什么是Mac地址、什么是网桥、什么是交换机
html
前言:MAC地址,用来表示互联网上每个站点的标识符,采用十六进制数表示,共六个字节(48位),使用ifconfig命令能够查看: ether 08:00:27:c1:cd:2b
。其中,前三个字节是由IEEE的注册管理机构RA负责给不一样厂家分配的代码(高位24位),也称为“编制上惟一的标识符”(Organizationally Unique Identifier),后三个字节(低位24位)由各厂家自行指派给生产的适配器接口,称为扩展标识符(惟一性)。
网桥:网桥(Bridge)是早期的两端口二层网络设备,用来链接不一样网段。使得同一个网段内的通讯不会冲突,而不一样网段内的通讯能够顺利进行。
交换机:多功能交换机,在局域网内,交换机和网桥的功能几乎同样。
路由器:路由器(Router)又称网关设备(Gateway)是用于链接多个逻辑上分开的网络。当数据从一个网段传输到另外一个网段时,可经过路由器的路由功能来完成。
(1)交换机经过Mac地址表使得网段内的全部的主机能够相互通讯
(2)路由器经过路由表使得不一样网段之间的主机能够相互通讯
node

IP = 网络号+主机号
一个字节(byte)是
8位(bit),IP由32位组成,一共是4个字节
例如:IP:
172.16.19.245 netmask 255.255.255.0 broadcast 172.16.19.255
网络号:
172.16.19.0
主机号:
172.16.19.245
那么IP一共有:
0.0.0.0 ---- 255.255.255.255
256 x 256 x 256 x 256 = 4294967296
A 类地址
第一段为网络号,后三段为主机号
0000000-01111111
1-127
其中:
127用为本地lo还回地址
那么A类地址的网络地址有:
127
那么A类地址的主机地址有:
2^24 - 网络地址 - 广播地址 = 2^24 - 2
netmask:
255.0.0.0(用户标示网络地址)
broadcast
255.255.255.255
私有地址:
10.0.0.0网段为私有地址网络
B 类地址
前两段为网路号,后两段为主机号
1000000.00000000-10111111.11111111
128-191
那么B类地址的网络地址有:
2^14(前两个位不变,只是后14位变化)
那么B类地址的主机地址有:
2^16 - 网络地址 - 广播地址 = 2^16 - 2
netmask:
255.255.0.0(用户标示网络地址)
私有地址:
172.0.0.0-172.31.0.0 网段为私有地址网络
C 类地址
前三段为网路号,后一段为主机号
11000000.00000000.00000000-11011111.11111111.11111111
192-223
那么C类地址的网络地址有:
2^21(前三位不变,只是后21位变化)
那么C类地址的主机地址有:
2^8 - 网络地址 - 广播地址 = 2^8 - 2
netmask:
255.255.255.0(用户标示网络地址)
私有地址:
192.168.0.0~192.168.255.0 网段为私有地址网络
D 类地址:
组播地址
E 类地址:
大学等科研机构做为科学研究使用
(三)简单的聊聊什么是路由表
ios
前言:对于路由表而言,能够认为的写,也能够是路由器自动记录识别
目标地址由
"下一跳(网关)" 来实现

(四)单台主机之间的通讯如何实现
nginx
前言:单台主机站在内核空间
和用户空间
将主机间的通讯画图给你们描绘一下,而且解释TCP/IP协议栈的解包和封包的过程
给你们画图介绍,ARP地址如何解析

Mac地址:本地通讯
实现本地局域网,不跨路由器的网络通讯
IP地址:标示主机通讯,实现源主机和目标主机之间的通讯
主机内核端口:标示进程通讯,实现一个主机上的哪一个进程进行通讯
物理层:封装帧报文首部
以太网帧:MTU(
1500字节)
互联网层:封装
IP报文首部
传输层:封装TCP报文首部
应用层:各类应用协议的报文首部
(五)网络配置工具详解
(这里很重要)apache
前言:ifcfg类命令,ip类命令, nm类命令
ifconfig :查看或设置IP地址
route :查看或设置路由表
netstat :一般查看主机的服务,端口,和服务的状态
ifup、ifdown:启用网卡或关闭网卡
对比六、7的网络信息
enp0s3: flags=4163<UP(已经启用),BROADCAST(支持广播),RUNNING,MULTICAST(支持多播)> mtu 1500
inet
192.168.23.11 netmask 255.255.255.0 broadcast 192.168.23.255
inet6
fe80::a00:27ff:fec1:cd2b prefixlen 64 scopeid 0x20<link>
ether
08:00:27:c1:cd:2b txqueuelen 1000(传输队列长度) (Ethernet)
RX(接受的数据包) packets
28355 bytes 10835366 (10.3 MiB)
RX errors(错误包数量)
0 dropped(丢包数量) 0 overruns 0 frame 0
TX(传出的数据包) packets
15286 bytes 2489410 (2.3 MiB)
TX errors(错误包数量)
0 dropped(丢包数量) 0 overruns 0 carrier 0 collisions 0
eth0 Link
encap:Ethernet HWaddr 08:00:27:23:C1:E7
inet
addr:192.168.23.4 Bcast:192.168.23.255 Mask:255.255.255.0
inet6
addr: fe80::a00:27ff:fe23:c1e7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST
MTU:1500 Metric:1
RX
packets:104 errors:0 dropped:0 overruns:0 frame:0
TX
packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX
bytes:12969 (12.6 KiB) TX bytes:11936 (11.6 KiB)
ifconfig命令使用(设置IP地址能够当即生效)
(
1)显示激活网卡,以及网络信息
ifconfig
(
2)显示激活网卡,以及网络信息
ifconfig eth0
(
3)显示全部网卡,以及网络信息
ifconfig -a
(
4)启用网卡地址
ifconfig eth0
up
ifconfig enp0s3
up
(
5)中止网卡地址
ifconfig eth0
down
ifconfig enp0s3
down
(
6)网卡取别名的两种写法
ifconfig eth0:
0 192.168.23.10/24
ifconfig enp0s3:
0 192.168.23.100 netmask 255.255.255.0 broadcast 192.168.23.255
1:增
添加主机地址路由
route add -host
192.168.24.100 gw 192.168.23.1 dev eth0
添加网络地址路由
route add -net
192.168.24.0/24 gw 192.168.23.1 dev eth0
添加默认地址路由
route add -net
0.0.0.0/0.0.0.0 gw 192.168.23.1 dev eth0
2:删
删除主机地址路由
route del -host
192.168.24.100
删除网络地址路由
route del -net
192.168.24.0/24
删除默认地址路由
route del
default
3:改
先删除,再修改
4:查
route -n
Kernel IP routing table
Destination(目的地址) Gateway(网关,吓一跳) Genmask(子网掩码) Flags Metric Ref Use Iface(接口)
192.168.23.0 0.0.0.0(同一个网段无需网关) 255.255.255.0 U 0 0 0 eth0
192.168.23.0 0.0.0.0 255.255.255.0 U(up:表示启用状态) 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
0.0.0.0 192.168.23.1 0.0.0.0 UG(G表示网关) 0 0 0 eth0
- (3)netstat命令(对应的ss命令请自行总结)
会常常使用
必备技能:netstat -lntup
-u:UDP
-t:TCP
-l:查看监听状态
-n:以数字的形式显示
-p:显示进程、服务名称
-a:显示all信息
[root@6 ~]
Active Internet connections (servers and established)
Proto(协议) Recv-Q(接收) Send-Q(发送) Local Address(本地监听的套接字) Foreign Address(客户端链接的套接字) State(进程状态) User(用户的id) Inode(文件的inode号) PID/Program name
tcp
0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 9197 1090/sshd
tcp
0 0 192.168.23.4:22 192.168.23.2:65106 ESTABLISHED 0 9567 1191/sshd
tcp
0 0 :::22 :::* LISTEN 0 9199 1090/sshd
udp
0 0 0.0.0.0:68 0.0.0.0:* 0 8497 856/dhclient
须要添加
/etc/sysconfig/network-scripts/ifcfg-eth1网卡配置文件,才能给ifup、ifdown控制
ifup eth1
ifdown eth1
二:ip类命令
适用于红帽五、六、7(须要安装 iproute 包)
ip link:管理网卡接口
ip addr :查看或设置IP地址
ip route:配置路由
ip link show:显示设备属性
ip link set dev eth0 up:开启网卡设备
ip link set dev eth0 down:关闭网卡设备
ip addr add 192.168.23.4/24 dev eth1: 添加IP地址
ip addr add 192.168.23.4/24 dev eth1 label eth1:0 : 添加别名
ip addr del 192.168.23.4/24 dev eth1: 删除IP地址
ip addr show:显示IP地址
ip route add 192.168.24.0/24 via 192.168.23.1 dev eth1 src 192.168.23.10: 添加网络路由地址
ip route add default via 192.168.23.1 :添加默认路由
ip route del 192.168.24.0/24 :删除路由地址
ip route show :显示路由地址
三:nm类命令
适用于红帽 7
nmcli:命令行工具
nmtui:就像红帽
6的setup工具同样,是一个图形化的文本工具
必须启动 Neworkmanager
systemctl status NetworkManager
四:setup命令
适用于红帽 6
必须启动 network 服务
service network
status
(六)系统默认的网卡命名方式
(了解)浏览器
前言:
eth0、eth一、eth2 等
(
1)若是BIOS为主板上集成的设备提供的设备编号可用,则根据设备编号进行命名,如eno0, eno1。例如:苹果Mac电脑,网卡名为en0
(
2)若是BIOS为PCI-E扩展槽所提供的设备编号可用,则根据设备编号进行命名,如:ens1 ens2
(
3)若是硬件接口的物理位置信息可用,则根据此信息命名,如:enp0s三、enp0s8,有些虚拟机是这样命令。
(
4)对于Mac电脑而言,en0、en1
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether
a4:d1:8c:cd:a0:8c
inet6
fe80::181a:b72a:631f:69d2%en0 prefixlen 64 secured scopeid 0x4
inet
192.168.23.2 netmask 0xffffff00 broadcast 192.168.23.255
nd6 options=
201<PERFORMNUD,DAD>
media: autoselect
status: active