1、模型介绍
#OSI模型:每层的名称和作用
应用层 应用层软件
表示层 处理数据
会话层 建立、管理会话
传输层 端口号,传输方式
网络层 IP地址,路由选择
数据链路层 MAC地址,差错校验
物理层 传输介质
#TCP/IP模型
四层
应用层
传输层
网络层
网络接口层
五层
应用层 http,ftp,telnet,tftp,smtp,dns
传输层 tcp,udp
网络层 ip,icmp,arp,rarp,igmp
数据链路层 以太网,ppp,hdlc,帧中继,atm
物理层
2、数据传输过程
发送前各层封装数据,接收后各层解封装数据;
PDU(协议数据单元)
应用层 数据 数据
传输层 TCP或UDP报头+数据 数据段
网络层 IP报头+TCP或UDP报头+数据 数据包
数据链路层 MAC报头+IP报头+TCP或UDP报头+数据+报尾 数据帧
物理 10101010101001010010101010101001010 比特流
3、各层报头的结构
#传输层报头
--TCP报头
第1行:源端口号,目标端口号 4字节
第2行:序列号 4字节
第3行:确认号 4字节
第4行:首部长度,保留位,控制位(syn,ack,fin),窗口大小 4字节
第5行:校验和,紧急指针 4字节
第6行:扩展报头 0-40字节
第7行:数据
--UDP报头
第1行:源端口号,目标端口 4字节
第2行:UDP长度,UDP校验和 4字节
第3行:数据
#网络层报头
--IP报头
第1行:版本,首部长度,优先级与服务类型,总长度
第2行:标识符,标志,段偏移量
第3行:TTL,协议号,首部校验和
第4行:源地址
第5行:目标地址
第6行:扩展报头
第7行:数据
#以太网报头
目的地址 源地址 类型 数据 帧校验序列
6字节 6字节 2字节 46-1500字节 4字节
取值范围:64-1518字节
4、TCP三次握手和四次挥手
--TCP和UDP的区别
TCP是传输控制协议,面向连接可靠协议,传输效率相对较低。
使用TCP协议传输数据时,需要首先建立连接,传输数据,最后还要释放连接。
UDP是数据报协议,面向非连接的不可靠协议,传输速度相对较快。
--TCP三次握手
两台主机之间如果希望通过TCP协议传输数据,必须要通过发送三个数据包建立TCP连接,
才能传输数据。
第一包 syn=1
第二包 syn=1 ack=1
第三包 ack=1
--TCP四次挥手
两台主机之间传输完数据后,需要通过发送四个数据包来断开连接。
第一包 fin=1 ack=1
第二包 ack=1
第三包 fin=1 ack=1
第四包 ack=1