WonYong-Jang / Development-Process

It is where I record the error fixes or learning during the development process.
0 stars 1 forks source link

다중 접속 프로토콜(multiple access protocol) / ARP / Ethernet / ICMP / Routing algorithm #16

Open WonYong-Jang opened 6 years ago

WonYong-Jang commented 6 years ago

(1) 다중 접속 프로토콜이란?

   노드가 채널을 공유하는 방법 – 예를 들어 전송 시점 등 –을 결정하는 분배 알고리즘

(2) 크게 3가지로 분류되는 다중 접속 프로토콜의 종류와 동작을 간략히 기술

채널 분할 프로토콜(channel partition protocol)은 채널은 더 작은 “조각”들로 분할 (시간 슬롯, 주파수, 코드)되고 할당된 조각들은 노드가 배타적으로 사용 ==> 고비용

랜덤 접속 프로토콜(random access protocol)은 채널은 분할하지 않고 충돌 허용하고 충돌 시 복구 ==> 충돌이 발생 함에도 감수하고 사용 (값이 싸기 때문)

순번 프로토콜 (taking-turns protocol)은 노드가 순번대로 채널을 사용하고 더 많은 데이터를 전송하는 노드는 오랫동안 순번을 기다려야 함

WonYong-Jang commented 6 years ago

ARP ( Address Resolution Protocol ) :

주소 결정 프로토콜은 논리적인 IP주소를 기반으로 (데이터 링크 계층의) 물리적인 MAC주소로 바꾸어 주는 주소 해석 프로토콜이다. IP 주소를 이용하여 MAC주소를 알아내기 위해 연결된 모든 장비들에게 Request 를 보내고 ARP Request 메시지를 받은 장비들은 IP주소를 확인하여 자신의 IP일 경우 Reply를 보내준다. 여기서 Request를 보내기 위해 브로드 캐스트 방식을 사용

WonYong-Jang commented 6 years ago

CSMA

여러개의 호스트가 하나의 매체/링크를 공유할때는 두개이상의 호스트가 동시에 링크를 사용하는 경우 충돌로 인하여 통신을 할수 없게 된다. 이렇게 링크를 공유하는 공유 원할한 통신을 위해서는 서로간의 약속 필요. 지금은 거의 사용하지 않지만 Bus Topology 형태의 네트워크나 허브를 통해 구성된 LAN의 경우가 매체를 공유하는 경우에 해당된다.

CSMA(Carrier Sense Multiple Access) : 전송 이전에 감지 또는 말하기 이전에 듣기 원칙에 기반 ==> 프레임이 전송되는 시간차 때문에 감지하고 나서 프레임을 전송하는 경우 다른곳에서 보낸 프레임이 도착하여 두 프레임이 충돌, 손상 될수 있음

CSMA/CD(Carrier Sence Multiple Access with Collision Dectection) : CSMA 방식에 충돌을 처리하는 절차를 더한 것. 유선링크의 경우 충돌을 확인 할수 있기 때문에 사용 가능한 방식 ==> 프레임을 전송함과 동시에 두개의 다른 포트를 이용하여 충돌이 발생하는지 감시. ==> 프레임이 목적지에 도착할 시간 이전에 다른 프레임의 비트가 발견되면 충돌이 일어난 것으로 판단. ==> 유선 Ethernet LAN 에서 사용하는 프로토콜이다. ==> 알고리즘 1) Receive datagram from network layer, create frame 2) 채널이 비어있는지, 가까운 누군가가 전송중인지, 전송중이라면 기다리고 아니라면 보낸다 3) 충돌이 일어나지 않으면 완료 4) 시작할땐 감지 못했지만, 어느 시점부터 충돌 메시지가 감지 된다면, abort 정지 / 상대에게도 충돌이 일어났다고 알려준다 ( jam signal ) 5) 정지 후 재전송할때 둘다 똑같이 시작하면 똑같은 충돌이 일어나기 때문에, binary backoff 알고리즘 (확률로 분산시켜서 널널하게 구간을 마련하고 랜덤하게 시간을 찍어 내는 것!) 랜덤하게 시간을 정해서 충돌 확률을 1/2 씩 줄여나가면서 충돌이 나지 않게 하는 방법

CSMA/CA : 무선 네트워크에서는 충돌을 감지하기 힘들기 때문에 CSMA/CD 방식을 사용할 수 없다. 따라서 충돌을 회피하는 방식을 사용, 무선 LAN에서 사용 ==> ACK 프레임을 사용

WonYong-Jang commented 6 years ago

ICMP(Internet Controle Message Protocol) 란? ==> TCP/IP 에서 IP 패킷을 처리할때 발생되는 문제를 알려주는 프로토콜

image

WonYong-Jang commented 6 years ago

모든 컴퓨터나 네트워크 장비, 통신기기들은 인터넷을 사용하기 위해 IP 주소를 할당받아 이용하게 됩니다. 네트워크에서 IP라는 것은 가장 중요한 핵심 중 하나로서 클래스로 구분을 하거나 서브넷팅을 하는 등의 방식을 이용 IP주소의 사용 이유는 각각의 Host들을 구분하기 위해 사용되며, 부여받은 IP 는 자기 고유의 IP가 되기에 다른 사람이 사용하면 안됩니다. 하지만 현재 사용되는 IPv4 방식의 IP 수는 한정되어 있기에 모든 Host에게 고유 IP를 할당하지 못합니다. 그렇다고 하여서 하나의 호스트에 하나의 IP만 사용되는건 아님, 이는 한 컴퓨터에 여러개의 NIC(Network Interface Card / 흔이 랜카드라 불리는 장치) 를 장착하여 여러개의 IP를 사용하는 형태를 생각, 대표적인 네트워크 장비로 라우터

일반 가정에서 사용하는 PC 에서 IP는 고정이 아닌 유동 IP로 설정 되어 있음, DHCP Server(Dynamic Host Configuration Protocol) 를 이용하여 전원이 켜져있는 컴퓨터에게만 IP를 할당하여, 컴퓨터가 off되면 IP를 회수 하여 IP 부족현상을 막는다.

IP Address는 32bit(4byte) 길이로 구성된 논리적인 주소체계

물리적 주소체계는 MAC(Media Access Control) 주소, Physical Address라고도 함. ==> LAN(Local Area Network) 또는 Ethernet이라 불리는 망에서 통신을 위하여 사용

Subnet can physically reach each other without intervening router

WonYong-Jang commented 6 years ago

네트워크 계층과 라우팅 프로토콜

라우팅 프로토콜 구성

라우팅 알고리즘의 구분

글로벌(Global) 라우팅 : 모든 라우터가 모든 토폴로지와 링크의 비용정보를 알고 있음 (링크 상태 알고리즘)

1) Link state

분산 (Decentralized) 라우팅

2) distance vector

거리벡터와 링크상태 방식 장단점 비교

1) 거리 벡터

2) 링크 상태

WonYong-Jang commented 6 years ago

www.google.com 을 local host로 접속하는 예시

처음 네트워크 들어왔을때 IP 주소를 할당 받아야함 own IP address / router 주소 / DNS server 주소 ==> 3가지를 알아야 하는데 DHCP 프로토콜을 이용

또한, DNS 는 해당 www.google.com에 맞는 ip 주소를 찾아주는 역할을 하며, 해당 ip를 라우터를 이용하여 전송함

그후 ARP 를 이용하여 논리적인 ip 주소 체계를 물리적은 mac 바꾸어 준다. 여기서 브로드 캐스팅을 이용!

WonYong-Jang commented 6 years ago

Ethernet