一、OSI参考模型:适用于所有网络,现有模型,后有协议
1、应用层:应用程序、用户接口2、表示层:编码转换、压缩、解压、加密等3、会话层:建立、维护、拆除会话4、传输层规定了应用程序的的接口协议:TCP【9】、UDP【10】 PDU:数据段5、网络层:为数据传输选择一条最优路径,采用尽力而为的发送方式工作设备:路由器【4】 PDU:数据包 逻辑地址:IP地址协议:IP【5】、ARP【6】、RARP【7】、ICMP【8】6、数据链路层:使用MAC地址(48位2进制,前24位厂商,后24位为设备地址)传输数据帧工作设备:交换机【1】 协议:ARP、RARP 数据帧格式:【2】7、物理层:介质和信号(双绞线、光线、同轴电缆和模拟信号、数字信号),物理层关心的是电气特性、规程特性、功能特性、物理特性,从数据链路层接收数据转换为bit流,为数据传输提供安全的通信通道【1】交换机功能:自学习:学习源MAC以及进入的接口广播:转发:过滤:更新:【2】数据帧格式:
【3】集线器(hub)工作原理:
收到一个bit时,将该bit向其他所有接口传输出去,是一个广播域网,且没有冲突检测
【4】路由器:
根据路由表转发数据,分为直连路由、非直连路由
直连路由:为接口配置IP地址并保证UP状态
非直连路由:通过静态指定或动态学习
【5】IP协议:
版本:4位,标识IP地址的版本,常用的是IPv4和IPv6首部长度:4位,可变长度,根据可选项变化优先级与服务类型:8位,提供第三层的服务质量总长度:16位,IP包头总长度标识符:16位,为分段数据打上标记,方便到目标地址重新组装标志:3位,第一位没有设置,第二位是DF,决定是否分片,0代表部分片,1代表分片;第三位是MF:代表更多的片,只有数据的最后一片值为0段偏移量:13位,代表数据片在整个数据中的位置TTL:8位,生命周期,数据包经过路由器个数,数据包每经过一个路由器,TTL值减一,当TTL值为0时,数据还没有到达目标地址,该数据将被丢弃,一般设置为32或64协议号:8位,标识上层协议号首部校验和:16位,验证发送端和接收端数据的完整性源地址:32的IP地址目标地址:32的IP地址可选项:松散路由 严格路由 路由标记 时间戳
填充:把IP包头每行都填充为32位
【6】ARP协议:
硬件类型协议类型硬件地址长度协议长度Opcode发送方MAC地址发送方IP地址目的MAC地址目的IP地址
【7】RARP协议: 逆地址解析协议 RARP 使只知道自己硬件地址的主机能够知道其IP地址
【8】ICMP协议:ICMP报文作为IP层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去
ICMP报文的前4个字节是统一的格式,共有三个字段:即类型,代码和检验和.接着的4个字节的内容与ICMP的类型有关,https://www.cnblogs.com/kzloser/articles/2582349.html#a3
【9】TCP协议:
源端口目的端口序列号指定ack号包头头长度Flags(标志位):
URG:紧急指针有效位,标记紧急数据ACK:确认序列号有效位PSH:通知接收端把数据交给进程,不要在缓冲区中停留RST:请求重新建立三次握手SYN:请求建立三次握手FIN:请求断开连接
窗口大小:
适当的窗口大小TCP窗口大小比例系数
校验和
TCP流量控制机制:
以消除发送方使接收方缓存溢出的可能性,是一个速度匹配服务,即发送发速率与接收方应用程序的读取速率相匹配。发送方维护一个接收窗口,该接收窗口给发送方指示了接收方还有多少缓存空间剩余发送方:LastSent-LastAcked≤rwnd(接收窗口)接收方:LastRcvd-LastRead≤RcvBuffer
TCP拥塞控制:
在发送方新增一个额外变量 cwnd(拥塞窗口),LastSent-LastAcked≤min{ cwnd, rwnd}TCP拥塞控制算法:慢启动拥塞避免快速恢复总结:线性增,乘性减
TCP差错控制:
三个简单工具:检验和确认超时
TCP时间计时器:
重传计时器
坚持计时器: 解决零窗口大小通知可能导致的死锁问题,发送端建立该计时器
保活计时器: 为了防止两个TCP连接出现长时间的空闲。当客户端与服务器端建立TCP连接后,很长时间内客户端都没有向服务器端发送数据,服务端建立保活计时器。
时间等待计时器: 连接终止期间使用,先断开连接的一方建立
【10】UDP协议:
二、TCP/IP网络协议模型:只适用于TCP/IP网络,先有协议,后又模型
1、应用层
2、传输层
3、网络层
4、数据链路层
5、物理层