: 컴퓨터 간 연결
: 네트워크를 모두 연결해 거대한 네트워크로 만든 것이 인터넷
LAN(Local Area Network)
: 특정 지역이나 건물 등 작은 범위의 네트워크WAN(Wide Area Network)
: 넓은 범위에 구축되는 네트워크: 네트워크를 통해 전송되는 데이터의 작은 조각
: 데이터가 크면 네트워크에서 대역폭을 너무 많이 차지해 다른 패킷의 흐름을 막을 수 있어 작은 조각으로 나누어 전송하는 것
: 번호가 부여되기 때문에 순서에 상관 없이 발송되어도 받았을 때 번호를 기준으로 결합하여 원래 형태로 구성된다
1계층 | 물리계층(Physical Layer)
: 실제 장치를 연결하기 위한 전기적 및 물리적 세부사항을 정의한다(인터넷 케이블, 라우터, 스위치 등의 물리적 장치에 의해 전기적 신호가 전달(통신)됨)
: 데이터를 전기적 신호로 변환해 주고받는 기능만 할 뿐 송수신되는 데이터가 무엇인지, 어떠한 에러가 있는지 확인하지 않는다
: e.g. 케이블 등
2계층 | 데이터 링크 계층(DataLink Layer)
: 두 장치 간 신뢰성 있는 전송을 보장하기 위한 계층
: 물리 계층을 이용해 네트워크 상의 주변 장치들에 데이터를 전송하는 역할
→ 물리계층을 통해 송수신되는 데이터의 오류와 흐름을 관리하여 데이터가 안전하게 전달될 수 있도록 돕는 역할을 한다
: 따라서 통신에서의 오류를 찾고 재전송하는 기능을 가지고 있다
: 이 계층에서 전송되는 단위를 프레임이라 한다
: 맥 주소(Mac Address)
를 이용해 통신한다
: e.g. 스위치 등
3계층 | 네트워크 계층(Network Layer)
: 네트워크를 통해 다양한 길이의 데이터를 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질(QoS)를 제공하기 위한 기능적, 절차적 수단을 제공한다
: 경로를 선택하고, 주소를 정하고, 경로에 따라 패킷을 전달하는 것이 주 역할이다.
: 연결하고 있는 다른 네트워크를 통해 데이터를 전달함으로써 인터넷이 가능하게 한다
: 가장 중요한 기능은 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(라우팅)이다
: 논리적 주소 구조(IP)를 가지며, 네트워크 관리자가 직접 주소를 할당한다
: 계층적(hierarchical)이다
: e.g. 라우터 등
4계층 | 전송 계층(Transport Layer)
: 통신을 활성화하기 위한 계층
: 보통 TCP 프로토콜을 이용하며, 포트를 열어 응용프로그램들이 전송을 할 수 있도록 한다
→ 가장 잘 알려진 전송 계층이 TCP
: 만약 데이터를 전달받으면 해당 데이터를 하나로 통합하여 5계층으로 전달한다
: 양 끝단의 사용자가 신뢰성 있는 데이터를 주고받게 하여 상위 계층이 데이터 전달의 유효성이나 효율성을 신경 쓰지 않게 해주는 계층
: E2E(End-to-End) 통신을 다루는 최하위 계층으로 종단 간 신뢰성 있고 효율적인 데이터를 전송한다
: 오류 검출 및 복구와 흐름 제어, 중복검사 등을 수행한다
5계층 | 세션 계층(Session Layer)
: 양 끝단의 응용 프로세스가 통신을 관리하는 방법을 제공하는 계층
: 이 계층의 프로토콜은 통신 연결이 손실되는 경우 연결 복구 시도가 가능하며, 연결 시도 중 장시간 연결이 되지 않았다면 세션 계층의 프로토콜이 연결을 닫고 다시 연결을 시도한다
: 동기화 기능을 제공한다
- 전이중 통신(Full Duplex): 두 대의 단말기가 데이터를 송수신하기 위해 동시에 각각 독립된 회선을 사용하는 통신 방식(e.g. 전화망, 고속 데이터 통신 etc.)
- 반이중 통신(Half Duplex): 한쪽이 송신하는 동안 다른 쪽에서 수신하는 방식으로 전송 방향을 교체한다(e.g. 마스터 슬레이브 방식의 센서 네트워크 etc.)
6계층 | 표현 계층(Presentaion Layer)
: 코드 간 번역을 담당한다
: 데이터의 형식상 차이를 다루는 부담을 응용계층으로부터 덜어준다
: MIME(전자우편을 위한 인터넷 표준 포맷), 인코딩, 암호화 등이 6계층에서 이루어진다
: 일반적으로 응용프로그램 형식을 준비하거나 네트워크 형식으로 변환, 혹은 네트워크 형식을 응용프로그램 형식으로 변환한다
→ 즉, 응용프로그램이나 네트워트를 위해 데이터를 표현하는 것
: 데이터가 문자인지, 그림인지, 그림이라면 GIF인지 JPG인지 구분하는 것 등
7계층 | 응용 프로그램 계층(Application Layer)
: 일반적인 응용 서비스를 수행하는 계층
: 최상위 계층으로 사용자에게 직접적으로 보이는 부분
→ 7계층에서 작동하는 응용프로그램은 사용자와 직접적으로 상호작용한다
: e.g. 웹 브라우저(Chrome, Firefox etc.), 응용 프로그램 등
OSI 7 Layer를 네 개의 계층으로 단순화 시켜 사용하는 모델
: 온라인상의 안전하고 효율적인 데이터 전송의 필소 요건을 정의한다
: 패킷 통신 방식의 인터넷 프로토콜인 IP(Internet Protocol)와 전송 조절 프로토콜인 TCP(Transmission Control Protocol)로 구성
: IP는 패킷 전달 여부를 보증하지 않음
→ 패킷을 보낸 순서와 받는 순서가 다를 수 있음
: TCP는 IP 위에서 동작
→ 데이터의 전달을 보증하고 보낸 순서대로 받게 한다
→ 전달받은 패킷 재조립, 패킷에 손상이 있거나 손실된 패킷이 있다면 재전송을 요청하는 패킷 전송
1계층 | 데이터 링크 계층
: 데이터 전송의 최하위 계층
: 네트워크 인터페이스 계층(Network Interface Layer)이라고도 부름
: 데이터가 목적지로 하는 IP 주소에 도달하게 하고, 해당 내트워크 내에 연결되어있는지 확인
→ 목적 기기의 MAC 주소를 확인하고 이더넷 케이블 및 와이파이를 통한 데이터 전송을 관리하는 등의 작업 수행
2계층 | 인터넷 계층
: 네트워크 간 데이터 패킷의 전송 관리
3계층 | 전송 계층
TCP
: 두 네트워크 사이에 연결 형성
: 효율적 작업을 위해 데이터를 작은 패킷으로 나누어 데이터 전송
: 연결형 서비스
: 신뢰도가 높으나 속도가 느림
: 가상 회선 방식으로 패킷 교환
: 전송 순서 보장
UDP
: 비연결형 서비스
: 신뢰도가 낮으나 속도가 빠름
: 데이터그램 방식으로 패킷 교환
: 전송 순서가 바뀔 수 있음
4계층 | 응용 계층
: 사용자가 상호작용하기 가장 쉬운 계층
→ 사용자가 네트워크에 접근할 수 있도록 함 && 사용자 인터페이스 제공 && 서비스 제공
: 메일 프로그램, 인터넷 브라우저, 파일 전송규약(FTP, File Transfer Protocol) , 동적 호스트 설정 통신 규약(DHCP, Dynamic Host Configuration Protocol), 간이 망 관리 프로토콜(SNMP, Simple Network Management Protocol) etc.
A Class
: IP의 앞자리가 0 ~ 127
: IP 맨 처음 블록이 네트워크 주소
이고 다음 3개의 블록은 호스트 ID
이다
→ e.g. 97.34.5.2
는 A클래스에 속하는 IP 주소이고, 따라서 97
이 같은 IP는 같은 네트워크에 있다. 97.124.191.34
는 같은 네트워크 ID를 가지기 때문에 자유롭게 통신이 가능하다
B Class
: 맨 앞자리가 128 ~ 191
: IP의 첫 번째와 두 번째 블록이 네트워크 주소
이고 다음 2개의 블록은 호스트 ID
C Class
: 맨 앞자리가 192 ~ 223
: IP의 첫 3개의 블록이 네트워크 주소
이고 마지막 블록은 호스트 ID
D Class
: 맨 앞자리가 224 ~ 239
: 멀티캐스트 IP
: 실제로 사용되지 않음
E Class
: 맨 앞자리가 240 ~ 255
: 특정한 목적(연구 등)을 위해 남겨둔 IP
: 실제로 사용되지 않음
이를 해결하기 위해
서브넷
을 사용한다
: IP와 마찬기자로 8bit씩 4블록으로 구성되나 앞자리는 모두 1이고 뒷자리는 모두 0이다.
: IP와 서브넷 마스크의 AND
연산을 통해 네트워크 주소를 구할 수 있다
→ e.g. IP 주소가 115.95.229.196
이고 서브넷 마스크가 255.255.255.0
일 때, 01110011.01011111.11100101.11000100(IP)
과 11111111.11111111.11111111.00000000(서브넷 마스크)
을 AND 연산한다. 이 때의 결과는 01110011.01011111.11100101.00000000
, 즉 115.95.229.0
이다(115.95.229
로 시작하는 주소만 같은 네트워크에 있다고 인식)
: 브로드캐스팅 주소는 네트워크 대역의 맨 마지막 주소(호스트 ID가 2진수로 표현했을 때 모두 1인 경우)
→ 115.95.229
네트워크의 브로드캐스팅 주소는 115.95.229.255
: 호스트 주소는 네트워크 주소와 브로드캐스팅 주소를 제외한 주소
: 서브넷 마스크를 2진수로 표현했을 때의 1의 개수로 서브넷 마스크를 표현할 수 있다
→ e.g. 255.255.255.0(11111111.11111111.11111111.00000000)
== /24
: 아무리 서브넷을 이용해 IP를 효율적으로 배분하더라도 이용 가능한 IP의 개수가 제한되어 있는 것은 마찬가지
: 이를 사설 IP(Private IP)로 해결할 수 있다
: 사설 IP는 내부에서만 사용 가능한 IP로 외부의 IP와 중복 되어도 상관 없다
: 외부에서 접속할 수 있는 공인 IP(Public IP)는 공유기에만 할당하고, 공유기에 연결된 기기들은 내부에서만 사용할 수 있는 사설 IP를 할당하면 하나의 IP로 여러 기기를 연결할 수 있다.
10.0.0.0
~ 10.255.255.255
: A클래스 사설 IP 대역172.16.0.0
~ 172.31.255.255
: B클래스 사설 IP 대역192.168.0.0
~ 192.168.255.255
: C클래스 사설 IP 대역: 공유기 외부에서 공유기 내부 컴퓨터에 접속하기 위해 라우터로 들어온 포트 번호를 네트워크에 있는 그 기기의 특정 포트로 요청을 포워딩 하는 것
: 통신하는 목적지의 IP 주소와 포트 번호를 내부 호스트에서 다시 매핑함으로써 이루어짐
: 2개 이상의 IT 디바이스가 서로 통신하게 해주는 장비
: 같은 네트워크 내의 장치를 연결하고 데이터를 주고받는다
: 대체로 2계층에서 이용된다
→ MAC Address로 통신한다
: 컴퓨터 네트워크에서 데이터를 송수신하는 장치
: 2개 이상의 네트워크를 연결하는 장치
: 주로 LAN과 WAN 간에 데이터를 전달한다
→ IP 주소로 통신한다
- Routing
: 네트워크에서 경로를 선택하는 프로세스
: 미리 정해진 규칙을 사용하여 최상의 경로를 선택한다
→ 네트워크 통신의 효율성을 높임
→ 네트워크가 정체 없이 최대한 많은 용량을 사용할 수 있도록 데이터 트래픽을 관리하여 네트워크 장애를 최소화
- Default Route
: 경로를 찾지 못한 네트워크의 경로를 미리 정해놓는 것
: