认识TCP/IP五层协议:
应用层:
1.xml:
2.json:
3.protobuffer:
传输层:
传输层协议:
- UDP
- TCP
UDP协议格式:
TCP协议格式:
TCP核心机制:
TCP保证各个机制的方法:
一:确认应答:保证可靠传输的核心机制
二、超时重传:对确认应答进行了补充
基于上述两个机制,TCP的可靠性就得到了有效的保障。
三、连接管理:三次握手、四次挥手 (重要)
- 建立连接:三次握手
- 断开连接:四次挥手
TCP可靠性虽然是最高的机制,但是TCP也会尽可能的提高效率
四、滑动窗口:保证可靠性的前提下,尽可能提高效率
五:流量控制:滑动窗口的延申,为了保证可靠性
六、拥塞控制:滑动窗口的延申,控制发送速率
七、延时应答:流量控制的延申
八、捎带应答:延时应答的延申
九、面向字节流:导致了粘包问题
十、TCP的异常处理:总共有三种情况
- 进程终止
- 机器关机
- 机器断电/网线断开
上面介绍的是关于UDP和TCP协议的有关内容。也是属于传输层的一些协议。接下来我们来介绍关于网络层的协议,也就是IP协议。
IP协议主要完成两方面的工作:
- 地址管理
- 路由选择
认识IP协议报头:
1. 地址管理:
IPV4的问题:
IPV6:从根本上解决了IP地址不够的问题,不过也需要设备的支持
2.路由选择:选择合适的网络路径
数据链路层:
ARP协议:ARP协议建立了主机 IP地址 和 MAC地址 的映射关系
- 在网络通讯时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址;
- 数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符,则直接丢弃,因此在通讯前必须获得目的主机的硬件地址;
- 源主机发出ARP请求,询问“IP地址是192.168.0.1的主机的硬件地址是多少”,并将这个请求广播到本地网段(以太网帧首部的硬件地址填FF:FF:FF:FF:FF:FF表示广播)之后就会收到所有设备的回应,然后根据这个回应建立起IP和MAC地址的映射表;
- 通过这个映射表找到目的主机的硬件地址;
DNS协议:一个应用层协议(域名解析器)