网络层 三层 进行逻辑地址(IP地址)寻址和路由选择

IP头部的组成:
*源IP地址 *目的IP地址 *IP版本(IPv4|IPv6) *IP头部长度(最短20字节,可根据可选项变长) 优先级与服务质量 总长度(包含IP头部和上层数据)
标识符 标志 段偏移量 *TTL(每经过一个路由器TTL减1,为0时会被丢弃) *协议号(UDP为17 TCP为6) 头部校验和 可选项

ICMP 互联网控制报文协议
工作在 网络层
是一个错误侦测与回馈机制
发送心跳消息来探测节点间的网络连通信

心跳消息组合:ping请求 pong响应

基于 ICMP 协议实现的命令工具有哪些? ping tracert/traceroute mtr

ping 的选项 windows -t -a -l -n -S -h
linux -i -s -c -I -h

ARP 地址解析协议
工作在 网络层
用来通过IP地址解析出MAC地址

工作原理:
1)PC1发送数据给PC2前,会先查询本地的ARP缓存表有没有目标主机的IP与MAC的记录,如果有则直接单播通信
2)如果ARP缓存表没有相关记录,则会通过广播的方式发送ARP请求消息(此时ARP请求消息的目的MAC地址为广播地址FF-FF-FF-FF-FF-FF)
3)交换机收到ARP请求消息后会进行广播泛洪,只要拥有对应IP的主机会接收ARP请求消息,其它主机则会丢弃
4)目标主机会先根据ARP消息将源主机的IP与MAC地址记录到自己的ARP缓存表中,再通过单播的方式回复ARP应答消息,交换机会根据MAC地址表进行转发给源主机
5)PC1收到ARP应答消息后,会将PC2的IP与MAC地址记录到ARP缓存表中,此后即可通过单播发送数据给PC2

arp -a #查看arp缓存表
-d #删除arp缓存记录
-s #静态绑定arp缓存记录

动态学习到的arp缓存的默认老化时间为120s

传输层 四层 建立主机端到端连接

TCP:面向连接的网络协议;是可靠传输,支持流量控制和拥塞控制;首部最小20字节,最大60字节;只能一对一通信;面向字节流的
UDP:面向无连接的网络协议;是不可靠传输,但是传输效率更高;首部仅8字节;支持一对一,一对多,多对一和多对多交互通信;面向报文的

TCP头部组成:
*源端口号 *目的端口号 序号 确认号 头部长度(可根据选项变长,20~60字节) *控制位(URG ACK PSH RST SYN FIN)
滑动窗口(控制流量大小) 校验和 紧急指针 选项

SYN:同步位,SYN=1 表示连接请求报文
ACK:确认位,ACK=1 确认号才生效
FIN:断开位,FIN=1 表示断开连接
RST:重置位,RST=1 重新建立连接
PSH:急迫位/推送位,PSH=1 尽快地把数据送达应用层
URG:紧急位,URG=1 表示紧急数据,配合紧急指针才有效

TCP三次握手
客户端 -- SYN=1 --> 服务端
<-- SYN=1,ACK=1 --
-- ACK=1 -->
ESTABLISHED ESTABLISHED

TCP四次挥手
客户端 -- FIN=1 --> 服务端
<-- ACK=1 --
<-- FIN=1,ACK=1 --
-- ACK=1 -->
TIME_WAIT CLOSE
2MSL时间后进入CLOSE

UDP头部组成:源端口号 目的端口号 UDP总长度(包含数据和头部) 校验和