1 协议三要素

  • 语法,就是这一段内容要符合一定的规则和格式。
  • 语义,就是这一段内容要代表某种意义。
  • 顺序,就是先干啥,后干啥。

2 网络分层的真实含义

复杂的程序都要分层,这是程序设计的要求。

2.1 层与层之间的关系

不能表示出层层封装含义的比喻,都是不恰当的。

只要是在网络上跑的包,都是完整的。可以有下层没上层,绝对不可能有上层没下层。

二层设备、三层设备,只是这些设备上跑的程序不同而已。

3 网络地址命令

IP 地址是一个网卡在网络世界的通讯地址,相当于我们现实世界的门牌号码。

在Linux可以通过ifconfig或ip addr查看ip地址。

3.1 网络地址分类

  • 传统五种分类

image-20221119164048171

在网络地址中,至少在当时设计的时候,对于 A、B、 C 类主要分两部分,前面一部分是网络号,后面
一部分是主机号。

image-20221119164145386

在日常的工作中,几乎不用划分 A 类、B 类或者 C 类,所以时间长了,很多人就忘记了这个分类,而只记得 CIDR。但是有一点还是要注意的,就是公有 IP 地址和私有 IP 地址。

  • 无类型域间选路(CIDR)

将 32 位的 IP 地址一分为二,前面是网络号,后面是主机号。以10.100.122.2/24为例,这个 IP 地址中有一个斜杠,斜杠后面有个数字 24。这种地址表示形式,就是 CIDR。后面 24 的意思是,32 位中,前 24 位是网络号,后 8 位是主机号。

伴随着 CIDR 存在的,一个是广播地址,10.100.122.255。如果发送这个地址,所有 10.100.122 网络里面的机器都可以收到。另一个是子网掩码,255.255.255.0。

将子网掩码和 IP 地址进行 AND 计算。以前面的10.100.122.2/24为例,计算得到为 10.100.122.0,这就是网络号。将子网掩码和 IP地址按位计算 AND,就可得到网络号

3.2 ip addr命令解析

root@test:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 inet 127.0.0.1/8 scope host lo
 valid_lft forever preferred_lft forever
 inet6 ::1/128 scope host 
 valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
 link/ether fa:16:3e:c7:79:75 brd ff:ff:ff:ff:ff:ff
 inet 10.100.122.2/24 brd 10.100.122.255 scope global eth0
 valid_lft forever preferred_lft forever
 inet6 fe80::f816:3eff:fec7:7975/64 scope link 
 valid_lft forever preferred_lft forever

inet 后为 ipv4 地址,inet6 为 ipv6 地址。

在 IP 地址的后面有个 scope,对于 eth0 这张网卡来讲,是 global,说明这张网卡是可以对外的,可以
接收来自各个地方的包。对于 lo 来讲,是 host,说明这张网卡仅仅可以供本机相互通信。

lo 全称是loopback,又称环回接口,往往会被分配到 127.0.0.1 这个地址。这个地址用于本机通信,经
过内核处理后直接返回,不会在任何网络中出现。

link 后为 MAC地址,是一个网卡的物理地址,用十六进制,6 个 byte 表示。

MAC 地址更像是身份证,是一个唯一的标识。它的唯一性设计是为了组网的时候,不同的网卡放在一个
网络里面的时候,可以不用担心冲突。从硬件角度,保证不同的网卡有不同的标识。

MAC 地址是有一定定位功能的,只不过范围非常有限,局限在一个子网里面。

< BROADCAST,MULTICAST,UP,LOWER_UP > 为网络设备的状态表示。

UP 表示网卡处于启动的状态;BROADCAST 表示这个网卡有广播地址,可以发送广播包;MULTICAST 表示网卡可以发送多播包;LOWER_UP 表示 L1 是启动的,也即网线插着呢。MTU 是二层 MAC 层的概念。MAC 层有 MAC 的头,以太网规定连 MAC 头带正文合起来,不允许超过 1500 个字节。正文里面有 IP 的头、TCP 的头、HTTP 的头。如果放不下,就需要分片来传输。

qdisc 全称是queueing discipline,中文叫排队规则。内核如果需要通过某个网络接口发送数据包,它都需要按照为这个接口配置的 qdisc(排队规则)把数据包加入队列。

3.3 总结

  • IP 是地址,有定位功能;MAC 是身份证,无定位功能
  • CIDR 可以用来判断是不是本地人
  • IP 分公有的 IP 和私有的 IP

4 DHCP与PXE

4.1 如何配置ip地址

  • 手动设置

使用net-tools:

$ sudo ifconfig eth1 10.0.0.1/24 
$ sudo ifconfig eth1 up 

使用iproute2:

$ sudo ip addr add 10.0.0.1/24 dev eth1
$ sudo ip link set up eth1

不能随意设置一个ip,Linux 默认的逻辑是,如果这是一个跨网段的调用,它便不会直接将包发送到网络上,而是企图将包发送到网关。

  • 动态主机配置协议(DHCP)

动态主机配置协议(Dynamic Host Configuration Protocol),简称DHCP。

image-20221119215018040

4.2 预启动执行环境(PXE)

数据中心批量安装操作系统。

image-20221119215310833

4.3 总结

  • DHCP 协议主要是用来给客户租用 IP 地址,和房产中介很像,要商谈、签约、续租,广播还不能“抢单”
  • DHCP 协议能给客户推荐“装修队”PXE,能够安装操作系统,这个在云计算领域大有用处

原文地址:http://www.cnblogs.com/hunter-w/p/16907322.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性