1980년대 초 ISO(International Organization for Standardization)는 여러 업체가 만든 시스템에 대해 상호연동이 가능한 표준 네트워크 모델을 제정할 필요성을 인식
1984년 OSI(Open System Interconnection) 네트워크 모델을 발표
OSI는 개념적인 모델(실제 구현에서 반드시 지킨다고 볼 수 없음)
TCP/IP 프로토콜은 OSI 모델보다 먼저 개발됨
TCP/IP 프로토콜의 계층은 OSI 모델의 계층과 정확하게 일치하지 않음
두 계층을 비교할 때, 세션(Session)과 표현(presentation) 2개의 계층이 TCP/IP 프로토콜 그룹에 없다는 것을 알 수 있음
OSI 7 Layer는 장비 개발과 통신 자체를 어떻게 표준으로 잡을지 사용되는 반면에 실질적인 통신 자체는 주로 TCP/IP 프로토콜을 사용함
최근에는 TCP/IP 모델을 5계층으로 분류하기도 함
두 시스템 간에 데이터를 전송하려고 링크를 활성화하고 관리하는 전기적, 기계적, 절차적, 기능적 특성을 정의함
또한 물리 계층은 허브, 라우터, 네트워크 카드, 케이블 등 전송매체를 통해 비트(bit)를 전송함
OSI 참조 모델 7계층 중 물리 계층은 최하위 계층인 첫 번째 계층으로, 상위 계층에서 전송된 데이터를 물리매체를 통해 다른 시스템에 전기적 신호로 전송함
LAN 카드, 케이블, 허브, 라우터 등 물리적인 것과 데이터 전송에 사용하는 전압 등 기본적인 것이 물리계층에 속한다.
송신 측의 물리 계층은 데이터 링크 계층에서 0과 1로 구성된 비트열의 데이터(프레임)을 받아 전기적 신호로 변환한 후 전송매체를 통하여 수신 측에 보냄
수신 측의 물리 계층은 송신 측에서 받은 전기 신호를 0과 1로 구성된 비트열로 복원하여 수신 측의 데이터 링크 계층에 전송함
- 즉, 실제 장치를 연결하는 데 필요한 전기적, 물리적 세부 사항을 정의
- 물리 계층의 장치로는 허브나 리피터가 있음
네트워크를 연장하기 위한 장비
불분명해진 신호 세기를 다시 증가시키는 역할
최근에는 리피터가 모든 네트워크 장비에 공통으로 들어가는 기능이 됨.
요즘 쓰이는 스위치의 예전 형태
허브는 스위치와 형태나 사용 방법이 같지만 패킷을 모든 곳에 똑같이 복사해서 보내는 것이 다름(스위치는 목적지에만 데이터를 전송)
물리적 링크를 이용하여 신뢰성 있는 데이터를 전송하는 계층으로, 네트워크를 통해 데이터를 전송할 때 전송로 역할을 한다.
데이터 링크 계층에서는 비트를 프레임이라는 논리적 단위로 구성했다.
OSI 참조 모델 7계층 중 데이터 링크 계층은 하위 계층인 두 번째 계층으로, 물리 계층의 바로 위에 위치한다.
시스템 간에 오류 없이 데이터를 전송하려고 네트워크 계층에서 받은 데이터 단위(패킷)을 프레임으로 구성하여 물리 계층으로 전송한다.
위의 그림은 물리 주소 14인 노드가 물리 주소 93인 노드로 프레임을 보내고 두 노드는 링크로 연결되어 있다.
이 프레임은 헤더에 물리 주소가 있는데, 여기서는 데이터 링크 계층에서 해당 물리 주소로 통신이 가능함
헤더의 끝에는 필요한 정보가 들어 있음
트레일러에는 오류를 검출하는 특별한 비트들이 있음
MAC 주소
- 총 12개의 16진수로 구성
- 앞쪽 6개는 네트워크 카드를 만든 회사(OUI: Organizationally Unique Identifier)를 뜻하고, 뒤쪽 6개는 호스트 식별자(Host Identifier)로 각 회사에서 임의로 붙이는 일종의 시리얼
- 같은 MAC 주소는 존재하지 않음.
이더넷의 통신 방식
이더넷 환경에서 통신을 하고 싶을 때, Carrier Sense를 수행함
복수개의 디바이스가 동시에 통신을 시작할 때, Collision이 발생하고 이를 Detection할 수 있음
Collision Detection이 일어난 후, 랜덤한 시간을 기다린 후 데이터를 다시 보냄
랜(LAN)과 랜(LAN)을 연결하는 초기의 네트워크 장치
데이터 링크 계층에서 통신 선로를 따라서 한 네트워크에서 그 다음 네트워크로 데이터 프레임을 복사하는 역할
Bridge는 Collision이 커지는 것을 막고, Collision들을 단절시킴.
기본적으로 데이터 링크 계층에서 작동하는 스위치를 뜻함(L2 스위치)
허브의 단점인 Collision Domain의 확대를 해결
L2 스위치는 연결된 시스템이 늘어날수록 패킷 간 충돌 때문에 매우 낮은 속도로 동작하는 더미 허브의 문제점을 해결하는 획기적인 방안
스위치의 MAC주소 테이블
시스템 간의 원활한 통신을 위해 주소 테이블을 생성하고 관리하는 역할
랜(LAN)을 벗어난 통신을 하기 위해 네트워크 계층에서는 IP 주소를 사용한다.
라우팅 프로토콜을 사용하여 최적의 경로를 선택한다.
네트워크 계층은 데이터를 패킷 단위로 분할하여 전송한 후 재결합한다.
OSI 참조 모델 7계층 중 네트워크 계층은 세 번째 계층으로, 패킷을 송신 측에서 수신 측으로 전송한다.
데이터를 전달하려는 IP 주소의 통신에 필요한 물리적인 주소(MAC)를 알아내는 프로토콜
선택된 매체에 브로드캐스트를 통해 특정 IP 주소를 사용하는 호스트가 응답을 하도록 요구하는 방식을 사용
가장 대표적인 네트워크 계층의 프로토콜
하위 계층의 서비스를 이용하여 두 노드 간의 데이터 전송 경로를 확립해주는 역할 (단말장치 간 패킷 전송 서비스)
A, B, C, D, E 클래스로 구분하는데 각 클래스는 네트워크 부분과 호스트 부분으로 구성
A, B, C 클래스는 맨 앞부분에 시작하는 2진수 숫자에 따라 구분
사설 네트워크: 사설 네트워크는 공인 네트워크 주소 부족 현상을 해결하기 위해 많이 사용
ICMP는 호스트 서버와 인터넷 게이트웨이 사이에서 메시지를 제어하고 오류를 알려주는 프로토콜이다.
대표적인 툴은 ping.
ICMP Echo Request 메시지: 송신측의 전송 패킷이 목적지 노드나 라우터에 잘 도착했는지를 확인하는데 사용
멀티캐스트에 관여하는 프로토콜
멀티캐스트 그룹을 관리하는 역할
네트워크의 대표적인 장비, 게이트웨이라고도 한다.
논리적으로 분리된 둘 이상의 네트워크를 연결.
로컬 네트워크에서 브로드캐스트를 차단하여 네트워크를 분리.
패킷의 최적 경로를 찾기 위한 라우팅 테이블을 구성.
패킷을 목적지까지 가장 빠르게 보내는 길잡이 역할을 담당.
관리자 권환으로 특정 경로를 통해서만 패킷이 지날 수 있도록 설정
네트워크 변경사항이 발생할경우 라우팅 테이블을 수동으로 직접 고쳐야한다.
보안이 중요한 경우 선택된다.
특징
- 초기에 관리자가 다양한 라우팅 정보를 분석한 최적의 경로 설정 가능
- 라우팅 알고리즘을 통한 경로 설정이 이루어지지 않아 처리 부하 감소
- 네트워크 환경 변화에 대한 능동적인 대처가 어려움
- 네트워크 환경 변화 시 관리자가 경로를 재산출하여 각 라우터에 제공해야 함
- 비교적 환경 변화가 적은 형태의 네트워크에 적합
라우터가 네트워크 연결 상태를 스스로 파악하여 최적의 경로를 선택해 전송
네트워크 변경사항이 발생할경우 자동으로 문제를 해결
특징
- 경로 설정이 실시간으로 이루어져 네트워크 환경 변화에 능동적으로 대처 가능
- 라우팅 알고리즘을 통해 자동으로 경로 설정이 이루어져 관리가 쉬움
- 주기적인 라우팅 정보 송수신으로 인한 대역폭 낭비 초래
- 네트워크 환경 변화 시 라우터의 처리 부하 증가로 지연이 발생
- 수시로 환경이 변하는 형태의 네트워크에 적합
프로토콜(TCP, UDP)과 관련된 계층으로 오류 복구와 흐름 제어 등을 담당, 두 시스템 간에 신뢰성 있는 데이터를 전송함
네트워크 계층에서 전송한 데이터와 실제 운영체제의 프로그램이 연결되는 통신 경로
네트워크 계층에서 온 데이터를 세션 계층의 어느 애플리케이션에 보낼 것인지 판독하고, 전송할 경로(Port, 포트)를 선택함
포트 주소
- 전송 계층의 대표 프로토콜인 TCP(Transmission Control Protocol)가 가진 주소
- 0 ~ 65535(2^16-1)번까지 존재
- 0 ~ 1023(1,024)를 잘 알려진 포트(Well Known Port)라고 부름(보통 0번 포트는 사용하지 않는다)
- 즉, 포트는 TCP가 상위 계층으로 데이터를 전달하거나 상위 계층에서 TCP로 데이터를 전달할 때 상호 간에 사용하는 데이터의 이동 통로를 말함
- 파일을 동시에 다운로드할 수 있는 이유는 TCP 프로토콜이 포트를 여러 개 사용해서 상위 계층의 프로그램과 각각 따로 통신하기 때문이다.
높은 신뢰성
가상 회선 연결 방식
연결의 설정과 해제
Three-Way Handshaking
연결 해제
데이터 체크섬
시간 초과와 재전송
데이터 흐름 제어
비연결 지향형
네트워크 부하 감소
비신뢰성
전송된 데이터의 일부가 손실됨.
응용 프로그램 계층 간의 통신을 제어하는 구조를 제공하려고 응용 프로그램 계층 사이의 접속을 설정, 유지, 종료시켜주는 역할을 함
세션 계층은 OSI 참조 모델의 상위 계층인 다섯 번째 계층으로, 통신장치 간의 설정을 유지하고 동기화하는 역할을 함
데이터 표현 차이를 해결하려고 서로 다른 형식으로 변환하거나 공통 형식을 제공하는 계층
송신 측에서는 수신 측에 맞는 형태로 변환하고, 수신 측에서는 응용 계층에 맞는 형태로 변환함
또한 그래픽 정보는 JPEG 형태로, 동영상은 MPEG 형태로 변환하여 송수신하는 기능과 데이터 압축 및 암호화 기능 등을 제공함
표현 계층은 OSI 참조 모델의 상위 계층인 여섯 번째 계층으로, 송신 측과 수신 측 사이에서 표준화된 데이터 형식을 규정함
관련 응용 프로그램이 별도로 존재하며, 여러 가지 프로토콜에 대하여 사용자 인터페이스를 제공
파일 전송, 데이터베이스, 원격 접속, 이메일 전송 등 응용 서비스를 네트워크에 접속시키는 역할을 하며, 여러 가지 서비스를 제공함
사용자에게 정보를 입력받아 하위 계층으로 전달하고, 하위 계층에서 전송한 데이터를 사용자에게 전달함
응용 계층은 OSI 참조 모델의 최상위 계층인 일곱 번째 계층으로, 실제로 통신의 최종 목적에 해당하는 가장 중요한 계층임
파일 전송을 위한 가장 기본적인 프로토콜
1972년, 텔넷과 함께 표준으로 제정
클라이언트와 서버가 대화형으로 통신 가능
사용자가 원격에 있는 서버에 로그인하도록 TCP 연결을 설정
단말기가 원격 컴퓨터 바로 옆에 있는 것처럼 직접 조작할 수 있게 해줌.
POP3(110): 메일 서버로 전송된 메일을 확인할 때 사용하는 프로토콜
IAMP(143): POP3와 기본적으로 같으나, 메일을 읽은 후 메일이 서버에 남음.
파일을 전송하는 프로토콜
UDP 패킷을 사용하고, 인증 기능을 제공하지 않음.