19 Star 187 Fork 90

baoke / Linux学完就忘系列

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
27.计算机网络基础.md 5.40 KB
一键复制 编辑 原始数据 按行查看 历史
baoke 提交于 2019-08-16 14:41 . 更新 27.计算机网络基础.md

计算机网络

TCP/IP:协议栈(使用)
OSI(Open System Interconnection):协议栈(学习)

下图中左边为OSI七层,右边为TCP/IP四层

OSI七层:
Physical Layer:用来定义各设备的物理规范,例如:通信支持距离、接口大小等;
Data Link Layer:基于MAC地址通信时,数据报文的封装和响应方式;
Network Layer:基于IP地址通信过程的实现;进行逻辑地址寻址,实现不同网络之间的路径选择;协议有:ICMP IGMP IP(IPV4 IPV6) ARP RARP;
Transport Layer:定义传输数据的协议端口号,以及流控和差错校验;主要负责向两个主机中进程之间的通信提供服务;协议有:TCP UDP;
Session Layer:建立、管理、终止会话;对应主机进程,指本地主机与远程主机正在进行的会话;
Presentation Layer:数据的表示格式;例如:数据是否压缩,加密等;格式有,JPEG、ASCll、DECOIC、加密格式等;
Application Layer:网络服务与最终用户的一个接口;协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP;

TCP/IP四层:
物理层:以太网帧,MTU,Maximum Transmission Unit (1500bytes)
互联网层:IP,(IP报文)
传输层:TCP,UDP
应用层:http,https,ftp,ldap,...

MAC:Media Access Control 介质访问控制

48bits:
ICANN:24bits,2^24
地址块:2^24

交换机(switch):

MAC地址表
静态指定
动态学习:根据原地址学习;

IP(Internet protocol)地址:网络号+主机号
IPV4:32bits
8bits.8bits.8bits.8bits
0-255
0.0.0.0-255.255.255.255

IP地址分类;

A类:
第一段为网络号,后三段为主机号
网络号:
0 000 0000 - 0 111 1111 : 1-127
网络数量:126,这里需要减去127如:127.0.0.1,回环地址,所以是126个
每个网络中的主机数量:2^24-2,去除一下2个IP:
0.0.0.0,主机本身,用作服务端,表示本机上的任意IPV4地址.一台服务器多个网卡多个ip;代表本网络中的本机
1,1,1,1,所有主机,广播地址
默认子网掩码:255.0.0.0,/8 (/8代表二进制8个1,24个0)
用于与IP地址按位进行"与"运算,从而取出其网络地址;
1.3.2.1/255.0.0.0=1.0.0.0
1.3.2.1/255.255.0.0=1.3.0.0
私网地址:10.0.0.0-10.255.255.255

B类:
前两段为网络号,后两段为主机号
网络号:
10 00 0000 - 10 11 1111:128-191
网络数:2^14
每个网络中的主机数量:2^16-2,/16
默认子网掩码:255.255.0.0
私网地址:172.16.0.0-172.31.255.255

C类:
前三段为网络号,最后一段为主机号
网络号:
110 0 0000-110 1 1111:192-223
网络数:2^21
每个网络中的主机数量:2^8-2
默认子网掩码:255.255.255.0, /24
私网地址:192.168.0.0-192.168.255.255

D类:组播
1110 0000-1110 1111:224-239

E类:科研
240-255

IPV6:128bits

路由器:router

路由表:
静态指定
动态学习:rip2,ospf协议

路由条目:
目标地址 下一跳(nexthop),下一跳都可以叫网关(注意:不是叫默认网关)
目标地址的类别:
主机:主机路由
网络:网络路由
0.0.0.0/0.0.0.0:默认路由

通信时,进程的数字标识端口:

16bits:
0-65535:实际使用1-65535
1-1023:固定分配,而且只有管理员有权限启用;
1024-4w:半固定;
4w+:临时;

进程地址:
IP:PORT,socket

小结:

MAC:本地通信;范围:本地局域网;
IP:界定通信主机,源和目标;范围:互联网;
Port:界定进程;范围:主机;

将Linux主机接入到网络中:

IP/NETMASK:本地通信
路由(网关):跨网络通信
DNS服务器地址:基于主机名的通信
主DNS服务器地址
备用DNS服务器地址
第二备用DNS服务器地址

配置方式:
静态指定:
命令:
ifcfg家族:
ifconfig:配置IP,NETMASK
route:路由
netstat:状态及统计数据查看

iproute2家族:
ip OBJECT:
  addr:地址和掩码;
  link:接口;
  route:路由;
ss:状态及统计数据查看;

CentOS7:nm(Network Manager)家族
nmcli:命令行工具
nmtui:text window工具

注意:
(1) DNS服务器指定:
编辑配置文件:/etc/resolv.conf
(2) 本地主机名配置
hostname
配置文件:/etc/sysconfig/network
CentOS7:hostnamectl

配置文件(RHEL系列):
/etc/sysconfig/network-scripts/ifcfg-NETCARD_NAME

动态分配:依赖于本地网络中有DHCP服务

DHCP:Dynamic Host Configure Procotol

网络接口命名方式:

传统命名:
以太网:ethX,[0,∞],例如eth0,eth1,...
PPP网络:pppX,[0,∞],例如,ppp0,ppp1,...

可预测命名方案(CentOS):
支持多种不同的命名机制:
Fireware,拓扑结构

(1) 如果Fireware或BIOS为主板上集成的设备提供的索引信息可用,则根据此索引进行命名,如eno1,eno2,...
(2) 如果Fireware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,如ens1,ens2,...
(3) 如果硬件接口的物理位置信息可用,则根据此信息命名,如enp2s0,...
(4) 如果用户显示定义,也可根据MAC地址命名,例如enx122161ab2e10,...
上述均不可用,则仍使用传统方式命名;

命名格式的组成:
en:ethernet
wl:wlan
ww:wwan

名称类型:
o:集成设备的设备索引号;
s:扩展槽的索引号;
x:基于MAC地址的命名;
ps:基于总线及槽的拓扑结构进行命名;

Shell
1
https://gitee.com/abcd1234567_1/linux.git
git@gitee.com:abcd1234567_1/linux.git
abcd1234567_1
linux
Linux学完就忘系列
master

搜索帮助