Q1. OSI 7계층에 대해 아시나요?
A1.
물리계층: 하드웨어 전송 기술을 사용하며 전기적인 신호를 주고받는 역할을 하는 계층입니다. 통신단위는 비트 0,1입니다
데이터링크계층: 신뢰성 있는 전송을 보장하기 위한 계층으로 물리주소인 MAC주소가 이 계층에 해당합니다. 전송 단위는 Frame입니다
네트워크 계층: IP 주소를 제공하는 계층으로 노드를 거칠 때마다 라우팅해주는 역할을 담당합니다. 전송 단위는 Packet입니다
전송 계층: End to End 사용자가 데이터를 주고받을 수 있게 해주는 계층이며 TCP, UDP 프로토콜이 이 계층에 해당됩니다. 전송 단위는 Segment입니다
세션 계층: 데이터를 만들어내는 계층으로 TCP/IP 세션을 만들고 소멸시킵니다. 대표적으론 RPC, Socket이 있습니다.
표현 계층: 인코딩이나 암호화 등의 동작이 이 계층에서 이루어집니다
응용 계층: 응용 프로세스와 연관되어 응용 서비스를 수행하는 계층으로 HTTP, FTP 프로토콜이 응용 계층에 속합니다.
Q2. TCP UDP의 차이점에 대해 아시는 대로 설명해주세요
프로토콜 종류 | TCP | UDP |
신뢰성 | 높다 | 낮다 |
연결 방식 | 연결형 서비스 | 비 연결형 서비스 |
전송 순서 | 전송 순서를 보장함 | 전송 순서를 보장하지 않음 |
패킷 교환 방식 | 가상 회선 방식 | 데이터 그램 방식 |
속도 | 상대적으로 느림 | 상대적으로 빠름 |
재전송 여부 | 재전송 있음 | 재전송 없음 |
통신 방식 | 1:1 통신 | 1:1, 1: N, N: N 통신 |
Q3. 3-way hands shaking이 일어나는 흐름을 설명해주세요
A3. 3-way hands shaking이란 TCP 연결을 성공적으로 성립하기 위해 반드시 필요하다
1. 클라이언트가 서버로 SYN을 보낸다(클라이언트 SYN_SENT 상태)
2. 서버가 클라이언트로 SYN, ACK을 보낸다(서버 SYN_RECEIVED 상태)
3. 클라이언트가 ACK을 보낸다(서버 ESTABLISHED 상태)
Q4. 4-way hands shaking이 일어나는 흐름을 설명해주세요
4-way hands shaking은 TCP 세션을 종료하는 절차입니다
1. 클라이언트가 서버로 FIN 전송
2. 서버가 클라이언트로 ACK 전송(서버는 TIME_WAIT 상태)
3. 서버가 통신이 끝났으면 클라이언트한테 FIN 전송
4. 클라이언트는 ACK 전송
Q4-1. time_wait 상태가 어떤 상태인지 설명해주세요
A4-1. 서버는 클라이언트에게 FIN를 받으면 바로 연결을 종료하지 않고 TIME_WAIT 상태에 빠지게 됩니다. 그 이유는 클라이언트에서 보낸 패킷이 FIN 패킷보다 늦게 도착할 수도 있기 때문에 패킷의 DROP을 막기 위해 TIME_WAIT을 일정 시간 가집니다
Q5. HTTPS 동작원리에 관해서 아세요?
A5.
HTTPS는 HTTP의 하부에 SSL과 같은 보안계층을 제공함으로써 동작한다.
동작원리
1. 프로토콜 버전번호 교환
2. 양쪽이 알고 있는 pre master secret 키 생성 및 교환
3. 양쪽의 신원 인증
4. 채널을 암호화하기 위한 임시 세션 키 생성
Q6. HTTP 헤더의 구조에 대해서 설명해주세요
A6. HTTP 헤더는 HTTP 본문 및 요청/응답에 대한 정보를 포함합니다.
HTTP 헤더는 크게 3 부분으로 나눌 수 있습니다.
General header(일반 헤더): 생성된 날짜나 시간 등 같은 HTTP 통신에 대한 일반적인 정보가 포함됩니다
Request/Response Header(요청/응답 헤더): 서버에 요청을 하면 요청 헤더가, 서버가 응답을 해주면 응답 헤더가 있습니다. 요청 헤더는 요청한 URL, method(GET, POST...) 등 요청에 필요한 요청 정보가 들어있고 응답 더에는 응답에 사용된 인코딩, 응답에 필요한 기타 정보들을 포함합니다
Entity Header(엔티티 헤더): 이 헤더에는 실제 메시지 또는 전송중인 HTTP본문에 대한 정보(본문 길이, 본문 언어, 인코딩 등등)가 포함됩니다.
Q7. 쿠키와 세션에 대해 알려주세요
A7. 쿠키와 세션 모두 웹 통신 간의 정보를 유지하기 위해 사용합니다
제일 큰 차이점은 쿠키는 개인 pc에 세션은 웹 서버에 저장된다는 것입니다.
보통 세션보다는 쿠키를 사용하는 데 그 이유는 세션은 서버에 저장되기 때문에 사용자가 많은 경우 서버 리소스가 많이 듭니다. 따라서 리소스 관리 측면에서 쿠키를 주로 씁니다
3단계 요약노트 목적과 활용법은 아래 글을 읽어보시면 좋습니다
도움이 필요하시면 사연을 메일로 보내주세요
jek300300@gmail.com
도움이 되셨다면 공감과 구독 부탁드립니다
읽어주셔서 감사합니다
당신의 취업이 성공할 때까지 같이 하겠습니다! by 취업길잡이 Coy