趣谈网络协议 学习笔记
这篇文章是之前学习网络协议的笔记,就偷懒用来算作第一篇博客了。
在 19 年的末尾,立一个新的 Flag 吧。希望能把这件事坚持下去。
第二讲 网络分层含义
- 只要是在网络上跑的包,都是完整的。可以有下层没上层,绝对不可能有上层没下层。
第三讲 ifconfig 命令
IP 地址
-
C 类包含主机太少,B类又太多——无类型域间选路 CIDR。伴随产生了广播地址,子网掩码
-
10.100.122.2/24
——前24位是网络号,后8位主机号
10.100.122.255
——广播地址,如果发送这个地址,所有 10.100.122 网络里面的机器都可以收到255.255.255.0
——子网掩码
Mac 地址
ether f0:18:98:15:89:e5
- 全局唯一,但不具有定位功能。只能用于子网中的定位
网络设备状态标示
flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
- 其中 , MTU = 1500 是默认值,MTU 是第二层MAC层概念,以太网规定连MAC头算,不可超过1500个字节。
第四讲 DHCP 与 PXE
动态主机配置协议 DHCP
- 新机器加入网络——吼一声(DHCP Discover),广播内容:
- DHCP Server 收到信息后,根据唯一的MAC地址租给他一个IP地址(DHCP Offer)
- 新机器收到回复后,选择其中一个,并广播此消息。服务器收到后,广播返回一个DHCP ACK 消息包,确认租约成立
第五讲 从物理层到MAC层
物理层
- 物理层 两台电脑直接相连,组成最小的局域网LAN
数据链路层(MAC——媒体访问控制层)
需要解决的问题
- 控制在往媒体发送数据时,谁先发,谁后发,防止发生混乱——多路访问。
- 解决方法:
- 信道划分 分多个车道,各走各的
- 轮流协议
- 随机接入协议(以太网)
- 解决方法:
- 发给谁,谁发送的问题——链路层地址 MAC地址
包格式如下,其中,CRC 循环冗余检测,检测包异常
- 如何知道目标机器的MAC地址(已知IP地址,找MAC地址)——ARP 协议。“吼”
机器数量增多,所有信息转播给所有接口太浪费,需要智能机器判断某一个mac地址对应哪个接口,而只给这个接口转发数据——交换机(二层设备)