网工的基础逻辑:OSI七层,网工必备下四层:物理层+数据链路层(MAC)+网络层(IP)+传输层(TCP) MAC:48位二进制,拆分3组,16位二至,4位16进制数,前24位二进制IEEE 规定给厂家最标识符(OUI唯一),后24位唯一标识 PS:即目前可知的网络硬件设备,其对应实体网卡硬件MAC信息是唯一的
MAC的唯一性,又造成了一个难题:无法实现大规模、异构网络的互联互通,同时无法分割顶层网络应用和底层网络技术 因此设计了一个新的协议TCP\IP协议中的IP
IP设计的理念:三部分:IP编址、分组封装、分组转发规则 IP分为IPv4 (32位)& IPv6(128位 255.255.255.255? FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
IPv4:广播为主,单播和组播 IPv6:? 单播为主,组播或者任意播 广播:FFFF.FFFF.FFFF(IPv4)? ? IP编制: (IPv4 & IPv6) 私有地址:10.0.0.0/8,172.16.0.0/12.192.168.0.0/16(IPv4);FEC0::/48(IPv6) 环回地址:127.0.0.1/8(IPv4),::1 单播:2000::1/8(IPv6公有地址) 链路环回地址:相当于无网络连接:169.254.x.x/16(IPv4);fe80::/64(IPv6) 本地单播地址:FF00::/8(IPv6)相当于224.0.0.0/12(ipv4的组播地址) 4 to 6: ffff:1.2.3.4格式叫做 IPv4映像地址,::874B:2B34(IPv4:135.7:5.43.52) 6 to? 4 :2002:1122:3344:[SLA ID]:[interface ID ]
TCP :面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793? 定义 上三层到下4层的网络传输:TCP则把数据流分割成适当长度的报文段,最大传输段大小(MSS)通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)限制。之后TCP把数据包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。
TCP如何标准报文传输可靠:每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。 TCP拥塞控制算法(也称AIMD算法):(1)慢启动?? (2)拥塞避免?? (3)快速重传?? (4)快速恢复
TCP的三次握手(连接): ??? 1、客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。 ??? 2、服务器端收到SYN报文,回应一个SYN (SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态。 ??? 3、客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态。 四次挥手(终止): (1) 某个应用进程首先调用close,称该端执行“主动关闭”(active close)。该端的TCP于是发送一个FIN分节,表示数据发送完毕。 (2) 接收到这个FIN的对端执行 “被动关闭”(passive close),这个FIN由TCP确认。 注意:FIN的接收也作为一个文件结束符(end-of-file)传递给接收端应用进程,放在已排队等候该应用进程接收的任何其他数据之后,因为,FIN的接收意味着接收端应用进程在相应连接上再无额外数据可接收。 (3) 一段时间后,接收到这个文件结束符的应用进程将调用close关闭它的套接字。这导致它的TCP也发送一个FIN。 (4) 接收这个最终FIN的原发送端TCP(即执行主动关闭的那一端)确认这个FIN。 [3] 既然每个方向都需要一个FIN和一个ACK,因此通常需要4个分节。 PS:个人理解:TCP建立,首先TCPA端告诉另一端,我想建立TCP链路,你在哪里?另一端收到后,告诉A端,我在这里,你的要求我知道了,你确认一下,然后A端接收到对应信息,再把确认信息发送给另一端,然后TCP链路就建立了 TCP中断:A端不想建立TCP,就关闭了,并告诉B端,我不建立链接,你关闭吧,B端收到后,告诉A端我知道了,你不想建立链路了,那确认一下,,A端收到后表示,没问题,然后把确认中断信息发送给B端,TCP就断开了 TCP/IP协议:不同网络间实现信息传输的协议簇
|