컴퓨터 네트워크 6-2(작성중)
<MAC Protocols with Collision>
랜덤 액세스 기술
-full data rate
-개별적 수행, 협의없음
-ALOHA, CSMA
ALOHAnet
모든 프레임 길이가 같음. 될 때까지 보냄
효율 낮음. efficiency 20퍼 이하
->Slotted ALOHA
모든 노드들 시간이 맞춰짐
전체 air time을 똑같은 타임슬롯으로 나눔
해당 슬롯의 시작 시간에 맞추어서 전송 시작
될 때까지 마구잡이로 보내는 것을 시간 쪼개 놓고 하는 것.
충돌 안 날때까지!!
데이터 충돌이 중간에 겹치는 경우가 없다.
두 개 이상의 노드들이 같은 타임슬롯을 사용하면 그 때 충돌 발생.
ALOHA에서는 선택한 타임슬롯 외에도 직전 한 타임슬롯 내에도 다른 노드가 전송되지 않아야 하는데, slotted ALOHA에서는 선택한 슬롯에서만 누군가 전송하지 않으면 된다.
->충돌의 확률이 반으로 줄어든다.
그래도 충돌 너무 높긴 하다!!
CSMA
다른 노드들을 신경쓰는 프로토콜
(Carrier Sense Multiple Access)
반송 주파수(carrier frequency) 먼저 감지해보기
현재 채널이 아무도 보내고 있지 않다면 데이터를 전송하고 채널이 사용중이라면 딜레이
그러나....
충돌발생...
전송하고, 멀리 가는 순간, 멀리 있는 노드는 감지되지 못한다. 링크가 비어 있다고 판단해서 전송을 시작하면, 충돌이 발생한다.
멀리 있는 노드를 감지 못해서....
충돌한 프레임은 버리고, t0 t1프레임을 재전송할까햇으나....
CSMA/CD 도입!!!!
Collision Detection 가능!
유선에서 자기가 발생 시킨 에너지 이상의 에너지가 감지되면, 누군가 같은 시간에 전송했다고 감지 가능.
충돌을 감지하는 순간 바로 전송을 중단한다. (send jam signal)
무선에선...되나?
반송주파수감지, 자신 이외의 에너지 감지지반송주파수감지, 자신 이외의 주파수 감지 반송주파수갑지, 자신 이외의 주파수 감지
다른 노드들의 반송주파수 감지, 자신 이외의 에너지 감지
이렇게 충돌 예방 끝!
<MAC Addres>
Address Resolution Protocol 에서 쓰이는 주소는 MAC Address(link layer)
물리 주소, 주민등록번호 등등....네트워크 인터페이스 카드 롬에 이미 내장되어있어서 바꿀 수 없다. 16진수(4비트씩) 총 48비트, 6바이트를 사용한다.
이는 고유하므로 다른 랜으로 옮겨도 상관없다. (IP주소와 다른점... 논리적주소이므로 계층에 안맞는 엉뚱한 주소는 컴퓨터를 못 찾음.)
출발에서 도착까지 여러 네트워크를 거치는데, 네트워크의 링크마다 다른 프로토콜을 사용한다. 목적지 네트워크까지는 IP주소로 찾아가지만, 최종적으로 컴퓨터를 찾아 전달하기 위해서는 MAC주소가 필요하다.
IP주소로 전달해주기 위해서는 MAC주소가 필요한건가?
링크 레이어 주소를 모르는 상태라면 각각의 랜 안에 컴퓨터들은 ARP table을 이용한다.
-어떤 컴퓨터가 사용하는 IP 주소
-그 컴퓨터의 실제 MAC주소
-Time To Live, 매핑의 유효 시간
그래서 라우터가 데이터그램을 받아서
목적지 주소에 해당하는 엔트리를 찾고
도착지 아이피 주소는 맥 주소를 어떤 걸 사용하는지 알게 된다.
이 맥 주소를 담아서 이더넷 프레임을 만들어 전송한다.
아직 전송 전이구나
전송 전, 맥 주소를 모를 때, 각 컴퓨터들은 ARP 테이블을 이용하는데, 거기에 아이피마다 사용하는 맥 주소와 패킷 수명 정보가 들어 있다.
이를 보고 맥 주소를 알아내 이더넷 프레임을 만들어 전송한다.
-같은 LAN내에서의 ARP 다시 정리
목적지의 아이피 주소를 확인했을때, 앞의 주소가 일치하면, 같은 서브넷에 속함을 알 수 있습니다. 보통은 같은 랜에 속한 ARP table Entry를 가지고 있기 때문에, MAC주소를 알아낼 수 있습니다. 이 주소를 담아서 링크 레이어 프레임을 만들고, 전송할 수 있습니다.
하지만, 방금 접속한 컴퓨터라 주소 정보가 없다면?
ARP를 이용해서 해결해야 합니다.
ARP step
IP 주소 알고, MAC 주소 모르면
1.MAC메세지를 broadcasting . 각각의 노드들은 이 쿼리 메세지를 읽어 본다.
2.주소 저장. 보내려고 했던 데이터 프레임을 만들어 전송하면서, 테이블에도 저장
-다른 LAN에서의 ARP
아이피를 통해 서로 다른 네트워크임을 판단.
->라우터를 통한 전송
중간에 있는 라우터의 맥 주소를 데이터그램에 담아서 전달한다.
라우터는 왼쪽 랜과 오른쪽 네트워크에 다 소속되어 있어서 인터페이스 카드, 주소를 두 개씩 갖고 있다.
<이더넷>
링크 레이어의 기술 중 가장 대표적
-프레임 구조...
1.payload(datagram->synchronization 필요)
2.header(src, dst MAC address,type,length)
3.FCS(CRC)
-물리 Topology
bus->star
버스 형태로 노드들이 연결->하나의 스위치 허브에 노드들이 연결되는 형식
->허브 스위치에는 각각의 포트가 있고, 각 포트마다 직접적인 링크로 호스트들이 연결되어 있다.
그래서 각각의 링크는 다른 노드들과 공유하지 않는다.
->스위치는 각 호스트들이 보내는 패킷들을 일단 버퍼링한다.
->목적지 주소를 살펴본다.
->해당 목적지 주소에 맞는 포트로 프레임을 내보낸다.
->버스 형태하고 비교했을때보다 충돌이 없어졌다.
<Ethernet-Switch Forwarding Table>
받은 프레임 도착지 전달을 위해서는.. 스위치에선...
어떤 포트로 내보내냐를 알아야하고, 각 포트에 연결되는 MAC address와 호스트들을 알아야 한다.
->스위치 포워딩 테이블(MAC addr,Interface,TTL)
테이블 구성 시에는, plug-and-play, self-learning 기술로 자동으로 위치를 알 수 있다.
출발지로부터 데이터가 들어올 때, source의 주소 부분을 확인해보는 방법으로 테이블을 채운다.
아직 데이터가 아무것도 없으면, 모든 곳으로 플러딩해버립니다. 그럼 응답을 하게 되고, n번 인터페이스에 a주소를 사용하는 컴퓨터가 있음을 알게 됩니다. ->self-learning
보통의 기관 네트워크들... 각각의 컴퓨터들은 허브 스위치에 연결되어있고, 계층적으로 이더넷 스위치를 통해서 네트워크가 연결이 되고, 하나의 서브넷은 하나의 게이트웨이 라우터를 통해서 외부와 연결이 되는 형태.
스위치와 노드 연결, 게이트웨이 라우터로 외부와 연결
-스위치와 라우터?
라우터는 네트워크 레이어에서 IP 헤더까지 관찰해서 데이터그램을 목적지 네트워크까지 전달해주는 역할, 스위치는 링크 레이어에서 프레임 관찰해서 프레임을 목적지 주소로 전달해주는 역할.
라우터-네트워크-아이피헤더-데이터그램전달
스위치-링크 레이어-프레임헤더-프레임전달
라우터는 라우팅 테이블.
스위치는 로컬 네트워크 구역에서 데이터를 전달하기 위한 MAC Address switching table
<VLAN>??
랜이란 소규모 네트워크에서 중규모까지 동일한 아이피와 서브넷 마스크 사용
Address resolution에
리퀘스트가 닿는 모든 범위. ARP는 아이피 주소를 통해 맥 주소 찾기 위한 프로토콜
ARP request는 연결된 네트워크 장비와 컴퓨터에 모두 전달된다.(broadcast)
스위치에 연결된 컴퓨터의 숫자감 많을수록 데이터 속도 느려짐.
아이피 대역이 많을수록 비용이 들고 번거로움
해결책
>VLAN
브로드캐스트가 서로 미치지 않는 여러 개의 논리적인 LAN
VLAN이 설정된 포트가 있다. 이 포트에 연결된 단말의 IP대역만이 통신이 가능하다.
다른 VLAN과 통신하기 위해서는 Layer3이상의 스위치 혹은 라우터를 통해서만 가능하다.
VLAN ID 존재
-하나의 스위치로 다수의 랜을 쓸 수 있는 것이 브이랜. 논리적인 인터페이스, SVI가 사용됨.
스위치는 포트에 설정된 각각의 브이랜을 보고 트래픽 전달 여부를 판단합니다. 예를 들어 1이 연결된 스위치의 포트는 브이랜이 10이므로 동일한 브이랜이 설정된 포트로만 브로드캐스트를 전달할 수 있습니다.
다른 브이랜 호스트끼리 통신하려면. 라우터 혹은 스위치를 통해 이동해야 합니다. 이들은 브이랜 간의 통신을 가능케 하는 기능을 가지고 있으며, Inter-VLAN Routing 이라고 합니다.
다수의 브이랜이 하나의 포트를 사용할 수 있게 만들어 주는 기능은 트렁크
스위치 간 전달에 하나의 물리적 연결을 공유, 브이랜 트렁킹된 스위치들 간에 여러 브이랜에서 나온 프레임들을 이 트렁크를 통해 전달함.
VLAN frame
MPLS (multi-protocol label switching)
데이터 패킷에 IP주소가 아닌 별도의 라벨을 붙여 스위칭하고 라우팅 하는 기술.
데이터 포워딩 시스템으로, 각 패킷으로 라벨을 할당합니다. 이러한 라벨은 패킷이 이동하는 방식을 결정해 비공개 네트워크를 형성합니다.
2.5계층 프로토콜입니다.
IP networking과 무엇이 다른지,
datacenter networking