Ethernet Physical Layer
point to point physical connection
Switch has multiple physical port: use to connect
For the connector:
100M----Db9
1000M----RJ45(水晶头)
the definition of RJ45 connector:
For the physical Layer, we need to focus on the Physical HW, Physical technology and its communication device
Ethernet Frame and VLAN
1. Independent to the physical layer, so the different kind of HW can be support
2. define the way of addressing: node-address
3. define the Ethernet Frame
addressing
For the Switch principle
1. use MAC address to search for the ECU
2. 交换机通过识别报文中的源地址和目标地址来判断报文的发送方和接收方,交换机内部存放了MAC地址表,当交换机的某一个端口接收到对应的报文时,交换机会根据报文中的目标地址来查找与自己端口号绑定MAC地址,找到之后,就直接进行发送;
3. 如果交换机找不到对应的目标地址的话,交换机就会广播报文;
4. 如果本来收到的就是广播报文,交换机也就对应地直接将报文广播。
Format of MAC address
Unicast address: 单播报文,指向唯一一个ECU
Multicast address: 多播/组播报文,指向多个或者一组ECU
Broadcast: 报文会发送给与路由器连接的每一个ECU
Ethernet Frame
DA :目标MAC 6byte
SA: 源MAC
PRB:早期使用的用来进行速率的同步和告知其他ECU正在发送信息的指示位,目前已经不再使用了
CRC: 4byte 循环冗余校验,校验的内容是从SA-Payload部分,如果检验出错的话,就会直接丢弃这一路报文,并不会出现报错的反馈,所以以太网可以不需要建立连接
Type:
I 类报文:802.3报文,其值得大小就是表示后面payload数据的字节长度
II 类报文:上层的数据就会放入到后面的payload中
Payload:通常是46-1500个byte, 但是目前可以多到5000个
VLAN
将交换机连接的ECU分成两个VLAN组,即划分网段,不同VLAN之间不能进行通讯
好处:不需要改变物理连接方式,直接就可以降低广播报文对于整个通讯负载的影响
0x8100 就是表示这是一个VLAN的报文
PRIO : 优先级的作用是当网络阻塞的时候,物理设备可以实现先发送优先级较高的报文
CFI : 表示二层网络是否是以太网报文
VLAN ID: 数据帧所属的VLAN编号 范围:0-4095
Internet Protocol (IPv4 &IPv6)
主要作用:
1. 实现报文在不同网段之间的路由和转发
2. 上面传输层提供服务
3. 比如VLAN不能在不同LAN组之间进行通讯,但是可以通过网络IP实现通讯
路由器:实现转发
1. 不同端口连接不同的网段,每一个网段表示一个局域网
2. 作用是识别报文的目标IP地址和源IP地址,将报文从源主机发送给目标主机
3. 可以实现多个局域网络的互联的,实现网络的逻辑划分和不同VLAN之间的通讯
网络层的寻址方式:
Internet Layer addressing
如果交换机不能识别MAC地址的时候会将报文向上层进行转发操作,或者识别出不在一个网段,就会将报文转发给路由器。
IPv4 addressing
Class D: 不区分网络地址和节点地址,他标志了共享一组协议的计算机网络
Class E: 保留给高校做研发使用
Subnet Mask ID
作用:用来区分IP地址的网络号和主机号
为了需要子网掩码呢:更好实现不同网路之间ECU之间的通讯
私有地址:
1.解决IP地址不够用的情况
2.一般作为局域网来使用
3.需要访问网络上的内容的话是需要利用路由器将私有地址转换为公有地址
Loopback address
1. 表示设备本身
2.主要是用于设备本身调试用的
IPv4 Header
Protocol 用于区分上层的是UDP还是TCP
IPv6 Header
Transport Layer(TCP/UDP)
1. 直接服务于应用层,负责将应用层的数据进行分包或者组合,或者提取出有用的信息给上层应用层。
TCP/UDP
Unicast: 单播
addressing in transport layer
通过端口号来实现基于服务的通讯,
源端口号:client
目标端口号:server
优势:
传输效率高
数据完整性不好保证
TCP :比较可靠的,面向连接的通讯方式
数据传输部分:会一直确认报文是否收到的请求的
三次握手过程
两个关键标志位:
SYN flag:同步标志位,标志着连接建立的过程
ACK flag:应答标志位,确认接收到报文的标志,接收方接收到报文之后会将这一位置1
两个序列号:
SEQ number: 表示payload的第一个字节的编号,一般初始的payload的第一个字节SEQ number是随机的值
ACK number: 表示希望接收的来自对方下一个报文的第一个字节的编号
TCP-Data Transfer
Connection Release(四次握手)
TCP Header
DHCP-
1.用于动态配置IP地址或者子网掩码的动态分配,日常的电脑如果设置自动地址分配的话就是使用的这个协议
2.基于UDP的server/client模型进行动态分配地址的,主要就是向server端请求
3.通讯过程
ICMP
PING :
PONG:
简介
ICMP是(Internet Control Message Protocol)Internet控制报文协议。
ICMP协议是一种面向无连接的协议,它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。ICMP是一个网络层协议。
ICMP协议的功能主要有:
确认IP包是否成功到达目标地址
通知在发送过程中IP包被丢弃的原因
注意:
ICMP是基于IP协议工作的,但是它并不是传输层的功能,因此仍然把它归结为网络层协议
ICMP只能搭配IPv4使用,如果是IPv6的情况下, 需要是用ICMPv6
ARP
通过IPv4映射寻找IP对应的MAC地址
NDP
基于ICMPv6来实现的,基于IPv6地址查找对应的MAC地址