기술면접/네트워크

[기술면접] 네트워크 3

[dev] hiro 2024. 11. 10. 16:42
제가 공부한 내용을 정리하는 블로그입니다.
아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁
접은 글을 통해 먼저 답변을 해보시고 제가 정리한 답을 확인해보시기 바라겠습니다!!

면접 리스트

여러개의 프로세스가 존재할 때 트랜스포트 레이어의 동작을 설명해보세요

더보기

응용 계층과 전송 계층 사이의 인터페이스 socket을 이용하여 세그먼트를 프로세스에게 전달합니다. 각 socket에는 매핑되어 있는 port 넘버가 있고, port 넘버는 호스트에서 실행중인 프로세스를 구분합니다. 이 포트 넘버를 소켓에 바인딩하고 데이터를 보낼 때에는 트랜스포트 레이어에서 제공하는 포트 멀티플렉싱을 합니다.

 

데이터를 받을 때에는 전송계층은 세그먼트 헤더의 대상 포트넘버를 검사하여 디멀티플렉싱을 통해 포트넘버와 연관된 소켓을 찾아 데이터를 넘겨줍니다.

소켓 생성과 삭제에서 발생하는 오버헤드를 줄이는 방법은 무엇이 있을까요?

더보기

많은 소켓의 생성과 삭제에서 발생할 수 있는 오버헤드를 줄일 방법은 소켓을 풀에 유지하여 관리하는 방법입니다.

 

연결이 필요한 경우 풀에서 사용 가능한 소켓을 할당하고 연결이 닫히면 다시 풀에 반환하여 관리하면 소켓이 재사용되므로 생성 및 삭제의 오버헤드를 줄일 수 있습니다.

 

또 다른 방법으로 TCP는 소켓 재사용을 허용하므로 새 소켓을 만들 필요없이 새로운 주소와 포트로 바인딩하여 소켓을 재사용하는 방법이 있습니다. 만약 응용 프로그램에서 허용하는 경우라면 영구 연결을 사용하여 소켓의 생성 및 삭제의 오버헤드를 줄일 수 있습니다.

N+1번의 세그먼트에 대한 ACK가 도착하고 N에 대한 ACK는 도착하지 않았을 때 TCP는 어떻게 동작하는가?

더보기

Selective ack 일 때 N+1번 세그먼트에 대한 ACK가 도착했다는 것은 N에 대해서도 패킷이 도달했다는 것을 알 수 있습니다.

 

TCP는 accumulative ack로 ack를 매 패킷마다 보내지 않을 수 있고, 순서대로 마지막에 받은 패킷에 대한 ack를 보낼 수 있습니다.

 

따라서 N+1번 세그먼트에 대한 ACK가 도착했다는 것은 N번 세그먼트에 대해서도 도달했다는 것을 알 수 있고, window사이즈만큼 sliding window를 이동시켜 다음 패킷을 보낼 준비를 합니다.

네트워크 레이어의 목적은 무엇일까요?

더보기

네트워크 레이어의 목적으로는 크게 라우팅포워딩이 있습니다.

 

라우팅출발지에서부터 목적지로까지 최적의 경로를 결정합니다. 라우팅 프로토콜과 알고리즘을 사용하여 정체 및 비용과 같은 요소를 기반으로 최적의 경로를 결정합니다.

 

포워딩은 라우팅을 통해 최적의 경로가 밝혀지면 결정된 경로를 따라 해킷 헤더의 목적지 주소를 검사하여 long prefix 알고리즘을 바탕으로 다음 노드로 데이터 패킷을 전달하는 역할을 합니다.

왜 트랜스포트 레이어에 checksum이 있는데 네트워크 레이어에도 체크섬이 있는가?

더보기

전송 계층과 네트워크 계층 모두 체크섬을 사용하여 전송된 데이터의 무결성을 보장합니다. 그러나 체크섬은 다른 용도로 사용됩니다.

 

TCP 또는 UDP 체크섬과 같은 전송 계층 체크섬은 데이터가 소스 호스트와 대상 호스트 간에 오류 없이 전송되었는지 확인하는 데 사용됩니다. 체크섬은 전송 계층 헤더 및 데이터 필드의 내용을 기반으로 계산됩니다. ⇒ 데이터 포함

 

반면 IPv4 또는 IPv6 체크섬과 같은 네트워크 계층 체크섬은 데이터가 src 네트워크와 dest 네트워크 간에 오류 없이 전송되었는지 확인하는 데 사용됩니다. 체크섬은 네트워크 계층 헤더 및 데이터 필드의 내용을 기반으로 계산됩니다. ⇒ 헤더 체크

 

즉, 전송 계층 체크섬은 단일 네트워크 연결 내에서 종단 간 오류 탐지 기능을 제공하는 반면 네트워크 계층 체크섬은 여러 네트워크 연결에 걸쳐 오류 탐지 기능을 제공합니다. 이러한 이중화는 컴퓨터 네트워크에서 데이터 전송의 안정성과 무결성을 보장하는 데 도움이 됩니다.