이더넷의 역사
이더넷 프레임의 필드
이더넷 프로토콜로 사용되는 매체 접근제어 방법의 기능과 특징
이더넷의 물리 계층과 데이타 링크 계층의 형태
이데넷 허브와 스위치의 차이점
ARP (Address Resolution Protocol) 프로토콜의 설명
IEEE 표준
이더넷의 최초 버전이 바로 세계 최초의 랜 이었다. 이더넷은 30여 년 전에 제록스사의 Robert Metcalfe와 그의 동료들에 의해 설계된 것이다. 최초의 이더넷 표준은 1980 년에 DEC(Digital Equipment Company), 인텔, 제록스로 구성된 컨소시엄(DIX)에서 제정되었다. 메카페는 이더넷 표준을 필요로 하는 모든 사람과 공유하기를 원했다. 그리하여 DIX는 새로운 표준을 공개 표준으로 하여 어느 회사에게나 공개하였다. 이더넷 표준을 이용하여 개발된 최초의 제품은 1980 년대 초기부터 시장에 출시되었다.
1985 년에 IEEE 표준화 기구는 소규모 네트워크와 중규모 네트워크를 위한 LAN 표준안을 발표하였다. IEEE의 LAN 표준은 802라는 숫자로 시작된다. 이더넷에 기반을 둔 표준은 802.3이다. IEEE는 이 표준들이 ISO의 OSI 참조 모델에 잘 호환되도록 설계하고자 하였다. 호환성을 보증하기 위해 IEEE 802.3 표준은 OSI 모델의 1 계층과 2계층의 하위 서브 계층의 필요성을 강조 했다. 그 결과, 원래의 802.3 표준에 약간의 수정이 가해지게 되었다.
이더넷은 OSI 모델의 하위 두개 계층인 데이타 링크 계층과 물리 계층을 제어 한다.
이더넷은 OSI 모델의 두개 계층을 제어 한다. OSI 모델은 이더넷과 연관되는 기능을 제공하지만 실제적으로 데이터 링크 계층의 하위 서브 계층인 매체 접근제어(MAC) 계층과 물리 계층으로 구현 된다.
1 계층에서의 이더넷은 신호와 매체를 통해 전달되는 비트 스트림, 매체에 시그널을 제공하는 물리적인 요소와 다양한 토폴로지를 포함 한다. 이더넷의 1계층은 장치들 사이에서 발생하는 통신에 주요한 역할을 담당 하지만 기능상에 제한점이 있다.
그림에서 보여 지는것과 같이 2 계층에서의 이더넷은 1 계층의 이러한 제한점을 해결한다. 데이타링크 부 계층은 기술적인 호완성과 컴퓨터 통신의 기능을 수행한다. MAC 부 계층은 정보를 전송하기 위한 물리적 요소와 연관이 있고 매체를 통하여 데이터 전송을 준비 한다.
LLC 부 계층은 통신을 수행하기 위해 이용되는 물리계층과 독립적으로 동작한다.
이더넷은 데이타 링크 계층의 기능을 2개의 부 계층으로 구분 하는데, LLC 와 MAC 부계층이다. OSI 모델에 있는 데이타 링크 계층의 기능은 LLC와 MAC 부 계층으로 나누어 진다. 이러한 부 계층의 사용으로 다양한 단말 장비들 간에 완전하게 호환이 이루어진다.
이더넷 IEEE 802.2 표준에서는 LLC 부 계층의 기능을 정의하고, 802.3 표준에서는 MAC 부 계층과 물리계층의 기능을 정의 한다. LLC 부 계층은 상위 계층, 네트워킹 소프트웨어와 하드웨어인 하위 계층과 통신을 다룬다. LLC 부 계층은 전형적인 IPv4 패킷을 처리하고 목적지 노드에 패킷을 전송하기 위해 제어 정보를 추가한다. 2 계층은 LLC를 통해 상위 계층과 통신 한다.
LLC 는 소프트웨어로 구현 되는데 물리적 장비와는 독립적이다. 컴퓨터에서 LLC는 NIC을 동작시키는 드라이버 소프트웨어 이다. NIC 드라이버는 매체와 MAC 부 계층 사이에 데이타를 전달하기위해 NIC의 하드웨어를 제어하는 프로그램이다.
MAC은 데이타 링크 계층의 하위 이더넷 부 계층이다. MAC은 하드웨어로 구현되는데 일반적으로 NIC (Network Interface Card) 이다.
이더넷 MAC 부 계층은 2가지 기본 의무 기능이 있다.
데이터 갭슐화
매체 접속 제어
데이터 캡슐화
데이터 갭슐화는 3가지 기본 기능을 제공한다.
프레임 구분
어드레싱
오류 감지
데이터 캐슐화 절차는 프레임 수신지에 전달과 파싱전에 프레임을 조합한다. 프레임을 구성 하는데 MAC 계층은 3계층의 PDU에 헤더와 트레일러를 추가한다. 프레임의 사용은 매체에 비트를 전송하는데, 수신 노드에서 비트를 모으는데 도움을 준다.
프레임화 절차는 프레임을 만드는 그룹화된 비트를 구분하는데 사용되는 중요한 구분자를 제공한다. 이 절차는 전송과 수신 노드 사이에 동기를 제공한다.
또한 갭슐화 절차는 데이터링크 계층의 목적지의 MAC 주소를 추가하는 기능을 수행한다. 프레임에 추가된 이더넷 헤더는 프레임이 목적지 노드까지 전달 될 수 있도록 해 주는 물리주소(MAC 주소)를 포함한다.
추가적인 데이터 갭슐화의 기능은 오류 감지 이다. 각 이더넷 프레임은 CRC(cyclic redundancy check) 값을 가지는 트레일러가 있다. 프레임을 받은 후에 수신 노드에서는 프레임내에 원래 포함되어 있는 값과 비교하기 위해 CRC 값을 생성 한다. 2개의 계산된 CRC 값이 일치가 되면 프레임은 오류 없이 전송 되었다고 믿을 수 있다.
매체 접속 제어
MAC 부 계층은 매체에 프레임이 접근 될 수 있도록 하고, 매체로부터 프레임을 가져올 수 있도록 한다. 이름에서 알 수 있듯이 매체를 접속하는 기능을 제어 한다. MAC 부 계층은 프레임의 전송을 시작하고 충돌에 의한 전송 실패를 복구 한다.
논리적 토폴로지
밑줄 친 이더넷의 논리적 토폴로지는 다중 접속 버스이다. 이것은 네트워크 세그먼트의 모든 노드(장치)가 매체를 공유하는 것을 의미 한다. 즉, 그 세그먼트에 있는 모든 노드는 세그먼트에 있는 임의의 노드에서 전송된 모든 프레임은 받을 수 있다.
모든 노드는 모든 프레임을 받을 수 있기 때문에 각각의 노드는 프레임을 수신하여 처리 하는 것을 결정 해야 한다. MAC 주소에 의해 제공되는 프레임의 주소 체계를 검사 하는 것이 필요하다.
이더넷은 노드들이 서로 어떻게 매체에 접근 해야 할 것인 지, 그 방법을 제공한다. 초기 이더넷의 매체 접속 제어 방법은 CSMA/CD 이다. 충돌 이 방법은 뒤에 이 챕터에서 소개 한다.
인터넷에서 대부분의 트래픽은 이더넷으로부터 발생하여 이더넷으로 들어 간다. 고속 LAN 기술을 구축하기 위해 이더넷은 1970년대부터 발전되어 왔다. 광섬유가 개발 되었을 때 이더넷은 광섬유의 엄청난 전송률과 매우 낮은 오류율의 장점을 얻기 위해 이 새로운 기술을 채택 하였다. 이더넷 기술은 3Mbps의 전송 속도에서 오늘날 10 Gbps의 속도까지 이르렀다.
이더넷의 성공 요인은 다음과 같다.
유지 관리의 단순함과 편리성
새로은 기술과의 용이한 접목
신뢰성
낮은 설치 비용과 업그레이드 비용
또한 기가비트 이더넷의 출현으로 도시규모의 네트워크 범위를 서비스하거나 국가 간의 영역을 다룰 수 있는 MAN(Metropolitan Area Network)이나 WAN 기술의 표준으로 자리잡아가고 있다.
물리계층과 연결된 기술로 이더넷은 프레임 비트가 신호로 매체를 통해 전달 되도록 인코딩과 복호화 기능을 수행 한다. 이더넷 장치들은 케이블의 광대역과 연결 규격을 사용한다.
오늘날 네트워크에서 이더넷은 허브나 스위치 같은 중간단계의 장비를 통해서 네트워크 장비들을 연결하기 위해 UTP 구리선과 광 섬유를 사용한다. 이더넷은 다양한 형태의 매체를 지원 하기 때문에 이더넷 프레임 구조는 물리적 구현 방법을 통해 서로 일치 한다. 바로 이런 이유로 현재의 네트워킹 요구사항을 만족 시킬 수 있는 것이다.
이더넷 기술을 위한 재단이 알로하넷이라는 프로그램으로 1970년대에 처음으로 설립이 되었다. 알로하넷은 하와이의 여러섬들이 공유 라디오 주파수를 통해 정보를 전송할 수 있도록 설계된 디지털 라디오 네트워크 이다.
알로하넷은 스테이션이 응답이 없는 경우 짧은 대기시간 후에 재 전송을 요구하는 프로토콜을 따르도록 요구 했다. 이 방법으로 공유 매체를 사용하는 기술이 후에 이더넷을 구성하는 데 유선 기술로 적용 되었다.
이더넷은 공유 버스 토폴로지로 서로 연결되는 다중의 컴퓨터에 적합 하도록 설계 되었다.
이더넷의 초기 버전은 CSMA/CD로 알려진 매체 접근 방식 이다. CSMA/CD는 다중의 장비가 공유하는 물리적 매체를 통해 통신을 시도할 때 발 생하는 문제를 관리 한다.
초기의 이더넷 매체
이더넷의 초기 버전은 버스 토폴로지로 컴퓨터를 연결하기 위해 동축 케이블을 사용 하였다. 각각의 컴퓨터는 백본에 직접 연결 되었다. 초기의 이더넷은 thicket(10BASE5)와 thinnet(10BASE2) 으로 알려 졌다.
10BASE5 또는 thicknet은 500m 거리 까지 신호를 증폭하지 않고 보낼 수 있다. 10BASE2 또는 thinnet은 직경이 작고 더 유연한 동축 케이블을 사용하는데 케이블링 거리가 185 미터이다.
초기에 구현된 이더넷을 현재와 미래의 이더넷으로 변경할 수 있는 것은 2계층 프레임의 구조가 사실상 바뀌지 않았기 때문이다. 물리적인 매체, 매체 접근 그리고 매체 제어는 계속 발전되어 왔다. 그러나 이더넷 프레임 헤더와 트레일러는 변하지 않았다.
초기 이더넷은 공유 매체의 접근이 CSMA 방법에의해 관리되는 낮은 대여폭의 LAN 환경에서 구현 되었는데 후에 CSMA/CD로 변경 되었다. 더구나, 데이터 링크계층에서 논리적 버스 토폴로지가 되도록 이더넷은 물리적 버스 토폴로지를 사용 한다. LAN이 더욱 커지고 LAN 서비스의 요구 사항이 증가함에 따라 이 토폴로지는 더욱 문제가 발생 했다.
초기의 thick 동축 케이블과 thin 동축 케이블은 UTP 케이블의 초기의 카테고리로 교체 되었다. 동축 케이블과 비교하면 UTP 케이블은 더욱 작업하기 쉽고, 가벼우며, 비용이 저렴하다.
물리적 토폴로지는 허브를 사용하여 스타 토폴로지로 변경 되었다. 집중화하여 허브로 연결 한다. 다시 말하면, 네트워크 입장에서는 노드로 그룹을 형성해서 하나의 단위로 볼 수 있게 한다. 프레임이 임의의 포트에 도착 했을 때 다른 포트에 복사되고 LAN의 모든 세그먼트에서 그 프레임을 받는다. 버스토폴로지에서 허브를 사용하여 어느 하나의 케이블이 전체 네트워크에 영향을 주지 않고 실패하게 함으로 네트워크의 신뢰성을 증가 시켰다. 그러나 모든 다른 포트로 프레임을 전송함으로 충돌의 문제는 해결이 않된다. 이 챕터 뒷 부분에 충돌이 이더넷 네트워크에서 스위치를 사용하여 어떻게 해결이 되는지 소개 할 것이다.
레거시 이더넷
10BASE-T 네트워크에서, 전형적으로 네트워크 세그먼트의 중심 포인트는 허브 이다. 이것은 공유 매체 이다. 매체가 공유되기 때문에 한 순간에 하나의 노드(스테이션)에서만 성공적으로 전송을 할 수 있다. 이러한 형식의 통신은 반이중방식 이다.
이더넷 네트워크에 더 많은 장치가 연결됨에 따라 프레임의 충돌은 많이 발생한다. 통신량이 많지 않을 경우에 발생하는 충돌은 CSMA/CD 방식에 의해 성능에 큰영향 없이 관리 된다. 그러나, 장치와 데이터의 트래픽이 증가함에 따라 충돌의 발생은 성능에 큰 영향을 준다.
좋은 예로,우리가 직장이나 학교에 가기 위해 아침 일찍 출발을 하면 도로는 상대적으로 한산하고 혼잡하지 않다. 도로에 차가 많아지면 충돌이 많아지고 속도는 떨어진다.
현재의 이더넷
이더넷을 기반으로한 네트워크에서 LAN의 성능향상을 가져온 발전은 허브를 대체하여 스위치가 사용된 것이다. 스위치는 100BASE-TX 이더넷의 발전으로 더욱 진가를 발휘했다. 스위치는 각 포트를 분리함으로 데이터의 흐름을 제어할 수 있고, 모든 호스트에 프레임을 전송하지 않고 목적지(목적지를 알 수 있다면)에만 프레임을 전송한다.
스위치는 프레임을 받는 호스트의 수를 줄여 줌으로 충돌의 발생 가능성을 줄이거나 최소화 한다. 이것은 나중에 소개될 전이중방식의 통신(시그널을 동시에 보내고 받을 수 있게 연결이 되는)으로서 1Gbps 이상으로 이더넷이 발전할 수 있게 했다.
매일 네트워크 링크를 통해 전달되는 응용 서비스의 데이터 양이 많기 때문에 성능이 좋은 네트워크도 전달 속도가 떨어진다. 예를 들면, VoIP(Voice over IP)와 멀티미디어 서비스는 100Mbps 이더넷 보다 더 빠른 속도를 요구한다.
기가비트 이더넷은 1000Mbps(1Gbps) 보다 빠른 대여폭을 구현하는데 사용 된다. 이 대여폭은 전이중전송방식과 UTP, 초기 이더넷의 광 매체 기술로 만들어졌다.
네트워크 성능의 증가는 100Mbps에서 1Gbps 이상의 처리량으로 증가 할 때 의미가 있다.
1Gbps 이더넷으로 성능을 향상 한다는 것은 지금 있는 네트워크의 케이블 기반 시설과 스위치를 전부 교체 해야 한다는 것은 아니다. 현재의 장비와 케이블, 디자인이 잘 되고 설치된 네트워크는 최소의 업그레이드만으로 높은 속도를 낼 수 있다. 이러한 능력은 네트워크를 관리하는데 전체 비용을 줄일 수 있다.
랜의 이더넷
이더넷 기반의 네트워크에서 광 케이블을 사용하는 케이블링 거리가 증가 함으로 LAN과 WAN의 영역이 없어지고 있다. 초기에는 이더넷이 한 건물의 LAN 케이블 시스템에 제한적으로 사용 되었는데 여러 빌딩들로 확장이 되었다. 지금은 이더넷이 도시망(MAN)까지 확장 되었다.
이더넷 프레임 구조는 메세지를 보내기 위해 3계층의 PDU에 헤더와 트레일러를 추가 한다.
이더넷의 헤더와 트레일러는 이더넷 프로토콜에의해 사용되는 여러 정보를 가지고 있다. 프레임의 각 부분은 필드라는 부분이 있다. 이더넷 프레임의 구조는 IEEE 802.3(초기버젼)과 개정된 IEEE 802.3(이더넷)이 있다.
프레이밍 구조의 차이는 많지 않다. IEEE 802.3(초기버젼)과 개정된 IEEE 802.3의 차이는 아래 그림에서 보는것과 같이 SFD(Start Frame Delimiter)와 길이를 포함하는 형식 필드이 조금 변경 되었다.
이더넷 프레임 크기
초기 이더넷 표준은 64바이트의 최소 크기와 1518바이트의 최대 크기로 정의 되었다. 이것은 목적지 MAC 주소 필드에서 프레임 검사 순서(FCS) 필드까지 모두를 포함한다. 프리엠블과 SDF(Start Frame Delimiter) 필드는 프레임의 크기에 포함 되지 않는다. 1998년에 발표된 IEEE 802.3ac 표준은 허용할 수 있는 프레임의 크기를 1522바이트까지 확장 하였다. 프레임 크기가 VLAN (Virtual Local Area Network) 기술을 적용하기 위해 커졌다. VLAN은 스위치로 구성된 네트워크로 생성 되는데 다음 코스에서 다루어 진다.
전송되는 프레임의 크기가 최소보다 작거나 최대 보다 클 경우에는 수신 장치는 그 프레임을 제거한다. 제거된 프레임은 충돌의 결과나 다른 원치 않은 신호로 될 수 있기에 적당하지 않다.
필드의 설명을 보려면 각 필드의 이름에 마우스 커서를 갖다 놓아라.
프리엠블과 시작 프레임 구분자(SFD)필드
프리엠블(7바이트)과 시작 프레임 구분자(1바이트)필드는 전송과 수신 장치사이에 동기를 위해 사용된다. 프레임의 처음 8바이트는 수신 노드에 주의를 끌기 위해 사용 된다. 즉, 처음부터 8바이트는 수신지에 새로운 프레임의 시작을 알려 준비를 시킨다.
목적지 MAC 주소
목적지 MAC 주소 필드(6바이트)는 도착지 컴퓨터의 식별 정보이다. 이 주소는 2계층에서 프레임이 목적지 장치들에 전송 되는데 사용된다. 프레임에 있는 주소는 수신 장치의 MAC 주소와 비교한다. 서로 MAC 주소가 같으면 그 장치는 프레임을 수신한다.
발신지 MAC 주소
발신지 MAC(6바이트) 주소 필드는 프레임이 출발한 NIC과 인터페이스를 나타낸다. 스위치 역시 검색 테이블에 이 주소를 입력하고 사용한다. 스위치의 역할은 이 챕터의 뒷 부분에서 설명 할 것이다.
길이/유형 필드
길이/유형 필드(2바이트)는 프레임의 데이타 필드의 길이를 정확하게 정의 한다. 이 값은 메세지가 잘 도착 한 것을 확인하기 위해 FCS 값의 일 부분으로 사용 한다. 갈이와 유형 값이 둘다 여기 입력 된다. 그러나 구현 할 때는 그중 한개 값이나 다른 값이 사용 될 수 있다. 만약 이 필드가 유형을 표시 한다면 유형 필드는 어느 프로토콜이 구현 되었는 지 나타 낸다.
길이/유형을 표시하는 이 필드는 초기의 IEEE 버젼에서는 길이로만 표시 되었고 DIX 버젼에서는 유형 으로만 정의 되어 있었다 이 두 필드의 사용은 모든 산업체에서 일반화 되었기 때문에 후에 IEEE 버젼에서는 공식적으로 통합 되었다. 이더넷 II 유형 필드는 현재의 802.3 프레임 정의로 통합되었다. 이더넷 II는 TCP/IP 네트워크에서 사용되는 이더넷 프레임의 형식 이다. 노드가 프레임을 수신 할 때 상위계층의 어떤 프로토콜이 존재 하는지를 결정하기 위해 길이/유형 필드를 검사한다. 만약 2 옥텟 값이 16진수 600이나 10진수 1536과 같거나 이보다 크다면 데이터 필드의 내용은 표시된 프로토콜에따라 해석 되어야 한다.
데이터와 패드 필드
데이타와 패드 필드(46-1500 바이트)는 상위 계층의 캡슐화된 데이터를 포함하는데 3계층 최대 전송단위(PDU) 이거나 일반적으로 IPv4 패킷이다. 모든 프레임은 적어도 64바이트 이상이 되어야 한다. 작은 패킷이 캡슐화 되었다면 패드는 이 최소 크기에 덧 붙여서 프레임의 크기를 증가 시키는 데 사용 된다.
FCS(Frame Check Sequence) 필드
FCS(Frame Check Sequence) 필드(4바이트)는 프레임에서 에러를 찾기위해 사용 한다. FCS는 CRC(cyclic redundancy check)을 사용 한다. 송신 측 장치에서 프레임의 FCS 필드에 CRC 결과 값을 포함한다.
수신측 장치에서 프레임을 받고 에러를 찾기위해 CRC 값을 계산한다. 계산 결과가 맞으면 프레임은 이상이 없는 것이다. 계산 결과가 맞지 않으면 데이타가 변경 되었다는 것을 알 수 있으며, 이 프레임은 삭제 된다. 데이터가 변경 되었다면 비트를 표현하는 전기 신호에 문제가 있었다는 것을 알 수 있다.
초기에 이더넷은 버스 토폴로지로 구현이 되었다. 모든 네트워크 장치는 같은 공유 매체에 연결이 되었다. 트래픽과 네트워크 규모가 작으면 이 방법은 적용할 만 하다. 해결하기위한 중요한 문제는 각각의 장치를 어떻게 분리 하느냐 이다. 신호가 모든 장치에 전송이 되지만 어떻게 원하는 장치로 메시지가 수신 된것을 구별 할 수 있겠는가?
이 유일한 구분자는 MAC 주소라고 하는데, 이더넷 네트워크 안에서 발신지와 수신지의 주소를 결정하기 위해 생성이 된다. 다양한 이더넷의 종류에 상관없이 MAC 주소는 OSI 모델의 하위 계층에서 장비를 구분 해 주는 방법을 제공한다.
MAC 주소는 2계층 PDU로 추가된다. 이더넷 MAC 주소는 48비트 2진수 값인데 12 개의 16진수로 표현 한다.
MAC 주소 구조
MAC 주소 값은 IEEE에 의해 관리 되는데, 공급업체가 각각 이데넷 장비에 유일한 주소를 가질 수 있도록 한다. IEEE에 의해 만들어진 이 규정은 이더넷 장비를 판매하는 공급 업체가 IEEE에 MAC 주소를 등록 하도록 한다. IEEE는 공급업체에 OUI(Organizationally Unique Identifier)라는 3 바이트 코드 값을 할당 한다.
IEEE는 공급업체에 2가지 단순한 규칙을 따르도록 한다.
NIC이나 다른 이더넷 장치에 할당된 MAC주소는 첫 3바이트에 공급업체에 할당된 OUI 값을 사용하여야 한다.
같은 OUI값을 갖는 MAC 주소는 마지막 3바이트에 유일한 값(공급업체 코드나 일련번호)으로 할당 되어야 한다.
MAC 주소는 읽기 전용 메모리에 새겨져 나오기 때문에BIA(burned-in address)라고 부른다. 이것은 주소가 ROM 칩에 코드화되어 소프트웨어로 변경 할 수 없다.
그러나 컴퓨터가 시작 될 때 NIC는 그 주소를 RAM에 복사 한다. 프레임이 검사될 때 RAM에 저장된 MAC 주소가 발신지 주소로 도착한 프레임의 목적지 주소와 비교 된다. NIC는 MAC 주소를 이용하여 메세지가 상위계층으로 전달 될 수 있는가 결정 한다.
네트워크 장치
발신 장치에서 이더넷 네트워크로 메세지를 전송할 때 목적지 MAC 주소로 헤더 정보가 추가 된다. 발신 장치는 네트워크를 통해 데이터를 전송 한다. 네트워크에 연결된 NIC는 MAC 주소가 자기의 물리 주소와 같은지를 보기 위해 정보를 읽는다. 만약 같지 않으면 그 수신 장치는 프레임을 버린다. 프레임이 목적지에 도착하면 NIC의 MAC 주소와 도착한 프레임의 목적지 MAC 주소와 비교하고 일치하면 NIC는 OSI 상위 계층에 프레임을 올려주고 역캡슐화작업이 이루어 진다.
이더넷 LAN에 연결된 모든 장치들은 MAC 주소 인터페이스를 갖는다. 서로 다른 하드웨어 소프트웨어 제조업자들은 16진수 형태의 다른 값으로 MAC 주소를 표현한다. 주소 형태는 다음과 같이 00-05-9A-3C-78-00, 00:05:9A:3C:78:00, 또는 0005.9A3C.7800로 표현된다. MAC 주소는 네트워크상에서 데이터가 발신되고 수신되는 워크스테이션, 서버, 프린터, 스위치와 라우터에 할당된다.
16진수 체계
16진수는 2진 값을 표현하는데 유리 하다. 10진법은 10진수 체계, 2진법은 2진수체계, 16진법은 16진수 체계에 따른다.
16진수 체계는 숫자 0에서 9까지, 문자 A에서 F까지 사용한다. 다음 그림은 2진수 0000에서 1111까지 10진수, 2진수, 16진수의 같은 값을 나타 낸다. 4비트보다 하나의 16진수 값으로 표현하는 것이 더 쉽다.
바이트의 이해
1 바이트인 8비트는 2진수 집합인데 2진수 값 00000000 에서 11111111 까지는 16진수 값으로 00 에서 FF까지 나타낸다. 8비트로 표현하기 위해 0 값으로 시작되도록 표시된다. 예를 들면 2진수 값 0000 1010 은 16진수로 0A이다.
16진수 값의 표현
노트 다음그림에 보여준것 같이 10진수 0에서 9까지 값과 16진수 값을 구별하는것은 중요하다.
16 진수 값은 0x(예를 들면 0x73)로 시작하거나 밑수 16으로 표현된다. 흔하지는 않지만 73H와 같이 H문자가 뒤에 나온다. 그러나 일반 프로그래밍 환경에서 밑 수가 인식 되지 않기 때문에 16진수는 앞에 "0x"(제로 x)로 표현한다. 그러므로 위의 예는 0x0A 와 0x73으로 표현된다.
16진수는 MAC주소나 IPv6 주소를 표현하는데 사용한다. 와이어샥(Wireshark)에서 패킷의 바이트 값으로 16진수를 사용하는데 프레임이나 패킷안에서 2진수를 표현하기 위한 것이다.
16진수 변환
10진수와 16진수 간의 변환은 직접 할 수 있으나 16으로 나누거나 제곱을 하는것은 항상 편리한 것은 아니다. 변환이 필요하다면 10진수나 16진수를 2진수로 변환 한 다음 2진수 값을 10진수나 16진수로 바꾸는 것이 쉽다.
실제로, 10진수와 16진수 값으로 대응되는 2진 비트 방식을 인식하는것이 가능하다. 다음 그림은 선택된 8비트 값의 방식을 보여준다.
MAC 주소 보기
컴퓨터의 MAC 주소를 보는 명령은 ipconfig /all 또는ifconfig 이다. 그림에서 컴퓨터의 MAC 주소를 찾아보아라. 알았다면 너희 컴퓨터에서 MAC 주소를 검색해 보아라.
컴퓨터의 NIC을 만든 회사를 알려면 MAC 주소의 OUI 값을 알아 내면 된다.
데이타 링크 계층
OSI 데이타 링크 계층(2계층)의 물리 주소는 이더넷 MAC 주소로 만들어 지는데 지역 매체에 프레임을 전송하기 위해 사용 된다. 유일한 호스트 주소를 제공하더라도 물리 주소는 계층적인 주소가 아니다. 물리주소는 연결된 네트워크나 위치에 상관없이 특정한 장치에만 관련이 있다.
2 계층의 주소는 지역 네트워크 매체의 밖에서는 의미가 없다. 패킷은 목적지에 도달 하기 전에 지역이나 넓은 영역의 네트워크에 있는 여러개의 서로 다른 데이타링크 기능을 수행하는 장치를 거쳐야 한다. 그런데 발신 장치는 중간이나 목적지 네트워크에 사용되는 기술 또는 2계층의 주소체계와 프레임 구조에도 없다.
네트워크 계층
IPv4 주소체계와 같이 네트워크 계층(3계층) 주소는 발신지와 수신지에서 모두 인식할 수 있는 논리적 주소를 제공한다. 최종 목적지에 도달하기 위해 패킷은 발신지로부터 목적지의 3계층 주소에 전달된다. 전달중에 서로 다른 데이터 링크 계층의 프로토콜로 프레임화 되기 때문에 각 싯점에서 전달되는 2계층 주소는 지역망의 매체에만 적용이 된다.
간단하게 요약하면:
네트워크계층 주소는 패킷이 목적지에 도착 되어 전달 되도록 한다.
데이타 링크 계층의 주소는 패킷이 세그먼트를 통해 지역 매체에 전달 되도록 한다.
이더넷에서는 서로 다른 MAC 주소들이 제 2 계층 유니캐스트, 멀티캐스트, 그리고 브로드캐스트 통신을 위해 사용된다.
유니캐스트
유니캐스트 MAC 주소는 프레임이 하나의 전송 장치에서 하나의 목적 장치로 전송이 되는데 사용되는 유일한 주소이다.
다음 그림에 보여준것 같이 예를 들면, IP 주소가 192.168.1.5(발신)인 호스트는 IP 주소가 192.168.1.200인 서버에 웹문서를 요청한다. 유니캐스트 패킷이 전송되거나 수신되기 위해 목적지 IP 주소는 패킷의 헤더에 있어야 한다. 대응되는 목적지 MAC 주소도 이더넷 프레임 헤더에 존재 해야 된다. IP 주소와 MAC주소는 하나의 특정 목적지 호스트에 전달되기 위해 결합된다.
브로드캐스트
브로드캐스트로 패킷은 목적지 주소부분에 하나의 주소로 통합되어 있는 목적지 IP 주소를 갖는다. 브로드캐스트 목적지 주소는 지역망(브로드캐스트 영역)에 있는 모든 호스트가 패킷을 받고 처리 한다는 것을 의미 한다. DHCP(Dynamic Host Configuration Protocol)나 ARP(Address Resolution Protocol)같은 많은 네트워크 프로토콜은 브로드캐스트를 사용한다. ARP가 2계층에서 3계층주소로 어떻게 매핑을 하는가는 이 챕터 후반에서 다루기로 한다.
다음 그림에서 보여준것 같이, 네트워크에서 브로드캐스트 IP주소는 이더넷 프레임의 브로드캐스트 MAC 주소와 대응이 되어야한다. 이더넷 네트워크에서 브로드캐스트 MAC 주소는 16진수 FF-FF-FF-FF-FF-FF로 표현되는 48바이트가 있다.
멀티캐스트
멀티캐스트 주소는 하나의 발신 장치에서 그룹의 장치로 패킷을 전송하게 한다. 멀티캐스트 그룹에 속해있는 장치들은 멀티캐스트 그룹IP 주소에 할당된다. 멀티캐스트 주소의 영역은 224.0.0.0 에서239.255.255.255 까지 이다. 멀티캐스트 주소는 주소의 그룹(종종 호스트 그룹이라 한다.)을 나타내기 때문에, 패킷의 목적지 주소만 사용 된다. 발신지는 유니캐스트 주소만 갖는다.
멀티캐스트 주소가 원격 게임을 하는데 사용되는것을 예로들면, 많은 경기자가 원격으로 연결되어 있지만 같은 게임을 하고 있는 것과, 같은 반에 연결된 많은 학생들이 비디오 화상회의를 하는 것 이다.
유니캐스트와 브로드캐스트 주소와 같이 멀티캐스트 IP 주소는 지역망에서 프레임을 전달하기위한 대응되는 멀티캐스트 MAC 주소를 요구한다. 멀티캐스트 MAC 주소는 16진수로 01-00-5E 로 시작되는 특수한 값이다. 그 값은 IP 멀티캐스트 그룹 주소의 하위 23비트가 이더넷 주소의 하위 6개의 16진수 문자로 변환 된다. MAC 주소에서 남아있는 비트는 항상 "0" 이다.
그림에서 보여준 예와 같이 16진수 01-00-5E-00-00-0A 이다. 각각 16진수 문자는 4 이진 비트이다.
공유매체 환경에서 모든 장치는 매체를 접근하는데 보장이 되어야 하지만 요청한 순서대로 접근할 수 있는 방법이 없다. 동시에 1개 장치 이상이 전송을 하게 되면 물리 신호는 충돌이 일어나며 네트워크는 통신을 계속하기 위해 복구를 해야 된다.
충돌은 이더넷에서 각 호스트들이 전송을 하기 위해 치러야할 최소한의 비용이다.
이더넷은 충돌을 감지하고 처리하기 위해 CSMA/CD(Carrier Sense Multiple Access with Collision Detection) 방법을 사용 하고 통신이 계속 수행 되도록 한다.
이더넷을 사용하는 모든 컴퓨터는 메세지를 서로 공유하는 매체에 전달하기 때문에 분산된 호스트의 접근 제어 방법(CSMA)이 케이블에 전기 신호를 감지하기 위해 사용된다. 이 장치는 데이터가 전송될 수 있을 때 결정 할 수 있다. 임의의 한 장치가 전송 할 데이터가 있다면, 다른 컴퓨터가 프레임을 전송하거나, 신호를 보내지 않는다는것을 감지 했을 때 그 호스트는 전송을 한다.
전송 감지
CSMA/CD 접근 방법에서 전송할 메시지가 있는 모든 네트워크 장치는 전송 하기전에 검사를 해야한다.
만약 임의의 장치가 다른 장치로 부터 나오는 신호를 감지 했다면 전송을 시도하기 전에 정해진 일정 시간동안 기다린다.
트래픽이 감지 되지 않으면 그 장치는 메시지를 전송 한다. 전송이 진행되는 동안에는 그 장치는 계속해서 LAN에서 발생하는 트래픽이나 충돌을 감시한다. 메세지가 전송된 후에 그 장치는 원래 상태인 감시 모드로 돌아 온다.
다중 접속
만약 두 장치간에 한 장치의 신호지연(latency)이 다른 장치에 의해 감지 되진 않았다면 2번째 장치는 또 전송을 시작 한다. 그렇게되면 동시에 2개의 장치에서 그들의 신호를 전송하게 된다. 그 장치의 메세지들은 서로 만날 때 까지 매체를 통해 전송 될 것이다. 그 싯점에서 신호는 서로 만나고 메시지는 없어질 것이다. 비록 메세지가 잘못 되었어도 남아있는 신호의 혼잡은 매체를 통해서 전파 될 것이다.
충돌 감지
장치가 감지 모드일 때 공유된 매체에 충돌이 발생 한 것을 감지 할 수 있다. 충돌의 감지는 모든 장치가 평소 수준보다 신호의 증폭이 증가하기 때문에 가능하다.
한번 충돌이 발생하면 전송 모드에 있는 장비들 뿐만아나라 감지모드에 있는 나머지 장치들은 신호가 증폭 된 것을 감지 한다. 한번 감지가 되면 전송 중인 모든 장치들은 네트워크에 있는 모든 장치가 충돌을 감지 한것을 확신할 때 까지 계속 전송을 하게 된다.
잼(Jam) 신호 및 랜덤 백 오프(Backoff)
전송중인 장치에 의해 충돌이 감지 되면 그들은 잼(Jam) 신호를 보낸다. 그잼 신호는 다른 장비에게 충돌이 발생한 것을 알리기 위해 사용 하는데, 모든 장비가 충돌을 감지 하면 그 다음 백오프 알고리즘을 수행 한다. 백 오프 알고리즘은 모든 장치가 일정 시간 동안 전송을 멈추고 충돌 신호가 없어 지도록 한다.
일정 시간이 지난후에 모든 장치들은 전송 모든 전 단계인 감지 모드로 돌아 간다. 랜덤 백오프 주기 동안 충동영역에 속해 있는 장치는 동시에 트래픽 전송을 시도하지 않는데 어떤 장치라도 네트워크 매체에 다시 접근을 시도 할 수 있다. 그러나 충돌이 일어난 2개의 장치가 재전송을 하기전에 3번째 장치가 전송을 할 수 있다.
허브와 충돌 영역
충돌은 CSMA/CD 방식을 수용해도 공유 매체를 사용하는 어느 네트워크 토폴로지에서도 발생 할 수 있다. 그래서 충돌이 증가하는 상태를 파악 할 필요가 있다. 인터넷의 빠른 증가로
네트워크에 더 많은 장비들이 연결이 된다.
장치들은 자주 네트워크 매체에 접근을 하게 된다.
장치들간의 거리도 멀어지고 있다.
허브는 공유 매체에 더 많은 노드를 연결할 수 있도록 중간 네트워크 장치로 개발이 되었다. 아는바와 같이 다중 포트 리피터와 같이 허브는 모든 연결된 장치에 신호를 받은 장치를 제외하고 수신한 데이터 신호를 재 전송 한다. 허브는 주소로 직접 데이타를 전송하지 못한다.
허브와 리피터는 이더넷 케이블이 도달할 수 있는 거리를 확장 하는 중간 장치 이다. 허브는 물리계층에서 동작하기 때문에 매체에서 신호만 다루는데 충돌은 연결된 장치와 허브 자신에게서만 발생 할 수 있다.
더 많은 사용자가 네트워크에 접속하기 위해 허브를 사용하는것은 매체의 한정된 용량에 많은 장비들이 공유를 하기 때문에 네트워크 성능을 감소 시킨다.
허브를 통하거나 일련의 직접 연결된 허브를 접근하는 장비들은 충돌 영역을 형성 한다. 충돌 영역은 네트워크 세그먼트라고도 말 한다. 러므로 허브와 리피터는 충돌영역을 확장시키는 문제가 있다.
그림에서 보듯이 물리 토폴로지에서 허브의 연결은 확장된 스타 구조라 한다. 확장된 스타 구조는 충돌 영역을 크게 넓힐 수 있다.
충돌의 증가는 사용자에게 속도의 저하를 가져와서 네트워크의 효율성과 효과를 떨어뜨린다.
CSMA/CD가 프레임 충돌 관리 시스템 이지만 제한된 장치와 단순한 네트워크에서만 충돌을 관리하도록 설계되었다. 그러므로 많은 사용자가 접근을 요구하고 더욱 능동적인네트워크 접속을 하기 위해 다른 처리방법이 필요하다.
이러한 문제를 해결하기 위해 스위치를 사용 한다.
빠른 이더넷의 물리계층을 구현 하려면 충돌을 관리하는데 복잡하게 된다.
지연(Latency)
언급한 것과 같이 전송을 원하는 각 장치는 먼저 매체에서트래픽을 감시 하여야 한다. 트래픽이 없다면 스테이션은 즉시 전송을 개시 할 것이다. 전송되는 전기 신호는 케이블로 전기를 흘려보내는 약간의 시간(지연)이 필요하다. 신호 경로상에 있는 각 허브와 리피터는 프레임을 한 포트에서 다른 포트로 전달하기 위한 지연 시간이 존재 한다.
이 축적된 전송 지연은 허브와 리피터가 메시지 전송을 하고 있을 때 전송을 준비하고 있는 노드가 신호를 전송할 가능성이 있기 때문에 충돌이 발생 할 것이다. 전송 대기 노드에 신호가 도달하지 않아, 이 노드는 매체 사용이 가능하다고 판단했기 때문이다. 이 상태에서 종종 충돌이 발생 한다.
타이밍과 동기화
반이중 모드에서 충돌이 발생하면 전송 장치는 프리앰블로 알려진 타이밍 동기 정보로 64비트를 전송 한다.
그 다음 전송 장치는 완전한 프레임을 전송 한다.
10Mpbs 이더넷 및 이보다 저속의 이더넷은 비동기식 이다. 비 동기식 통신은 각 수신 장치가 수신 데이터에 대해 수신 회로와 동기를 맞추기 위해 8바이트의 타이밍 정보를 사용한 다음 버리게 된다.
100Mbps나 그 이상의 속도가 나는 이더넷의 구현은 동기식 이다. 동기식 통신은 타이밍 정보가 필요하지 않다. 그러나, 호환을 유지하기 위해 프리앰블과 SFD(Start Frame Delimiter)는 여전히 사용한다.
비트 타임
매체의 속도가 서로 다르기 때문에 비트가 저장되고 매체에 전송되기 위한 일정한 시간 이 필요하다. 이 시간을 비트타임 이라고 한다. 10Mbps 이더넷 에서 MAC 부 계층에서 1 비트를 전송하기 위해 100ns(나노초)가 필요하다. 100 Mbps에서는 전송을 위해 10ns 가 필요하다. 1000 Mbps에서는 한 비트를 전송하는데 1ns 가 필요하다. 어림잡아 1ns당 20.3cm(8인치)를 UTP 케이블의 전파 지연 계산에 종종 사용한다. 이는 100m 길이 UTP의 경우, 10BASE-T 신호가 100m 길이의 케이블을 흘러가는데 단지 5비트타임 이하의 시간이 소요된다는것을 의미한다.
CSMA/CD 이더넷이 동작하기 위해 전송 측 장치가 최소 크기의 프레임에 대해 전송을 완료하기 전에 충돌 여부를 알아야 한다. 100Mbps에서 장치 타이밍 면에서 100m 길이의 케이블을 가까스로 수용할 수 있다. 1000Mbps에서는 프레임의 첫 번째 비트가 UPT 케이블의 처음 100m 구간의 끝에 도착하기 전에 최소 크기의 프레임이 거의 대부분 전송되어 버리기 때문에 특별한 조정이 필요하다. 이러한 이유로 10Gbps 이더넷에서는 왜 반이중 전송 방식이 허용 되지 않는지 쉽게 이해 할 수 있다.
이러한 타이밍을 고려하면, 장치가 다음 프레임을 전송할 때 충돌의 발생을 최소화하기 위해 프레임 사이의 간격과 백 오프 시간(다음 섹션에서 논의될 내용)이 적용 되어야 한다.
슬롯 시간
반이중 이더넷에서 데이터는 한번에 한 방향으로만 전송이 되는데슬롯 시간이 얼마나 많은 장치가 네트워크를 공유할 수 있는 지를 결정하는 중요한 요소가 된다. 1000Mbps나 그 이하의 속도를 갖는 모든 이더넷 전송 속도에 대해 표준은 개별 전송은 슬롯타임보다 작지 않아야 된다고 정의 한다.
슬롯 시간을 결정하는것은 충돌을 복구(백 오프와 재전송)하는 요소를 줄이는 것과, 상당한 네트워크 크기를 수용하기에 충분히 네트워크 거리가 필요하다는 것과의 상충관계이다. 절충은 최대의 네트워크 직경(약 2500m)을 선택하는 것이고 다음에 모든 최악의 충돌을 감지하기 위해 충분한 최소의 프레임 길이를 정하는 것이다.
10과 100Mbps 이더넷에서 슬롯 시간은 512비트 시간(64 옥텟) 이다. 1000Mbps 이더넷에 대한 슬롯 시간은 4096비트 시간(512옥텟) 이다.
슬롯 시간은 충돌이 발생한다면 처음 512비트(기가비트 이더넷 에서는 4096)안에 프레임의 전송이 감지 될 것이다라는 것을 보장 한다. 이것은 충돌후 발생하는 프레임의 전송 관리를 단순화 시킨다.
슬롯 시간은 다음의 이유 때문에 중요한 요소 이다.
512 비트 슬롯 시간은 이더넷 프레임의 최소 크기인 64바이트를 설정 한다. 길이가 64바이트 보다 작은 임의의 프레임은충돌 단편 또는 런트 프레임 (runt frame)으로 여겨지고 수신 스테이션에서 자동으로 버려진다.
슬롯 시간은 네트워크 세그먼트의 크기에 대해 제한을 가한다. 네트워크가 너무 커지면 지연된 충돌이 발생 한다. CSMA/CD에 의해 자동으로 프레임 전송이 관리 되는 동안 충돌은 장치에 의해 너무 늦게 감지되기 때문에 지연된 충돌은 네트워크에서 잘못으로 여겨진다.
슬롯 시간은 가장 큰 정상적인 네트워크 구조에서 가장 큰 케이블 길이를 구하기 위해 계산된다. 모든 하드웨어의 지연 시간은 가장 큰 케이블의 길이가 사용되고 32비트 잼(jam) 신호는 충돌을 감지할 때 사용 된다.
실제 계산된 슬롯 시간은 가장 큰 이더넷 충돌영역의 한쪽 끝에서 반대쪽 끝으로 프레임이 전달되어 가능한 한 최악의 경우에 다른 프레임과 충돌한 후 충돌로 생긴 프레그먼트가 전송 측 장치에 다시 보내져서 감지될 수 있을 때 까지의 이론적인 시간 보다 약간 긴 시간이다. 그림을 보시오.
시스템이 정상적으로 동작하려면 첫 번째 전송 장치는 가장 작은 크기의 프레임의 전송이 끝나기 전에 충돌 상태를 알아야 한다.
1000Mbps 이더넷을 반이중 모드로 동작하도록 하기 위하여, 작은 프레임을 전송 할 때 확장 필드를 추가하여 충돌 프레그먼트가 다시 돌아올 수 있을 때 까지 전송 장치가 분주한 상태가 되도록 만들었다. 이 필드는 1000Mbps의 반 이중 링크에서만 존재하고 최소 64옥텟 크기의 프레임을 가지고 슬롯 시간 요구 조건을 만족 할 수 있도록 하였다. 확장 비트들은 수신측 장치에서 폐기된다.
프레임 시간 간격
이더넷 표준은 2개의 프레임이 충돌하지 않을 최소한의 시간 간격을 요구한다. 이 시간 간격은 매체에게 이전 프레임의 전송 후에 안정화될 시간과 장치가 프레임을 처리할 수 있는 시간을 제공 한다. 프레임 사이의 간격이라고 하는데 첫 번째 프레임의 FCS 필드의 마지막 비트와 두 번째 프레임 프리엠블의 첫 번째 비트간의 간격과 같다.
하나의 프레임을 전송 한 후, 10M 이더넷 네트워크내의 모든 장치는 다음 프레임을 이더넷에 전송할 수 있을 때까지 최소 96비트시간(9.6ms)을 기다려야 한다. 이더넷의 이전 버전에서는 간격이 96비트 시간으로 남아 있었는데 프레임 사이의 간격 시간 주기는 더 짧게 맞추어 진다.
장치간의 동기 지연은 프레임 프리앰블 비트의 손실을 초래 할 수 있다. 허브와 리피터가 모든 프레임의 전송을 시작하는데 있어 64비트의 타이밍정보(프리앰블과 SFD)를 재생 함으로 프레임간의 시간 간격의 축소가 어느정도 가능하다. 초 고속 이더넷에서는 때때로 민감한 장치들은 개별 프레임을 인식하지 못하여 통신 실패로 이어질 수 있다.
잼(jam) 신호
이더넷은 모든 장치가 전송시간을 얻기위해 서로 경쟁 한다. 2개의 장치가 동시에 전송을 하는 경우에 네트워크 CSMA/CD는 이 문제를 해결 하려고 한다. 그러나 더 많은 장치들이 네트워크에 추가 될 때 충돌이 해결할 수 없을 정도로 증가할 수 있다.
충돌이 감지 되면 즉시 전송 장치는 충돌을 해결하가 위해 32비트 "잼" 신호를 전송 한다. 그러므로 랜상에 있는 모든 장치는 충돌을 감지 했다는 것을 확신 하게 된다.
잼 신호는 타당한 프레임으로 인식되지 않는데 이것은 중요한 문제이다. 다른 경우 충돌은 인정되지 않는다. 보통 잼 신호로 관찰되는 데이터 형태는 간단하게1,0,1,0 형식을 프리앰블과 같게 반복 한다.
부분적으로 오류가 있는 전송 메시지는 종종 충돌 프레그먼트나 런트로 여겨 진다. 일반적인 충돌에서 길이는 64옥텟보다 작기 때문에 최소의 길이와 FCS 테스트에 실패 하는데 이는 다른 것과 구별하기 쉽게 한다.
백 오프 타이밍
충돌 발생 후에 모든 장치들은 케이블이 휴지 상태( 프레임간 간격 시간 동안 기다린다)가 되면, 충돌이 난 장치들은 충돌이 난 프레임을 재 전송 하기까지 미리 프레임간 간격 보다 더 긴 시간동안 기다려야 한다. 충돌 장치의 대기 시간은 의도적으로 랜덤(random)하게 주어지도록 설계 하였는데, 이는 충돌한 두 스테이션의 프레임 재 전송 시도 기간을 서로 다르게 하여 다음에는 가능한 한 재차 충돌이 발생하지 않도록 한 것이다. 이는 부분적으로 재 전송 시도 시 선택할 수 있는 랜덤한 재 전송 시간의 간격을 늘림으로써 가능하다. 대기 주기는 파라미터 슬롯 시간의 증가를 기준으로 측정 된다.
MAC 부계층은 16회의 재전송 시도 이후에도 프레임을 전송할 수 없으면 전송을 포기하고 다음 상위 계층으로 오류 메시지를 보낸다. 이러한 경우는 매우 드물며, 매우 과중한 네트워크 부하가 발생했을 때나 네트워크 내에 물리적인 문제가 있을 경우 발생한다.
이 방법은 이 섹션에서 설명되는데 허브의 사용을 기본으로하는 공유 매체 토폴로지에서 이더넷이 더 큰 서비스를 제공 하도록 한다. 다음의 스위칭 섹션 에서 스위치를 사용하여 어떻게CSMA/CD 가 동작하는것을 줄이고, 특히 임의경우에 제거되는 가를 보게 될 것이다.
표준 이더넷과 패스트 이더넷, 기가비트 이더넷, 10 기가비트 이더넷의 차이는 물리계층에서 나타나는데 종종 Ethernet PHY 라고 언급 한다.
이더넷은 IEEE 802.3 표준에서 정의 한다. 4개의 데이터 등급은 광 섬유와 꼬임 쌍선 케이블을 조작하기 위해 정의 한다.
10 Mbps - 10Base-T 이더넷
100 Mbps - 패스트 이더넷
1000 Mbps - 기가비트 이더넷
10 Gbps - 10 기가비트 이더넷
이런 다양한 등급으로 이더넷을 구축하는 방법은 서로 다른데 가장 일반적인 방법을 소개 한다. 다음 그림은 이더넷 PHY의 특징을 보여준다.
물리계층에서 동작하는 이더넷 기능은 이 섹션에서 10Base-T와 계속해서 다양한 10Gbps 로 언급을 할 것이다.
10Mbps 이더넷을 구축하기 위해 다음과 같은 방법이 있다.
thicknet 동축 케이블을 사용하는 10BASE2
thinnet 동축 케이블을 사용하는 10BASE2
카테고리 3/카테고리 5인 비차폐 꼬임 쌍선을 사용하는 10BASE-T
초기의 이더넷은 물리 버스구조로 동축 케이블을 사용한 10BASE5와 10BASE2로 구축 하였다. 이런 구축 방법은 새로운 802.3표준을 지원하지 않기 때문에 더이상 사용되지 않는다.
10Mbps 이더넷 - 10 BASE-T
10BASE-T는 2개의 비차폐 꼬임 쌍선 케이블로 맨체스터-부호화 방법을 사용한다. 초기의 10BASE-T 구현은 카테고리 3 케이블링을 사용하였다. 그러나 지금은 카테고리5 또는 그 이 후에 개발된 케이블링이 사용된다.
10Mbps 이더넷은 고전적인 이더넷으로 여겨지는데 물리적 스타 토폴로지를 사용한다. 이더넷 10BASE-T 링크는 허브나 리피터 없이 100미터 까지 신호를 전송 한다.
10BASE- T는 2개나 4개의 쌍선을 사용하는데 케이블 종단에는 8핀 RJ-45 커넥터를 연결한다. 핀 1과 2에 연결된 쌍선은 신호를 전달하는데 사용되고 핀 3과 6에 연결된 쌍선은 수신을 위해 사용된다. 다음 그림은 10BASE-T 이더넷에서 RJ45의 핀 연결을 보여준다.
10BASE- T는 일반적으로 새로운 랜을 구축하는데는 사용되지 않는다. 그러나 현재에는 10BASE-T로 구축한 이더넷 네트워크가 많다. 10BASE-T 네트워크에서 허브를 스위치로 교체하는것은 그 네트워크에서의 처리량을 증가 시키고 레거시 이더넷이 더욱 오래 동작 하도록 한다. 스위치에 연결된 10BASE-T 링크는 반이중이나 전이중 동작을 지원 한다.
100 Mbps -패스트 이더넷
1990년대 중반 후에 100Mbps 이더넷 매체에서 데이터를 전송하기 위해 새로은 802.3 표준이 발표 되었다. 이 표준은 더 빠르게 데이터를 전송하기 위해 다른 인코딩 방법을 사용 한다.
패스트 이더넷으로 알려진 100Mbps 이더넷은 꼬임 쌍선 구리선과 광 매체를 이용하여 구축 할 수 있다. 100Mbps의 가장 인기있는 구축 방법은 :
카테고리 5나 이후의 UTP를 사용한 100BASE-TX
광 섬유를 사용한 100BASE-FX
패스트 이더넷에서는 높은 주파수의 신호가 사용되어 잡음이 심하기 때문에 100-Mbps 이더넷에서는 신호의 무결성을 높이기 위해 2개의 분리된 부호화 단계가 사용된다.
100BASE-TX
100BASE-TX 는 카테고리 5의 UTP 구리 쌍선과 광 섬유의 2개 표준에서 전송을 지원하기 위해 설계 되었다. 100BASE-TX 구축은 10BASE-T와 같이 UTP의 핀 과 2개의 쌍선을 사용한다. 그러나 후에 100BASE-TX 는 카테고리 5 또는 이 후에 개발된 UTP를 요구한다. 4B/5B 부호화는 100BASE-T 이더넷을 사용한다.
10BASE- T와 100Base-TX 는 물리 스타 구조에 연결 된다. 다음 그림은 물리 스타 토폴로지를 보여 준다. 그러나 10BASE-T와 같지 않게 100BASE-TX 네트워크는 전형적으로 스타의 중간에 허브 대신 스위치를 사용한다. 동시에 100BASE-TX 기술이 주류가 되고 랜 스위치가 널리 사용 된다. 이러한 발전은 자연적으로 100BASE-TX 네트워크를 설계하도록 한다.
100 BASE-FX
100BASE-FX 표준은 100BASE-TX와 같은 신호 처리 방식을 이용하지만 UTP 구리가 아닌 광 섬유 매체를 사용 한다. 부호화와 복호화, 클럭 복구 절차가 같은 매체에서 동일하여도 신호 전송 방식은 다르다.구리선에서는 전기 펄스를 광 섬유에서는 빛의 펄스를 사용한다. 100BASE-FX 는 낮은 비용의 광 인터페이스 커넥터(일반적으로 이중 SC 커넥터라 한다.)를 사용한다.
광섬유 구축은 점대점 연결 인데 2개의 장치를 연결 하는데 사용 된다. 2개의 컴퓨터와 또는 컴퓨터와 스위치나 2개의 스위치를 연결 하는데 사용된다.
1000 Mbps - 기가비트 이더넷
기가 비트 이더넷 표준의 발전은 결과적으로 UTP 구리선, 단일 모드 광섬유와 다중모드 광섬유의 명세이다. 기가비트 이더넷 네트워크에서 비트는 100 Mbps 네트워크와 10 Mbps 네트워크에서 처리할 수 있는 아주 작은 시간에 발생 된다. 신호가 아주 작은 시간에 발생 되고 비트는 더 많은 잡음을 초래하기에 타이밍이 아주 중요 하다. 성능상의 문제는 네트워크가 얼마나 빨리 적응을 하고 인터페이스가 볼트 등급을 바꾸어 줄 수 있는가 하고, 메시지를 수신 하는 NIC와 인터페이스에서 볼트의 변화가 어떻게 100미터 밖에서 신뢰성 있게 감지되는가에 달려 있다.
이와같은 빠른 속도 때문에 부호화와 복호화 데이터는 더욱 복잡해 진다. 기가비트 이더넷은 2개의 분리된 부호화 단계를 이용 한다. 코드가 2진 비트 스트림을 표현하기 위해 사용될 때 데이터 전송은 더욱 효과적이다. 데이터를 부호화 하는 것은 동기화, 대여폭의 효과적인 사용과 신호대 잡음 비율의 특성을 증가 하게 한다.
1000BASE-T 이더넷
1000BASE-T 이더넷은 카테고리 5의 4쌍 전부와 이후에 나온 UTP 케이블을 사용하여 전 이중 전송을 제공한다. 구리선을 이용한 기가 비트 이더넷은 구리 쌍 마다 100Mbps 에서 125Mbps로 또는 4쌍으로 500Mbps 속도를 내게 한다. 전 이중 방식에서 각 한쌍의 신호는 500Mbps에서 1000Mbps로 배가 된다.
1000BASE- T는 1Gbps 데이타를 처리하기 위해 4D-PAM5 라인 부호와를 사용한다. 부호화 방법은 동시에 4개의 쌍선에 전송 신호를 보내는 것이다. 이것은 8-비트 바이트 데이터를 동시에 전송하도록 4개 코드 심볼(4D)로 변환 하고 PAM5(5-level Pulse Amplitude Modulated ) 신호로 각 쌍별로 매체에 전송 된다. 모든 심볼은 항상 2 비트 데이터와 일치 하게 된다. 정보가 동시에 4쌍의 경로를 통해 전송되기 때문에 회로는 전송자측에서 프레임을 나누고 수신측에서 그것을 조합 해야 한다. 다음 그림은 1000BASE-T 이더넷을 사용하는 회로를 보여준다.
1000BASE- T는 양쪽방향으로 같은 전선으로 동시에 데이터의 전송과 수신이 가능하다. 이 트래픽의 흐름은 전선 쌍에 항시 충돌이 발생 한다. 이 상시 충돌은 복잡한 전압 패턴을 초래 한다. 에코제거(echo cancellation)와 1계층 FEC(Forward Error Correction), 전압 수준의 정확한 선정 기술을 이용하는 정교한 직접회로를 사용함으로 하이브리드 회로는 신호를 감지 한다. 이러한 기술을 사용하여 이 시스템은 1 기가비트를 처리 할 수 있다.
동기를 하기 위해 물리 계층은 각 프레임의 스트림의 시작과 끝을 표시하는 딜리미터(delimiters)로 캡슐화 한다. 루프 타이밍은 계속되는 IDLE 심볼로 유지 되는데 프레임간 간격 시간 동안 각 전선 쌍에 보내진다.
보통 별개의 전압 수준이 있는 대부분의 디지털 신호와 다르게 1000BASE-T는 많은 전압 수준을 사용 한다. 휴지 시간에 9개의 전압 수준이 케이블에서 감지된다. 데이타 전송 주기에는 17 전압 수준 보다 높게 케이블에서 감지 된다. 잡음의 영향으로 구성된 이러한 다양한 상태로 전선에 보이는 신호는 디지털 보다 아날로그 신호로 보여 진다. 아날로그와 같이 이 시스템은 케이블과 터미네이션 문제에서 발생하는 잡음을 해결 할 수 있다.
광 섬유를 사용하는 1000BASE-SX 와1000BASE-LX 이더넷
1000BASE-SX 와 1000BASE-LX인 기가비트 이더넷의 광 섬유 버젼은 UTP와 비교하여 다음과 같은 장점이 있다 : 잡음 면역성, 작은 물리적 크기 그리고 거리와 대여폭이 증가한다는 것이다.
모든 1000BASE-SX 와1000BASE-LX 버젼은 광섬유의 두가닥을 사용하여 1250M bps속도로 전 이중 이진 전송을 지원한다. 전송 부호화는 8B/10B 부호화 방법을 사용한다. 부호화의 오버헤드로 데이타 전송율은 여전히 1000Mbps 이다.
각 데이타 프레임은 전송전에 물리계층에서 캡슐화 되는데 프레임 간 간격 시간동안 계속하여 IDLE 코드 그룹을 전송함으로 링크의 동기는 유지 된다.
1000BASE-SX 와 1000BASE-LX 광 버젼의 기본적인 차이점은 링크매체, 커넥터와 광 신호의 주파수 이다. 이러한 차이는 다음 그림에서 보여 준다.
IEEE 802.3ae 표준은 광 섬유 케이블에서 10Gbps와 전 이중 전송방식을 사용한다. 802.3ae 표준과 초기의 이더넷인 802.3 표준은 서로 매우 비슷하다. 10-기가비트 이더넷(10GbE)은 LAN 뿐만 아니라 MAN, WAN에서 사용한다.
프레임의 형태나 여타 이더넷 2계층의 규격이 이전의 표준과 같기 때문에 10GbE은 현재의 네트워크 구조를 사용하는 각 개별 네트워크에 증가된 대여폭을 제공 할 수 있다.
10Gbps는 이러한 이유로 이더넷의 다양성과 비교 될 수 있다.
프레임 형태가 같기 때문에 레거시 이더넷, 패스트 이더넷, 기가비트 이더넷과 10기가비트 이더넷의 모든 기능은 서로 호환되어 프레이밍을 다시 하거나 프로토콜을 변환할 필요가 없다.
비트 시간은 현재 0.1 ns 이다. 모든 다른 시간은 거기에 따라서 표준화 된다.
전 이중 방식의 광 섬유로만 연결되기 때문에 다른매체나 CSMA/CD 방식이 필요하지 않다.
OSI 1 계층과 2계층에 포함된 IEEE 802.3 부계층은 추가적으로 40Km 광 링크를 적용할 수 있고 다른 광기술과도 호환이 된다.
10Gbps 이더넷으로 유연하고, 효율적이고, 신뢰성이 있고, 상대적으로 점대점 이더넷 네트워크에서 낮은 비용이 드는 네트워크를 구축할 수 있다.
미래의 이더넷 속도
1 기가비트 이더넷이 많이 사용되고 10 기기비트 제품도 많이 출시되었음에도 불구하고 IEEE와 10 기가비트 이더넷 얼라이언스는 40,100 또는 160-Gbps 표준을 공개해 왔다. 어떠한 기술이 실제로 채택되는 것인지는 기술의 성숙도, 표준화 정도, 시장 지배력, 비용을 포함한 다양한 요인들에 의해 결정될 것이다.
이전 섹션에서 초기의 이더넷은 공유 매체와 경쟁적으로 매체접근 기능을 사용했다고 배웠다. 초기의 이더넷은 랜의 세그먼트에서 서로 연결을 하기 위해 허브를 사용 한다. 허브는 어느 형태든 트래픽을 필터링 하지 못한다. 대신에 허브는 허브에 연결되어 있는 모든 장치에게 모든 비트를 전달 한다. 이것은 랜에 연결되어 있는 모든 장치들에게 매체의 대여폭을 공유 하게 한다.
추가적으로 이런 초기의 이더넷의 구축은 종종 랜에서 충돌을 많이 발생 시킨다. 이러한 성능의 문제 때문에 이런 형태의 이더넷 랜은 오늘날의 네트워크에서는 제한적으로 사용된다. 허브를 사용한 이더넷의 구축은 현재 소규모 랜이나 낮은 대여폭을 요구하는 랜에서만 사용된다.
장치간에 매체를 공유하는것은 네트워크가 발전함에따라 큰 문제점이 된다. 다음 그림은 여기에 존재하는 문제점을 나타낸다.
확장성
허브 네트워크에서는 장치들이 공유할 수 있는 대여폭이 제한되어 있다. 공유 매체에 장치들이 추가됨에따라 각 장치가 사용할 수 있는 대여폭은 줄어든다. 매체에 연결되는 장치들의 숫자가 증가함에 따라 성능은 떨어지게 된다.
지연(Latency)
네트워크 지연은 신호가 매체의 모든 목적지에 도착하는데 걸리는 시간이다. 허브를 기반으로 하는 네트워크에서 각 노드는 충돌을 피하기 위해 전송할 기회를 얻기위해 기다려야 한다. 지연은 노드 사이의 거리가 확장됨에 따라 크게 증가 한다. 또한 지연은 허브와 리피터를 통과하는데 필요한 신호를 처리하는 시간이 추가 될 뿐만아니라 매체를 통과 하는 지연 시간에도 영향을 받는다.매체의 길이나 세그먼트에 연결되는 허브나 리피터의 수가 증가함으로 결과적으로 지연 시간이 증가 한다.지연 시간이 커짐에따라 노드는 초기의 신호를 받지 못하고 네트워크에 충돌이 증가하게 된다.
네트워크 실패
초기의 이더넷은 매체를 공유하기 때문에 네트워크에 연결된 어떠한 장치도 다른 장치에 문제를 발생시킬 가능성이 있다. 만약 허브에 연결된 어느 장치가 잘못된 트래픽을 발생 시킨다면 매체에 연결되어 있는 모든 장치의 통신은 방해를 받게 된다. 손해를 입히는 트래픽은 부정확한 속도나 NIC에 전이중 방식의 설치가 잘못되어 일어날 수 있다.
충돌
CSMA/CD 방식에 따르면 노드는 네트워크에 트래픽이 있다면 패킷을 보낼 수 없다. 만약 2개의 노드가 동시에 패킷을 보내게 되면 충돌이 발생하고 패킷은 손실된다. 그러면 양쪽 노드는 잼 신호를 보내고 랜덤한 시간동안 기다리고 패킷을 재 전송 하게 된다. 둘이나 그 이상의 노드에서 발생한 패킷이 영향을 미치는 네트워크의 영역을 충돌 영역이라 한다. 같은 세그먼트에 많은 수의 노드가 있는 네트워크는 더욱 큰 충돌 영역이 되고 많은 트래픽을 갖는다. 네트워크에 트래픽의 양이 증가함에 따라 충돌이 발생할 가능성이 크다.
스위치는 초기 이더넷의 경쟁적인 환경에서 문제를 해결할 수있는 선택을 제공한다.
지난 몇 년동안 스위치는빠르게 네트워크의 아주 기본적인 장비로 되었다. 스위치는 충돌영역을 구분하는 랜의 세그멘테이션을 제공한다.스위치의 각 포트는 구분된 충돌영역을 나타내고 각 노드에 최대의 대여폭이나 포트에 연결된 노드을 제공한다. 각 충돌 영역에 노드가 적을수록 각 노드에 가용한 평균 대여폭이 증가하고 충돌이 감소 된다.
랜은 노드를 서로 연결하는 허브를 다시 연결하는 중심축으로 스위치를 사용 할 수 있다. 또는 랜에서 모든 노드를 직접 스위치에 연결 할 수 있다. 이러한 토폴로지가 다음 그림에서 보여진다.
허브가 스위치 포트에 연결되는 랜에서는 대여폭을 서로 공유하게되고, 허브로 연결된 네트워크 환경에서 충돌이 발생한다. 그러나 스위치는 세그먼트를 분리해 허브의 포트간 트래픽의 충돌을 제한 한다.
노드가 직접 연결됨
모든 노드가 스위치에 직접 연결되어 있는 랜에서 네트워크의 처리량은 매우 크게 증가 한다. 네트워크 처리량의 기본적인 증가 이유는 :
각 포트에 할당된 대여폭
충돌이 발생하지 않는 환경
전이중 처리
이러한 물리적 스타 토폴로지는 점대점 연결이 된다.
그림에서 성능의 요소를 클릭하여라.
할당된 대여폭
노드와 스위치 간에 연결로 각 노드는 가용할 전체 대여폭을 얻게 된다. 허브는 수신한 신호를 반복해서 다른 포트로 전송하기 때문에 초기의 이더넷 허브은 논리적인 버스 구조를 형성 한다. 이것은 모든 노드가 버스의 대여폭을 같이 사용해야 된다는 것을 의미한다. 스위치를 이용하여 장치와 스위치간에 각 장치는 매체를 서로 경쟁적으로 사용하는 일 없이 할당된 점대점 연결을 효과적으로 갖는다.
예로 각 10개의 노드가 있는 2개의 100Mbps 랜을 비교해 보아라. 네트워크 세그먼트 A에서 10개의 노드는 허브에 연결 되어 있다. 각 노드는 가용한 100Mbps 대여폭을 공유한다. 각 노드에는 평균해서 10Mbps 대여폭을 제공한다. 네트워크 세그먼트 B 에서는 10개의 노드가 하나의 스위치에 연결 되어 있다. 이 세그먼트에서는 10개의 노드 모두 전체의 100Mbps 대여폭을 갖는다.
소규모 네트워크의 예 일지라도 대여폭의 증가는 크다. 노드가 증가함에 따라 2개의 세그먼트에서 가용한 대여폭은 크게 감소한다.
충돌이 발생하지 않는 환경
스위치에 대해 할당된 점대점 연결은 장치간에 매체의 경쟁적 접근을 제거하고 충돌이 아주 적거나 없도록 제어한다. 허브를 사용하는 적당한 크기의 초기의 이더넷 네트워크에서 대여폭이 대략 40%에서 50%까지 충돌을 복구하는데 낭비된다. 사실상 충돌이 발생하지 않는 스위치로 구성된 이더넷에서는 충돌을 복구하는데 소비되는 오버헤드는 제거 된다. 스위치 네트워크에서 훨씬 뛰어난 처리량을 제공한다.
전 이중 제어
스위칭은 네트워크가 전 이중 네트워크 환경으로 동작 하도록 한다. 스위칭이 만들어지기전에 이더넷은 오직 반이중 방식이었다. 이것은 주어진 시간에 하나의 노드는 전송과 수신중 하나만 처리할 수 있다는 의미 이다. 스위치로 구성된 이더넷 네트워크에서는 전이중 방식으로 장치는 스위치 포트에 직접 연결되어 전체 매체의 대여폭으로 동시에 전송과 수신을 할 수 있다.
장치와 스위치간의 연결에서 충돌은 일어나지 않는다. 이러한 방법은 반이중 방식과 비교하여 전송 속도를효과적으로 2배로 증가 시킬 수 있다. 예를 들면 만약 네트워크의 속도가 100Mbps이면 각 노드는 동시에 100Mbps의 속도로 프레임을 보내고 받을 수 있다.
허브대신 스위치의 사용
대부분 현대의 이더넷에서 단말 장치로 스위치를 사용하여 전이중 방식으로 데이터를 처리한다. 스위치는 허브보다 더 많이 데이터를 처리하고 성능이 극적으로 증가 하기 때문에 다음과 같이 질문하는 것은 타당하다 : 왜 모든 이더넷 랜에서 스위치를 사용하지 않는가? 허브가 여전히 사용되는 이유에는 3가지가 있다:
유용성-랜 스위치는 1990년대 초까지 개발되지 않았고 1990년대 중반 까지는 쉽게 사용하기가 어려웠다. 초기의 이더넷 네트워크는 UTP 허브를 사용했고 그중 많은 허브가 요즘에도 남아있다.
경제성-초기에는 스위치의 가격이 매우 높았다. 스위치의 가격이 떨어짐에 따라 허브의 사용은 줄어 가격이 스위치를 선택하는데 중요한 요소가 되지 않았다.
필요성-초기의 랜 네트워크는 파일을 교환하거나 프린터를 공유하기 쉽게 설계된 단순한 네트워크 이었다. 여러 지역에서 초기 네트워크가 오늘날의 네트워크로 통합이 됨에따라 각 사용자가 쓸 수있는 대여폭의 증가가 필요 했다. 그러나 어떠한 상황에서는 공유 매체의 허브가 여전히 필요하고 그러므로 상점에서 허브 제품이 여전히 팔릴 것이다.
다음 섹션에서는 스위치의 기본 사용법과 우리의 네트워크에서 요구하는 성능을 향상 시키는 방법을 배우게 된다. 다음 코스에서는 스위칭과 관련된 세부적이고 추가된 기술을 배울 것이다.
이더넷 스위치는 프레임을 개별적으로 선택하여 수신포트에서 목적지 노드로 전달 할 수 있다. 이선택적 전달방식절차는 송신과 수신 노드간에 순간적으로 점대점 연결을 설정 한다고 생각할 수 있다. 이 연결은 신호 프레임을 충분히 전달 할 수 있도록 구성된다. 이 순간에 2개의 노드는 그들간에 전체의 대여폭을 갖고 논리적으로 점대점 연결을 한다.
기술적으로 정확성을 기하기 위해, 동시에 두 노드사이에 임시로 연결되지는 않는다. 실제적으로 호스트간에 점대점 연결을 만든다. 사실 전 이중 모드로 동작하는 노드는 수신노드의 상태에 관계없이 가지고 있는 프레임을 언제든지 전송할 수 있다. 이것은 랜 스위치가 수신된 프레임을 버퍼에 쌓고 포트가 유휴 상태일 때 적당한 포트로 전송을 하기 때문이다. 이 절차는 축적 전송(store and forward)으로 설명 된다.
축적 전송 스위칭으로 스위치는 모든 프레임을 받고 에러 검출을 위해 FCS 값을 검사하고 목적지 노드에 연결된 포트로 전달을 한다. 노드는 매체가 유휴 상태일 때 까지 기다리지 않아도 되므로 충돌이나 충돌을 관리하기 위한 오버헤드 없이 전체 매체 속도로 전송과 수신을 할 수 있다.
목적지 MAC 주소를 기반으로 전달
스위치는MAC 테이블이라고 불리는 테이블을 유지한다. MAC 테이블은 목적지 노드와 연결된 포트와 목적지 MAC 주소를 가지고 있다. 수신되는 모든 프레임의 프레임 헤더에 있는 목적지 MAC 주소는 MAC 테이블에 있는 주소 리스트와 비교 된다. MAC 테이블에 주소가 있으면 테이블에 있는 포트 번호가 MAC 주소와 같이 프레임의 전송 포트가 된다.
MAC 테이블은 서로 다른 이름으로 불리어진다. 종종 스위치 테이블이라고도 한다. 스위칭 기술은 오래된 기술에서 발전 했기 때문에 투명 브릿징(transparent bridging)이라 불리고 그 테이블은 종종 브리지 테이블 이라 한다. 이러한 이유로 랜 스위치에서 수행되는 많은 기능은 그 이름에 브리지 또는 브리징을 포함 할 수 있다.
브리지는 이전에 랜에서 2개의 물리적인 세그먼트를 연결하기 위해 많이 사용되던 장비이다. 스위치는 랜에 단말 장치를 연결하기 위해서 뿐만아니라 세그먼트를 연결하는 기능을 수행하기 위해 사용 될 수 있다. 랜 스위치에 많은 다른 기술들이 발전 되어 왔다. 이런 기술들은 다음 코스에서 언급될 것이다. 이 브리지가 많이 사용되는 장소는 무선 네트워크 이다. 2개의 무선 네트워크 세그먼트를 연결하기 위해 무선 브리지를 사용한다. 그러므로 스위칭과 브리징 둘다 네트워크 회사에서 사용하는 이유를 알 수 있을 것이다.
스위치 명령
스위치의 목적을 수행하기 위해 이더넷 랜 스위치는 5개의 기본 기능이 있다.
러닝
에이징
플러딩
선택적 전달방식
필터링
러닝
MAC 테이블에는 노드의 MAC 주소와 연결된 스위치의 포트를 가지고 있다. 러닝 절차에서 포트는 MAC 주소를 습득하여 목적지 포트를 빨리 찾을 수 있게 한다.
각 프레임이 스위치로 들어오면 스위치는 목적지 MAC 주소를 검사한다. 검색 절차를 사용하여 스위치는 MAC 주소 목록이 이미 테이블에 있는지 결정한다. 테이블에 주소 목록이 없다면, 스위치는 MAC 테이블에 발신지 MAC 주소를 이용하여 새 목록과 도착한 프레임의 포트 주소를 등록한다. 그런후에 스위치는 목적지 노드에 프레임을 전송하기 위해 MAC 테이블을 사용하게 된다.
에이징
러닝 절차에 의해 얻어진 MAC 테이블에 있는 목록은 테이블에 저장된 시간이 쓰여진다. 이 시간은 MAC 테이블에 존재하는 오래된 목록을 삭제하는데 사용된다. MAC 테이블에 목록이 저장된 후에 초기에 저장된 시간을 이용해서 카운트다운 절차가 시작된다. 값이 0에 도달한 후 테이블에 있는 목록은, 스위치가같은 포트의 노드에서 온 프레임을 다시 받았을 때 조정된다.
플러딩
목적지 MAC 주소가 MAC 테이블에 없기 때문에 스위치가 프레임을 보낼 포트를 알 수 없다면, 그 스위치는 프레임을 받은 포트를 제외한 모든 포트에 프레임을 전송 한다. 모든 세그먼트에 프레임을 전송하는 전송 절차를 플러딩(flooding)이라고 한다.스위치가 프레임이 도착한 포트에 프레임을 전송하지 않는 이유는 그 세그먼트에 있는 임의의 목적지는 이미 프레임을 받았기 때문이다. 플러딩은 종종 프레임이 브로드캐스트 MAC 주소를 보내는데 사용 된다.
선택적 전송방식
선택적 전송방식은 프레임의 목적지 MAC 주소를 검사하고, 적당한 포트에 프레임을 전송하는 절차이다. 이것은 스위치의 중요한 기능이다. 프레임이 임의의 노드에서 이미 MAC주소가 저장된 스위치에 도착하면, 이 주소는 MAC 테이블에 있는 목록과 일치하게 되고 그 포트에 프레임이 전송 된다. 모든 포트에 프레임을 플러딩하는 대신 스위치는 정해진 포트를 통해 목적지에 프레임을 전송 한다. 이런 동작을이포워딩(forwarding)이라고 한다.
필터링(filtering)
어떤 경우에는 프레임은 전달되지 않는다. 이 절차를필터링(filtering) 이라고 한다.필터링을 사용하는 한가지 이유를 이미 설명 했다: 스위치는 프레임이 도착한 같은 포트에 프레임을 전송 하지 않는다. 스위치는 잘못된 프레임을 폐기할 것이다. 프레임이 CRC 검사에서 실패하면 그 프레임은 폐기된다. 필터링을 위한 또다른 이유는 보안을 위해서이다. 스위치는 프레임을 선택한 MAC 주소나 특별한 포트를 블로킹(blocking)하기 위해 보안 기능을 설정한다.
ARP 프로토콜은 2가지 기본 기능을 제공한다:
IPv4 주소를 MAC 주소로 변환 한다.
매핑을 위한 캐시를 유지한다.
IPv4 주소를 MAC 주소로 변환
프레임이 랜 매체에 있을 때 프레임은 목적지 MAC 주소가 있어야 한다. 패킷이 프레임으로 캡슐화 되어 데이터 링크 계층으로 보내지면 그 노드는 목적지 IPv4 주소와 매핑되는 데이타링크 주소를 찾기위해 자신의 메모리에 있는 테이블을 검색 한다. 그 테이블은 ARP 테이블 또는 ARP 캐시라고 한다. ARP 테이블은 그 장치의 RAM에 저장 되어 있다.
ARP 테이블의 각 목록과 행은 한 쌍의 값이 있다: IP 주소와 MAC 주소이다. 2개 값의 관계를 맵(map)이라 하는데- 그것은 단순히 IP 주소를 테이블에 저장하고 MAC 주소와 일치하는 IP 주소를 검색하는 것을 의미한다. ARP 테이블은 지역 랜에 연결된 장치를 위한 매핑 값을 저장한다.
전송을 수행하기 위해 전송 노드는 IPv4 목적지 주소와 일치되는 MAC 주소를 ARP 테이블에서 찾으려고 시도한다. 테이블에서 일치되는 주소가 있으면, 그 노드는 IPv4 패킷을 캡슐화 할 프레임의 목적지 MAC주소로 사용한다. 그때 프레임은 네트워킹 매체에 부호화 된다.
ARP 테이블의 관리 방식
ARP 테이블은 자동적으로 유지 된다. MAC 주소를 얻는 방법은 2가지가 있다. 첫 번째 방법은 지역 네트워크 세그먼트에서 발생하는 트래픽을 감시 하는 것이다. 노드가 매체로부터 프레임을 수신 하면, 매핑 값으로 IP 와 MAC 주소가 ARP 테이블에 저장된다. 네트워크상에서 프레임이 전송될 때, 그 장치는 2쌍의 주소가 있는 ARP 테이블을 찾는다.
다른 방법은 장치가 한 쌍의 주소를 얻기 위해 ARP 요구로 브로드캐스트를 하는 것이다. ARP는 이더넷 랜에 연결된 모든 장치들에게 2계층의 브로드캐스트 메시지를 전송한다. 그 프레임은 목적지 호스트의 IP 주소를 갖는 ARP 요청 패킷을 포함한다. 브로드캐스트를 수신한 어떤 장치의 IP 주소가 ARP요청 내에 있는 주소와 일치하면 이 장치는 송신지 측에 자신의 MAC 주소를 유니캐스트로 전송 함으로써 응답을 한다. 이 응답은 ARP 테이블에 새로운 목록을 구성하는데 이용 된다.
MAC 테이블에 있는 이런 동적인 목록은 스위치에서 MAC 테이블 목록에 시간이 기록 되는것과 같이 같은 방법으로 타임스탬프 시간이 기록된다. 만약 타임스템프 시간이 종료된 후에도 특정 장치로부터 프레임을 수신 하지 못한 장치는 이 장치의 목록이 ARP 테이블에서 제거 된다.
추가적으로, 직접 맵 목록을 ARP 테이블에 저장 할 수 있으나, 드문 일이다. 수동으로 입력한 ARP 테이블 목록은 시간이 지나 만료가 되는데 수동으로 제거 해야된다.
프레임 생성
프레임 생성이 필요하고 ARP 캐시가 목적지 MAC 주소에 대응하는 IP 주소의 맵을 가지고 있지 않다면 노드는 어떻게 하여야 할까? ARP가 IPv4 주소를 MAC 주소로 변환하기 위한 요청을 받으면 ARP 테이블에 있는 캐시 맵을 검색한다. 목록이 없다면 IPv4 패킷의 캡슐화는 실패하고 2계층은 맵이 필요하다고 ARP에게 알린다.
그 때 ARP는 지역 네트워크에 연결된 목적지 장치의 MAC 주소를 얻기위해ARP 요청(request) 패킷을 보낸다. 만약 요청을 받은 장치가 목적지 IP주소를 가지고 있다면 ARP 응답(reply)으로 대답한다. 맵이 ARP 테이블에 만들어 진다. 그 IPv4 주소가 있는 패킷은 프레임으로 캡슐화 될 수 있다.
어느 장치도 ARP 요청에 응답하지 않는다면, 패킷은 프레임을 생성할 수 없기 때문에 폐기된다. 이러한 캡슐화 실패는 장치의 상위 계층에 보고된다. 만약 그 장치가 라우터와 같이 중간에 거치는 장치라면 상위 계층은 ICMPv4 패킷에 에러로 발신지 호스트로 응답하게 된다.
지역 물리 네트워크에서 노드의 MAC주소를 얻기 위해 사용되는 절차를 보려면 그림에 있는 단계 숫자를 클릭 하여라.
실습에서 네트워크를 통해 ARP 요청과 응답을 관찰하기 위해 Wireshark을 사용한다.
모든 프레임은 지역 네트워크 세그먼트에 전달 될 수 있다. 만약 목적지 IPv4 호스트가 지역 망에 있다면 프레임은 목적지 MAC 주소로 장치의 MAC 주소를 이용한다.
만약 목적지 IPv4 호스트가 지역망에 있지 않다면, 송신 노드는 목적지에 도달하기 위해 사용되는 게이트웨이나 다음 홉(hop)인 라우터 인터페이스에 프레임을 전달 하여야 한다. 발신 노드는 다른 네트워크에 호스트 주소가 있는 IPv4 패킷을 포함하는 프레임의 목적지 주소로 게이트웨이의 MAC 주소를 사용할 것이다.
라우터 인터페이스의 게이트웨이 주소는 호스트의 IPv4 환경 파일에 저장된다. 호스트가 목적지에 패킷을 보내기위해 패킷을 생성할 때, 2개의 IP 주소가 같은 3계층 네트워크에 있는지 알기 위해 목적지 IP 주소와 자신의 IP 주소를 비교한다. 만약 수신 호스트가 같은 네트워크에 있지 않다면 발신지 호스트는 게이트웨이로 서비스를 수행하는 라우터 인터페이스의 MAC 주소를 얻기위해 ARP 처리를 수행한다.
게이트웨이 목록이 테이블에 없는경우 ARP는 일반적으로 라우터 인터페이스의 MAC 주소를 얻기위해 라우터 인터페이스의 IP 주소로 ARP 요청을 수행 한다.
게이트웨이의 MAC 주소를 얻기위해 어떠한 절차가 수행 되는지 그림에 있는 단계 숫자를 클릭 하여라.
프록시 ARP
지역망 영역 밖에 있는 호스트에 패킷을 보내기 위해 IPv4 주소로 매핑하는 MAC 주소를 얻기 위해 ARP 요청을 하는 상황이 있다고 하자. 이 경우 장치는 게이트웨이의 IPv4주소로 얻을 수 있는 MAC 주소를 요구하는 대신 지역 망에 없는 IPv4 주소에서 MAC 주소를 얻기 위해 ARP 요청을 한다. 이 호스트에 MAC 주소를 제공하기 위해서 라우터 인터페이스는 프록시 ARP를 사용하는데 다른 네트워크에 있는 호스트 편에서 응답을 한다. ARP를 요청한 장치의 ARP 캐시는 지역망에 없는 IP 주소로 매핑하는 게이트웨이의 MAC 주소를 포함할 것이라는 것을 의미 한다. 프록시 ARP를 사용함으로 라우터 인터페이스는 ARP 요청에 의해 요구되는 IPv4 주소를 가지고있는 호스트 처럼 행동 한다. 목적지 호스트 처럼 응답왜곡(faking)을 함으로 라우터는 실제 목적지에 패킷을 라우팅 하기 위한 책임을 지게 된다.
발신 호스트가 있는 지역망에 같이 목적지 호스트가 있는 지 결정할 수 없을 때 IPv4의 구현을 하기 위해 쓰인 오래된 사용 방법이다. 이 구현 방법에서는 ARP는 항상 IPv4 주소의 목적지로 ARP 요청을 한다. 만약 프록시 ARP가 라우터 인터페이스에 사용할 수 없다면 이 호스트들은 다른 네트워크에 있는 호스트와 통신할 수 없다.
프록시 ARP가 사용되는 다른 경우는 목적지 호스트가 같은 지역망에 직접 연결되어 있다고 확신할 때 이다. 이것은 잘못된 마스크로 호스트가 구성 될 경우 발생한다.
그림에서 보는것 같이 호스트 A는 a/16 서브넷 마스크로 잘못 구성되어 있다. 호스트는 172.16.10.0/24 서브넷에 연결되어 있다고 믿지 않고 모두 172.16.0.0/16 네트워크에 직접 연결되어 있다고 믿는다.
172.16.0.1 에서 172.16.255.254 까지의 영역에있는 Ipv4 호스트와 통신을 시도할 때, 호스트 A는 ARP 요청 메시지를 IPv4 주소에 보내게 된다. 라우터는 호스트 C (172.16.20.100) 와 호스트 D (172.16.20.200)의 IPv4 주소 요청에 응답하기 위해 프록시 ARP를 사용한다. 호스트 A는그 결과 라우터 (00-00-0c-94-36-ab)의 e0 인터페이스의 MAC 주소로 매핑된 이 주소를 목록에 저장하게 된다.
프록시 ARP의 다른 사용 방법은 호스트가 기본 게이트웨이로 설정 되지 않은 경우 이다. 프록시 ARP는 라우팅 또는 기본 게이트웨이를 구성하지 않고도 네트워크에 있는 장치들이 원격 서브넷에 도달 할 수 있게 한다.
기본으로 시스코 라우터는 랜 인터페이스에 프록시 ARP를 사용한다.
http://www.cisco.com/warp/public/105/5.html
각 장치에서 ARP 캐시 타이머는 일정한 시간동안 사용되지 않은 ARP 목록을 제거한다. 그 시간은 장치와 운영체제에 따라 다르다. 예를들면, 윈도우 운영체제에서는 ARP 캐시 목록을 2분동안 저장한다. 만약 목록이 그 시간동안 다시 사용되면, 그 목록의 ARP 타이머는 10분을 연장한다.
ARP 테이블에 목록을 전부나 부분적으로 삭제하기 위해 수동 명령을 사용할 수 있다. 목록이 제거된 후에 ARP 요청 메세지를 보내는 절차와 ARP 응답을 수신하는 절차는 ARP 테이블에 맵을 다시 입력함으로 발생 할 수 있다.
이 섹션의 실습에서 여러분은 컴퓨터의 ARP 캐시의 내용을 보고 삭제하기 위해 arp 명령을 사용할 것이다. 이 명령은 그 이름에도 불구하고 어떤 경우에는 ARP의 실행을 수행 하지 않는다. ARP 테이블의 목록을 단지 보고, 추가하고, 제거하게 된다. ARP 서비스는 IPv4 프로토콜안에 통합되고 장치에의해 구현된다. 그 조작은 상위 계층의 응용과 사용자에게 모두 투명하다.
매체의 오버헤드
브로드캐스트 프레임으로 ARP 요청은 지역 망에 있는 모든 장치들에게 전달되고 처리 된다. 전형적인 비지니스 네트워크에서 이러한 브로드캐스트는 네트워크의 성능에 최소의 영향을 미친다. 그러나 많은 장치들이 전원을 키고 모두 동시에 네트워크 서비스를 시작한다면 짧은 시간동안에 성능이저하될 수 있다. 예를 들면, 만약 실습을 하는 모든 학생이 교실에 있는 컴퓨터에 로그인을 하여 동시에 인터넷을 사용 한다면 지연이 있을 수 있다.
그러나 장치들이 초기의 ARP 브로드캐스트 메세지를 전송 한 후에 필요한 MAC 주소를 얻었다면 네트워크의 지연은 최소화 될 것이다.
보안
어떤 경우에는 ARP의 사용은 잠재적인 보안의 위험이 될 수 있다. ARP 스푸핑(spoofing) 또는 ARP 포이즈닝(poisoning)은 공격자가 잘못된 ARP 요청을 발생시켜 네트워크에 틀린 MAC 주소를 전송하는 기술이다. 공격자는 장치의 MAC 주소를 위조한 다음 프레임이 잘못된 목적지로 보내지게 할 수 있다.
수동으로 정적인 ARP 구성을 하는것이 ARP 스푸핑을 막는 방법이다. 목록에 있는 장치들만 네트워크에 접근할 수 있게 허가받은 MAC 주소가 구성 되어야 한다.