2024.09.25 4주차 수업
프로토콜
순서 지정
● 데이터가 단위 별로 분할하여 전송될 때, 각 패킷에 시퀀스 번호를 부여하여 순서대로 도착할 수 있도록 제어
데이터 흐름 제어
● 수신자 측에서 데이터 전송량이나 전송 속도 등을 조절
연결 제어
● 연결지향형 데이터 전송의 경우 연결설정, 데이터 전송, 연결 해제의 3단계로 구성
캡슐화
● 네트워크의 각 계층별로 사용할 정보를 관리하기 편하도록 구분
● 단계별로 헤더(제어정보)를 덧붙여 캡슐처럼 감싸는 것을 의미
오류제어
● 오류 발생을 검출하여 재전송을 요구하거나, 직접 오류 복구
● 재전송 요구 : 기존에 받은 오류 데이터를 버리고 재전송 요청
동기화
● 송신자와 수신자 사이 데이터를 전송할 때, 타이밍이나 윈도우 크기 등을 합의하는 것
멀티플렉싱
● 한 번에 여러 정보를 통신할 수 있도록 가상의 회선을 설정
전송 서비스
● 우선순위 : 우선 순위가 높은 데이터가 먼저 도착하도록 설정
● 서비스 등급 : 데이터에 따라 서비스 등급을 부여
● 보안의 정도 : 액세스 제한 등 보안 시스템 설정
※ QoS(Quality of Service) : 응용 프로그램, 사용자, 데이터 흐름 등에 우선 순위를 정하여 데이터 전송에 특정 수준의 성능을 보장하기 위한 능력
3주차
OSI 참조모델
● OSI(Open System Interconnection) 참조모델
● 1960년대부터 데이터통신 개념 등장
● 1970년대 독립적인 네트워크 출현
- ARPAnet(Advanced Research Projects Agency Network)
- 세계 최초의 패킷 스위칭 네트워크
- 인터넷의 원형
● 1983년, ISO에서 데이터 통신에 대한 모델 규정
● 7계층으로 이루진 모델

● 제정 목적
- 정보가 전달되는 기본 틀(Framework)을 지정하여 서로 다른 네트워크 사이에도 데이터 통신을 가능하게 함
- Framework : 작업을 처리하기 위한 기본 틀로서 상세한 부분까지는 정의하지 않음
● 1계층 ~ 4계층 : 데이터 전송을 다루며, 운영체제 내부에서 사용
● 5계층 ~ 7계층 : 사용자 프로그램과 관련된 일 수행
● 장점
- 네트워크 통신을 위한 프로토콜이 계층별로 나누어져 있으므로, 각 계층의 독립성 보장
- 각 계층이 독립적으로 나누어져 있기 때문에 오류 처리 용이
- 표준화되고 모듈화된 프레임워크에 맞추기 때문에 네트어크 구축을 쉽고 효율적으로 가능
캡슐화

응용 계층
● 사용자와 가장 가까운 계층
- 최상위 계층으로 하위 계층의 구조를 몰라도 네트워크를 사용할 수 있음
● 일반 사용자들이 사용하는 응용 프로그램
● 주요 프로토콜
- HTTP : 인터넷 통신
- FTP : 파일 전송
- SMTP : 메일 발송
● 전송 단위(PDU, Protocol Data Unit) : 메시지
표현 계층
● 애플리케이션에서 보내온 메시지가 네트워크를 통해 전달될 수 있는 형태로 변환(코드화)
● 사전에 약속된 코드로 변환(pdf, ASCII 등)
● 데이터를 번역한다는 점에서 문맥 계층이라고도 함
- 애플리케이션 계층과 세션 계층이 서로 다른 형태의 문자를 처리할 수 있도록 번역
● 메시지를 압축하여 전송 메시지의 크기를 줄임
● 암호와를 통해 스니핑(Sniffing)을 예방
● 전송 단위(PDU) : 메시지
세션 계층
● 송신자와 수신자 간의 동기화 신호를 교환하여 연결 세션을 구축, 유지, 설정, 종료
- 동기화 : 통신하는 양측이 서로 합의하여 공통 시작점을 정하는 것
● 토큰을 통해 독립적이고 배타적인 통신 가능
- 토큰 : 승차권
- 토큰의 종류 : 데이터 토큰, 해제 토큰, 동기 토큰
● 세션의 연결은 단방향 통신, 반이중 통신, 전이중 통신이 있으며, 세션 계층에서 어떤 방식으로 통신할지 결정
● 전송 단위 : 메시지
전송 계층
● 송신자와 수신자 간의 논리적 연결을 담당(End-to-End 연결)
● 에러가 발생하면 에러를 탐지하고 재전송하는 방법으로 에러 수정
● 네트워크를 통해 전달할 수 있는 최대 크기(MTU)로 데이터를 나눔(단편화)
- 기본 MTU 크기는 1500byte
● 주요 프로토콜
- TCP(Transmission Control Protocol)
- UDP(User Datagram Protocol)
● 전송 단위 : 세그먼트(Segment)
● 주요 장비 : 게이트웨이
네트워크 계층
● 송신자와 수신자 간의 경로를 설정하여 목적지까지 정보를 전달하는 계층
● IP 주소를 참조해 최적의 경로를 설정 -> 라우팅
● 주요 프로토콜 :
- IP, ICMP, IGMP, ARP, RARP
● 전송 단위 : 패킷(Packet)
● 주요 장비 : 라우터
데이터 링크 계층
● 정보가 전달될 수 있도록 송수신을 확인하는 계층
● 네트워크 계층에서 붙인 IP 헤더를 통해 MAC Address를 구해 송신자의 주소를 확인
- MAC Address : 48bit의 고유값(주소)를 가짐(제조사 ID 32bit + 장치 ID 32bit)
● 오류 검출과 흐름제어를 통해 정보를 안전하게 전송
● 전송 단위 : 프레임(Frame)
● 주요 장비 : 브리지, 스위치
물리계층
● 물리적 통신 장비를 경유하여 데이터를 전송
● 전송단위 : 비트 스트림, 데이터 비트
● 주요 장비 : 케이블, 허브, 리피터(신호 증폭 역할)
<요악>





1. 네트워크 접근 계층
● 랜카드 상의 MAC 주소를 이용해 통신기기 사이의 연결 및 데이터 전송 담당
- MAC 주소 : 모든 네트워크 장비의 12자리의 고유 번호 (16진법을 사용)
● 네트워크 프레임 구조
Preamble (10101010) 7byte |
SOF (10101011) 1byte |
Destination Address 6byte |
Source Address 6byte |
Type 2byte |
Data 46 ~ 1500 |
PAD 0 ~ N |
FCS 4byte |
- Preamble : 동기화 정보
- SOF : 프레임의 시작 구분문자
- Destination Address : 수신자 MAC 주소
- Source Address : 송신자 MAC 주소
- Type : 상위 계층의 프로토콜 종류
- Data : 전달하고자 하는 데이터
- PAD : 프레임의 길이를 맞추는 구간 (0으로 자리 채움)
- FCS (Frame Check Sequence) : 프레임의 오류 검사
2. 인터넷 계층
● 송신자와 수신자의 IP 주소를 이용해 네트워크의 경로를 설정하고(라우팅) 데이터를 목적지에 정확히 전송
- IP주소 : 네트워크에 연결된 각 장치들의 식별 번호


● IPv6
- IETF(Internet Engineering Task Force)에서 IP Address 부족에 대한 해결 방안으로 만듦
- 주소의 크기가 128비트
- 16비트씩 8부분, 16진수 표시
- 각 부분은 : 으로 구분되며, 0이 연속될 경우 생략도 가능
- 향상된 서비스 품질 지원 (QoS)
- 브로드캐스트 기능 제거
- 지원 전송 방식 : 유니캐스트(Unicast), 애니캐스트(Anycast), 멀티캐스트(Multicast)
- IPv4는 유니캐스트, 멀티캐스트, 브로드캐스트


● IP 주소 (IPv4)
- 32bit로 표현하는 체계, 사람이 이해할 수 있도록 10진수 4부분으로 표시
- 네트워크 ID + 호스트 ID로 표현
- 네트워크 ID : 호스트들을 모은 네트워크, 네트워크 ID가 같으면 로컬 네트워크
- 호스트 ID : 호스트들을 구분하기 위한 주소

● IP 주소 클래스(classful)
- CLASS-A
- Class 중 크기가 가장 크다(2^24개 호스트 수용)
- 국가나 글로벌 기업이 사용하는 대형 네트워크
- 시작비트는 항상 0
- 네트워크 ID 127은 예약 주소(loopback (ex)127.0.01)
- CLASS-B
- Class 중 두 번째로 크다(2^16개 호스트 수용)
- 대기업 등에서 사용하는 중대형 네트워크
- 시작비트는 항상 10
- 네트워크 ID : 128.0~191.255, 호스트 ID : 0.1~255.254 (호스트 ID가 255.255일 경우 브로드캐스트)
- CLASS-C
- 일반적으로 사용되는 Class 중 가장 작다(2^8개 호스트 수용)
- 로컬영역 네트워크 환경에서 할당되는 주소의 대부분이 CLASS-C
- 시작비트는 항상 110
- 네트워크 ID : 192.0.0~255.255, 호스트 ID : 0~255
- CLASS-D
- 시작비는 항상 1110, 멀티캐스트
- CLASS-E
- 시작비는 항상 1111, 연구 및 실혐용으로 예약된 주소
● IPv4의 한계
- IPv4는 실질적으로 37억개정도 사용 가능, but 기하급수적으로 IP요구 증가
- ARIN(인터넷 번호 등록 협회)는 2015년 9월 24일 IPv4가 고갈되었음을 공식 발표
- 해결 방법 : CIDR, NAT, IPv6
● CIDR(Classless Inter-Domain Routing) : '사이더'로 발음
- 클래스를 나누다보니 모든 IP를 사용하지 않는 낭비 발생
- 낭비를 줄이기 위해 비트 단위로 쪼갬 -> 서브넷 마스크 사용(masking)
- 필요한 네트워크 ID 부분을 마스킹함(1로 셋팅)
- 서브넷팅
- 하나의 네트워크를 여러 서브넷으로 구성(세분화 관리)
- 필요한 네트워크의 수를 2진수로 계산하여 호스트 ID를 앞자리부터 1로 채워 네트워크 ID로 바꿈
- 필요한 호스트의 수를 2진수 계산하여 호스트 ID의 뒷자리 채우고 나머지 앞을 네트워크 ID로 바꿈
- ex) class-c의 네트워크를 2개의 서브네트워크로 구성한다.
● 서브넷팅

● 4개의 네트워크로 나눔 -> 2bit 필요(2^2)
- 64개씩 4개로 나눌 수 있음
- 11000000.10101000.00100000.00000000 ~ .00111111 : 192.168.1.0 ~192.168.1.63 - 11000000.10101000.00100000.01000000 ~ .01111111 : 192.168.1.64 ~192.168.1.127 - 11000000.10101000.00100000.10000000 ~ .10111111 : 192.168.1.128 ~ 192.168.1.191
- 11000000.10101000.00100000.11000000 ~ .11111111 : 192.168.1.192 ~ 192.168.1.255
- 호스트 ID가 모두 0일 때, 네트워크 ID를 나타내고, 모두 1일 경우 브로트캐스트 용도로 사용하므로 호스트에 할당 X
- 서브넷 마스크 : 11111111.11111111.1111111.110000000 (255.255.255.192) → /26
- 100개의 호스트 사용 -> (2^7=128) -> 호스트 ID 7비트 사용
- 11000000.10101000.00100000.00000000 ~ .01111111 : 192.168.1.0 ~192.168.1.127 - 11000000.10101000.00100000.10000000 ~ .11111111 : 192.168.1.128 ~ 192.168.1.255
- 서브넷 마스크 : 11111111.11111111.1111111.100000000 (255.255.255.128) → /25

● NAT
- 네트워크 주소를 변환시키는 기술
- 하나의 공인 IP를 여러 사람이 공유해서 쓸 수 있게 함 -> IP 부족 해결
● 공인 IP
- 인터넷상에서 서로 다른 컴퓨터와 통신하기 위한 IP
● 사설 IP
- 내부망 구축 전용 IP
- CLASS-A : 10.0.0.0 ~ 10.255.255.255
- CLASS-B : 172.16.0.0 ~ 172.31.255.255
- CLASS-C : 192.168.0.0 ~ 192.168.255.255

출처 : 공준익교수님 PPT