1. 网络协议分层模型
1.1 ISO/OSI参考模型:
ISO:International Organization for Standardization国际标准组织,提出者
OSI:Open System Interconnect开放系统互联,模型名称
物理层:物理、机械及电器标准,BIT流
数据链路层:局域网主机-主机通信,数据帧
网络层:广域网主机-主机通信,数据包、数据分组
传输层:进程-进程通信,数据段、报文
会话层:进程-进程会话管理
表示层:数据编码的表示方式问题,进程间数据标准
应用层:用户与网络接口,应用功能
1.2 TCP/IP四层模型
1.3 协议栈与模型的对应关系
2. IP协议
2.1功能
a. 寻址(网络上找到通信对方)
网络节点分配一个IP地址
数据包中包含src,dst地址
路由算法查找最优路劲
b. 分段(大数据包进行分割重组)。
2.2 IP报头
版本:协议版本号,固定填4
头部长度:报头长度
服务类型:服务质量的控制参数:低延时,高可靠,高吞吐量
长度:报头+数据长度
16bit标示符:帮助重组分段
3bit flag:bit0,保留0;bit1,DF,bit2,MF
偏移量:本报文的序号
生存期:最大生存期,每经过一个处理单元-1,0则丢弃
协议:数据包数据部分的下一层协议
校验和:差错控制
源地址:
目的地址:
可选部分:
数据:有效荷载
3. TCP/UDP协议
3.1传输协议层:进程-进程通信
-主机接收数据后,由哪个程序处理
-端口地址来标示不同的进程、服务
-端口地址16bits,0-65535,1-1023为保留端口
-数据如何在进程之间可靠传输(面向连接协议):连接维护;差错处理;流量控制
TCP | UDP |
面向连接 | 面向无连接 |
可靠传输 | 不可靠传输 |
传输效率较低 | 传输效率较高 |
适合大量、要求较高的传输 | 适合小量、要求较低的传输 |
3.2 TCP报头
源端口:
目的端口:
序列号字段:发送数据包中的第一个字节的序列号
确认号:回确认报文(ACK=1),表示接收方所期望收到源端的下一个数据序号
头部长度
标志位:
URG:紧急指针
ACK:确认
PSH:接收方应该尽快将这个报文字段交给应用层
RST:重建连接
SYN:发起连接
FIN:释放一个连接
窗口大小:流量控制,本机期望一次接收的字节数
紧急指针: