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
|