공부하는 스누피

[네트워크] 이더넷 본문

CS/네트워크

[네트워크] 이더넷

커피맛스누피 2020. 11. 3. 13:26

이더넷(Ethernet)은 LAN, WAN, MAN 환경에서의 통신 표준 중 하나이다. OSI 모델의 물리 계층에서 신호와 배선, 데이터 링크 계층에서 MAC 패킷과 프로토콜의 형식을 정의한다. 대부분 IEEE 802.3 규약으로 표준화되어 지금까지도 가장 널리 사용되고 있다.

 

모든 이더넷 기술은 네트워크 계층에게 비연결형 서비스를 제공해준다. 그래서 단순하고 저렴한 비용으로 구현이 가능하지만, 비신뢰적인 서비스를 제공해 오류 검사에 대한 결과를 송신자에게 알려주지 않는다. 만약 손실된 데이터그램이 있으면 라우터단에서 폐기되는데, 트랜스포트 계층에서 확인(ACK)과 재전송 작업을 수행한다.

 

버스 토폴로지와 허브 기반의 스타 토폴로지를 사용하던 때의 이더넷 표준은 브로드캐스트 링크여서 프레임 충돌이 발생할 수 있었다. 그래서 이더넷 표준에 CSMA/CD 프로토콜을 포함시켜 충돌을 처리하고자 했다. 현재 많이 사용되는 이더넷은 저장 후 전달 패킷 교환을 하는 스위치 기반의 스타 토폴로지여서 충돌이 발생하지 않는다.

 

이더넷 프레임 구조

https://www.gatevidyalay.com/ethernet-ethernet-frame-format/

- 데이터 필드(46~1500byte) : IP 데이터그램을 운반한다.

 

- 목적지 주소(6byte): 목적지 어댑터의 MAC 주소

 

- 출발지 주소(6byte): 프레임을 랜으로 전송하는 어댑터의 MAC 주소

 

- 타입 필드(2byte): 네트워크 계층 프로토콜을 표시한다. (상위 계층의 프로토콜로 연계시키는 역할/포트 번호랑 비슷)

 

- 순환중복검사 CRC(4byte): 수신 어댑터가 프레임 오류 검출을 할 수 있게 한다.

CRC 코드는 다항식 코드로도 알려져 있다. 전송되는 비트열에 있는 0과 1 값을 계수로 갖는 다항식처럼 이해하기 때문이다. 송신자와 수신자는 생성자로 알려진 비트 패턴에 대해 합의한다. 수신자는 데이터+추가비트를 생성자 비트로 나눈다. 나머지가 0이 아니면 오류가 발생한 것이다. -2 연산은 각 비트를 XOR한 것과 같다.

 

- 프리앰블 preamble+start frame delimiter(8byte): 프리앰블의 첫 7바이트는 수신 어댑터를 깨우고, 동기화시키는 역할을 한다. 8번째 바이트는 수신자에게 중요한 데이터가 오고 있음을 알려준다.

 

 

 

 

(참고) 

James F. Kurose. Computer networking a top-down approach. 7th edition

Comments