在不记就忘了,自己在H3C沉浸中积累的一点点网络知识,这是后来看ccie或者其他资料总结的
从协议方面看,只要把PDU搞定就可以了,怪不得面试官总会问这些,我却觉得是迂腐的表现,感觉人的大脑大部分应该用在思考而不是用来充当硬盘,就怪自己内存太小吧,又不太在意概念这东西,机会也就悄悄的不在意我了,最终离开了这个有趣的行业,生活还得继续...
----------------------------------------
冲突域:一组互联的设备,网段中的一台设备发送分组时,该网段中的其他设备都必须侦听,hub
交换机网桥:创建更小冲突域,和大型广播域--多个hub组成,路由器隔离广播域,使用硬件地址将网络分段,分割冲突域
滑动窗口的大小决定了ack报文的间隔
集线器属物理层设备,将信号转发给除信号源所属的网段外的其他所有网段
路由器:分割广播域和冲突域,使用逻辑地址,分割冲突域和广播域
数据链路层:802.3,802.5,分两层,LLC控制,交换机个网桥根据MAC过滤网络
数据封装顺序:数据,数据段,分组,帧,比特
字处理程序与应用层接口通信
流量控制:缓冲,窗口,拥塞
应用层负责寻找服务器,提供网络资源,并提供流量控制,错误控制
物理层接受数据链路层帧
网络层提供路由选择,提供逻辑地址--表示层确保数据能被应用层理解--会话层应用程序间建立,维护并终止会话--传输层在主机之间建立可靠连接
传输层将用户数据分段和重组,建虚连接,重传,排序--网络层将来自传输层的疏浚段封装成分组
PDU:每层PDU包含协议字段,用以标示来自哪层,接受方根据该字段决定将数据交给对应的协议
IP:接收到分组,如果不是本设备,查路由,无丢弃,有转发
路由器缓存分组发到Ethernet,Ethernet根据dest-ip,查arp,无arp,发arp,获mac
a->b arp,b做,FCS,查mac,匹配,查type,交给IP,对IP FCS ,destip是自己,查type,交给ICMP,b->a 求其第一个ICMP,向a发ICMP,判断是否在本网段(根据掩码),不是发给网关
STP,端口状态,阻塞侦听BPDU,侦听阶段无MAC表准备转发数据局,学习阶段形成mac不转发数据,转发阶段指定端口或根端口
网关,一个网络通向其他网络的IP地址
封装:每一层为应用数据添加特定头层信息PDU application->segement->packet->frame->bit
还有些报文长度计算,如果真的懂得计算了,可以用wireshark抓包,用计算器验证,不错的感觉
下面报文字段作用几乎熟悉了,也离开了
版本:占4位(bit),指IP协议的版本号。目前的主要版本为IPV4,即第4版本号,也有一些教育网和科研机构在使用IPV6。在进行通信时,通信双方的IP协议版本号必须一致,否则无法直接通信。
首部长度:占4位(bit),指IP报文头的长度。最大的长度(即4个bit都为1时)为15个长度单位,每个长度单位为4字节(TCP/IP标准,DoubleWord),所以IP协议报文头的最大长度为60个字节,最短为上图所示的20个字节。
服务类型:占8位(bit),用来获得更好的服务。其中的前3位表示报文的优先级,后面的几位分别表示要求更低时延、更高的吞吐量、更高的可靠性、更低的路由代价等。对应位为1即有相应要求,为0则不要求。
总长度:16位(bit),指报文的总长度(包括报文头)。注意这里的单位为字节,而不是4字节,所以一个IP报文的的最大长度为65535个字节。
标识(identification):该字段标记当前分片为第几个分片,在数据报重组时很有用。
标志(flag):该字段用于标记该报文是否为分片(有一些可能不需要分片,或不希望分片),后面是否还有分片(是否是最后一个分片)。
片偏移:指当前分片在原数据报(分片前的数据报)中相对于用户数据字段的偏移量,即在原数据报中的相对位置。
生存时间:TTL(Time to Live)。该字段表明当前报文还能生存多久。每经过1ms或者一个网关,TTL的值自动减1,当生存时间为0时,报文将被认为目的主机不可到达而丢弃。使用过Ping命令的用户应该有印象,在windows中输入ping命令,在返回的结果中即有TTL的数值。
协议:该字段指出在上层(网络7层结构或TCP/IP的传输层)使用的协议,可能的协议有UDP、TCP、ICMP、IGMP、IGP等。
首部校验和:用于检验IP报文头部在传播的过程中是否出错,主要校验报文头中是否有某一个或几个bit被污染或修改了。
源IP地址:32位(bit),4个字节,每一个字节为0~255之间的整数,及我们日常见到的IP地址格式。
目的IP地址:32位(bit),4个字节,每一个字节为0~255之间的整数,及我们日常见到的IP地址格式。
TCP:
源、目标端口(source and destination port)
占16位,0-65535,用于区分进程
顺序号(sequence number)
占32位,指定本报文数据相对于数据起始位置的字节偏移量,用于重组
确认号(acknowledgement number)
占32位,指出源主机期望收到的下一报文的起始编号,用于确认
头部长度(header length)
占4位,20-60,由于头部长度可变
标志位(flag)
占6位,URG:紧急指针有效;ACK:确认号有效;PSH:接收方应尽快将此报文交给应用层;RST:重建连 接;SYN:新建连接;FIN:结束一个连接
窗口大小(window size)
占16位,指定本机期望一次接收的字节数,用于流量控制
校验和(checksum)
占16位,伪头+TCP头+数据,用于校验
紧急指针(urgent pointer)
占16位,和顺序号相加表示紧急数据的最后一字节序号
选项(options)
可变,可包括MSS,"窗口扩大因子",时间戳等,用于两端的变量协商