공부

Ethernet 공부

hm02123 2024. 8. 6. 20:59
728x90

1. Background A
차량용 네트워크 > CAN통신 > 차량 내 전자 장치의 제어를 위함 > 데이터를 8바이트 넣을 수 있지만 ADAS같은 고성능은 8바이트가 충분하지 않아 더 넓은 Bandwidth를 가지는 통신을 위해 Ethernet 사용

OS I7계층 : 통신이 일어나는 과정을 7단계로 나눈 것 . -> 각각의 단계에 헤더가 존재 캡슐레이션 디 켑슐레이션때 사용???
> Trans : 통신 방식으로 TCP/UDP가 있음 전자는 일대일 통신을 자향해서 속도가 느림 후자는 일대일통신이 아니라 속도는 빠르지만 보안 면에서는 좀
> Net에서는 IP주소를 사용 , 출발지, 목적지 같은 경로를 담고 있는것이 IP 주소
> Data에서는 MAC 주소 사용 , 각 지역을 장치로 생각했을 때 장치들의 고유한 주소가 MAC주소
> 피지컬 레이어 : 타이밍 맞춰줌

헤더가 쌓여 디바이스에서 디바이스로 메세지가 전송 이때 받는 입장에서는 역으로 헤더를 지워가면서 메세지를 받음

CAN은 간단해서 따로 규약이 존재하진 않음

MII : 4개 핀, 25Mbps로 총 100Mbps
RMII : 2개 핀 50Mbps로 총 100Mbps

Preamble :  총 7바이트의 데이터 아무 의미 없음
SFD : 프레임이 시작된다는 것을 알려주는 신호
DA/SA : 6바이트 인데 앞 3바이트는 어느 회사에서 만들었는지로 고유 넘버가 있음, 뒤에 3바이트는 어떤 제품인지
Type/Length : Length는 거의 사용하지 않음. 어떤 이더넷 타입인지 알려줌, 앞으로 뭐에 대한 정보를 줄 것인지 알려줌 따라서 어떤 타입 프로토콜로 해석해야 하는지 정할 수 있음
PayLoad : 46~1500 바이트 최소 46 바이트로 규약되어있음, 에러를 확인할 수 있는게 64부터이므로 (6+6+2+4 = 18로 앞에 18 바이트 써서 데이터는 최소 46 바이트가 필요한 것임)


2. Exercise A
이더넷에서 캔으로 전송할 때 테이터를 8바이트씩 나눠서 전송 > 이더넷은 최소 46 바이트이고 CAN은 8바이트 이므로


3. Background B
unicast : 일대일
Multicast : 그룹
Broadcast : 불특정 다수

backbone : 하나의 라우터에서 여러 네트워크를 연결하여 관리 라우터는 어느 경로로 연결할지 정해줌

cast 구분 방법
> DA/SA 에서첫 바이트의  최하위 비트가 0이면 uni, 1이면 multi, broad는 FF:FF:FF:FF:FF:FF

VLAN : 원하는 ECU끼리 정보를 주고받을 수 있도록 함, 물리적으로는 모두 연결되어있음 즉, VLAN ID에 따라 그룹을 만들 수 있으며 선택적 연결 가능
> Ex. VLAN ID 1은 조향관련 메세지 VLAN ID 2는 브레이크 관련 이런 식으로 데이터를 나눠서 받을 수 있다.




VLAN을 사용하지 않고 uni로 일대일 통신을 할 경우 소스 어드레스가 Destination에 관련 메세지만 전송
multi로 하는 경우 어드레스와 상관 없이 모든 포트에 동일한 메세지 전송

Port -> Switch로 들어올 때 (cast는 상관 없음)
VLAN을 사용하는 경우 VLAN ID가 동일한 포드에만 메세지 전송 > 포트 하나에 ID를 려어개 지정해 줄 수 있나봄

Switch -> Port
1. multicast 일 때
VLAN ID가 동일한 모든 포트에 전송

2. unicast일 때
VLAN ID가 일치하는 Port 중에서도 Destination MAC Address와 일치하는 한 가지 Port에만 전송됨

728x90