华为网络基础

目录

一、封装和解封装和一些通信基本概念

1、带宽:

2、延迟:

3,分层概念

4.单位换算

5.数据的封装

6.介质

二、数据链路和mac地址

1.基本概念

2.帧的内容和区别

2.1. e2帧格式

2.2. ieee802.3帧格式

3.网络层的数据链路层相关的一些概念

三、网络层的ip报头和ip地址

1.ip报头

2.ip地址分类

四、ip地址分类和VLSM

1.特殊地址:

2.子网掩码

3.网络地址和广播地址

4.vlsm - 可变长子网掩码

5.CIDR

6.icmp重定向

7.arp

8.广播域

五、传输层tcp和udp

1.tcp和udp的基本原理和区别

2.tcp三次握手和四次挥手

结语


一、封装和解封装和一些通信基本概念

1、带宽:

单位时间内从一个节点到达另外一个节点的最大数据量

2、延迟:

数据从一个节点到达另一个节点的时间

3,分层概念

从网络拓扑划分网络:

总线型、环形、星型

接入层:接入终端用户

汇聚层:提供服务,实现网络策略

核心层:提供数据的告诉转发

4.单位换算

网络传输

1kbps = 1000bps

1M = 1000k

1G = 1000G

存储单位

1B = 8bit

这样我们传输的时候,比如下载时,传输过来的8个bit流才会存储位一个计算机的最小单位Byte,所以实际的下载速率应该/8

5.数据的封装

传输层:建立客户端之间的连接 tcp udp

网络层:ip地址

数据链路层:mac地址

封装过程

华为网络基础_第1张图片

解封装过程

华为网络基础_第2张图片

6.介质

- stp(Shielded Twisted Pair):屏蔽双绞线

- utp(Unshielded Twisted Pair):非屏蔽双绞线

双绞线制作标准/线序

华为网络基础_第3张图片

- 半双工和全双工

全双工

在100M的网络传输,实际只使用了1、2、3、6四根线,也就是橙白、橙、绿白、绿这四根线。其中1、2线用于发送数据,3、6线用于接受数据,4、5线为备用线 ,7、8线则为电话线。

在千兆网络中,传输网络数据时,8根网线都要使用,2收2发的方式,即2对芯发送数据,2对芯接收数据,其中网线1、2、3、6芯用来发送数据;网线4、5、7、8芯用来接收数据,千兆网络通常采用标准T568B线序:1-橙白,2-橙,3-绿白,4-蓝,5-蓝白,6-绿,7-棕白,8-棕(这个标准都是一样的)。因此千兆网络必须使用8芯网线。

- 光纤

华为网络基础_第4张图片

单模就是因为折射通道窄,所以损耗就小

多模就是因为折射通道宽,所以损耗就大

- 光纤接头

华为网络基础_第5张图片

大方头(sc):一般是单模

小方头(lc):一般是多模

大圆头(fc)和小圆头(st):大圆头和小圆头都是在运营商耦合器上面


二、数据链路和mac地址

1.基本概念

局域网:以太网二层封装,两个标准IEEE802、Ethernet2

以太网是局域网组网的唯一标准

广域网:两个标准PPP、HDLC

应用层:协议数据单元(PDU),或者直接叫data

华为网络基础_第6张图片

数据:对于下层的每个层级而言,上层反馈给我的信息,下层认为皆是数据。

数据链路层帧格式

华为网络基础_第7张图片

校验:crc校验、奇偶校验、海明码

数据链路层传输流程

发送者:

由发送者填充源目mac信息,以及type标识上层协议,crc校验,该数值填充到fcs,借助物理层,转变成二进制比特流从链路中传递。

当数据抵达到设备接口后,接收者的动作:

- 首先看数据的目的mac地址,是否是自己本地的mac,如果不是,则丢弃;如果是,进行下一步;

- 将数据同样进行一次crc校验,比较fcs,如果不同,则丢弃;如果相同,则进行下一步;

- 查看type字段,交由里边标识的上层协议进行处理,数据链路层工作,完成。

注意:这里如果用E2标准,那么type字段里面不能使用私有的协议,需要使用公有的协议


2.帧的内容和区别

2.1. e2帧格式

华为网络基础_第8张图片

2.2. ieee802.3帧格式

华为网络基础_第9张图片

length:后面的Data的长度

d.sap:目标服务接入点

s.sap:源服务接入点

这里就比e2的type详细,type字段只标识访问目标使用的协议,但是ieee802.3用两个字段来标识目标和源的服务接入协议。

control:这个字段本来是想做一些流控的,但是并没有开发出来这类功能,所以如果是ieee802.3帧,那么就这个字段就是一个恒定值,其实就是无意义

华为网络基础_第10张图片

stp的报文

华为网络基础_第11张图片

因为stp是公有化协议,所以就没有snap字段,有私有化协议就会有这个扩展字段

华为网络基础_第12张图片

如果是公有化就看llc;私有化就看snap

华为网络基础_第13张图片

ieee802.3比e2的帧格式要多出好几位,出于对链路传输的考虑,现在的帧格式大部分都是e2

ieee802.3除去data固定长为21B~26B,21B是除去私有化协议snap字段。

华为网络基础_第14张图片

e2除去data固定长为18B

华为网络基础_第15张图片

两个帧最大都是1518,ieee802.3的MTU的最大值默认为1500B(可修改)

但是这里的问题在于,ieee802.3data段少了8B,也就是说每一帧上层的数据会少8B,一帧流失8B,千万个帧积累下来的数据对于链路的负担就会加重,这就是e2的优点。

3.网络层的数据链路层相关的一些概念

- 分组转发:

数据切割成大小一致的长度。此时传递时网络中每一个数据的长度大小一致相同,提升数据转发效率。

- MTU:最大传输单元

存在每条链路上的概念,如果报文MTU值过大,而链路所能承载的MTU过小,会导致数据分片/丢弃

- e2帧类型值大于等于1536(0x0600),以太网数据帧的长度在64-1518字节之间。

MTU当包头里面的报头太多了,才会变大。

ieee802.3和e2的帧格式

华为网络基础_第16张图片

不同的Type字段值可以用来区别这两种帧的类型

当Type字段值小于等于1500(或者十六进制的0x05DC)时,帧使用的是IEEE 802.3格式。

当Type字段值大于等于1536 (或者十六进制的0x0600)时,帧使用的是Ethernet II格式。


三、网络层的ip报头和ip地址

1.ip报头

英文版

华为网络基础_第17张图片

中文版

华为网络基础_第18张图片

16b的总长度减去4b首部报头,就能得到所有上层报头加上数据的长度。

分片:

- id、flag、fragmentoffset

id:标识了同组数据

flag:3 bit,标志位。在IP数据报中FLAGS中的分片标志位,位于IP数据报中的第50比特位,分为MF和DF(DF为第49位,第48位暂未使用,无实际意义),MF表示more fragment即还有分片,DF表示don't fragment即没有分片。

mf位:

mf为1时代表后面还有分片;

mf为0的时候代表后面没有分片;

华为网络基础_第19张图片

但是这里有个问题,万一mf为0的分片第一个收到了,那么后面都不接收吗?

所以这里还需要有分片的顺序,ip报头用fragmentoffset标识,也就是片偏移

如图

华为网络基础_第20张图片

- 协议和生存时间

华为网络基础_第21张图片

2.ip地址分类

iana:互联网地址分配管理机制,ipv4地址被分成了五类

华为网络基础_第22张图片


四、ip地址分类和VLSM

1.特殊地址:

0.0.0.0 //不可用 0.0.0.0--0.255.255.255

作用1:未指定的地址

作用2:路由层面--全网所有地址

127.0.0.0 //不可用 127.0.0.0 -- 127.255.255.255 环回地址

用于设备内部的tcp/ip的协议栈的测试,其实就是用来测试这个网卡是否支持tcp/ip协议栈

A类地址可以用范围:1.0.0.0 -- 126.255.255.255

2.子网掩码

默认子网掩码

A类:255.0.0.0 8

B类:255.255.0.0 16

C类:255.255.255.0 24

A类地址首位被固定为0,可变为2^7=128,可用减去两个,以此类推B类地址第一位被固定为1第二位被固定为0,C类第一位被固定为1第二位被固定为1第三位被固定为0。

华为网络基础_第23张图片

3.网络地址和广播地址

华为网络基础_第24张图片

4.vlsm - 可变长子网掩码

华为网络基础_第25张图片

5.CIDR

将多个小的子网,用一个相对更大的地址范围进行概括,以此表现表项的优化

华为网络基础_第26张图片

CIDR需要能完全覆盖包含所有子网的子网掩码,不能多,也不能少

我们可以算下

华为网络基础_第27张图片

我们可以看到22位网络位刚好可以包含10.24.0、10.24.1、10.24.2、10.24.3这四个网段所以这里可以用CIDR去通告路由

但其实很多时候我们并没有怎么完美的汇总,比如我们多出了一个网段

华为网络基础_第28张图片

如果我们要汇聚超网,需要多去借一位

这样我们多出来了两条没有存在的子网,10.1.5和10.1.6两个子网,这不满足CIDR

那么我们需要另外一个解决方案

我们可以将这条路由单独出来,通告两条

华为网络基础_第29张图片

6.icmp重定向

华为网络基础_第30张图片

重定向是由路由器B产生的

华为网络基础_第31张图片

7.arp

一开始的arp请求dmac是全ffff,因为无法完整的填充二层抱头(不知道目的ip的mac),得到后就可以填充完整

华为网络基础_第32张图片

报文大致内容和报头

华为网络基础_第33张图片

接收方接收到arp请求报文如果是自己的ip,询问的是自己的mac地址,那么就会回复,如果不是就会丢弃

arp的老化机制

arp缓存 - 经过arp报文形成 - 动态的arp表项

老化时间:20分钟

华为默认

- arp的老化探测机制:二十分钟中会有3次老化探测 - 单播、单播、广播。

在次期间,如果收到了对方的回应,刷新老化时间。

十分钟发一次单播,十五分钟发一次单播,二十分钟发一次广播。

8.广播域

广播报文所能传播的范围

路由器每个接口都是广播域

交换机所有接口都是同一个广播域(交换机不做任何配置情况下)

广播报文是无法穿越路由器的三层接口(接口下能配置IP)


五、传输层tcp和udp

1.tcp和udp的基本原理和区别

端和端之间通信

端口 = port(逻辑端口)

通常说UDP是基于数据包传输,而TCP是基于流传输的

UDP基于包传输就是发送方会将应用层的数据一次性发送给接收方,但是会标记长度以供应用层识别和使用。

但是udp的传输也会超过接收方的接受长度,所以发送方也会显示最大的udp传输大小例如512字节,进行多次udp调用。

华为网络基础_第34张图片

tcp会根据滑动窗口大小和缓冲区接收等,来确保数据流之间的传输,应用层只需要在缓冲区满了或者需要push的时候处理数据,一次tcp的调用会有源源不断的数据流进行传输。

华为网络基础_第35张图片

- 粘包问题

但是因为缓冲区的原因会出现粘包问题,udp因为由长度的标识,所以应用层处理数据的时候只需要根据长度字段进行处理,但是tcp并没有,且源源不断的发送过来,所以会出现几个包粘合在一起处理的情况。

所以发送tcp的报头的数据时,应用层需要表示数据长度。

华为网络基础_第36张图片

注意:tcp分片给网络层就是正常的1500(20的报头+1480的数据),udp本身没有分片的能力,但是因为网络层并不是专门用来分片的层,所以udp设计传输的时候尽量会减少包的传输大小,以避免网络层进行多余的分片步骤

2.tcp三次握手和四次挥手

华为网络基础_第37张图片

大写ACK位置为1,小写ack才会有意义,并且这个是个期望值

华为网络基础_第38张图片

- 期望值确认和差错重传

期望值确认,这里分了三段,每段500

华为网络基础_第39张图片

- 差错重传机制

如果三个分片数据一次性发过来,但是中间有一个失误了那么所有数据重新传输

华为网络基础_第40张图片

- 超时重传机制

重传机制里面有个极端现象,就是这三个分片的报文全部丢失情况,且对面没挂掉,那么对端没收到数据是不会由任何重传报文回来的。

注意:这里重传只会重传无序报文,缓冲区大于无序报文(因为滑动模块),那么只会重传无序报文,直到无序报文变有序报文,才会做一次确认。对有序报文的确认就是已经收到了1500的有序报文。1500-2999的报文是无序报文。

理想状态下的二、三、应用层的报文

ip头固定长20B~60B之间,这里取20B;

tcp头固定长20B;

应用层就只剩1460B;

华为网络基础_第41张图片

- MSS - 最大报文段长度,其实就是指这里面的应用层数据的长度,我们上面这个报文的MSS就是1460B,这个在三次握手就会协商好

MTU - 这里是1500B

滑动窗口控制

一般是发送端去适应接收缓存区域,或者是客户端去适应服务器的缓冲区域

因为服务器需要多很多人提供服务,所以缓冲区更小,而客户端的闲置资源较多,缓冲区更大

这里客户端原本发了四个分片的报文,服务端需要四块缓冲区的区域,但是服务端只要闲置的三块,所以和客户端进行了一次协商,客户端后面的报文变成了三段。

华为网络基础_第42张图片

华为网络基础_第43张图片

- tcp关闭连接(四次挥手)

两边都确认断开就正常断开了

华为网络基础_第44张图片

3.UDP报头

华为网络基础_第45张图片

注意:这里如果去掉checksum那么报头将会变成6B,每个报文将会少2B

华为网络基础_第46张图片


结语

攒着一波更新,很久没更了,求赞。

你可能感兴趣的:(hw,数通路由&交换,华为初级网络,网络,华为,信息与通信,tcp/ip,网络协议)