[CS]/[컴퓨터네트워크]

링크계층 - LANs

broship 2021. 6. 27. 21:08

※kocw에서 제공하는 이석복 교수님의 컴퓨터네트워크 수업을 듣고 필기한 내용입니다.

출처를 따로 밝히지 않는 한 전부 해당 수업에서 제공한 자료들이며 제가 작성한 부분에 있어 틀린 부분이 있을 수도 있다는 점 양해바랍니다.


 

 

Ethernet


- LAN이란 게이트웨이를 거치지 않고도 접근이 가능한 네트워크 단위를 뜻함

- 하나의 게이트웨이를 공유하는 매체(medium)가 하나의 LAN

- 동일한 prefix를 가지고 라우터를 거치지 않고도 통신이 가능한 서브넷도 LAN으로 구성됨

- 이더넷은 90년대부터 시작했지만 심플하고 효과가 있어 지금까지 사용됨

- 최근에는 switch를 중간에 두는 star형으로 많이 구성됨

 

- 프레임의 헤더에는 preamble, dest address, source address, type가 있음

- 이 중 중요한건 dest address, source address, type, 그 중 type은 네트워크의 프로토콜이 들어있음(대부분 IP 프로토콜)

- CRC는 에러채킹때 사용되는 부가적인 정보

 

- 이더넷은 CSMA/CD 프로토콜을 사용

질문: collision이 발생해도 감지하지 못하는 경우가 있을까?

- A와 E가 각각 보내야할 프레임이 있을때

- A가 보낸 프레임이 E도착 직전에 collision이 발생했을때

- E는 바로 알아치고 전송 중단하고 재전송을 준비함

- A가 마침 전송이 끝나버린다면 충돌난걸 알지도 못한채 전송이 끝나 A는 완벽하게 전송을 했다고 착각함

- 이런 경우를 방지하기 위해 이더넷에서는 최소 64바이트씩 데이터를 전송하게 강제함

 

 

MAC address


- 프레임에 들어있는 헤더 중 address는 IP address와는 다른 MAC address

- 48 bit 로 구성

- 24비트씩 끊어서 앞에 24비트는 제조회사, 뒤 24비트는 인터페이스 고유 넘버로 사용됨

- 랜카드가 공장에서 나올때 찍힘

- 주민번호 처럼 변경 불가능한 존재

 

- 프레임의 헤더 중 source address에는 자기 자신의 MAC 주소가, destination aderess에는 다음에 갈 게이트웨이 MAC주소가 적혀있음

- 프레임의 데이터 부분에는 DHCP가 알려준 나의 IP와 DNS가 알려준 목적지 IP 주소가 있는 IP 패킷이 담겨져 있음

- 현재 자신의 IP,MAC 주소, 목적지 IP주소는 알지만 전송해야할 게이트웨이 라우터의 MAC주소는 알지 못함

- 하지만 DHCP를 통해 해당 게이트웨이 라우터의 IP주소는 알고있음, 그 IP주소를 가지고 MAC 주소를 알아내는 과정이 필요함

 

ARP(address resolution protocol)

- 각 인터페이스에는 ARP table 이라는 것을 가지고 있음

- 테이블에는 IP 주소와 대응하는 MAC 주소가 적혀있음

- 그 테이블에 원하는 정보가 없을 경우 ARP 테이블을 채워넣는 프로토콜이 ARP 프로토콜

- 원하는 정보가 없을 경우 ARP request라는 프레임을 LAN 전체에 브로드케스트로 보냄

- desc 주소는 브로드케스트, source 주소는 자기자신, data부분엔 원하는 IP주소를 담아서 보냄

- IP주소가 상응하는 인터페이스만 응답을 해줌, 이것도 똑같이 브로트케스트로 보내서 source가 맞는 인터페이스만 응답함

- ARP 테이블에는 TTL이라는 컬럼이 있어 해당 정보(캐쉬)의 유효기간을 명시함

 

 

ip 패킷이 목적지까지 도달하는 과정:

- A 가 ARP 테이블을 통해 게이트웨이의 mac 주소를 얻음

- csma/cd 방식으로 보냄

- 게이트웨이는 프레임을 받아서 ip패킷을 꺼낸 후 목적지 ip와 포워딩 테이블을 참고하여 보낼 다음 라우터를 정함

- src mac주소는 게이트웨이 보내는쪽 mac 주소로 바꿈(a가 보낸 프레임의 목적지 mac 주소와 다름, 라우터는 받는 인터페이스, 보내는 인터페이스 따로있음)

- 목적지 mac은 또 게이트웨이의 ARP 테이블을 참고해서 얻음

- csma/cd 방식으로 보냄

.....

- 목적지까지 전달

 

- 목적지까지 도착할때까지 ip 패킷은 변하지 않고 프레임의 src mac 주소랑 desc mac 주소만 바뀜

- src mac 주소랑 desc mac 주소를 알기 위해 포워딩 테이블과 ARP 테이블을 참고

- csma/cd 방식으로 전달

 

참고