네트워크 기술 중 하나로, 로컬 영역 네트워크(LAN)에서 컴퓨터, 장치, 라우터 등을 연결하는 데 사용
물리적으로 이더넷 케이블을 통해 데이터를 전송하며, 데이터 전송 단위는 프레임
→ 이더넷은 프레임을 전송하는 방법과 규격을 제공
Physical topology: 초기에는 버스 형태의 연결이 사용되어 한 회선의 고장이 전체 네트워크에 영향을 미쳤다.
이후, 스위치를 사용하여 각 장치를 연결하는 방식으로 변화하면서 네트워크를 유연하게 구성할 수 있게 되었다.
Ethernet frame
- Preamble: 프레임의 시작을 알리는 시간 동기화 패턴
- SFD: MAC 주소 필드가 시작됨을 나타내는 부분
- Destination Mac Address: 프레임의 목적지 장치의 MAC 주소
- Source Mac Address: 프레임의 출발지 장치의 MAC 주소
- EtherType: 상위 프로토콜을 지정
→ IPv4, IPv6- Payload : 프레임 내에 포함된 실제 데이터
→ 0과 1로 표현
→ 최대 1,500 바이트로 표현되며 가변길이- FCS: 수신 측에서 에러를 검출하기 위한 필드
→ CRC (Cyclic Redundancy Check) 또는 다른 에러 검출 알고리즘을 사용하여 생성된 에러 검출 비트를 포함
Connectionless: 데이터를 보낼 때 사전에 연결을 설정하는 과정이 없다.
Unreliable: 데이터를 보낸 후에 발신자는 수신자로부터 ACK, NAK과 같은 확인 메시지를 기대하지 않는다.
→ 패킷의 오류를 감지하기 위해 Cyclic Redundancy Check와 같은 오류 검출 메커니즘을 사용
데이터 전송이 끝까지 도달하지 못하는 경우
- 패킷 손실
- 네트워크 혼잡
- 전송 오류
- 버퍼 오버플로우
- 이더넷의 Unreliable 특성도 포함
링크 계층의 디바이스로, Ethernet 프레임을 저장하고 Switch table을 참조하여 포워딩하는 역할을 가진다.
- Incoming framing의 MAC 주소를 확인하여 Outgoing Link를 찾고, CSMA 방식을 사용하여 프레임을 내보낸다.
Transparent: host는 스위치의 존재에 대해서 모른다.
Self-learning
- 프레임이 스위치에 도착하면, 스위치는 해당 프레임 송신자의 MAC 주소와 도착한 인터페이스를 Switch table에 기록한다.
- Sender A는 Port 1을 통해 접속했다라는 정보를 저장
- Flooding: 만약 Incoming frame에 대한 목적지 주소가 Switch table에 기록되어있지 않다면, 송신자를 제외하고 해당 데이터를 브로드캐스팅하는 과정
- 학습된 정보를 통해 Switch table을 만들고, 다음에 동일한 sender로 향하는 프레임을 받을 때 어느 인터페이스로 전달할지 결정할 수 있다.
- Filtering: 프레임의 목적지 MAC 주소를 확인하고, 일치 하지 않는 노드로 전달하지 않는다.
- Flooding: 송신자를 제외하고 다른 모든 노드로 프레임을 전달한다.
- Forwarding: 프레임의 목적지 MAC 주소를 확인하고, 전달하는 과정
- 네트워크에서 데이터를 전달하는 데 사용되는 장비로, store-and-forward 작업을 수행하여 패킷을 수신하고 적절한 output으로 전달
- 레이어의 차이
- Switch: 스위치는 2계층(링크 계층) 디바이스로 이더넷 프레임의 MAC 주소를 참조하여 주로 내부 네트워크에서의 트래픽 전달에 사용된다.
- Router: 라우터는 주로 3계층(네트워크 계층) 디바이스로 IP 주소를 기반으로 데이터 패킷을 전달하며, 라우팅 알고리즘을 사용하여 네트워크 간 경로를 결정한다.
- Forwarding Table의 구성 방식
- Switch: 스위치는 패킷의 출발지 MAC 주소를 기반으로 스스로 학습하여 스위치 테이블을 구성하여 학습된 MAC 주소를 사용하여 프레임을 전달한다.
→ 최적 경로에 특화되어 있지는 않다.
→ 전송 과정 최적화: 라우팅과 같은 IP 주소를 기반으로 한 경로 탐색 과정을 생략하고 목적지를 직접 찾아가기 때문에 더 빠른 전송 속도를 제공한다.- Router: 라우터는 라우팅 알고리즘을 사용하여 Forwarding Table(전달 테이블)을 구성한다.
해당 테이블을 사용하여 최적 경로를 결정할 수 있다.
하나의 물리적 네트워크를 논리적으로 분할하여 여러 개의 가상적인 네트워크 그룹으로 나누는 기술
- VLAN은 물리적인 네트워크 구조와는 별개로 네트워크 장치들을 다른 그룹으로 나누어, 서로 다른 그룹 간에는 독립적인 통신을 할 수 있도록 한다.
이를 통해 LAN 환경을 논리적으로 분할하여 네트워크 트래픽을 관리하고, 필요에 따라 분리할 수 있다.
Port-based VLANs: 스위치는 여러 개의 포트를 가지고 있는데 VLAN을 통해 이러한 포트들을 가상 LAN에 속하도록 설정함으로서 논리적으로 분리된 네트워크 그룹을 형성할 수 있다.
- 물리적 스위치를 사용하여 VLAN을 설정하면, 각각의 VLAN은 서로 다른 가상 LAN으로 간주될 수 있다.
- 스위치 내의 포트들은 사용자가 설정한 VLAN에 속하며, VLAN에 속한 장치들끼리는 동일한 네트워크에 있지만 다른 VLAN과는 독립적으로 통신할 수 있다.
- 예를 들어, 16개의 포트를 8개의 포트를 가진 두 개의 VLAN으로 나눈다면, 각 VLAN은 서로 다른 브로드캐스트 도메인을 형성하게 된다.
이는 각 VLAN 내에서 발생한 브로드캐스트 메시지가 동일 VLAN에 속한 장치로만 전송되며, 다른 VLAN으로는 전달되지 않게 되어 네트워크 오버헤드를 줄이고 트래픽을 효율적으로 관리할 수 있다.
Trunk port: 여러 스위치 사이에 VLAN 정보를 전송하고 받는 역할
기존의 IP 기반 라우팅 방식은 데이터 패킷을 전달할 때마다 목적지 주소를 기반으로 최적의 경로를 찾아야 하며, 이 과정에서 라우팅 테이블을 참조하고 분석하는 데 시간이 소요된다.
MPLS는 라우터가 패킷을 전달할 때 라벨(Label)이라는 헤더 정보를 이용하여 경로를 사전에 지정하는 기술이다.
과정
- Labeling: 각각의 패킷에 라벨을 할당하여 해당 패킷이 특정 경로를 따라가도록 지정
- Label Switching: 라벨 스위치라고 하는 특수한 장비들을 통해 전송
- MPLS capable router (Label-Switched-Router): MPLS를 지원하는 라우터로, IP 주소를 참고하는 대신 레이블만을 확인하여 패킷을 포워딩한다.
- Path Determination: 라벨을 통해 데이터 전송 경로를 지정