OSI(Open Systems Interconnetcion)모델은 컴퓨터 네트워킹의 기본 이론을 설명하기 위해 사용하는 표준화된 모델입니다. 실제로 이는 실제 네트워킹의 기반이 되는 보다 압축된?(compact한) TCP/IP 모델입니다. 그러나 OSI 모델은 여러 면에서 초기 이해를 얻는 것이 더쉽습니다.
OSI 모델은 7개의 계층으로 구성됩니다.
| OSI: |
| Application |
| Presentation |
| Session |
| Transport |
| Network |
| Data Link |
| Physical |
각각 간단히 살펴보자면
OSI 모델의 애플리케이션 계층은 기본적으로 컴퓨터에서 실행되는 프로그램에 네트워킹옵션을 제공합니다. 거의 독점적으로 애플리케이션과 함께 작동하며 데이터 전송에 사용할 수 있는 인터페이스를 제공합니다. 데이터가 애플리케이션 계층에 제공되면 프리젠테이션 계층으로 전달됩니다.
프리젠테이션 계층은 애플리케이션 계층으로부터 데이터를 받습니다. 이 데이터는 애플리케이션이 이해할 수 있는 형식인 경향이 있지만 반드시 수신 컴퓨터의 애플리케이션 계층에서 이해할 수 있는 표준화된 형식일 필요는 없습니다. 프리젠테이션 계층은 데이터를 표준화된 형식으로 변환할 뿐만 아니라 데이터에 대한 암호화, 압축 또는 기타 변환을 처리합니다. 이 작업이 완료되면 데이터가 세션 게층으로 전달됩니다.
세션 계층이 프리젠테이션 계층으로부터 올바른 형식의 데이터를 수신하면 네트워크를 통해 다른 컴퓨터와 연결을 설정할 수 있는지 확인합니다. 그렇지 않으면 오류를 다시 보내고 프로세스는 더 이상 진행되지 않습니다. 세션이 설정되면 이를 유지하고 통신을 동기화하기 위해 원격 컴퓨터의 세션 계층과 협력하는 것이 세션 계층의 임무입니다. 세션 계층은 해당 계층이 생성하는 세션이 해당 통신에 고유하므로 특히 중요합니다. 이를 통해 모든 데이터가 섞이지 않고 동시에 여러 엔드포인트에 여러 요쳥을 할 수 있습니다.(웹 브라우저에서 두 개의 탭을 동시에 여는 것을 생각해 보세요) 세션 게층이 호스트와 원격 컴퓨터 간의 연결을 성공적으로 기록하면 데이터가 계층 4인 전송 계층으로 전달됩니다.
전송 계층은 수많은 중요한 기능을 수행하는 매우 흥미로운 계층입니다. 첫 번째 목적은 데이터를 전송할 프로토콜을 선택하는 것입니다. 전송 계층에서 가장 일반적인 두 가지 프로토콜은 TCP(Transmission Control Protocol)과 UDP (User Datagram Protocol)입니다. TCP를 사용하면 전송이 연결 기반으로 이루어 집니다. 즉, 요청 기간 동안 컴퓨터 간의 연결이 설정되고 유지됩니다. 연결을 사용하여 패킷이 모두 올바른 위치에 전달되도록 할 수 있으므로 안정적인 전송이 가능합니다. TCP 연결을 사용하면 두 컴퓨터가 지속적인 통신을 유지하여 데이터가 허용 가능한 속도로 전송되고 손실된 데이터가 다시 전송되도록 할 수 있습니다. UDP는 그 반대입니다. 데이터 패킷은 기본적으로 수신 컴퓨터에 전달됩니다. 이를 따라갈 수 없다면 문제가 됩니다(이것이 연결이 좋지 않으면 Skype와 같은 것을 통한 비디오 전송이 픽셀화 될 수 있는 이유입니다.) 이것이 의미하는 바는 일반적으로 속도보다 정확성이 선호되는 상황(예: 파일 전송 또는 웹페이지 로드)에는 TCP가 선택되고, 속도가 더 중요한 상황(예: 비디오 스트리밍)에는 UDP가 사용된다는 것입니다.
프로토콜을 선택하면 전송 계층은 전송을 바이트 크기의 조각(TCP 에서는 세그먼트라고 하고 UDP에서는 데이터그램이라고 함)으로 나누어서 메시지를 성공적으로 전송하기가 더 쉬워집니다.
네트어크 계층은 요청 대상을 찾는 역할을 담당합니다. 예를 들어, 인터넷은 거대한 네트워크입니다. 웹페이지에서 정보를 요청하려는 경우 페이지의 IP 주소를 가져와서 취할 수 있는 최적의 경로를 파악하는 것은 네트워크 계층입니다. 이 단계에서 우리는 여전히 소프트웨어로 제어되는 논리적 주소 지정(예: IP 주소)을 사용하여 작업하고 있습니다. 논리 주소는 네트워크에 순서를 제고앟고 이를 분류하며 적절하게 정렬하는 데 사용됩니다. 현재 가장 일반적인 논리적 주소 지정 형식은 IPV4 형식으로, 이미 익숙할 것입니다(예: 192.168.1.1은 홈 라우터의 공통 주소입니다)
데이터 링크 계층은 전송의 물리적 주소 지정에 중점을 둡니다. 네트워크 게층(원격 컴퓨터의 IP 주소 포함)에서 패킷을 수신하고 수신 끝점의 물리적(MAC)주소를 추가합니다. 모든 네트워크 지원 컴퓨터 내부에는 이를 식별하기 위한 고유 MAC(Media Access Control)주소와 함께 제공되는 NIC(Network Interface Card)가 있습니다.
MAC 주소는 제조업체에서 설정하며 문자 그대로 카드에 기록됩니다. 스푸핑 될 수는 있지만 변경할 수는 없습니다. 정보가 네트워크를 통해 전송될 때 실제로는 정보를 정확히 보낼 위치를 식별하는 데 사용되는 물리적 주소입니다.
또한 전송에 적합한 형식으로 데이터를 표시하는 것도 데이터 링크 게층의 작업입니다.
데이터 링크 계층은 또한 데이터를 수신할 때 중요한 기능을 수행합니다. 수신된 정보를 확인하여 전송 중에 손상되지 않았는지 확인하기 때문입니다. 이는 데이터가 계층 1인 물리 게층에서 전송될 때 발생할 수 있습니다.
물리적 계층은 컴퓨터 하드웨어 바로 아래에 있습니다. 이곳은 네트워크를 통한 데이터 전송을 구성하는 전기 펄스가 전송되고 수신되는 곳입니다. 전송의 이진 데이터를 신호로 변환하여 네트워크를 통해 전송하는 것은 물론 들어오는 신호를 수신하여 다시 이진 데이터로 젼환하는 것이 물리 계층의 작업입니다.