OSI 7 Layer
컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것으로서 복잡한 네트워크를 쉽게 이해할 수 있고 작업의 효율성을 높일수 있으며 문제점 발생시 쉽게 찾을 수 있다
1~4까지는 하위, 5~7까지는 상위 계층으로 분류
특징
- 각각의 계층에서 독립적인 프로토콜이 동작
- 이 모델은 프로토콜을 기능별로 나눈것
- 각 계층은 하위 계층의 기능만을 이용하고, 상위계층에게 기능을 제공
- 일반적으로 하위계층들은 하드웨어로, 상위계층들은 소프트웨어로 구현
계층(Layer)의 의미
- 통신하기 위한 일련의 과정이나 단계 or 절차
- 논리 및 소프트웨어적인 상위 계층보다 물리적으로 가까운 하위계층이 빠르다
- 상위계층의 기능에는 하위계층의 기능이 포함된다
PDU(Protocol Data Unit)
- 정보를 전송하기 위한 일종의 전송단위로서 부가 정보의 추가 상태를 의미
- 일반적으로 LxPDU와 같이 표현하는데 특히 다음과 같이 나눈다
L4PDU : 세그먼트
L3PDU : 패킷
L2PDU: 프레임
L1PDU : 비트
## 각 계층의 전송 단위는 PDU라 한다 ##
1계층(Physical layer) - 비트
- 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송
- 데이터 정보를 전기적 신호로 변환시켜 매개체를 통해 전달
- 단순히 한 컴퓨터로부터 다른 컴퓨터에 비트를 전송한다
2계층(Data layer) - 연결
- 물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리
- 안정한 정보의 전달을 수행할 수 있도록 도와주는 역할
- 하나의장치로부터 다른 장치로의 신호를 통한 데이터의 흐름을 제공
- 네트워크 계층으로부터 패킷을 받아서 송신을 위한 물리적인 계층에 보내질 프레임 데이터 단위의 정보를 패키징한다
3계층(Network layer) - 연결
- 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능
- 경로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달해주는 역할
- 네트워크 계층은 논리적인 주소를 물리적인 주소로 번역하여 준다
- 데이터가 목적지에 도달하는 데 여러가지 방법이 있다면, 어떠한 형태로 전달할 것인지 결정
* 대표적인 프로토콜 : IPv4, IPX, NetBEUI, IPv6 *
4계층(Transport layer) - 전송
- 전송계층, 통신을 활성화하기 위한 계층, 흐름과 요류를 제어, TCP / UDP
- 패킷이 차례로 손실이나 중복 및 에러 없이 전송되는 것을 보장
- 시퀀스 넘버 기반의 오류 제어 방식을 사용
- 접속 지향형 프로토콜의 경우(3-way-handshake로 세션을 맺고) 비접속 지향형 프로토콜의 경우에는 전송 전에 접속을 성립하지 않는다
- 큰 사이즈의데이터 유닛을 세션 계층으로부터 전달받으면 작은 패킷으로 나누는 단편화(Segmentation)작업을 수행
- MTU : 네트워크를 통하여 전달받을 수 있는 최대 데이터 유닛의크기
## 기본적인 MTU 크기는 1500byte ##
##단편화(Fregmentation) : 전송계층으로부터 받은 세그먼트를 더 작은 패킷으로 나누는 과정 ##
=======================================================================
5계층(Session layer) - 세션, 동기화
- 데이터가 통신하기 위한 논리적인 연결을 유지, 관리하는 역할
- 이름 찾기 서비스와 두 개의 프로그램이 서로 통신하도록 허용하는 보안과 통신 링크의 설정 제공
- 통신하는 두 프로세스간의 대화를 제어하고, 통신 중에 어느 지점에서 누가 전송하고 수신할지 결정
- Half-Duplex, Full-Duplex, checkpointing, 종료, 다시 시작 등의 과정 수행
- TCP/IP 세션을 만들고 없애는 책임을 진다
6계층(Presentation layer) - 번역, 암호화
- 네트워크가 요구하는 포멧과 컴퓨터가 요구하는 포멧간의 데이터를 번역
a 프로토콜 전환
b 데이터 전환(Encrypt / Decrypt)
c 압축과 암호화
d 문자집합 변환
e 그래픽 명령어의 해석
- 네트워크 리다이렉터(Redirector) : 파일 서버 상의 파일을 클라이언트 컴퓨터가 볼 수 있게 해주는 역할 수행 ## EBCDIC로 인코딩된 문서 파일을 ASCII 로 인코딩 된 파일로 바꿔주는 역할도 함 ##
7계층(Application layer) - OS의 프로그램
- 사용자에게 서비스를 제공해주는 인터페이스 계층
- OSI의 가장 상위에 존재 응용프로세스와 직접 관계하여 일반적인 응용서비스를 수행
- 응용 계층에서 컴퓨터 어플리케이션은 단지 Desktop Resource 만을 필요로 한다
- 프로토콜 종류 ex) SMTP, FTP, SNMP, NCP, AFP, HTTP, API 등등
- Layer 1 : PC1 - SW - RO -PC2 간에는 물리적으로 연결된 링크를 통해서 데이터 정보를 전기적 신호로 변환하여 전달한다
- Layer 2 : SW에서는 Mac Address를 learning하여 PC1 -> R0까지의 넥스트 홉을 결정하여 스위칭해준다 또한 물리적으로 송수신되는 정보들에 대한 오류와 흐름을 관리한다
ex) 전송방식에 따른 CRC Error
- Layer 3 : R0에서는 IP Address 정보와 자신이 가지고 있는 Routing Table을 비교하여 라우팅 경로를 지정해준다
- Layer 4 : 서비스의 사용 프로토콜에 따라 전송 방식이 결정된다 TCP, UDP등등 TCP의 경우에는 3-way-handshaking을 통해 흐름과 오류를 제어할 수 있다
- Layer 5 : Client의 브라우저의 세션 쿠키를 통해 서버와 논리적인 세션이 맺어진다. 이값은 브라우저에 저장된다.
- Layer 6 : 데이터를 IE가 이해할 수 있게 gzip을 사용하여 압축한다
- Layer 7 : IE에서 제공하는 UI를 통해 Client는 인터넷을 사용한다
OSI 7 Layer와 TCP / IP
OSI Model은 참조 모델이라고 한다. 이것을 기반으로 다른 모델을 만든다.
실제로 우리가 사용 하는 것은 오른쪽의 TCP/IP모델이다.
=================== 상위계층 (user 계층)(응용계층 만들어내는 계층)======================
Application Layer (어플리케이션 계층) 7계층
-사용자와 컴퓨터간의 연결을 제공 하는 유저인터페이스를 제공 하는 영역
-내가 컴퓨터랑 이야기를 할수 없으니 컴퓨터랑 대화할수 있게 인터페이스를 제공하는것이다.
Presentation Layer (프레젠테이션 계층) 6계층
-컴퓨터(단말기)가 인식할수 있도록 도와주는 데이터 포캣형태를 가져오는 계층
-ex)확장자명 : .jpg .mp3 .avi
-ex)압축 : 데이터 전송의 효율을 높이기 위해서
Session Layer (세션 계층) 5계층
-응용 프로그램 간 연결을 만들어 주는것
-ex)핸드폰으로 전화번호 등록을 하면 카톡에 새친구가 뜨는것과 같은것
-상위 계층으로부터 받은 정보를 전달하기 위해 하위계층을 이용하여 연결을 시도하거나
또는 연결을 종료하는 역할을 하는 계층
-양방향 : 일반 전화기 단방향 : 무전기
TCP/IP Model은 Application안에 5,6,7 계층이 한번에 묶여있다.
========================= 하위계층 (dataflow계층)(이동 시켜주는 계층)===================
Transport Layer (트랜스포트 계층) 4계층
-쉽게말해서 위에 5,6,7계층에서 만들어진 내용을 포장하는 곳이다.
- 포장하는 방법으로는 TCP , UDP 방식이 있다.
TCP
-신뢰성 O
-속도가 조금 느리다.
-ACK : 서버가 클라이언트 한테 정보를 줬을때 클라이언트가 서버한테 보내는 정보
: 기본적으로 데이터는 나뉘어서 보내지는데(Segmenting) TCP 환경에서는
나뉘어진 데이터(Segment)를 하나 보내고 제대로 왔다고 ACK를 보낸다.
ACK(acknowledgement code)를 받으면 그다음 데이터를 보낸다.
이러한 과정때문에 TCP는 UDP에 비해서 속도가 느리다.
UDP
-신뢰성 X
-속도가 빠르다.
-클라이언트가 서버한테 요청을 했을따 ACK가 없고 그냥 그대로 보내버린다.
문제가 있을때에는 클라이언트가 확인을 해야 한다. 전송의 오류가 있으면
전체 데이터를 다시 보낸다.
신뢰성 : 데이터의 전송유무를 확인할수 있는것.
데이터를 한번에 전송하지 않고 나눠 전송 한다. 그이유는 하나의 기계가 보낼수 있는
데이터의 한계가 있기 때문이다.
MTU(maximum transfer unit) - 데이터 단위
Segmenting - 데이터를 나누는 기능
Segment - 나뉘어진 데이터
Sequence Number - 나뉘어진 데이터의 순서를 구분해주는 번호
4계층 대표 장비
L4 Switch : 포트번호를 구분할수 있는 장비
: 부하분산에 쓰여진다.
부하분산 : 둘 혹은 셋 이상의 중앙처리장치 혹은 저장장치와 같은 컴퓨터자원들에게 작업을 나누는것
포트번호(서비스 요청번호) : 프로토콜을 구분짓기 위한 번호
Network Layer (네트워크 계층) 3계층
-논리적 주소(ip)를 기반으로 데이터를 전송경로를 만들어주는 계층
-쉽게 풀어 데이터를 보내기 위해서 주소를 적기위한 단계이다. 출발지와 목적지 ip를 적는다.
경로를 선택하고 주소를 정하고 경로에 따라 패킷(정보)을 전달해 주는것이 이계층의 주 목적이다.
논리적 주소 : ip를 말한다. 변경할수 있다.
물리적 주소 : mac 이라고 한다. 변경이 불가능 하다.
공장에서 LAN카드를 만들때 바코드같이 붙어서 나오기 때문이다.
각가의 컴퓨터를 구분해주는 시리얼 번호이다.
48bit로 이루워져 있다.
3 계층 대표장비
라우터 : ip 주소를 구분할수 있는 장비이다.
L3-switch
데이터 단위 : packet (패킷)
Data link Layer (데이터 링크 계층) 2계층
- 물리적 주소(mac)를 기반으로 데이터를 전송하는 형태를 결졍하는것
-쉽게 말해 운송수단을 결정하는것 (4계층과는 다르다. 4계층은 포장방법)
- Point-to-Point : 1:1 연결 라우터 : 라우터 (프로토콜 : PPP , HDLC)
-BMA : 1:1 ,1:n 연결 주로 이더넷(Ethernet)환경 / LAN
(Broadcast Multi Access)
-NBMA : 1:1연결 WAN Frame-relay
(Non Broadcast Multi Access)
데이터 단위 : frame
2계층 대표 장비
Switch - 물리적 주소 (mac)를 구분할수 있는 장치
Physical Layer (피지컬 계층) 1계층
-상위계층으로 부터 받은 데이터를 전기적 신호로 걸쳐 매개체로 전달 해주는것
-컴퓨터는 기본적으로 0 과 1 밖에 모른다 우리가 만든 데이터를 전송할때
이것을 0 과 1로 바꿔서 보내는것이다.
1계층 대표 장비
Hub(허브) : 멀티포트(Multiport) 기능
Repeater(리피터) : 약해진 신호를 증폭 시켜서 전송거리를 길게 이어준다. 하지만
잡음이 생길수도 있고 길이가 늘어날수록 충돌거리도 늘어난다.
예를 들면 음악에서 앰프같은 것이다. Hub는 이 리피터 기능도 할수있다.
Multiport : 허브로 연결한 컴퓨터끼리 통신이 가능하다. 외부로의 통신은 안된다.
OSI 7 Layer 간단한 정리
각 계층에 따라 작업이 이루어진다. 컴퓨터 A에서 데이터를 보내는데 이때 7계층 부터 1계층 순으로 내려온다. 이것을 Encapsulation 이라고 한다. 이 과정에서 계층을 넘어 올때마다 헤더라는 정보가 하나씩 하나씩 붙는다. 그리고 1계층에서 데이터를 보내고 컴퓨터 B쪽으로 받은 데이터에서 헤더를 하나씩 벗끼면서 1계층부터
7계층 순으로 올라간다 이 작업을 De - encapsulation 이라고 한다.
간단한 예로 우편물 배달이 있다. 보통 통신을 우편물이나 택배를 많이 비유한다.
Encapsulation => A 컴퓨터
1. 5,6,7 계층에서 물건(Date)을 만든다.
2. 4계층에서 물건(Date)를 포장한다. -> TCP , UDP
3. 3계층(우리집)에서는 우리집 주소와 상대방 받는 주소를 적고 우체국으로 보낸다. -> ip
2. 2계층(우체국)에서는 비행기로 자동차로 보낼지 운송방법을 정한다. -> PPP , HDLC
1. 1계층에서 물건을 보낸다. -> 01010101010101010 (컴퓨터는 0 과 1밖에 모른다.)
De-encapsulation => B 컴퓨터
1. 1계층에서 물건을 받는다.
2. 2계층(다른 우체국지점)에서 물건이 제대로 왔는지 확인한다. 제대로 왔으면 집(3계층)으로 배송한다.
3. 3계층(상대방집)으로 물건을 받는다.
4. 4계층에서 물건 포장을 뜯는다.
Protocol Suite
- 각 계층마다 대표적인 프로토콜이 있다.
5,6,7 대표적 프로토콜
() = 안의 숫자는 포트번호다.
DNS(53) : ip 주소를 알기 쉽게 문자로 바꿔주는것 74.125.128.106 => www.google.com
HTTP(80) : 웹서비스 제공
HTTPs(443) : http가 보안이 취약해서 암호화 하는것이다. 대표적으로 은행사이트나 로그인 화면에서
확인할수 있다.
FTP(20,21) : 파일전송 20 - 파일을 주고 받을때 쓴다. 21 - 접속을 제한할때 쓴다.
Telnet(23) : 원격접속 ==> ssh(22) 보안이 취약해서 쓴다.
DHCP(67, 68) : ip 자동으로 구성해준다.
http://rjsdnwl.egloos.com/viewer/3470887
'책 > DB' 카테고리의 다른 글
OSI 7 Layer 각 계층의 장비와 특징 (0) | 2015.03.03 |
---|---|
OS의 종류 서버 장비에 대해 이해 (0) | 2015.03.03 |
Directory의 구조와 용도에 대한 이해 (0) | 2015.03.03 |
서버 구조의 이해 NIC (0) | 2015.03.03 |
서버 구조의 이해 메모리 (0) | 2015.03.03 |