3. 7 (수) 정리 Linux - 파일시스템/파티션, Net - 5,4계층
Linux - 05 파일시스템과 파티션
▣ 파일시스템?
파일을 저장하기 위한 운영체제의 논리적인 구조
각각의 OS는 여러 파일시스템을 지원
Linux : ext3, ext2, xfs, jfs, ReiserFS...
Windows : FAT, FAT32, NTFS...
*NTFS - FAT보다 느림, 쓴 다음 읽어보고 일정시간 이상이 걸린다면 다른 곳에 저장.
물리적으로 데이터가 망가지지 않았으면서도 데이터가 날아가는 FAT의 단점을 보완.
파티션
물리적인 디스크를 논리적인 저장영역으로 구별한 것
MBR
디스크의 앞쪽이 물리적으로 정의되어있는 sector
OS가 직접 사용하지 않으며 부트로더가 저장된다.
▣ 파티션의 종류
Primary partition
물리적인 디스크에 독립적으로 존재하며 파일시스템을 생성, 운영체제가 직접 사용 가능하다. 각 물리적인 디스크마다 4개까지 생성할 수 있다.
Extended partition
디스크마다 1개까지 생성 가능하며 직접 사용할 수 없고 logical partition으로 분할 사용한다.
-> 직접 사용 불가능 (안은 개수제한이 없는 logical 파티션으로 사용)
Logical partition
Extended partition내에 만들어지며 사용은 parimary partition과 동일하다.
P+E는 최대 4개까지 생성 가능하다.
쉘 / 커널 시험문제 나옴!
IDE
- 디스크 자체 : /dev/hda, /dev/hdb, /dev/hdc
- 파티션 : /dev/hda1, /dev/hda2, /dev/hda3…
SCSI, SATA
- 디스크 자체 : /dev/sda, /dev/sdb, /dev/sdc
- 파티션 : /dev/sda1, /dev/sda2, /dev/sda3…
*SATA : sda, sdb, sdc 중 하나
5번 이후부터 Logical Partition이라 할 수 있다.
▣ 디스크 확인
* df 명령어
디스크의 마운트 상태와 용량을 확인한다.
옵션
-T : 파일 시스템 타입까지 출력
-h : 읽기 쉬운 단위로 출력
▣ Mounted on?
파일 시스템을 디렉토리에 연결하는 과정
▣ 디스크 사용과정
fdisk -> mkfs -> mount
fdisk - 파티션의 분할
mkfs - 윈도우의 포맷하다 = 파일시스템을 만든다(make)
mount
▣ fdisk 명령어
물리적인 디스크에 논리적인 파티션을 생성하는데 사용하는 명령어.
만들어진 파티션에는 mkfs 명령으로 파일시스템이 생성되고 mount 명령을 통해
특정 디렉토리에 마운트 된다음 사용된다.
# fdisk 디스크명
# fdisk /dev/sda
+실습
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2F-iy6lQwRav0VdXikcwFUD_pag2nJbv8FLUuezrGAH7xh3oDSXxDcdBFpzzxV7P1hF-FepM1DJ9v7RytCqrFfEjnAoAUKiBYRj52UBl3d34SkjKYkWus-ZjS1n09F6J5QtwQzbdX0iY/s1600/1.PNG)
-> 새로운 디스크를 삽입하고, 해당 디스크에 파티션을 분할
-> Primary Partition을 1번, Extended Partition을 2번에 용량을 절반씩 할당
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHNdivMlcXxdolnBCGX8kn4FVbBzTw61cwOMNTSZHVpPY5VUhX_PMQyc-A6RQiDbtPZP_gYKsrngtNXUnR7v24Jw84KbhFY2CQggsTEHjFcwW0PpOeTm87wTlFhi2ZF3uAoSMUvy5gFis/s1600/2.PNG)
-> 변경된 파티션 내용을 저장
-> logical partition을 extend partition의 모든 실린더에 추가
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4Re-hyObS62Ry3zUIHSB2sB73zpdEdEJWIVaOrjOSgRym2ghXlzpWPDcw_jzvnc_kTAECMC1WPZrQsd7q9cQLY94s-Sw_mhVrqtjT5sGIt621T_KTBTS_MAOKROyc0SsizmsS37yqZDM/s640/3.PNG)
-> 최종 파티션을 분할한 후 저장한다.
▣ mkfs 명령어
파티션에 파일시스템을 만들어 준다.
# mkfs –t [파일시스템 타입] 파티션명
파일시스템 타입과 명령어
mkfs -t ext2 -> mke2fs
mkfs -t ext3 -> mke2fs -j
- 예) mkfs –t ext3 /dev/sda1 -> mke2fs -j /dev/sda1
+) ext2 -> ext3
저널링 시스템 - 손상 발생시 복구하는 시스템
+실습
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglEcebXIjj0oPEq9Km5BWE6VfpumW_gGY-TNA9rxs6LZSaPd56jJW3ApE1ySE5vXOg4yMez8wa8zqC36vZ7s6UF0FvOMfsKoBPOPuJKeJ-Ofcd-Cy7m2PPkMsq4hTyIS96utVvF7KeC48/s1600/mkfs.PNG)
->
Primary Partition인 /dev/sda1 과 Logical Partition인 /dev/sda5 에 파일시스템을 만든다.
포맷과도 같은 역할.
▣ mount
파일시스템은 지정한 디렉토리에 연결해서 사용 가능하도록 한다.
# mount [-a] [-t [FStype]] [장치명] [디렉토리]
옵션
-a : /etc/fstab의 내용을 읽어 모두 mount 한다.
-t : 파일 시스템 양식을 정한다.
-o : 마운트 옵션을 추가로 지정한다.
. remount : 옵션을 변경한다. (파일이 변경된 경우)
. ro : R Only로 정의한다.
설명) iso9660이나 ext2등의 기본 파티션들은 파일시스템 타입을 지정하지 않아도 자동으로
인식가능하며 NTFS의 경우 리눅스 시스템마다 지원여부를 따로 확인해야 한다.
만일 지원되지 않는 경우 커널을 재컴파일하면 지원 가능하다.
예)
# mount -t ext3 /dev/sdb1 /data1
# mount -t iso9660 /dev/cdrom /cdrom
# mount -o ro /dev/sdb1 /home2
# mount -a
▣ umount 명령어
mount된 파일시스템을 시스템으로 부터 제거한다.
# umount [디렉토리명] 또는 [장치명]
+ -> 설정 시 모든 디렉토리는 절대경로로 설정
+)
mount된 후에는 이전에 갖고 있던 파일에 접근할 방도가 없고,
unmount 된 후에는 mount 시 생성한 파일에 접근할 방도가 없다.
// fstab
▣ 파티션의 정보 확인
# blkid
- UUID는 파티션의 고유 정보로 디스크의 위치가 바뀌어도 동일하게 유지된다.
- UUID는 mount 명령에서 이용 가능하다.
파티션의 정보 확인 – 명령이 없는 경우도 있다.
# /lib/udev/vol_id [파티션]
▣ e2label
파티션에 라벨명 할당 변경하거나 확인한다.
# e2label [장치명] [라벨명]
-> 라벨이름 변경
# e2label [장치명] '' -> 단일 인용구 2개
-> 라벨이름 초기화
# e2label [장치명]
-> 라벨이름 확인
설명 ) 리눅스 설치시에 생성되는 파티션의 경우 자동으로 마운트되는 디렉토리 이름을 라벨명으로 할당한다. 사용자가 임의로 할당하는 경우 'abc', '123' 등과 같이 라벨명을 지정해도 되지만, 보통 디폴트 명명 규칙에 따라 마운트될 디렉토리 명으로 할당한다.
-> 그냥 디바이스명을 쓰는 것이 좋다.
▣ findfs
UUID나 라벨명으로 장치명을 확인한다.
# findfs LABEL=[라벨명]
# findfs UUID=[uuid]
▣ 자동 마운트 - /etc/fstab
/etc/fstab 파일은 시스템 시작 시 자동으로 mount할 파일시스템의 목록이나 옵션을 저장
장치 마운트위치 파일시스템타입 옵션 dump 점검여부
/dev/sda1 / ext3 defaults 1 1
LABEL=/app /app ext3 defaults 1 2
# mount –a : fstab의 모든 목록을 mount한다.
# cat /etc/fstab => 안건드리는게 좋음
장치 마운트위치 파일시스템타입 옵션 dump 점검여부
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda3 swap swap defaults 0 0
/dev/sdb1 /data1 ext3 defaults 1 3
/dev/sdb2 /data2 ext3 defaults 1 4
/dev/sdc1 /d1 ext3 defaults 1 5
/dev/sdc5 /d2 ext3 defaults 1 6
/dev/sdc6 /d3 ext3 defaults 1 7
/dev/sdc7 /d4 ext3 defaults 1 8
/dev/sdc8 /d5 ext3 defaults 1 9
-> 문제가 생기는 경우 OS를 밀어버리는 것이 편하다.
-> 자동으로 마운트하고 싶으면 rc.local 편집을 이용하자
▣ Swap 공간 추가 - 파티션
1. 스왑파티션 포맷 (mkfs)
# mkswap –c [장치명]
2. 스왑파티션 활성화(mount)
# swapon [장치명]
• swapon -s : 현재 swap 상태를 확인한다.
# swapoff [장치명]
3. /etc/fstab에 등록
▣ Swap 공간 추가 - 파일
1. Swapfile 생성 (dd명령 이용)
# dd if=/dev/zero of=[swap file명] bs=1024 count=131072
- bs : 입출력 단위, count : 파일의 크기(1024를 곱한다:M)
• - 128*1024 = 131072(128M)
2. 파일 포맷(mkswap 명령이용)
# mkswap [swap file명]
3. 스왑 파티션 활성화(swapon 명령이용)
# swapon [swap file명]
4. fstab에 등록
5. free 명령으로 증가된 swap 공간을 확인한다.
▣ fsck
파일시스템을 검사한다. 되도록 umount상태에서 수행한다.
# fsck [옵션] [파티션명]
옵션
-a : 확인없이 수행
-t [FStype]
-A : /etc/fstab의 모든 파티션을 점검
-----------------------------------------------------------------------------------------
네트워크
▣ 인터넷의 구성
host = end system
의미 : 인터넷에서 이용하는 IP를 부여받은 장치
호스트들은 네트워크 응용 프로그램을 통해 인터넷에 참여.
각 호스트는 통신링크를 통해 연결
패킷 스위치(라우터, 링크계층 스위치) 이용
프로토콜 : 송수신 데이터를 제어하는 규칙
ex) TCP, IP, HTTP, FTP, PPP
인터넷 = "network of network"
특징
느슨한 계층적 구조 = 독립적이라는 뜻
-> 내 마음대로 구성할 수 있음.
Public Internet ver private Internet
인터넷 표준
RFC
IETF
▣ 인터넷의 서비스
분산 응용 프로그램을 사용할 수 있는 통신기반구조
두가지의 통신 서비스 유형
- 비연결형 서비스
- 연결지향형 서비스
▣ 프로토콜이란?
Network protocol
- 사람간의 의사전달과 비슷한 형태
- 모든 데이터 송수신은 인터넷에 지정된 전송규격에 따라야 함.
정의
프로토콜은 둘 이상의 통신 개체간 교환되는 메시지 포맷과 순서뿐 아니라 메시지의 송수신과 다른 이벤트에서 취하는 행동들까지 정의함.
▣ 네트워크의 가장자리 (edge)
- Network edge
응용프로그램, 호스트
- Network core
Router
network of network
- Access networks, Physical media:
communication links
▣ Network edge
- 종단시스템
end system = hosts
응용프로그램 실행 ex) web, email / at "edge of Network"
- Client/Server model
Client : 질문
Server : 응답
ex) web browser/server
email client/server
- Peer-Peer model
Client와 Server의 기능을 동시에 수행하도록 구현
ex) 소리바다, 당나귀... (왠만하면 사용하지 말자. 위험함.)
▣ Network edge : ① 연결지향 서비스 (Connection Oriented Service)
º 목적 : End system 간의 data 전송
- Handshaking : data 전송에 앞서 통신을 준비할 수 있도록 제어 패킷을 교환해 상호 확인하는 과정
통신하는 호스트 간 연결 상태를 설정
3-way Handshaking Service
※ 흐름 제어는 요즘은 신경쓰지 않는다.
- TCP - Transmission Control Protocol
Internet에서 사용하는 연결지향 protocol
º TCP service [RFC 793]
- 바이트의 흐름을 신뢰할 수 있도록하는 "byte-stream" 개념을 제공
데이터 손실에 대비해서 전송확인과 재전송 기능을 제공
②(신뢰적인 데이터 전송) - 데이터의 손상없이 순서대로 전송할 수 있도록 하는 것
- ③흐름제어 (flow control)
수신자가 송신자의 속도를 따라가지 못하는 경우 송신자의 전송 속도를 줄이도록 제어하는 방법
수신자가 직접 제어
- ④혼잡제어 (congestion control)
네트워크에 혼잡상태가 발생하면, 송신자가 전송 속도를 낮추는 제어 방법
▣ 파일시스템?
파일을 저장하기 위한 운영체제의 논리적인 구조
각각의 OS는 여러 파일시스템을 지원
Linux : ext3, ext2, xfs, jfs, ReiserFS...
Windows : FAT, FAT32, NTFS...
*NTFS - FAT보다 느림, 쓴 다음 읽어보고 일정시간 이상이 걸린다면 다른 곳에 저장.
물리적으로 데이터가 망가지지 않았으면서도 데이터가 날아가는 FAT의 단점을 보완.
파티션
물리적인 디스크를 논리적인 저장영역으로 구별한 것
MBR
디스크의 앞쪽이 물리적으로 정의되어있는 sector
OS가 직접 사용하지 않으며 부트로더가 저장된다.
▣ 파티션의 종류
Primary partition
물리적인 디스크에 독립적으로 존재하며 파일시스템을 생성, 운영체제가 직접 사용 가능하다. 각 물리적인 디스크마다 4개까지 생성할 수 있다.
Extended partition
디스크마다 1개까지 생성 가능하며 직접 사용할 수 없고 logical partition으로 분할 사용한다.
-> 직접 사용 불가능 (안은 개수제한이 없는 logical 파티션으로 사용)
Logical partition
Extended partition내에 만들어지며 사용은 parimary partition과 동일하다.
P+E는 최대 4개까지 생성 가능하다.
쉘 / 커널 시험문제 나옴!
IDE
- 디스크 자체 : /dev/hda, /dev/hdb, /dev/hdc
- 파티션 : /dev/hda1, /dev/hda2, /dev/hda3…
SCSI, SATA
- 디스크 자체 : /dev/sda, /dev/sdb, /dev/sdc
- 파티션 : /dev/sda1, /dev/sda2, /dev/sda3…
*SATA : sda, sdb, sdc 중 하나
5번 이후부터 Logical Partition이라 할 수 있다.
▣ 디스크 확인
* df 명령어
디스크의 마운트 상태와 용량을 확인한다.
옵션
-T : 파일 시스템 타입까지 출력
-h : 읽기 쉬운 단위로 출력
▣ Mounted on?
파일 시스템을 디렉토리에 연결하는 과정
▣ 디스크 사용과정
fdisk -> mkfs -> mount
fdisk - 파티션의 분할
mkfs - 윈도우의 포맷하다 = 파일시스템을 만든다(make)
mount
▣ fdisk 명령어
물리적인 디스크에 논리적인 파티션을 생성하는데 사용하는 명령어.
만들어진 파티션에는 mkfs 명령으로 파일시스템이 생성되고 mount 명령을 통해
특정 디렉토리에 마운트 된다음 사용된다.
# fdisk 디스크명
# fdisk /dev/sda
+실습
-> 새로운 디스크를 삽입하고, 해당 디스크에 파티션을 분할
-> Primary Partition을 1번, Extended Partition을 2번에 용량을 절반씩 할당
-> 변경된 파티션 내용을 저장
-> logical partition을 extend partition의 모든 실린더에 추가
-> 최종 파티션을 분할한 후 저장한다.
▣ mkfs 명령어
파티션에 파일시스템을 만들어 준다.
# mkfs –t [파일시스템 타입] 파티션명
파일시스템 타입과 명령어
mkfs -t ext2 -> mke2fs
mkfs -t ext3 -> mke2fs -j
- 예) mkfs –t ext3 /dev/sda1 -> mke2fs -j /dev/sda1
+) ext2 -> ext3
저널링 시스템 - 손상 발생시 복구하는 시스템
+실습
->
Primary Partition인 /dev/sda1 과 Logical Partition인 /dev/sda5 에 파일시스템을 만든다.
포맷과도 같은 역할.
▣ mount
파일시스템은 지정한 디렉토리에 연결해서 사용 가능하도록 한다.
# mount [-a] [-t [FStype]] [장치명] [디렉토리]
옵션
-a : /etc/fstab의 내용을 읽어 모두 mount 한다.
-t : 파일 시스템 양식을 정한다.
-o : 마운트 옵션을 추가로 지정한다.
. remount : 옵션을 변경한다. (파일이 변경된 경우)
. ro : R Only로 정의한다.
설명) iso9660이나 ext2등의 기본 파티션들은 파일시스템 타입을 지정하지 않아도 자동으로
인식가능하며 NTFS의 경우 리눅스 시스템마다 지원여부를 따로 확인해야 한다.
만일 지원되지 않는 경우 커널을 재컴파일하면 지원 가능하다.
예)
# mount -t ext3 /dev/sdb1 /data1
# mount -t iso9660 /dev/cdrom /cdrom
# mount -o ro /dev/sdb1 /home2
# mount -a
▣ umount 명령어
mount된 파일시스템을 시스템으로 부터 제거한다.
# umount [디렉토리명] 또는 [장치명]
+ -> 설정 시 모든 디렉토리는 절대경로로 설정
+)
mount된 후에는 이전에 갖고 있던 파일에 접근할 방도가 없고,
unmount 된 후에는 mount 시 생성한 파일에 접근할 방도가 없다.
// fstab
▣ 파티션의 정보 확인
# blkid
- UUID는 파티션의 고유 정보로 디스크의 위치가 바뀌어도 동일하게 유지된다.
- UUID는 mount 명령에서 이용 가능하다.
파티션의 정보 확인 – 명령이 없는 경우도 있다.
# /lib/udev/vol_id [파티션]
▣ e2label
파티션에 라벨명 할당 변경하거나 확인한다.
# e2label [장치명] [라벨명]
-> 라벨이름 변경
# e2label [장치명] '' -> 단일 인용구 2개
-> 라벨이름 초기화
# e2label [장치명]
-> 라벨이름 확인
설명 ) 리눅스 설치시에 생성되는 파티션의 경우 자동으로 마운트되는 디렉토리 이름을 라벨명으로 할당한다. 사용자가 임의로 할당하는 경우 'abc', '123' 등과 같이 라벨명을 지정해도 되지만, 보통 디폴트 명명 규칙에 따라 마운트될 디렉토리 명으로 할당한다.
-> 그냥 디바이스명을 쓰는 것이 좋다.
▣ findfs
UUID나 라벨명으로 장치명을 확인한다.
# findfs LABEL=[라벨명]
# findfs UUID=[uuid]
▣ 자동 마운트 - /etc/fstab
/etc/fstab 파일은 시스템 시작 시 자동으로 mount할 파일시스템의 목록이나 옵션을 저장
장치 마운트위치 파일시스템타입 옵션 dump 점검여부
/dev/sda1 / ext3 defaults 1 1
LABEL=/app /app ext3 defaults 1 2
# mount –a : fstab의 모든 목록을 mount한다.
# cat /etc/fstab => 안건드리는게 좋음
장치 마운트위치 파일시스템타입 옵션 dump 점검여부
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda3 swap swap defaults 0 0
/dev/sdb1 /data1 ext3 defaults 1 3
/dev/sdb2 /data2 ext3 defaults 1 4
/dev/sdc1 /d1 ext3 defaults 1 5
/dev/sdc5 /d2 ext3 defaults 1 6
/dev/sdc6 /d3 ext3 defaults 1 7
/dev/sdc7 /d4 ext3 defaults 1 8
/dev/sdc8 /d5 ext3 defaults 1 9
-> 문제가 생기는 경우 OS를 밀어버리는 것이 편하다.
-> 자동으로 마운트하고 싶으면 rc.local 편집을 이용하자
▣ Swap 공간 추가 - 파티션
1. 스왑파티션 포맷 (mkfs)
# mkswap –c [장치명]
2. 스왑파티션 활성화(mount)
# swapon [장치명]
• swapon -s : 현재 swap 상태를 확인한다.
# swapoff [장치명]
3. /etc/fstab에 등록
▣ Swap 공간 추가 - 파일
1. Swapfile 생성 (dd명령 이용)
# dd if=/dev/zero of=[swap file명] bs=1024 count=131072
- bs : 입출력 단위, count : 파일의 크기(1024를 곱한다:M)
• - 128*1024 = 131072(128M)
2. 파일 포맷(mkswap 명령이용)
# mkswap [swap file명]
3. 스왑 파티션 활성화(swapon 명령이용)
# swapon [swap file명]
4. fstab에 등록
5. free 명령으로 증가된 swap 공간을 확인한다.
▣ fsck
파일시스템을 검사한다. 되도록 umount상태에서 수행한다.
# fsck [옵션] [파티션명]
옵션
-a : 확인없이 수행
-t [FStype]
-A : /etc/fstab의 모든 파티션을 점검
-----------------------------------------------------------------------------------------
네트워크
▣ 인터넷의 구성
host = end system
의미 : 인터넷에서 이용하는 IP를 부여받은 장치
호스트들은 네트워크 응용 프로그램을 통해 인터넷에 참여.
각 호스트는 통신링크를 통해 연결
패킷 스위치(라우터, 링크계층 스위치) 이용
프로토콜 : 송수신 데이터를 제어하는 규칙
ex) TCP, IP, HTTP, FTP, PPP
인터넷 = "network of network"
특징
느슨한 계층적 구조 = 독립적이라는 뜻
-> 내 마음대로 구성할 수 있음.
Public Internet ver private Internet
인터넷 표준
RFC
IETF
▣ 인터넷의 서비스
분산 응용 프로그램을 사용할 수 있는 통신기반구조
두가지의 통신 서비스 유형
- 비연결형 서비스
- 연결지향형 서비스
▣ 프로토콜이란?
Network protocol
- 사람간의 의사전달과 비슷한 형태
- 모든 데이터 송수신은 인터넷에 지정된 전송규격에 따라야 함.
정의
프로토콜은 둘 이상의 통신 개체간 교환되는 메시지 포맷과 순서뿐 아니라 메시지의 송수신과 다른 이벤트에서 취하는 행동들까지 정의함.
▣ 네트워크의 가장자리 (edge)
- Network edge
응용프로그램, 호스트
- Network core
Router
network of network
- Access networks, Physical media:
communication links
▣ Network edge
- 종단시스템
end system = hosts
응용프로그램 실행 ex) web, email / at "edge of Network"
- Client/Server model
Client : 질문
Server : 응답
ex) web browser/server
email client/server
- Peer-Peer model
Client와 Server의 기능을 동시에 수행하도록 구현
ex) 소리바다, 당나귀... (왠만하면 사용하지 말자. 위험함.)
▣ Network edge : ① 연결지향 서비스 (Connection Oriented Service)
º 목적 : End system 간의 data 전송
- Handshaking : data 전송에 앞서 통신을 준비할 수 있도록 제어 패킷을 교환해 상호 확인하는 과정
통신하는 호스트 간 연결 상태를 설정
3-way Handshaking Service
※ 흐름 제어는 요즘은 신경쓰지 않는다.
- TCP - Transmission Control Protocol
Internet에서 사용하는 연결지향 protocol
º TCP service [RFC 793]
- 바이트의 흐름을 신뢰할 수 있도록하는 "byte-stream" 개념을 제공
데이터 손실에 대비해서 전송확인과 재전송 기능을 제공
②(신뢰적인 데이터 전송) - 데이터의 손상없이 순서대로 전송할 수 있도록 하는 것
- ③흐름제어 (flow control)
수신자가 송신자의 속도를 따라가지 못하는 경우 송신자의 전송 속도를 줄이도록 제어하는 방법
수신자가 직접 제어
- ④혼잡제어 (congestion control)
네트워크에 혼잡상태가 발생하면, 송신자가 전송 속도를 낮추는 제어 방법
댓글
댓글 쓰기