1 协议三要素
- 语法,就是这一段内容要符合一定的规则和格式。
- 语义,就是这一段内容要代表某种意义。
- 顺序,就是先干啥,后干啥。
2 网络分层的真实含义
复杂的程序都要分层,这是程序设计的要求。
2.1 层与层之间的关系
不能表示出层层封装含义的比喻,都是不恰当的。
只要是在网络上跑的包,都是完整的。可以有下层没上层,绝对不可能有上层没下层。
二层设备、三层设备,只是这些设备上跑的程序不同而已。
3 网络地址命令
IP 地址是一个网卡在网络世界的通讯地址,相当于我们现实世界的门牌号码。
在Linux可以通过ifconfig或ip addr查看ip地址。
3.1 网络地址分类
- 传统五种分类
在网络地址中,至少在当时设计的时候,对于 A、B、 C 类主要分两部分,前面一部分是网络号,后面
一部分是主机号。
在日常的工作中,几乎不用划分 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。
4.2 预启动执行环境(PXE)
数据中心批量安装操作系统。
4.3 总结
- DHCP 协议主要是用来给客户租用 IP 地址,和房产中介很像,要商谈、签约、续租,广播还不能“抢单”
- DHCP 协议能给客户推荐“装修队”PXE,能够安装操作系统,这个在云计算领域大有用处
原文地址:http://www.cnblogs.com/hunter-w/p/16907322.html