注:文章非原创,来自极客时间 《趣谈网络协议》个人笔记
首先计算机网络可以分为如下几层
1.1应用层
DHCP(Dynamic Host Configuration Protocol)动态主机分配协议,使用 UDP 协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配 IP 地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。实 现即插即用连网。
FTP (File Transfer Protocol)文件传输协议<端口号21>减少或消除不同操作系统下处理文件的不兼容性。
HTTP (Hypertext Transfer Protocol )超文本传输协议 <端口号 80>, 面向事务的应用层协议
SMTP (Simple Mail Transfer Protocol )简单邮件传输协议 <端口号25> 用于发送邮件。
RPC (Remote Procedure Call Protocol )(RFC- 1831)远程过程调用协议
1.2传输层
数据单元:数据段(Segment)
TCP (Transmission Control Protocol )传输控制协议提供可靠的面向连接的服务,传输数据前须先建立连接,结束后释放。可靠的全双工信道。可靠、有序、无丢失、不重复。
UDP (User Datagram Protocol )用户数据报协议发送数据前无需建立连接,不使用拥塞控制,不保证可靠交付,最大努力交付。
1.3网络层
典型设备:路由器、防火墙、多层交换机
数据单元:数据包(Packet)
IP (IPv4 · IPv6) (Internet Protocol) 网络之间互连的协议
ARP (Address Resolution Protocol) 即地址解析协议,实现通过IP 地址得 知其物理地址。
RARP (Reverse Address Resolution Protocol)反向地址转换协议允许局域 网的物理机器从网关服务器的 ARP 表或者缓存上请求其 IP地址。
ICMP (Internet Control Message Protocol )Internet 控制报文协议。它是TCP/IP 协议族的一个子协议,用于在IP 主机、路由器之间传递控制消息。
1.4数据链路层
典型设备:网卡、网桥、交换机
数据单元:帧(Frame)
PPP(Point-to-Ponit Protocol)点对点协议面向字节,由三部分组成:一个将IP 数据报封装到串行链路的方法;一个用于建立、配置和测试数据链路连接的链路控制协议
停止等待协议:
CSMA/CD(Carrrier Sense Multiple Access with Collision Detection)载波监听多点接入/碰撞检测协议。总线型网络,协议的实质是载波监听和碰撞检测。载波监听即发数据前先检测总线上是否有其他计算机在发送数据,如暂时不发数据,避免碰撞。碰撞检测为计算机边发送数据边检测信道上的信号电压大小。
ARQ(Automatic Repeat-reQuest )自动重传请求协议,错误纠正协议之一,包括停止等待ARQ 协议和连续ARQ 协议,错误侦测、正面确认、逾时重传与负面确认继以重传等机制。
1.5物理层
典型设备:中继器、集线器、网线、HUB
数据单元:Bit
1.6基本流程图

可以观察到网络上的包可以有下层没有上层,但是不能有上层没有下层。
1.7ifconfig命令行
大家都知道win上是ipconfig,linux上是ifconfig或者ip addr。
但是ifconfig和ip addr的区别是什么?底层是使用net-tools和iproute2
其中ip地址是四组8bit来进行标识,每组最高到256,一共32位ip地址,被划分层五类,ABCDE

其中所能包含的最大主机号也可以计算出来

无类型域间选路CIDR:讲32位的IP地址一分为二,前面是网络号,后边是主机号,类似10.100.122.2/24,前面的24是网络号,后边的是主机号。那么如何得到网络号?可以使用子网掩码与IP进行AND计算,可以得到网络号。因为1与任何数字and都是原数字,0与任何数字and都是0.
IP地址又分为公有IP地址和私有IP地址,我们常见的196.168.0.1,是整个网络里面的第一个地址,是私有地址的出口地址。192.168.0.255是广播地址。
其中MAC地址是不带地址的,而IP是有定位功能的
1.8 DHCP和PXE
3.1设置IP地址
可以使用net-tools
sudo ifconfig eth1 up
或者使用iproute2
sudo ip link set up eth1
但是注意如果地址配置的不对,会导致包发布出去,在linux中,如果一个调用是跨网段的调用,它会把包发送到网关上,不会直接吧包发送到网络上,当只有是一个网段的才会发送ARP请求,获得MAC地址
DHCP,动态主机配置协议,新接入机器使用IP地址0.0.0.0发送一个广播包,目标是255.255.255.255,网络里的DHCP Server分配IP地址,还发送子网掩码、网关等信息,机器接收到信息后再讲确认信息发送出去。
PXE协议,预启动环境,集群安装操作系统使用,其工作流程如下

