KEEP GOING

[network] 네트워크 기술 면접 정리 본문

cs(computer sience)/network

[network] 네트워크 기술 면접 정리

jmHan 2022. 6. 20. 09:59
반응형

HTTP

웹에서 클라이언트와 서버 간 요청/응답으로 데이터를 주고 받을 수 있는 프로토콜(상호간의 규칙)

 

API(Application Programming Interface)

클라이언트와 서버가 요청과 응답을 주고 받을 수 있게 만든 체계

(클라이언트가 요청을 보내고, 이를 서버가 받아 응답한다)

 

REST API

REST를 기반으로 한 서비스 API

 

장점:  HTTP 프로토콜의 인프라를 그대로 사용하므로 REST API 사용을 위한 별도의 인프라를 구축할 필요가 없습니다. 

단점: 표준이 존재하지 않으며 HTTP Method 형태가 제한적이라는 단점을 갖고 있습니다

 

OpenAPI(누구나 사용 가능하도록 공개된 API)나 마이크로 서비스를 제공하는 업체 대부분 REST API를 제공한다.

 

 

HTTP 상태 코드

클라이언트가 서버에 작업 요청 시, 서버에서 보내는 성공/실패 여부

1XX (정보) : 요청을 받았으며 프로세스를 계속한다.

2XX (성공) : 클라이언트 요청이 성공적으로 수행됨 

3XX (리다이렉션) : 클라이언트는 요청을  완료하기 위해 추가 조치 필요

4XX (클라이언트 오류) : 요청된 문법이 잘못되었거나 처리 불가

5XX (서버 오류) : 서버가 유효한 요청을 수행하지 못함 

 

REST와 SOAP 차이

SOAP은 프로토콜이고 REST는 아키텍처 스타일이다. 

페이로드를 처리하는 방식에서 차이가 있다. 

SOAP은 서비스 인터페이스를 이용해 서버에 접근하고 REST는 URI를 이용하여 접근한다.

SOAP은 XML에만 의존하지만 REST는 HTTP와 JSON을 사용하기 때문에 페이로드 경량화가 가능함

 

REST : HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP 

Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD 연산을 적용하는 것

    

SOAP : 프로토콜. 보안이나 메시지 전송에 있어서 REST보다 더 많은 표준들이 정해져 있기 때문에 조금 더 복잡하다.

SOAP 는 보안 수준이 엄격합니다. SOAP 에서는 SSL 도 지원하고 WS-Security 라는 자체 표준의 보안 기능도 가지고 있지요. 따라서 은행용 모바일 앱처럼 보안 수준이 높아야 하거나, 신뢰할 수 있는 메시징 앱, 또는 ACID 를 준수해야 하는 경우라면 SOAP 방식이 선호됩니다.

 

URL과 URI 차이  

URL(Uniform Resource Locator)은 자원이 실제로 존재하는 위치를 가리키며, URI(Uniform Resource Identifier)는 자원의 위치뿐만 아니라 자원에 대한 고유 식별자로서 URL을 의미를 포함한다.

 

HTTPS와 HTTP

SSL의 사용으로 서버와 브라우저 사이에 암호화된 연결을 만들 수 있도록 도와준다.

 

TCP와 UDP

TCP는 연결형 서비스로 3-way handshaking 과정을 통해 연결을 설정하기 때문에 높은 신뢰성을 보장하지만, 속도가 비교적 느리다는 단점이 있습니다.

UDP는 비연결형 서비스로 3-way handshaking을 사용하지 않기 때문에 신뢰성이 떨어지는 단점이 있지만, 데이터 수신 여부를 확인하지 않기 때문에 속도가 빠르다는 장점이 있습니다.

 

GET POST 차이

a. GET : 데이터를 조회하기 위해 사용되는 방식. 데이터를 헤더에 추가하여 전송하고 URL에 데이터가 노출되기 때문에 보안적으로 중요한 데이터를 포함하면 안 됨.

b. POST : 데이터를 추가, 수정하기 위한 방식. 데이터를 바디에 추가하여 전송.

 

동기식 방식과 비동기식 방식  

a. 동기 : 요청을 보내고 실행이 끝나면 다음 동작을 처리, 여러가지 요청을 처리할 수 없어 효율이 떨어짐.

b. 비동기 : 요청을 보내고 해당 동작의 처리 여부와 상관없이 다음 요청이 동작하는 방식. 작업이 완료되는 시간을 기다릴 필요가 없어 자원을 효율적으로 사용할 수 있

음.

ex ) 동기 방식은 콜센터 직원처럼 한 손님을 응대하고 다음 손님 응대, 비동기는 이메일처럼 이메일을 보내고 답변을 받지 않고도 또 이메일을 보낼 수 있음.

 

OSI 7계층

  1. OSI 7계층

 

7계층 - 응용계층(Application)

User Interface를 제공하는 계층 

사용자에게 상호작용하는 계층이자 최종 목적지 

HTTP, FTP, SMTP, POP3, IMAP, Telnet 같은 프로토콜이 있다.

패킷들은 위와 같은 프로토콜들에 의해 처리되고 웹 브라우저나 메일 같은 응용 프로그램은 프로토콜을 쉽게 사용하도록 돕는다.

응용계층은 응용 프로세스 간의 정보 교환을 담당한다.

전송 단위는 Message 

 

6계층 - 표현 계층(Presentation)

데이터 변환 작업을 수행하는 계층

표현계층은 데이터 표현이 상이한 응용 프로세스 간의 독립성을 제공한다.

응용 프로그램 형식을 준비하거나 응용 프로그램 형식을 네트워크 형식으로 변환, 네트워크 형식을 응용프로그램 형식으로 전환하는 것을 수행함.

인코딩/디코딩, 암호화/복호화

전송 단위는 Message 



5계층 - 세션 계층(Session)

응용 프로그램 간의 연결을 지원해주는 계층

서버 간의 대화시에 필요한 세션을 처리한다.

즉, 양 끝단의 프로세스가 통신하기 위해 논리적인 연결 

세션 설정, 유지, 종료, 전송 중단시 복구 등의 기능 수행

전송단위는 Message  

 

4계층 - 전송 계층(Transportation)

서비스를 구분하고 데이터 전송 방식을 담당하는 계층 (UDP/TCP)

포트를 열어 응용프로그램이 데이터를 전송할 수 있게 한다.

보낼 데이터의 용량, 속도, 목적지 등을 처리

전송 계층의 프로토콜로 잘 알려진 TCP는 인터넷 프로토콜(IP) 위에 구축된다.

기기의 IP 주소가 이곳에서 작동한다.

데이터 전송, 종단 간 에러 복구와 흐름 제어 담당  

전송 단위는 Segment

 

3계층 - 네트워크 계층(Network)

네트워크를 논리적으로 구분하고 연결하는 계층 (논리적 주소 사용)

라우터를 통해 패킷 전달 담당

네트워크 계층은 데이터를 목적지까지 빠르고 안전하게 전달하는 계층

주소 부여(IP), 경로 설정(Route)

전송 단위는 Packet

 

2계층 - 데이터 링크 계층(Data Link)

물리적 매체에 패킷을 실어 보내는 계층

정보의 오류검출/흐름 제어/재전송

브리지나 스위치를 통해 맥주소를 가지고 물리계층에서 받은 정보 전달

프레임에 주소 부여(MAC-물리적 주소)

2계층 장비 : 브리지, 스위치 

전송 단위는 Packet

1계층 - 물리 계층(Physical)

신호를 변환하여 전송하는 계층

전기적, 기계적 특성을 고려하여 통신 케이블로 전기적 신호 전송 

단위는 0과 1로 비트로 나타내고 전기적으로는 On, Off 상태이다.

1계층 장비 : 리피터, 허브, 케이블 

전송단위는 Bit

 

TCP/IP 4계층 

TCP/IP는 현재의 인터넷에서 컴퓨터들이 서로 정보를 주고 받는데 쓰이는 통신 규약(프로토콜)의 모음이다.

1960년대 말 미국방성의 연구에서 시작되어 1980년대 초 프로토콜 모델이 공개되었으며, 하드웨어, 운영체제, 접속 매체에 관계없이 동작할 수 있는 개방성을 가진다. 사실상 인터넷 프로토콜을 대표하는 용어로 사용된다.

 

4계층 - Application Layer

OSI 7 계층에서 세션 계층, 표현 계층, 응용 계층에 해당한다.

응용 프로그램들이 네트워크 서비스, 메일 서비스, 웹 서비스 등을 할 수 있도록 표준적인 인터페이스를 제공한다.

  • TCP/IP 기반의 응용 프로그램을 구분할 때 사용
  • 프로토콜: TTP, FTP, Telnet, DNS, SMTP, SSH 등

 

3계층 - Transport Layer

OSI 7 계층에서 전송 계층에 해당한다. 네트워크 양 단의 송수신 호스트 사이에서 신뢰성있는 전송 기능을 제공한다.

시스템의 논리 주소와 포트틀 가지고 있어서 각 상위 계층의 프로세스를 연결해서 통신한다.

정확한 패킷의 전송을 보장하는 TCP나 정확한 전송을 보장하지 않지만 더 빠른 속도를 내는 UDP 프로토콜을 이용한다.

  • 통신 노드간의 연결을 제어하고, 자료의 송수신을 담당
  • 프로토콜: TCP, UDP, QUIC 등

 

2계층 - Internet Layer

OSI 7 계층에서 네트워크 계층에 해당한다.

인터넷 계층의 주요 기능은 3계층으로부터 받은 데이터에 IP 패킷 헤더를 붙여 IP 패킷을 만들고 이를 전송하는 것이다.

  • 통신 노드간의 IP 패킷을 전송하는 기능 및 라우팅 기능을 담당
  • 프로토콜: IP, ARP, RARP, ICMP, OSPF 등

 

1계층 - Network Interface

OSI 7 계층에서 물리 계층과 데이터 링크 계층에 해당한다.

OS의 네트워크 카드와 디바이스 드라이버 등과 같이 하드웨어적인 요소와 관련되는 모든 것을 지원하는 계층이다.

물리적인 주소로 MAC 주소를 사용한다.

  • CSMA/CD, MAC, LAN 등 전송에 사용
  • 프로토콜: Ethernet, Token Ring, PPP

 




반응형

'cs(computer sience) > network' 카테고리의 다른 글

[network] HTTP 상태 코드  (0) 2022.06.23
Comments