Home [CS 스터디] 네트워크 2
Post
Cancel

[CS 스터디] 네트워크 2

7. TCP와 UDP의 차이에 대해 설명해 주세요.

참고 자료

  • TCP의 특징은 다음과 같습니다.
    • 연결형 프로토콜입니다. 즉, 신뢰성을 보장하기 위한 방식을 채택해 동작합니다.
    • 이로 인해 3-way handshaking으로 연결을 설정하고 4-way handshaking으로 연결을 종료합니다.
      • 3-way handshaking : SYN -> ACK/SYN -> SYN
      • 4-way handshaking : FIN -> ACK -> FIN -> SYN
    • 데이터의 처리 속도를 조절해 수신자의 버퍼 오버플로우를 방지하는 흐름 제어를 지원합니다.
    • 네트워크 내에 패킷 수를 제어해 과도하게 증가하는 것을 방지하는 혼잡 제어를 지원합니다.
    • 전이중이자 점대점 방식이라고 할 수 있습니다.
      • 전이중 : 전송이 양방향으로 이뤄진다.
      • 점대점 : 정확히 2개의 종단점을 가진 연결이다.
  • UDP의 특징은 다음과 같습니다.
    • 비연결형 프로토콜입니다. 이는 신뢰성을 보장하지 않고 속도의 향상에 집중한 방식입니다.
    • 그래서 연결 확인과 같은 절차가 없습니다.
  • 두 프로토콜의 트레이드 오프는 다음과 같습니다.
    • TCP : 연결에 대한 높은 안정성과 신뢰성 보장 / 이에 따른 절차로 인해 느린 성능
    • UDP : 연결 결과에 대한 보장을 하지 않는 위험성 / 빠른 성능

왜 HTTP는 TCP를 사용하나요?

  • 위에서 설명했듯이 높은 신뢰성을 중요하게 생각하기 때문입니다.
  • 연결에 대한 결과를 보장하지 않고 전송 상태에 대한 제어를 하지 않는다면 수많은 에러를 배출해내고 나은 서비스를 제공할 수 없기에 TCP를 선택했다고 생각합니다.

그렇다면, 왜 HTTP/3 에서는 UDP(QUIC) 를 사용하나요? 위에서 언급한 UDP의 문제가 해결되었나요?

참고 자료, 참고 자료 2

  • TCP가 가지는 한계점을 극복하기 위해 UDP와 QUIC을 사용합니다.
  • TCP의 한계점은 다음과 같습니다.
    • 핸드쉐이크 과정으로 인한 오버헤드
    • HOL Blocking으로 인한 성능 저하
  • 하지만 위와 같은 한계는 TCP 내에서 성능 최적화를 통해 해결하기 힘듭니다. 헤더가 이미 가득 찬 상태로 사용되기 때문입니다.
  • 그래서 HTTP/3는 UDP를 활용해 핸드쉐이크 절차를 없애 성능을 향상시키고 QUIC이라는 프로토콜을 함께 사용해 TCP처럼 신뢰성을 보장하는 방식을 제공합니다.
  • QUIC이 제공하는 신뢰성 보장 방식과 장점은 다음과 같습니다.
    • 첫 연결에서 필요한 데이터를 함께 보내고 성공하면 그 연결 정보를 캐싱해두기 때문에 이론상 0-RTT를 제공합니다.
    • 독립 스트림에서 발전된 멀티 플렉싱을 제공합니다. 독립적인 스트림을 가지므로 대기에 대한 문제가 발생하지 않습니다.

본인이 새로운 통신 프로토콜을 TCP나 UDP를 사용해서 구현한다고 하면, 어떤 기준으로 프로토콜을 선택하시겠어요?

  • 빠른 구현을 해야 한다면 이미 많은 기능과 절차가 구현되어 있고 동작하는 TCP가 적합하다고 생각합니다.
  • 반면에 성능적인 최적화가 필요하고 그 과정에서 커스터마이징 작업을 해야하거나 그럴 수 있는 시간적 여유가 있다면 UDP를 고려해볼 수 있을 것 같습니다.

Checksum이 무엇인가요?

참고 자료

  • 전송되는 패킷 또는 세그먼트의 데이터가 변조되거나 깨지는 경우를 확인하는 간단한 절차를 의미합니다.
    • 송신측에서, 전송할 모든 데이터를 16 비트 워드 단위로 구분하고,
    • 1의 보수를 취하고, 그 합에 대한 결과를 전송하면,
    • 수신측에서, 같은 합을 해보아서 오류를 검출하는 방식으로 동작합니다.

TCP와 UDP 중 어느 프로토콜이 Checksum을 수행할까요?

참고 자료

  • TCP와 UDP 모두 Checksum을 위한 공간이 별도로 존재하며 변조에 대한 확인을 위해 Checksum을 진행합니다.
  • 또한 TCP는 필수적 / UDP는 선택적으로 Checksum을 진행할 수 있습니다.

그렇다면, Checksum을 통해 오류를 정정할 수 있나요?

참고 자료

  • TCP에서 손상된 세그먼트가 검출될 경우, 재전송하게 됩니다.
  • 이렇게 되면 해당 세그먼트가 수신측 버퍼에 도착하지 않기 때문에 송신측 타이머가 만료되게 되면서 재전송이 진행됩니다.
  • 오류 정정보단 재시도는 가능하다고 생각합니다.

세그먼트, 패킷 차이

TCP가 신뢰성을 보장하는 방법에 대해 설명해 주세요.

참고 자료, 참고 자료 2

  • TCP는 세그먼트가 정상적으로 수신 대상자에게 전달된다면 그에 따른 응답을 받게 되어 있습니다.
  • 만약 그 응답이 오지 않는다면 송신 측에선 정상적인 처리가 되지 않았다고 판단해 재전송을 진행하게 됩니다.
  • 세그먼트에 대한 정상 여부 판단은 Checksum을 통해 판단합니다.
  • 문제가 있다면 TCP flag 중 ACK Flag를 reset(0)으로, 정상적이라면 set(1)로 보내고, SYN 과정에서 받은 데이터에 + 1을 한 값을 함께 전달합니다.
  • 또한, 세그먼트에 순서를 보장하기 위한 번호(Sequence Number)를 보낼 때 지정하고 수신 측의 버퍼 내에서 정렬해 저장합니다.

TCP의 혼잡 제어 처리 방법에 대해 설명해 주세요.

참고 자료

  • AIMD
    • Additive Increase & Multicative Decrease의 약자로, 합 증가 & 곱 감소라는 의미입니다.
    • 처음에 패킷을 하나씩만 보내고 문제없이 해당 패킷이 도착하면 윈도의 크기를 증가시켜 전송합니다.
    • 만약 전송 실패가 발생할 경우 윈도우의 크기를 반으로 줄입니다.
    • 윈도우의 크기를 너무 조금씩 늘리기 때문에 네트워크의 대역을 제대로 활용하여 속도를 내기엔 시간이 걸린다는 단점이 있습니다.
  • Slow Start
    • 윈도우의 크기를 지수적으로 증가하다가 혼잡이 감지되면 1로 줄이는 방법입니다.
    • 윈도우의 크기가 처음에는 조금 느리게 증가하지만, 시간이 지날수록 윈도우의 크기가 빠르게 증가한다는 장점이 있습니다.
  • AIMD, Slow Start를 사용하면서 네트워크의 혼잡이 자주 발생하면 윈도우의 크기가 크게 감소하고 네트워크의 전송률이 매우 떨어집니다. 따라서 TCP에는 패킷을 재전송하는 기법들이 존재합니다. 이들 역시 혼잡제어 기법의 일종입니다.

  • Fast Retransmit
    • 수신 측은 먼저 도착해야하는 패킷이 도착하지 않고 다음 패킷이 도착한 경우에도 응답(ACK)를 보냅니다.
    • 단, 순서대로 도착한 마지막 패킷의 다음 패킷 순번을 응답 패킷에 실어서 보내기 때문에 송신 측은 순번이 중복된 응답 패킷을 받게되고, 이러한 중복 패킷을 3번 감지하면 문제가 되는 순번의 패킷을 재전송해줄 수 있습니다.
  • Fast Recovery
    • 혼잡한 상태가 되면 윈도우의 크기를 1로 줄이지않고 반으로 줄인 다음 선형적으로 증가시키는 기법입니다. 이 기법을 적용하면 혼잡상황을 겪고난 후에는 AIMD와 같은 방식으로 동작합니다.

윈도우 : 하나의 통신 내에서 성공 응답없이 보낼 수 있는 패킷의 수를 의미합니다.

추가적으로 Tahoe, Reno 방식이 있으며 이 둘은 AIMD와

8. DHCP가 무엇인지 설명해 주세요.

참고 자료

  • 네트워크 내에서 사용하는 여러 클라이언트, 장치들이 동일한 IP 주소를 가지지 않도록 동적으로 할당해주는 프로토콜을 DHCP라고 합니다.
  • DHCP를 사용하게 되면 사용자가 직접 사용하지 않는 IP 주소를 지정하는 과정과 지정하기 위해 필요한 다른 여러 정보들을 가지고 있지 않아도 원활환 네트워크 환경 구성이 가능해집니다.
  • 또한 할당된 IP 주소는 유한한 임대 기간을 가집니다.

DHCP는 몇 계층 프로토콜인가요?

참고 자료

  • 사용자가 네트워크 자원에 접근하는 방법을 제공한다는 점에서 어플리케이션 계층이라고 할 수 있습니다.
  • 추가로 UDP를 사용해 동작하지만 포트 번호는 어플리케이션에 해당하는 포트 번호를 사용합니다.

DHCP는 어떻게 동작하나요?

참고 자료

  • 라우터, 공유기는 DHCP Server라는 프로그램을 내장하고 있습니다. 서버는 네트워크 연결 요청이 왔을 때, 사용하지 않는 IP 주소를 찾아 제공해주는 역할을 합니다.
  • 각각의 인터넷을 사용하는 장비들을 반대로 DHCP Client라는 프로그램을 내장하고 있습니다. 클라이언트가 네트워트 연결을 시도할 때 DHCP Server로 부터 IP주소를 요청하게 됩니다.
  • 또한 각각의 장비들은 생산시 고유한 식별자를 가지고 있기 때문에 장비들에 대한 구분과 식별을 이 식별코드로 진행합니다. 이 식별자는 MAC 주소라고 합니다.
  • 실제 동작 순서는 다음과 같습니다.
    1. Discover(Client -> Server) : Client의 MAC 주소와 함께 IP 주소 할당 요청을 보냅니다.
    2. Offer(Server -> Client) : Server의 할당 가능한 IP주소와 서브넷 마스크, 기본 게이트웨이 주소, DNS IP 주소, 임대 시간 등 네트워크 연결에 필요하고 할당 가능한 데이터를 전달합니다.
    3. Request(Client -> Server) : Server가 전달해준 IP 주소 중 사용할 IP 주소를 선택해 알려줍니다.
    4. Ack(Server -> Client) : Server가 Client의 요청을 받았고 그에 따른 인지가 되었다는 정보를 알려줍니다.

DHCP에서 UDP를 사용하는 이유가 무엇인가요?

참고 자료

  • 단순한 형태의 패킷을 주고 받은 방식으로 동작하기 때문에 상대적으로 큰 대역폭을 사용하는 것이 비효율적일 수 있습니다.
  • 또한 일시적으로 서버와 클라이언트가 연결해 데이터를 주고 받고 종료하는 경우가 많지 않으므로 단순한 형태의 비연결적 방식이 적합합니다.
  • 네트워크 연결을 위한 사전 작업으로 활용되므로 신뢰성 보장보단 신속하고 빠른 처리 속도가 더 중요합니다.

DHCP에서, IP 주소 말고 추가로 제공해주는 정보가 있나요?

참고 자료, 참고 자료 2

  • 서브넷 마스크
    • IP주소에서 네트워크 주소와 호스트 주소의 범위를 지정하고 구분하기 위해 사용되는 값입니다.
    • 네트워크 주소는 호스트들의 집합을 의미하는 주소이며 호스트는 각각의 통신 장비에 할당되는 번호입니다.
    • 만약 서브넷마스크가 255.255.255.0 이라는 것은 2진법으로 풀어보면 11111111.11111111.11111111.00000000 이며 여기서 1에 해당하는 범위까지가 네트워크 주소에 사용되는 비트수이고 0에 해당하는 범위가 호스트 주소에 사용되는 범위를 의미합니다.
    • 네트워크 주소와 호스트 주소는 목적과 상황에 따라 변경될 수 있으므로 서브넷 마스크를 함꼐 명시해야 정확한 네트워크에 포함된 호스트로 접근할 수 있습니다.
  • 기본 게이트웨이
    • 로컬이 아닌 다른 네트워크의 호스트와 통신해야 하는 경우 사용되는 기본 IP주소를 의미합니다.
    • 다른 네트워크에서 접근하는 경우 기본 게이트웨이로 라우팅하게 됩니다.
  • DNS 서버
    • 도메인 이름과 IP주소 간 매핑 정보 제공하는 서버를 의미합니다.
  • 그 외에도 IP주소 대여 기간, 클라이언트 식별자(MAC), 클라이언트의 운영 체제 등을 제공합니다.

DHCP의 유효기간은 얼마나 긴가요?

  • 유효기간이 짧거나 긴 경우 어떠한 문제가 발생하는지 보면 다음과 같습니다.
    • 대여 기간이 짧으면 빈번한 IP 주소 변경 작업이 발생해 네트워크 성능 저하될 수 있습니다.
    • 반대로 대여 기간이 길다면 IP 주소가 사용되지 않는 기간이 늘어나 낭비되는 경우가 발생할 수 있고 IP 주소를 요구하는 호스트가 많음에 따라 부족 현상도 발생할 수 있습니다.
  • 유효기간은 위와 같은 특징을 고려하면서 사용자가 사용 목적, 환경, 상황에 따라 다르게 지정할 수 있습니다.

9. IP 주소는 무엇이며, 어떤 기능을 하고 있나요?

  • IP 주소는 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호(wiki)라고 할 수 있습니다.
  • OSI 7 계층 중 3계층인 네트워크 계층에 포함되며 8비트씩 4개의 구역으로 나눠진 32비트로 주소를 표현하며 네트워크 주소와 호스트 주소로 구분됩니다.
  • 디지털 주소 역할을 수행하면서 데이터를 주고받을 수 있도록 해줍니다.(기능이라고 할 내용은 없지 않나…)

IPv6는 IPv4의 주소 고갈 문제를 해결하기 위해 만들어졌지만, 아직도 수많은 기기가 IPv4를 사용하고 있습니다. 고갈 문제를 어떻게 해결할 수 있을까요?

참고 자료, 참고 자료 2

  • Private Network(사설망)의 등장으로 고갈 문제를 해결했습니다.
  • 즉, 각각의 장비가 외부로 통신이 가능한 IP 주소를 할당해주는 것이 아니라 하나의 공유기 내에서만 사용할 수 있는 IP 주소를 할당하고 사용하는 것을 의미합니다.
  • 사설망에서 사용하는 IP는 절대로 공인 인터넷에서 사용이 불가능합니다.
  • 사설망을 통해 이로 인해 공인 인터넷에서 사용할 수 있는 IP의 수요를 절약할 수 있게 되었습니다.
  • 하지만 사설망 IP 주소를 공인 인터넷을 사용할 수 없으므로 공인 IP로 변환해줘야 하는 소요가 발생했습니다.
  • 이 역할을 수행하는 것에 NAT(Network Address Translation)입니다.
  • NAT의 역할은 다음과 같습니다.
    • 외부로 요청을 보내는 장치의 사설 IP주소를 저장
    • 사설 IP 주소를 공인 IP로 변환
    • 이후 외부 네트워크의 응답 또한 변환해준 공인 IP로 전달받고 NAT가 다시 사설 IP로 변환해주면서 원활환 통신이 가능하게 해줍니다.

IPv4와 IPv6의 차이에 대해 설명해 주세요.

참고 자료

  • 많은 차이점이 있지만 주요 차이점은 다음과 같습니다.
    • 주소 길이 : 32비트를 사용하는 IPv4에서 IPv6는 128비트를 사용합니다. 이로 인해 1조 개의 가까운 주소를 할당할 수 있습니다.
    • 주소 표현 방법 : IPv4는 콜론(.)으로 구분하고 IPv6는 이중 콜론(:)으로 구분합니다.
    • NAT 사용 여부 : 주소 고갈문제를 해결하기 위해 사용되는 NAT를 IPv6에선 사용하지 않고 직접 공인 인터넷에 연결할 수 있습니다.
    • 헤더 길이 : IPv4는 옵션 내용에 따라 20-60 바이트로 가변적인 크기를 가지는 반면, IPv6는 40 바이트로 고정 크기고 상대적으로 헤더 내용이 간단합니다.
    • 주소 유형 : IPv4는 유니캐스트, 멀티캐스트, 브로드캐스트 주소를 지원하며 IPv6는 유니캐스트, 멀티캐스트, 애니캐스트 주소를 지원합니다.
      • 유니캐스트 : 1대1
      • 브로드캐스트 : 1대다
      • 멀티캐스트 : 1대그룹
      • 애니캐스트 : 1대가까운1

IPv4를 사용하는 장비와 IPv6를 사용하는 같은 네트워크 내에서 통신이 가능한가요? 가능하다면 어떤 방법을 사용하나요?

  • 듀얼 스택
    • IPv4와 IPv6를 모두 지원하는 방식입니다.
    • 동작 우선순위를 결정할 때에는 목적지 주소의 형태에 따라 결정되며 방식 모두 지원할 경우 송신 측 우선순위에 따라 통신 방식을 선택합니다.
  • 터널링
    • IPv4를 사용하는 라우터들 사이에서 IPv6 데이터그램이 IPv4 데이터그램 안에 payload로써 이동되어지도록 IPv6를 IPv4로 캡슐화하는 기법입니다.
  • 헤더 변환
    • IPv6 시스템이 IPv4 수신자가 이해할 수 있거나 그 반대로 헤더 정보를 전환해주는 기법입니다.
    • NAT처럼 전환된 데이터를 별도로 관리하고 변경해주면서 통신이 원활하도록 지원합니다.

IP가 송신자와 수신자를 정확하게 전송되는 것을 보장해 주나요?

  • IP 자체로는 신뢰성을 보장하지 않습니다. 그래서 TCP와 같은 데이터 전송의 신뢰성을 보장하기 위한 추가적인 장치가 필요합니다.
  • 하지만 정확한 도착지로 전달되는 것을 보장하지는 않지만 Checksum을 통해 전달 과정에서 패킷 헤더의 변조 여부에 대한 간단한 검사는 가능합니다.

IPv4에서 수행하는 Checksum과 TCP에서 수행하는 Checksum은 어떤 차이가 있나요?

  • IPv4는 패킷의 헤더에 대한 무결성을 보장하기 위해 헤더값을 가지고 Checksum을 진행합니다.
  • TCP는 세그먼트의 헤더 및 데이터값을 가지고 Checksum을 진행합니다.
  • 둘의 가장 큰 차이점은 Checksum을 진행하는 대상 및 범위에서 차이가 있다고 볼 수 있습니다.

TTL(Hop Limit)이란 무엇인가요?

참고 자료

  • TTL(IPv4) 또는 Hop Limit(IPv6)은 IP 패킷 전달에 대한 생존 시간이며 인터넷에서 IP 패킷이 라우팅되며 남아있는(거쳐야 할) 라우터의 갯수를 표현하는 수를 의미합니다.
  • TTL은 IP 패킷 헤더 내 8비트 크기로 포함되며 라우터는 IP 패킷을 라우팅할 때 마다 TTL의 값을 감소시킵니다.
  • 만약 TTL이 0인 패킷을 받은 라우터는 해당 패킷을 폐기시킵니다.
  • TTL 크기 최대값은 255인 8비트입니다.

IP 주소와 MAC 주소의 차이에 대해 설명해 주세요.

  • IP 주소는 논리적인 주소이며 MAC 주소는 물리적인 주소라고 할 수 있습니다. 이로 인해 IP 주소는 변경이 가능하지만 MAC 주소는 변경이 불가능합니다.
  • IP 주소는 네트워크 상에서 컴퓨터의 연결 상태를 식별하는데 사용된다면 MAC 주소는 네트워크 상의 컴퓨터 자체를 식별하는데 사용됩니다.
  • IP 주소는 네트워크 계층(3)에 속하며 MAC 주소는 데이터 링크 계층(2)에 속합니다.

10. OSI 7계층에 대해 설명해 주세요.

참고 자료, 참고 자료 2

  • OSI 7 계층(OSI 7 Layer)는 네트워크 내에서 컴퓨터와 컴퓨터가 통신하는데 이뤄지는 복잡한 과정을 기능별로 7계층으로 분리시킨 모델을 의미합니다.
  • 각각의 계층은 상호 독립적으로 동작하면서 모든 계층이 정상적으로 동작해야 정상적인 통신이 가능합니다.
  • 그리고 독립적이기 때문에 통신의 문제가 발생하면 어느 계층의 문제인지 빠르게 진단하고 해결할 수 있습니다.
  • 각 계층은 다음과 같습니다.
    1. 물리 계층(Physical Layer)
      • 0과 1의 비트열로 전기적 신호 상태의 트래픽을 전달하는 계층입니다.
      • 이더넷 케이블이나 와이파이와 같이 실제 물리적인 매체들이 물리 계층에 속합니다.
    2. 데이터 링크 계층(Data link Layer)
      • 물리적인 네트워크를 통해 데이터를 전송하는 수단을 제공하며 1홉 통신을 담당한다고도 표현합니다. 홉이라는 것은 출발지와 목적지 사이에 존재하는 경로를 의미합니다.
      • 즉, 중간 거점 간의 이동을 담당합니다.
      • MAC 주소가 데이터 링크 계층에서 사용됩니다. 목적지로 가기 위한 물리적인 주소를 의미합니다.
      • MAC 주소는 컴퓨터 구성 하드웨어 중 NIC(Network Interface Card)가 생성될 때 부여되며 NIC가 MAC 주소에서 다음 MAC 주소로 프레임을 전달하는 역할을 합니다.
    3. 네트워크 계층(Network Layer)
      • End-To-End로 패킷을 전달하는 계층입니다. 즉, 출발지에서 전달할 최종 도착지의 위치를 식별하고 최적의 경로를 지정해 패킷을 전달하는 역할을 합니다.
      • 도착지의 위치는 논리적인 주소로 IP 주소로 표현합니다.
      • IP 주소를 통해 인터넷에 연결되어 있는 모든 컴퓨터의 주소를 식별할 수 있습니다.
      • 라우터가 네트워크 계층의 역할을 수행하는 하드웨어입니다.
    4. 전송 계층(Transport Layer)
      • 출발지와 도착지 간의 통신 과정에 대한 제어와 에러를 관리합니다. 즉 사용자들이 신뢰성 있는 통신이 가능하도록 관리하는 역할을 수행합니다.
      • 신뢰성을 보장하는 연결형 프로토콜인 TCP나 비연결형이지만 속도가 빠른 UDP를 주로 사용합니다.
      • 데이터 단위는 세그먼트로 나누며 체크섬을 통해 무결성을 보장하고 Sequence Number를 통해 데이터의 순서를 보장합니다.
      • 또 같은 IP 주소 내에서도 세그먼트가 실제로 전달되어야 한 프로세스를 구분하기 위해 포트번호를 사용합니다.
    5. 세션 계층(Session Layer)
      • 컴퓨터와 컴퓨터가 통신 상태를 유지하고 관리하기 위한 세션을 생성합니다.
      • 세션은 포트 번호를 기반으로 연결합니다.
    6. 표현 계층(Presentation Layer)
      • 데이터의 인코딩-디코딩이나 형식 등을 관리합니다.
    7. 응용 계층(Application layer)
      • 사용자와 직접 접하면서 사용자로부터 전달받은 데이터를 하위 계층으로 전달해주는 역할을 합니다.
      • HTTP, FTP 등의 프로토콜이 응용 계층이 속합니다.
      • 브라우저가 응용계층의 역할을 수행하는 프로그램이라고 할 수 있습니다.

추가로 7계층보다 단순하게 4계층으로 나눈 모델도 있으며 자세한 내용은 아래 링크에서 확인할 수 있습니다.

Transport Layer와, Network Layer의 차이에 대해 설명해 주세요.

  • 전송 계층은 데이터의 전송 및 통신의 원활한 동작을 위한 제어를 담당합니다. 네트워크 계층은 도착 지점을 IP 주소로 식별하고 데이터가 전달될 최적의 경로를 선택하는 역할을 합니다.
  • 즉, 네트워크 계층이 정한 경로 내에서 데이터의 신뢰성을 보장하기 위한 역할을 전송 계층이 수행한다고 할 수 있습니다.

L3 Switch와 Router의 차이에 대해 설명해 주세요.

추가 검색 및 정리가 필요합니다.

  • MAC 주소를 사용하는 것이 Switch , IP 주소를 사용하는 것이 Router라고 합니다.
  • 기술의 발전으로 MAC 주소가 아닌 IP 주소로도 스위칭 작업을 가능한 것에 L3 Switch라고 할 수 있습니다.
  • 기능적 차이가 있기는 하지만 실무적으로 두 하드웨어를 구분하는 것이 의미 없다는 의견도 있습니다.

각 Layer는 패킷을 어떻게 명칭하나요? 예를 들어, Transport Layer의 경우 Segment라 부릅니다.

참고 자료

  • 1 계층 : Bits
  • 2 계층 : 프레임
  • 3 계층 : 패킷
  • 4 계층 : 세그먼트
  • 5 계층, 6계층, 7계층 : 데이터

각각의 Header의 Packing Order에 대해 설명해 주세요.

참고 자료

  • Header는 실제 요청에 대한 정보가 아닌 부가 정보를 담은 메모리를 의미하며 Packing Order는 패킷이 각기 다른 경로도 이동하더라도 도착지에서 지켜져야 할 순서를 의미합니다.
  • 각 계층별로 Packing Order에 대한 정보는 다음과 같습니다.
    • 물리 계층 : 헤더 없음
    • 데이터 링크 계층 : 패킷 순서에 대한 정보가 없음
    • 네트워크 계층 : 패킷 순서와 관련된 특정 헤더 없음
    • 전송 계층 : TCP의 경우, 송신 측에서 지정한 Sequence Number를 가지고 수신 측에서 정렬 / UDP의 경우, 순서 없이 패킷이 도착하면 처리
    • 세션 계층 : 패킷 순서와 관련된 특정 헤더 없음
    • 표현 계층 : 패킷 순서와 관련된 특정 헤더 없음
    • 어플리케이션 계층 : 헤더 없음

ARP에 대해 설명해 주세요.

참고 자료

  • ARP(Address Resolution Protocol)은 IP주소(논리적주소)와 MAC주소(물리적주소)를 매칭 시키기 위한 프로토콜입니다.
  • 데이터를 보내기 위한 수신 컴퓨터의 IP 주소를 안다고 해도 IP 주소는 불변한 값이 아닙니다. 실제 수신 컴퓨터를 식별하기 위한 독립적인 값이 필요하며 이는 MAC 주소가 될 수 있습니다.
  • 만약 MAC 주소를 모를 경우, 이를 알 수 있게 해주는 것이 ARP라고 할 수 있습니다.
  • 동작 순서는 다음과 같습니다.
    • 송신 컴퓨터에서 수신 컴퓨터의 MAC 주소를 몰라 알아내고자 한다.
    • 송신 컴퓨터는 네트워크 내 모든 컴퓨터에게 ARP 요청 패킷을 보낸다.
    • 패킷을 전달받은 수신 컴퓨터는 본인의 MAC 주소를 포함한 ARP 응답 패킷을 보낸다.
    • 응답을 받은 송신 컴퓨터는 MAC 주소를 알아낸다.
This post is licensed under CC BY 4.0 by the author.