본문 바로가기
Network/혼공네트 (혼공단 12기)

[혼공네트] Chapter 04. 전송계층

by ganyga 2024. 7. 26.

스터디 커리큘럼

 

기본 숙제

(04-1) 확인 문제 1번(p.206)

문제 : IP와 연관된 통신 특성으로 알맞은 단어를 보기에서 골라 보세요.

보기: 신뢰성, 연결형, 비신뢰성, 비연결형

정답 : 비신뢰성, 비연결형

 

풀이 :

IP와 연관된 통신 특성은 비신뢰성과, 비연결형입니다.

- 비연결형(Connectionless) : 데이터 전송의 효율성을 높이기 위해 사용

- 비신뢰성(Unreliability) : 데이터의 정확한 전달을 보장하지 않는 특성

 

(04-2) 확인 문제 2번(p.225)

문제 : 다음은 TCP 쓰리 웨이 핸드셰이크 과정을 나타내는 그림입니다. 괄호 안에 들어 갈 말을 <보기> 에서 골라보세요.

보기 : SYN, ACK, FIN

정답 : ACK

풀이 : 

3-way handshake는 TCP 통신 과정에서 신뢰성 있는 데이터 전송을 위해 연결 확립을 하는 과정입니다.

클라이언트 : 호스트 A, 서버 : 호스트 B

1. SYN (Synchronize Sequence Numbers) : 클라이언트가 서버에게 연결 요청을 보냅니다.

2. SYN-ACK (Synchronize-Acknowledge) : 서버가 클라이언트 요청을 받고, 연결 요청을 수락하며 응답을 보냅니다.

3. ACK (Acknowledge) : 클라이언트가 서버의 응답을 받고, 연결이 설정되었음을 알립니다.

 

참고로, FIN 플래그는 TCP 통신 과정에서 연결 종료를 위한 4-way handshake 과정에서 사용됩니다.


추가 숙제

문제 : 작업 관리자에서 프로세스별 PID 확인하기

 

OS : Mac M1

1. Activity Monitor 활용

 

2. ps 명령어 사용

- ps 명령어는 Linux에서 현재 실행 중인 프로세스의 상태를 확인하는 데 사용

- ps 명령어는 기본적으로 프로세스의 ID, 사용자, CPU 사용량, 메모리 사용량, 실행 시간, 명령 등을 표시

 

기본 사용법

ps [options]

[options]
-e 또는 --everyone: 모든 프로세스를 표시
-f 또는 --full: 프로세스의 자세한 정보를 표시
-l 또는 --long: 긴 형식으로 프로세스 정보를 표시
-u 사용자: 특정 사용자가 소유한 프로세스를 표시
-a: 터미널에 연결된 모든 프로세스를 표시합니다. 다만 세션 리더는 제외
-x: 터미널에 연결되지 않은 프로세스도 포함
-aux: BSD 스타일로 모든 사용자, 모든 프로세스를 표시
-o: 출력 형식을 지정, 커스터마이징된 정보를 얻을 때 사용
-p: 특정 프로세스 ID를 지정하여 정보를 표시
--sort: 특정 필드 기준으로 출력을 정렬

 

자주 사용하는 명령어 조합 

# 모든 프로세스를 자세히 표시
ps -ef

# 특정 사용자의 모든 프로세스를 표시
ps -u root

# CPU 사용량 기준으로 프로세스를 정렬하여 표시
ps aux --sort=-%cpu

# 특정 프로세스 ID의 정보를 표시
ps -p 1234

 

출력 필드

PID: 프로세스 ID
USER: 프로세스를 실행한 사용자
%CPU: CPU 사용 비율
%MEM: 메모리 사용 비율
VSZ: 가상 메모리 크기
RSS: 실제 메모리 사용량
TTY: 터미널 타입
STAT: 프로세스 상태
START: 프로세스 시작 시간
TIME: CPU 사용 시간
COMMAND: 실행된 명령어

 

확인

ps aux