본문 바로가기
Tech Interview/Network

[네트워크] 네트워크 계층과 데이터링크 계층

by ggyongi 2021. 11. 9.
반응형

Q) 라우터가 무엇인가요?
A) 라우터는 크게 두 가지 역할을 담당합니다. 패킷을 받아 목적지 주소를 확인하여 포워딩 테이블을 통해 목적지 주소에 맞는 링크로 보내주는 역할을 포워딩이라고 합니다. 그리고 이 포워딩 테이블을 만들어주는 기능을 라우팅이라고 합니다.


Q) IP 주소에 대해 설명해주세요.
A) IP 주소는 네트워크 인터페이스 카드를 지칭하는 주소입니다. 4버전에서 IP주소는 32비트 주소체제를 사용하고 나타낼 때는 보기좋게 8비트씩 끊어서 10진수로 나타냅니다. IP 주소를 규칙없이 배정하면 포워딩 테이블이 매우 복잡해지기 때문에 IP 주소는 계층화시켜 사용합니다. 네트워크 아이디(서브넷 아이디), 호스트 아이디로 나누고 서브넷 마스크를 통해 이 둘을 구분합니다. 예전에는 class 방식으로 둘을 나눠 사용했으나 최근에는 class에 구애받지 않고 유연하게 둘을 나눠 사용합니다.


Q) 서브넷은 무엇인가요?
A) 같은 서브넷 아이디를 가지고 있는 디바이스의 집합입니다. 같은 서브넷 내에선 라우터를 거치지 않고 접근이 가능합니다. 라우터는 하나의 서브넷이 아니라 여러 개의 서브넷에 걸쳐있기 때문에 라우터는 여러개의 IP주소를 갖고 있습니다.


Q) NAT(Network Address Translation)에 대해 설명해주세요.
A) IPv4는 32비트를 사용하며 이론상 2의 32제곱, 약 40억개의 IP주소를 만들 수 있습니다. 하지만 이 숫자로는 지구의 모든 디바이스에게 주소를 할당하기엔 부족합니다. 그래서 일종의 트릭이라 할 수 있는 NAT 방식을 사용합니다. NAT 방식은 컴퓨터가 보낸 패킷이 라우터를 통해 서브넷에서 빠져나갈 때 라우터가 본인의 IP와 포트번호를 그 컴퓨터의 IP와 포트번호로 바꿔치기하여 내보냅니다. 이 기록을 NAT 테이블에 기록해 놓고 다시 해당 패킷이 되돌아오면 다시 원래의 주소로 바꾸어 해당 컴퓨터에 패킷을 전달합니다. 이때 서브넷 내의 IP주소를 내부 IP 또는 사설 IP라고 하고 외부로 나가는 IP주소를 외부 IP 또는 공인 IP라고 합니다. NAT는 주소 절약 기능뿐만 아니라 사설 IP 주소를 감춤으로써 보안의 역할까지 할 수 있습니다.
라우터는 네트워크 계층을 담당하지만 포트번호를 바꾸므로 layer violation 문제가 발생할 수 있습니다.

Q) DHCP는 무엇인가요? (Dynamic Host Configuration Protocol)
A) IP 주소, 서브넷 마스크, 라우터 주소, DNS 주소는 필수적입니다. DHCP는 컴퓨터 부팅 시 저 4가지 필수 주소를 배정해주는 프로토콜입니다. 하나의 기관에 1만 여개의 사용자가 있을 경우 IP주소를 만개 다 사용하지 않고 대략 1천여 개 정도만 사용하면서 필요한 사람에게 그때그때 빌려주는 방식입니다. 동작과정은 다음과 같이 4번의 동작으로 이루어집니다. 예시를 들면 다음과 같습니다.
첫번째는 DHCP discover입니다. 처음 부팅하여 네트워크에 연결되면 DHCP 서버 조차 알지 못하기 때문에 브로드캐스트로(255.255.255.255)로 dest IP를 설정하여 모든 IP 주소에 보냅니다. 이때 자신의 IP는 0.0.0.0으로 초기화된 상태이고 특정 포트를 사용하게 됩니다. 그리고 임의의 transaction ID를 설정하여 같이 보냅니다. DHCP프로토콜의 포트번호는 67번인데, 나머지는 67번을 닫아놔서 무시하고 DHCP 서버만 이 요청에 응답합니다.
두번째는 DHCP offer입니다. 아직 클라이언트에게 IP 할당을 못한 상태여서 응답 역시 브로드캐스트로 보냅니다. 처음 요청보낸 포트 번호와 transaction ID를 통해 클라이언트만 응답을 받게 됩니다. 이때 yiaddrr, lifetime, 서브넷마스크, 라우터, DNS 등 여러 네트워크 정보를 보내줍니다.
세번째는 DHCP request입니다. 클라이언트는 배정받은 IP 주소를 사용하겠다는 의미의 request를 보냅니다. 아직 IP 주소를 배정받은 것은 아니므로 이때도 src IP는 여전히 0.0.0.0입니다. DHCP 서버들에게 내가 정한 DHCP를 알려주기위해 이번에도 브로드캐스트로 보냅니다. 이때 transaction ID는 기존 숫자에 1을 더하여 보냅니다.
네번째는 DHCP ACK입니다. 이전과 같은 파라미터를 포함하는 메시지로 ACK를 보냅니다. ACK를 클라이언트가 받으면 그때부터 IP주소가 배정됩니다.


Q) 라우팅은 어떤 방법으로 만들어지나요?
A) 라우팅 알고리즘은 2종류가 존재합니다.
link state algorithm은 모든 라우터의 정보를 알고 알고리즘을 작성하는 방식입니다. 다익스트라 알고리즘을 사용합니다. distance vector algorithm은 이웃한 라우터 정보만 알고 알고리즘을 작성하는 방식입니다. 재귀 구조를 이용하여 계산합니다.


==== 데이터 링크 계층 ====


Q) 이더넷이란 무엇인가요?
A) 컴퓨터 네트워크 기술의 일종으로 LAN에서 가장 많이 활용되는 네트워크 규칙입니다. 이더넷에서는 CSMA/CD라는 프로토콜을 사용합니다.


Q) CSMA/CD 프로토콜이 무엇인가요?
A) 링크에 둘 이상의 사용자가 존재하게 되면 패킷의 충돌 가능성이 생깁니다. CSMA/CD는 이러한 충돌을 막고 원하는 곳에 패킷이 정확히 도달하기 위해 사용하는 여러가지 MAC 프로토콜 중 하나입니다. CSMA/CD 방식은 데이터 전송 전에 케이블에 신호가 흐르는 지 확인하고 신호가 없다면 데이터를 보냅니다. 그럼에도 충돌의 가능성이 있는데, 충돌이 발생하면 그 즉시 전송을 멈추고 m번의 충돌이 있을 때 0~2^m-1의 숫자 중 랜덤한 숫자만큼의 시간을 기다린 후 재전송을 합니다. 이러한 방식은 사용자가 몰릴 경우 전송 속도가 느려질 수 있다는 단점이 있습니다.
+) CSMA/CD = carrier sense multiple access / collision detection의 준말입니다.


Q) MAC address에 대해 설명해 주세요.
A) 이더넷 프레임의 헤더 중 address는 MAC address를 뜻하는데, 이 맥주소는 48비트로 구성이 되어있으며 앞 24비트는 제조회사 번호, 뒤의 24비트는 인터페이스의 고유 넘버로 사용됩니다. 24비트는 4비트씩 쪼개어 16진수 숫자 6개로 나타낼 수 있습니다. IP 주소와 달리 맥주소는 변경이 불가능합니다.


Q) MAC address는 왜 필요한거죠?
A) MAC address는 모든 네트워크 장비가 가지고 있는 물리적인 주소입니다. IP 주소는 네트워크 계층에 존재하는 주소며 네트워크의 위치를 찾기 위해 사용됩니다. 맥주소는 데이터링크 계층에 존재하여 해당 컴퓨터를 찾기 위해 사용됩니다.


Q) ARP에 대해 설명해주세요. (ARP = address resolution protocol)
A) 이더넷 프레임 헤더에는 목적지 맥주소를 쓰게 되어 있습니다. 이를 위해 자신의 컴퓨터는 게이트웨이 라우터의 맥주소를 알아야 합니다. DHCP를 통해 라우터의 IP는 알고 있는 상황이므로 이 IP를 통해 맥주소를 알아내는 방법이 있습니다. 이 프로토콜을 ARP라고 합니다. 각 인터페이스에는 ARP 테이블이라는 것을 가지고 있어 IP주소에 대응하는 맥주소를 알아낼 수 있습니다. 원하는 정보가 없을 경우 ARP request라는 프레임을 브로드캐스트로 LAN 전체에 보내 ARP response를 받고 테이블을 채워넣습니다.


Q) 스위치는 무슨 기능을 하나요?
A) 스위치는 LAN 내의 기기들을 연결해주고 패킷이 서로 충돌없이 원하는 곳에 잘 도착할 수 있도록 도와줍니다. 스위치 안에는 스위치 테이블이 존재하여 연결된 인터페이스들의 맥주소와 연결된 포트번호를 담고 있습니다. 스위치는 데이터 링크 계층에서만 동작하기 때문에 라우팅 같은 기능은 할 수 없습니다.

 

비전공자 네카라 신입 취업 노하우

시행착오 끝에 얻어낸 취업 노하우가 모두 담긴 전자책!

kmong.com

댓글