kh교육

(20250820039)samba 서버, congestion control

boangod 2025. 8. 20. 22:49

 

samba 서버

 

유닉스 시스템과 windows 시스템 간 파일 시스템 공유

시스템의 리소스를 직접 제공하는 서비스이므로 보안에 주의한다.

• 응용을 제공하는 것이 아니라 리소스를 제공하는 서비스이다.

 

 

smbpasswd -a [계정]

ㄴ 유닉스 계정을 쌈바 게정으로 사용할 수 있게 해 주는 것

 

 

Samba 서버 확인 및 설치

# dnf list samba

# dnf install -y samba

 

데몬

/usr/sbin/smbd

  • 공유 기능을 담당하는 데몬 (139번 포트 이용)
    /usr/lib/systemd/system/smb.service
  • 데몬 실행 스크립트
    /etc/samba/smb.conf
  • Samba 설정파일

 

서비스 시작

# systemctl start smb.service

 

 

관련 파일

• 환경 설정 파일 : /etc/samba/smb.conf

 

관련 명령어

• 사용자 등록 및 password 변경 : /usr/bin/smbpasswd

      - smbpasswd [-a] 유저명

      -a : 유저 등록

      -x : 유저 삭제

      -d, -e : 사용중지, 재사용

 

삼바 계정 리스트

  • pdbedit-w -L

smb.conf 구문 검사 : /usr/bin/testparm

NetBIOS명 검색 : /usr/bin/nmblookup

 

 

smb.conf

workgroup

• NT 도메인 명 지정

 

netbios name

  • 네트워크 이름
  • 기본값(호스트명)

hosts allow, hosts deny 

• 허가(거부) 항목 지정(지정된 것만 접속 가능)

ex) host allow = 1.1.1. EXCEPT 1.1.1.11 1.1.1.12

                       = 1.1.1.0/255.255.255.0

 

guest account

• 윈도우의 guest 사용자 매핑 계정 설정

• nobody 또는 유닉스 계정으로 매핑 가능

• 주석 처리하면 guest 접속 불가(권장)

 

 

Link 디렉토리 접근 → 외부 디렉터리 쓸 거면 바인드 디렉터리 한다.

보안 설정으로 인해 Symlink 디렉터리에 대한 기본 접근이 불허된다. 이를 허용하기 위해서는 아래와 같이 추가한다.

follow symlinks = yes

wide links = yes

unix extensions = no

 

언어 셋 지정

 

unix charset = utf-8 dos charset = cp949

  • 유닉스 계열의 언어 셋과 클라이언트인 윈도우즈 계열의 언어 셋이 달라 자동 변환이 지원되지 않는 경우 설정한다.
  • 반드시 test 후 설정한다.
  • 한글 안 깨지면 사용하지 않기

 

path = /home/data

• 공유 경로 지정

 

browseable = no

• 공유 정보를 제공할지 여부(yes/no)

• 권한이 없는 사용자에게는 보이지 않는다.

 

writable = yes

• 쓰기 권한 접근 허용여부(yes/no)

• Write list 설정과 무관하게 퍼미션이 있으면 쓰기 가능하다.

 

Public = no

• 누구에게나 접근을 허용할지 여부(yes/no)

ㄴ (등록된 사람만 들어올 수 있음)

 

Read only = yes

• 읽기 전용 접근 여부(yes/no)

ㄴ 퍼미션이 있어도 쓸 수 없다.

 

valid users = fred

• 접근 가능한 사용자

ㄴ 이 사람들만 쓸 수 있어~라는 것

 

write list = +group user

• 공유 경로에서 쓰기 가능한 그룹이나 유저

(force) create mask = 644

(force) directory mask = 755

(force) group = 그룹명

 

[homes]는 기본 이름으로 사용됨

• 각 계정의 홈 디렉터리 사용

[homes]

comment = Home Directories

browseable = no

writable = yes

 

 


TCP congestion control

 

 

송신율

rtt = 초 단위

CongWin = 바이트 단위

rate = CongWin / RTT (byte/sec)

 

CongWin는 netwok 혼잡도에 따 라 동적으로 변한다.

 

 

 

Sender가 congestion에 대한 반응

 

재전송이 있으면 혼잡이 있다고 본다.

 

 

●  손실이 발생

      • timeout 또는 3번의 중복 ACK

      • 손실에 의한 재전송이 발생

 

●  TCP sender는 손실이 발생하면 CongWin을 줄인다.

 

 

혼잡제어 알고리즘

• AIMD → 많이 안 줄임. 대신 천천히 늘어남.(선형 증가)

• slow start → 줄일 때 확 줄임. 늘릴 때 빠르게 늘어남.

• timeout event에 대한 반응

 

 

 

AIMD

loss event가 발생하면 CongWin의 size를 반으로 줄인다.(만약 7이면 3으로 나눔. 버림으로 보통 사용)

- 1 MSS 이하로 떨어지지는 않는다.

 

각 RTT마다 1 MSS가 되도록 조금씩 confWin을 증가(선형증가)

 

 

 

Slow start

줄일 때는 무조건 1로 줄인다. 윈도우 사이즈가 가질 수 있는 최소한의 개수

 

첫 번째 loss가 발생할 때까지 각 ack를 확인할 때마다 congWin을 1 MSS만큼 증가시켜 각 RTT마다 congWin이 두 배가 되도록 한다.

 

 

초기의 속도는 매우 느리지만 지수 적으로 빠르게 증가하는 모델이다.

 

 

 

 

 

재전송

■ 세 번의 중복 ACK수신

     • CongWin은 반으로 줄어든다.

     • Congwin은 선형적으로 증가한다.

     • AIMD

 

 

➢ 그러나 timeout이 발생하면

     • CongWin을 1 MSS로 줄인다.

     • 지수적으로 CongWin을 증가시킨다.

     • threshold에 도달하면 다시 선형적으로 증가한다. - 중간값

     : 혼잡 회피에 들어간다.

 

 

 

'kh교육' 카테고리의 다른 글

(20250822041) ssh key, docker down  (0) 2025.08.22
(20250821040)ssh 서버  (0) 2025.08.21
(20250819038)NFS, tcp  (0) 2025.08.19
(20250814036)아파치 서버, TCP  (3) 2025.08.17
(20250813035)apache서버,Go-Back-N, Selective Repeat  (5) 2025.08.13