🎯1. 컴퓨터 네트워크에 대해서 설명해주세요.
[1단계 답변] 컴퓨터 네트워크가 무엇인지 간략하게 설명해보기
핵심 키워드 : 웹, WWW, 인터넷
컴퓨터네트워크란 컴퓨터들이 통신망을 통해 서로 연결된 체계을 말합니다.
이러한 여러 통신망을 하나로 연결하는 거대한 통신망을 인터넷이라고 하며 인터넷은 이러한 컴퓨터 네트워크가 수없이 모여서 이루어진 컴퓨터 네트워크 시스템입니다.
웹은 인터넷이 제공하는 서비스 중의 하나로, 인터넷에서 연결된 사용자들은 웹(www)이라는 공간에서 정보를 공유하고 있습니다.
[2단계 답변] 컴퓨터 네트워크에 대해 좀 더 자세히 설명해보기
핵심 키워드 : 라우터, 호스트, 클라이언트, 서버, IP주소, 스위치, 스위칭
네트워크의 중심에는 라우터가 있습니다. 라우터는 다수의 네트워크를 연결하는데에 사용되고
네트워크에서 네트워크로, 출발지 호스트에서 목적지 호스트로 패킷을 전송하는 것이 라우터의 역할입니다.
이때 호스트는 일반적으로 컴퓨팅 기능이 있는PC, 서버, 스마트폰 등을 의미하는데 네트워크 내에서 서비스를 이용하는 시스템은 클라이언트이고,서비스를 제공하는 시스템은 서버입니다. 호스트는 클라이언트가 될 수도 서버가 될 수도 있습니다.
각각의 호스트가 서로 통신하기 위해 가지고 있는 네트워크 주소가 ip주소이며 컴퓨터는 ip주소라는 주소체계를 통해 서로를 식별합니다.
목적지 호스트로 출발한 출발지 호스트의 데이터가 스위치라는 장비를 거치게 되면 이 스위치가 데이터의 목적지를 파악하여 적합한 경로로 스위칭 해주는 역할을 합니다.
[3단계 답변] : 네트워크에서 컴퓨터들이 어떻게 데이터를 주고 받는지 설명해보기
핵심 키워드 : 회선교환방식, 패킷교환방식
네트워크에서 컴퓨터들은 데이터를 주고 받을 때 대표적으로 두 가지 교환 방식으로 주고 받습니다.
-회선교환 방식
먼저 회선교환방식은 데이터를 전송할 때마다 고정된 통신경로를 설정하여 데이터를 교환하는 방식입니다. 데이터가 전송되기 전 두 단말장치 간 회선을 설정하고 회선이 단절되기 전까지 데이터를 전송하지 않을 때에도 다른 단말장치들이 이 회선을 이용할 수 없으므로 이용률 측면에서는 불리하나 독점적으로 사용되어 회선이 끊어지는 등의 장애는 없습니다.
-패킷교환 방식
패킷교환방식은 일정한 데이터 블록을 의미하는 패킷으로 분할한 후 교환기가 수신측 주소에 따라 적당한 통신경로를 선택하여 패킷단위로 독립적으로 전송합니다 . 패킷 교환방식은 고정된 경로가 미리 설정되지 않고 네트워크 트래픽 상태에 따라 각기 다른 전송경로를 가질 수 있습니다. 동일한 경로를 다른 목적지로 가는 여러 패킷들이 공유하여 통신회선을 보다 효율적으로 사용가능합니다.
🎯 2. 프로토콜에 대해 설명해주세요.
[1단계 답변] 컴퓨터 네트워크에서의 프로토콜의 의미 대해 간략하게 설명해보기
핵심 키워드 : 통신약속, 통신규약
컴퓨터 네트워크에서 데이터를 주고 받을 때 수행되는 절차를 프로토콜이라 합니다. 이때 미리 정해놓은 통신규약인 프로토콜을 통해 통신을 원할하게 하는 것이 가능합니다.
컴퓨터 간에 데이터를 송수신할 때 데이터 전송 형식이나 전송 절차가 다르면 통신이 불가능하므로 프로토콜은 반드시 필요합니다.
[2단계 답변] 프로토콜 스택에 대해 설명해보기
핵심 키워드 : OSI_7_Layer, TCP_IP, 네트워크레이어
프로토콜 스택이란 데이터 통신에 활용되는 프로토콜의 구조에 관한 개념으로, 스택 구조(계층화된 구조)로 모여 있는 프로토콜의 집합을 의미합니다.
프로토콜 스택은 크게 osi 7계층과 tcp/ip 4계층이 있습니다.
둘 다 계층형 구조로 네트워크를 설명한다는 공통점이 있지만, TCP/IP 프로토콜의 계층은 OSI 모델의 계층과 정확하게 일치하지 않습니다. OSI 표준 모델은 장비 개발과 통신 자체를 어떻게 표준으로 잡을지 사용되는 반면, 실질적인 통신을 설명할 땐 TCP/IP 모델을 주로 사용하곤 합니다.
[3단계 답변] 프로토콜 스택(네트워크 레이어)의 장단점에 대해 설명해보기
핵심 키워드 : 모듈화, 추상화, 오버헤드, 복잡성
프로토콜 스택의 장단점은 다음과 같습니다.
-장점
1. 설계하기 쉽습니다 - 일단 각 층과 그들의 상호작용이 명확하게 정의되면, 계층들은 전반적인 분할 과정을 통해 간단해집니다.
2. 유연성 -계층 구조는 다른 레이어를 변화 시킬 필요 없이 포함된 프로토콜들과 서비스들을 수정하는데 유연성을 제공합니다.
3. 쉬운 향상 - 새로운 계층을 더하거나 새로운 기능을 계층에 더하는 변화를 점점 증가시킬 수 있습니다.
-단점
1. 많은 계층이 존재할때는, 그들이 딜레이를 유발시켜 오버헤드가 발생할 수 있다는 단점이 있습니다.
🎯 3. OSI 7 Layer에 대해 설명해주세요.
[1단계 답변] OSI 7 Layer가 무엇인지 간략하게 설명하기
핵심 키워드 : 국제표준, 프로토콜스택, 네트워크레이어, 캡슐화, 비캡슐화
-osi 7계층
osi 7계층은 국제 표준화 기구 (ISO) 에서 제안한 통신 규약으로 스택구조로 이루어진 프로토콜 계층입니다.
- 캡슐화와 비캡슐화
프로토콜이 갖고 있는 역할중에서 가장 중요한 것은 '캡슐화'와 '역캡슐화' 입니다.
호스트 A가 호스트 B로 데이터를 보낼때 상위 계층에서 하위계층으로 캡슐화 처리를 하여 전송용 데이터를 만들어갑니다.
호스트 B가 전송 데이터를 받으면 역캡슐화를 통해 해당 데이터를 사용합니다.
[2단계 답변] 각 계층별 역할에 대해 설명해보기
핵심 키워드 : 애플리케이션계층, 프레젠테이션계층, 세션계층, 트랜스포트계층, 네트워크계층, 데이터링크계층, 물리계층
- 물리계층 : 통신을 수행하는 두 장치 간의 실제 접속 담당
- 데이터 링크 계층 : 시스템간의 연결 설정으로 두 장치간의 속도 차이를 위한 흐름 제어, 오류 제어
- 네트워크 계층 : 네트워크 연결을 관리하는 기능과 데이터 교환 및 중계
- 전송 계층 : 종단간 데이터를 전송하는 역할로 상위 계층과 하위 계층의 인터페이스
- 세션 계층 : 송 수신 측 간의 관련성을 유지하고 대화를 제어
- 표현 계층 : 세션 계층으로 받은 데이터를 응용 계층에 맞게 변환, 응용 계층으로 부터 팓은 데이터를 세션 계층으로 맞게 변환
- 응용 계층 : 사용자가 OSI 환경에 접근할 수 있도록 서비스를 제공, 응용 터미널, 파일 전송 등등
전송할 최초의 데이터가 점점 계층을 지나면서 통신을 위한 데이터가 추가되어 전송됩니다.
[3단계 답변] 각 계층별 대표 프로토콜에 대해 설명해보기
핵심 키워드 : HTTP, SSL, Socket, TCP, UDP, IP, MAC, IEEE802.3, IEEE802.11
🎯 4. TCP/IP에 대해 설명해주세요.
[1단계 답변] TCP/IP가 무엇인지 간략하게 설명하기
핵심 키워드 : 실제표준, 프로토콜스택, 네트워크레이어
TCP/IP는 프로토콜 스택 중 하나로 패킷 통신 방식인 IP와 전송 제어 프로토콜인 TCP가 합쳐진 프로토콜입니다.
TCP/IP는 실제적인 표준으로써 현재 인터넷 프로토콜중 가장 많이 사용하는 프로토콜입니다.
TCP와 IP는 각기 다른 목적을 가진 프로토콜이지만 인터넷 통신을 위해서는 대부분 두 프로토콜을 함께 사용하기 때문에 흔히 TCP/IP라고 부릅니다. 즉, TCP는 IP에 대한 대체가 아니라 보완을 목적으로 두는 프로토콜입니다. 만약 IP를 통해서만 데이터를 주고받는다면 원치 않는 이슈를 맞닥뜨릴 수 있습니다.
- 비연결성 - 패킷을 받을 대상을 확인하지 않고 패킷을 전달
- 비신뢰성 - 패킷이 유실되거나 잘못된 순서로 전달
- IP 주소의 한계 - 동일 IP 내에서 구동 중인 프로그램이 두 개 이상일 때 패킷의 목적지 구분 불가
TCP는 위와 같은 문제를 사전에 방지하고자 3 Way-Handshake나 PORT와 같은 메커니즘을 주요한 특징으로 삼고 있습니다.
- TCP 의 3-way Handshake
TCP는 장치들 사이에 논리적인 접속을 성립하기 위하여 3-way handshake를 사용합니다.
TCP 3 Way Handshake는 TCP/IP프로토콜을 이용해서 데이터를 전송하기 전에 먼저 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미합니다.
역할 :
-양쪽 모두 데이터를 전송할 준비가 되었다는 것을 보장하고, 실제로 데이타 전달이 시작하기전에 한쪽이 다른 쪽이 준비되었다는 것을 알수 있도록 합니다
- 양쪽 모두 상대편에 대한 초기 순차일련변호를 얻을 수 있도록 한다.
Client > Server : TCP SYN
Server > Client : TCP SYN, ACK
Client > Server : TCP ACK
여기서 SYN은 'synchronize sequence numbers', 그리고 ACK는'acknowledgment' 의 약자로 이러한 절차는 TCP 접속을 성공적으로 성립하기 위하여 반드시 필요합니다.
[2단계 답변] 각 계층별 역할에 대해 설명해보기
핵심 키워드 : 애플리케이션 계층, 트랜스포트 계층, 인터넷 계층, 링크 계층
- 네트워크 엑세스 계층 : 실제 데이터을 송, 수신하는 역할
- 인터넷 계층 : 데이터 전송을 위한 주소 지정, 경로 설정
- 전송 계층 : 호스트들 간의 신뢰성 있는 통신 제공
- 응용 계층 : 응용 프로그램들 간의 데이터 송, 수신하는 역할
[3단계 답변] 각 계층별 프로토콜에 대해 설명해보기
핵심 키워드 : HTTP, TCP, UDP, IP, IEEE802.3, IEEE802.11
- TCP 와 UDP 의 차이 (전송계층)
TCP(Transfer Control Protocol) | UDP(User Datagram Protocol) |
연결형 프로토콜 | 비연결형 프로토콜 |
데이터의 경계를 구분하지 않음 | 데이터의 경계를 구분함 |
신뢰성있는 데이터 전송 (데이터 재전송 존재O) | 비신뢰성 데이터 전송 (데이터 재전송 존재X) |
일 대 일(Unicast) 통신 | 일 대 일, 일 대 다(Broadcast), 다 대 다(Multicast) 통신 |
TCP는 연속성보다 신뢰성 있는 전송이 중요할 때에 사용되는 프로토콜이며,
UDP는 TCP보다 빠르고 네트워크 부하가 적다는 장점이 있지만 신뢰성 있는 데이터 전송을 보장하지는 않습니다.
그렇기 때문에 신뢰성보다는 연속성이 중요한 실시간 스트리밍과 같은 서비스에 자주 사용됩니다.
🕹️ 5. 어려웠던 점, 반성하고 싶은 점 / 개선할 방법
review) 네트워크 자체가 어려운 과목이라 개념을 많이 찾아보기는 해도 머리에 집어 넣기 어려웠고 그렇다고 이해도 없이 무작정 외우기에는 금방 휘발되어 버릴 것 같았다. 최대한 쉽게 풀어내어 잘 정리해서 말하려는 연습을 하다보면 좀 더 쉽고 간결하게, 또 오래 기억에 남을 것 같다.
참고자료
가장 어려웠던 회선교환, 패킷교환에 대해서 잘 정리해주신 글이 있어 참고하였습니다!
http://www.jidum.com/jidums/view.do?jidumId=456