OSI 참조 모델 DarkKaiser, 2007년 6월 13일2023년 9월 2일 <OSI 참조 모델> 1. 물리 계층 물리 계층은 OSI 7계층의 가장 하위에 존재하며 규격화되지 않은 비트스트림을 물리적인 전송 매체를 통해 전송하는 기능을 수행한다. 물리 계층은 상위의 데이터 링크 계층과의 인터페이스를 통해 프레임을 받아 통신 링크를 따라 전송될 수 있는 형태로 변환시키며, 비트스트림을 전자기 신호로 변호나하고 매체를 통해 신호를 전송하는 것을 감독한다. 2. 데이터 링크 계층 물리 계층은 비트열을 그대로 전달하는 기능만을 제공하기 때문에 전송 중에 데이터의 오류가 발생해도 이를 감지할 수 없다. 3계층으로부터 데이터를 받아들이고 주소나 다른 제어 정보와 같은 의미있는 비트들을 시작과 끝 부분에 추가시킨다. 데이터와 헤더, 트레일러를 모두 합친 데이터 단위를 프레임이라 한다. 인접 통신 장치간의 신뢰성 있는 정보 전송을 보장하기 위해서 데이터 링크 계층은 프레임 수신 확인, 프레임화 및 동기화, 프레임의 순서 제어, 매체 접근 제어, 흐름 제어, 오류 제어, 데이터 링크 관리, 물리 주소 지정등의 기능을 수행하며, 상위의 네트워크 계층에 서비스를 제공한다. 프레임 수신 확인 : 상대편이 보내온 프레임을 정확하게 수신하였음을 알리는 기능이다. 프레임화 및 동기화 : 전송할 정보를 일정한 길이의 블록 단위로 구성하여 전송하고, 각 프레임의 시작과 끝을 명확하게 구분하는 기능이다. 프레임의 순서 제어 : 순차적 전송을 보장하기 위해 프레임에 대한 순서 번호를 부여하는 기능이다. 매체 접근 제어 : 둘 이상의 장치가 같은 링크에 있을 때 어느 장치가 회선을 접유할 것인지를 결정한다. 흐름 제어 : 수신측에서 처리할 수 있는 양의 데이터를 송신측이 전송하도록 송신측의 데이터 흐름을 제어하는 기능이다. 에러 제어 : 전송 중 발생할 수 있는 데이터 오류를 검출하고 오류가 발생한 프레임 전체를 재정송하는 것으로 에러를 정정하는 기능이다. 데이터 링크 관리 기능 : 데이터 링크 접속의 설정, 유지, 해제들을 제어한다. 물리 주소 지정 : 프레임의 발신지와 목적지를 구분하기 위해 물리적인 주소를 부여하는 기능이다. 3. 네트워크 계층 네트워크 계층은 여러 네트워크를 거쳐 근원지와 목적지간에 데이터를 전송하기 위한 라이팅 기능과 스위칭 기능을 제공한다. 만일 두 시스템이 같은 링크로 연결될 경우는 네트워크 계층이 없어도 데이터를 송수신할 수 있지만, 두 시스템이 서로 다른 네트워크를 거쳐 연결될 필요가 있다면 반드시 네트워크 계층이 필요하게 된다. 일반적으로 네트워크 게층에서 처리되는 정보를 패킷이라 부르는데 목적지까지 패킷을 전달하기 위한 경로는 여러 개일 수 있다. 라우팅 기능은 여러 경로 중에서 패킷을 보내기 위한 최적의 경로를 선택하는 기능을 말하며, 스위칭은 네트워크 전송을 위해 물리 링크들을 논리적으로 연결하여 더 긴 링크를 만드는 것을 말한다. 물리 계층 기능을 수행하는 장비로 라우터가 있다. 라우팅 기능을 수행하기 위해서는 근원지와 목적지의 주소 정보가 필요하게 되는이 이들 정보는 네트워크 계층의 헤더에 포함된다. 데이터 링크 계층에서 사용하는 주소는 NIC 제조과정에 부여되어 수정할 수 없는 물리적인 주소이지만 네트워크의 주소는 네트워크 상황에 따라 변경 가능한 논리적인 주소(IP)이다. 네트워크 계층은 이런 논리주소 부여 기능 이외에 논리주소를 해석하여 그에 해당하는 물리주소로 변환하는 기능도 함께 제공한다. 4. 전송 계층 전송 계층은 근원지에서 발생한 전체 데이터를 목적지까지 전달하는 책임을 가진다. 전송 계층은 일반적으로 하위 계층을 구성하는 각종 통신망의 품질 차이를 보완하여 서로 통신하는 두 종단 프로세스 간에 투명한 데이터 전송을 보장하나. 네트워크 계층은 개별적인 패킷들의 종단 대 종단의 전달을 책임지지만, 서로 다른 경로를 통해 패킷들이 전송될 수 있고 패킷들 사이의 관계는 전혀 인식하지 못하므로 목적지에 도착한 패킷의 순서는 보장되지 않는다. 반면, 전송 계층은 에러제어와 흐름제어를 근원지와 목적지 수준에서 감독하면서 전체 메시지가 오류없이 순서대로 도착하는 것을 보장한다. 상위계층에서 만들어진 이미지 데이터와 같이 대용량 데이터는 전송 계층에서 보다 작은 크기의 세그먼트로 분할하게 되며 이들 세그먼트는 순서번호가 부여되어 목적지에서 순서번호를 기반으로 다시 재조립되는데 이 기능을 분할 및 재조립이라 한다. 세그먼트로 분할하는 이유는 무엇일까? 일반적인 패킷 교환망에서는 전송 지연을 줄이기 위해 전송의 기본단위로 작은 크기의 패킷을 사용하는데 패킷을 만들기 전에 전송계층에서 먼저 세그먼트로 분할하고 에러제어, 흐름제어, 순서번호등의 정보를 헤더에 추가한 후 네트워크 계층으로 내려보내 패킷으로 캡슐화한다. 전송 계층은 근원지와 목적지의 포트 주소 지정 기능도 가진다. 컴퓨터는 종종 여러 프록램을 동시에 실행시키기 때문에 한 컴퓨터와 다른 컴퓨터의 특정 응용 프로그램간의 통신으로 볼 수 있다. 그래서 특정 응용 서비스를 구분하기 위해 서비스 주소로써 포트 주소를 사용하게 되는 것이다. 대표적인 전송 계층 프로토콜로 TCP와 UDP가 있다. 5. 세션 계층 양 종단간의 실질적인 연결을 설정하고 유지하는 책임은 전송 계층에 있는 반면, 세션 계층은 사용자 위주의 논리적인 연결 서비스를 제공한다. 이 때 사용자 위주의 논리적인 연결을 세션이라 부르며 응용 프로그램에 따라 다양한 세션을 구성할 수 있다. 예로써, 세션을 설정하여 파일을 전송하던 중 전송이 중단되었을 때 이어서 전송할 수 있는 기능, 세션의 전송 모드(전이중, 반이중, 단방향)를 선택하는 것 등이 세선 계층의 기능에 해당한다. 세션 계층의 신뢰성은 세션을 여러 하위 세션으로 나누의 그 세션의 흐름 속에 검사점을 끼워 넣음으로써 확보된다. 검사점은 문제가 발생한 경우에 처음부터 다시 시작하지 않고 일정한 단계로 되돌아 갈 수 있도록 동기화를 제공한다. 세션 계층 기능을 수행하는 대표적인 것으로 NFS, RPC 등이 있다. 6. 표현 계층 표현 계층은 내부적으로는 표현의 차이가 있는 데이터일지라도 데이터 교환이 가능하도록 하는 기능을 수행한다. 즉, 두 장치간에 서로 달리 사용하는 코드들에 대한 번역을 수행하여 두 장치가 일관되게 전송 데이터를 서로 이해할 수 있도록 한다. EBCDIC 코드를 ASCII 코드로 변환하거나, 텍스트로 도착한 데이터를 팝업 윈도우 형태로 변환하여 표현하는 것 등이 표현 계층에서 하는 기능의 예라고 할 수 있다. 또한 표현 계층은 데이터의 암호화/복호화 기능을 지원한다. 무선 전화 기지국은 데이터을 도청으로부터 보호하기 위해 암호화 알고리즘을 사용하는데 암호화된 데이터는 목적지의 응용 계층에 도달되기 전 표현 계층에서 해독된다. 전송을 보다 효율적으로 하기 위한 데이터의 압축/해제 역시 표현 계층의 중요한 기능 중에 하나로 대표적인 압축 기법으로 GIF, JPEG, MPEG, AVI 등이 있다. 7. 응용 계층 사용자가 네트워크에 접속할 수 있도록 사용자 인터페이스를 제공한다. 네트워크 Network네트워크OSIOSI 7 layer