-
OSI 7 계층이란?
-
OSI(Open Systems Interconnection) : 개방형 시스템, 즉 시스템 간의 상호연결성을 부여하는 표준
-
국제표준화기구 (ISO: International Organization for Standardiztion)에서 만든 네트워크 통신 7단계 과정.
-
OSI 7 계층은 "OSI 참조 모델" 이라고도 불리며, 컴퓨팅 장치나 네트워킹 장치를 만들 때 OSI 참조 모델을 기준으로 모든 통신장치를 만들고 있음 because 기준을 통해 만든 제품이 유지보수가 편하기 때문
-
데이터 흐름을 파악하기 위해 계층을 나누었고, 각 계층별로 모듈화가 되어있어서 각 계층을 하나로 보는 것이 아니라 융화시켜 호환성에 용이하도록 만듦.
ex) OSI 7 계층을 정하지 않았던 때에는 통신 장비 업체간 호환성이 전혀 되지 않았음.
-
-
OSI 7 계층의 특징
-
상하구조를 가진다.
상위 계층의 프로토콜이 제대로 작동하기 위해선 하위의 모든 계층에 문제가 없어야 한다.
ex) 물리적 회선 연결 확인 -> 데이터 전송 등등 전자에 하자가 없을 때 후자가 동작
-
문제 해결을 용이하게 도와줌
상하구조를 갖는 특징을 살려 각 계층의 동작을 확인 할 수 있는 프로그램을 사용하여 계층의 동작을 확인하여 문제를 해결 할 수 있기 때문
ex) 인터넷이 안 될때 ping을 쏴서 확인해보는 것 -> 만약 문제가 발생했다면 해당 계층부터 확인
-
-
물리 계층이란?
OSI 7계층 모델의 최하위 계층이며, 단말기와 전송매체 사이의 인터페이스를 정의하고 데이터링크 계층 엔티티 간의 비트 전송을 위한 기계적, 전기적, 기능적, 절차적인 수단을 제공하는 계층
아날로그 신호를 받아 디지덜 신호로 변환하여(Encoding) 사용하고,
디지털신호를 아날로그 신호로 변환하여(Decoding) 전송하며, 전기적 특성을 이용하여 신호를 만드는 역할을 한다(모뎀의 역할). -> BIT BY BIT DELIVERY
어떤 하나의 네트워크에서 기본 네트워크 하드웨어 전송기술들로 구성된다. 네트워크의 높은 수준의 기능의 논리 데이터 구조를 기초로 하는 필수 계층이다. 다양한 특징의 하드웨어 기술이 접목되어 있기에, OSI 아키텍처에서 가장 복잡한 계층으로 간주한다.
-
물리 계층의 특징
- 물리 계층의 단위는 BIT 이다.
- 대표 프로토콜 : Coax, Fiber, Wireless
- BIT 는 0과 1로 나타내어지는 전기적 On/Off 상태를 의미한다.
- 물리 계층은 단지 데이터를 전송할 뿐 에러, 전송할 때의 효율성 등은 관여하지 않는다.
- 물리계층은 미디어 타입, 커넥터 타입, 신호표현 방법(시그널링), 속도 등을 정의한다.
- 하드웨어 장비
- 네트워크 어댑터 : 네트워크에 연결하여 통신하기위한 장치 (랜선 꽂는 곳)
- 리피터 : 신호가 더 먼 거리에 다다를 수 있게 도와주는 장치
- 허브 : 여러 대의 컴퓨터, 네트워크 장비를 연결하는 장치 (공유기)
- 모뎀 : 신호변조기
-
데이터링크 계층이란?
-
OSI 7계층 모델의 6번째 계층이며 물리적인 네트워크 사이에서 DATA 전송을 담당하는 계층이다.
-
데이터를 네트워크 전송 방식에 맞게 단위화(Framing) 해서 단위들을 전송한다. Ethernet 프로토콜을 이용하여 Ethernet 장치를 위한 표준 주소 지정 시스템을 제공한다.
-
MAC주소를 이용하여 통신한다
-
-
데이터링크 계층의 특징
-
데이터링크 계층의 단위는 FRAME 이다.
-
대표 프로토콜 : Ethernet, SLIP, PPP, FDDI
-
물리계층으로 데이터를 전송 시 오류를 감지할 수 있다. 만약 오류가 발생했다면 재전송하여 오류를 해결한다.
-
.MAC주소는 xx : xx : xx : xx : xx : xx 의 형식으로 총 6바이트로 전 세계에서 유일한 주소이다.
-
데이터링크 계층이 제공하는 서비스
- 프레이밍 : 데이터 배열에 Data, Header, Trailer 등을 넣어서 캡슐화(Encapsulate) 진행
- 각각의 노드에서 다음 노드로 데이터를 보낼 때, L3(네트워크계층)에서 받은 데이터그램을 캡슐화하는 작업, 그리고 캡슐화된 데이터 배열을 프레임이라고 한다.
- 흐름제어 : 송신자와 수신자의 처리 속도간의 차이를 해결하기 위한 제어
- 송신 측이 수신 측의 데이터 처리속도보다 빠른 속도로 데이터를 보낸다면 버퍼가 길어질 것이며, 버퍼의 길이는 제한되어있고 가득 차면 데이터를 저장 할 수 없다. 그러므로 송신 측에 STOP 혹은 SLOW의 피드백을 보내는 작업이다.
- 에러제어 : 에러를 감지하고 처리
- 송신측에서 Framing을 하고 0과 1로 이루어진 비드로 변환하고 보낸다. 변환된 신호는 매우 취약하기 때문에 에러제어 과정을 거쳐 에러를 검출해낸다. 에러를 검출하는 방법은 2가지로 직접 수정하는 것과 수신받은 데이터배열을 폐기하고 송신측에 데이터를 재요청 하는 것이다.
- 프레이밍 : 데이터 배열에 Data, Header, Trailer 등을 넣어서 캡슐화(Encapsulate) 진행
-
MAC주소로 하드웨어 주소를 어떻게 알까?
- 이를 해결하기 위해 IP주소를 사용한다. IP주소는 L3(네트워크 계층)에서 사용하는 주소로, 인터넷 상에서 정확한 본인의 위치를 알려줄 수 있지만, 일반적으로 수많은 라우터와 서버로 연결되어 있다. 그러므로 MAC주소로 하드웨어 주소를 바로 알 수 없지만 라우터와 서버로 연결된 주소를 통해 하드웨어 주소를 알 수 있는 것이다.
-
L2계층 주소의 종류
-
UNICAST ADDRESS (일 대 일 통신)
모든 기기에 할당되어 있으며 Framing을 할때 UNICAST ADDRESS를 넣으면 MAC 주소를 가진 곳으로만 이동한다. (???? 무슨말?)
-
MULTICAST (일 대 다 통신)
아무대서나 사용할 수 없고, 특정 범위(관할 구역 등등)에서만 사용 가능하다.
-
BROADCAST ADDRESS (일 대 전체 통신)
BROADCAST ADDRESS를 담은 Frame은 모든 기기에 전달된다.
ps) BROADCAST ADDRESS : FF : FF : FF : FF : FF : FF
-
-
ARP ( ADDRESS RESOLUTION PROTOCOL )
- ARP란 네트워크 상에서 IP 주소를 MAC 주소로 대응시키기 위해 사용하는 프로토콜
-
-
송신자와 수신자 사이 매우 많은 서버와 라우터들이 있어서 직접적으로 데이터를 전송할 수 없다. 비트( 0과 1)로 이루어진 전기적 신호는 MAC주소를 필요로하기 때문에 ARP가 필요하다.
-
ARP 작동원리
-
송신자는 수신자의 MAC주소가 알고싶다.
-
하지만 송신자가 가지고 있는 것은 수신자의 IP주소밖에 없다.
-
그래서 송신자는 BROADCAST ADDRESS를 이용해서 모든 기기에 IP 주소를 가지고 있는 노드는 MAC주소를 송신자에게 보내라고 전달한다.
-
해당 노드는 MAC주소를 송신자에게 전달한다.
ps. MAC주소는 직접 연결된 (스위치, 허브, 라우터 등)에서만 사용할 수 있다.
-
-
네트워크 계층이란?
중계 라우터를 통한 라우팅을 포함하여 패킷 포워딩을 담당하는 계층이고, 송신지 호스트에서 여러 중간 노드를 거쳐 목적지 호스트까지 각 패킷의 전달에 대한 책임을 지고 전송한다.
-
네트워크 계층의 특징
-
네트워크 계층의 단위는 PACKETS 이다.
-
대표 프로토콜 : IP, IPSec, ICMP, IGMP
-
논리적 주소를 사용 (IP주소)
-
데이터를 목적지 호스트까지 빠르고 안전하게 전달하는 것을 라우팅이라고 한다.
-
-
전송 계층이란?
네트워크 양 끝단에서 통신을 수행하는 당사자 간의 단대단 연결을 제공한다. 데이터링크 계층과 유사하게 오류 제어, 흐름제어 등을 제공하는 면에서 비슷하다고 할 수 있지만 데이터링크 계층은 물리적으로 1:1 연결된 호스트 사이의 전송을 의미하고 전송계층은 논리적으로(네트워크 상에서) 1:1 연결된 호스트 사이의 전송을 의미한다.
-
전송 계층의 특징
-
전송 계층의 단위는 SEGMENTS 이다.
-
대표 프로토콜 : TCP, UDP, ENC, SCTP, DDCP
-
Throughput(스루풋, 처리율) : 네트워크 통신에서 노드 사이 또는 파이프 사이에서 전달되는 단위 시간당 전송되는 디지털 데이터 처리량, 주로 초당 비트수 (bps) 가 사용된다.
-
TCP ( Transmission Control Protocol, 전송 제어 프로토콜 )
- 신뢰성 있고, 순서가 보존되는 전송 시스템
- 혼잡 제어, 흐름 제어, 연결 설정 등 각종 오류를 제어한다.
- 웹 브라우저들이 WWW에서 서버에 연결할 때 사용되며, 이메일 전송 및 파일 전송에도 사용된다.
-
UDP (User Datagram Protocol, 사용자 데이터그램 프로토콜)
- 신뢰성 없고, 순서가 보장되지 않는 전송 시스템
- 꼭 필요한 전송만 하고, 오류 제어와 같은 추가 기능을 필요로 하지 않는 애플리케이션에 사용된다.
- 추가 기능이 없기 때문에 1. 오버헤드가 작고 지연시간이 짧다는 장점이 있다. 1. 오버헤드: 어떤 처리를 하기 위해 들어가는 간접적인 처리 시간 · 메모리
-
-
세션 계층이란?
상위 계층에 제공하는 서비스로 세션 연결 설정과 해제, 세션 메시지 전송을 통해 동작한다.세션 계층은 크게 동기 기능과 대화 기능을 수행한다.
- 동기 기능
- 통신 양단 끼리 서로 동의하는 논리적인 공통 시점인 동기점을 만들어 메시지가 제대로 처리가 되고 있는지를 파악한다.
- 동기점은 오류 복구를 위하여 필수적으로 사용되는데 동기점 설정 이전까지는 서로 처리가 완료되었음을 합의하는 것을 의미한다. ( 동기점 이전 과정은 복구 X | 동기점 이후 처리과정에 대한 복구 O)
- 대화 기능
- 쉽게 데이터 전송 과정을 의미한다.
- 시간 경과에 따른 순차적으로 동기점을 부여하여 신뢰성 보장 기능을 단계적으로 구현할 수 있게되어 일시정지 후 나중에 이어서 작업을 진행할 수 있다.
- 동기 기능
-
세션 계층의 특징
- 세션 계층의 단위는 DATA 이다.
- 대표 프로토콜 : VARIOUS API'S, SOCKETS
- 두 응용 프로세스의 대화를 관리하기위해 토큰 이라는 특수 메시지를 사용한다.
- 토큰 (특정권리를 배타적으로 소유한다는 뜻)
- 데이터 토큰 : 데이터를 전송할 수 있는 권한
- 해제 토큰 : 통신 양단 사이의 연결 해제를 제어
- 동기 토큰 : 동기 처리가 필요한 시점에 사용
- 토큰 (특정권리를 배타적으로 소유한다는 뜻)
-
표현 계층이란?
네트워크 상의 여러 이기종 시스템들이 저마다 다른 데이터 표현 방식을 사용하는데, 이를 하나의 통일된 구문 형식으로 변환시키는 기능을 한다. 즉 네트워크의 데이터 번역자로서의 역할을 맡고있다.
-
표현 계층의 특징
-
표현 계층의 단위는 DATA 이다.
-
대표 프로토콜 : SSL, FTP, IMAP, SSH
-
추상 문법과 전송 문법
-
추상 문법
추상 문법은 각 컴퓨터에서 사용하는 데이터 표현 규칙
각 컴퓨터는 각기 다른 추상 문법을 가지고 있기 때문에 수신 측에서의 컴퓨터에서 이해하는 추상 문법 형태로 다시 변환하는 과정이 필요하다.
-
전송 문법
네트워크 전체에서 일관성을 가지는 새로운 표현 규칙
특정 컴퓨터에서 독립적이면서 네트워크 전체에서 일관성을 가지는 새로운 표현 규칙인 전송 문법을 이용하여 전송해야만 한다.
-
-
압축과 보안
-
압축
대용량 데이터를 압축하여 크기를 줄인 후 전송하는 것이 전송 속도 면에서 유리하다. 데이터 압축축은 원래 데이터의 패턴에 영향을 많이 받는다. 중복이 많으면 압축률이 높아지게 된다. 왜냐하면 압축된 데이터의 내용에는 중복 정보가 더 이상 없다고 보아야 하기 때문이다.동일 패턴이 반복되는 환경에서 유리하지만 반복이 거의 없는 환경에서는 오히려 데이터가 커질 수 있다.
(압축률이 높아진다면 효율성도 높아짐)
-
보안
전송 데이터의 내용을 해석하지 못하도록 하기 위해 사용
-
-
-
응용 계층이란?
응용 프로그램과 통신 프로그램 간의 인터페이스를 제공한다.
-
응용 계층의 특징
-
표현 계층의 단위는 DATA 이다.
-
대표 프로토콜 : HTTP, FTP, IRC, SSH, DNS
-
응용 계층 프로세스 간의 통신
응용 계층 프로세스들 사이의 통신은 표현 계층이 제공하는 서비스, 즉 데이터의 형식을 정하고(format), 부호화하고(code), 암호화하고(encrypt), 압축하는 서비스를 통해 이루어진다.
-