• 2023. 6. 12.

    by. eco-freeup

    1. OSI 7 계층
    ISO는 컴퓨터를 연결하는 공통된 방법을 공식적으로 정의한 최초의 단체 중 하나이다. OSI(Open Systems Interconnection)라고 하는 구조는 네트워크 기능을 7개의 계층으로 나누어 정의하는데, 하나 이상의 프로토콜이 각 계층에서 특정 기능을 수행한다. 
     물리 계층은 통신 링크 위에서 순수한 비트의 전송을 다룬다. 데이터 링크 계층은 비트 흐름을 프레임이라고 하는 보다 큰 집합으로 모아 취급한다. 네트워크 어댑터는, 각 노드의 0S에서 동작하는 디바이스 드라이버와 함께 동작하고, 일반적으로 데이터 링크 계층을 구현한 것이다. 이 말은, 실제로 호스트에 전달되는 것은 순수한 비트가 아닌 프레임이라는 것을 의미한다. 네트워크 계층은 패킷 교환망 내의 노드 사이에서 발생하는 라우팅을 처리한다. 이 계층에서 하는 일은 기본적으로는 같지만, 노드 간에 교환되는 데이터는 프레임 단위가 아닌 패킷이라는 단위로 취급된다. 하위 세 개 계층은 네트워크 안의 스위치들과 네트워크 밖에 연결된 호스트들을 포함한 모든 네트워크 노드에 구현된다. 트랜스포트 계층은 지금까지 프로세스 간 채널이라고 불러온 것을 실행한다. 여기서 교환된 데이터의 단위는 패킷이나 프레임보다는 메시지라고 한다. 트랜스포트 계층과 이보다 상위 계층들은 일반적으로 중간 스위치나 라우터가 아니라 종단 호스트에서만 동작한다. 상위 3개 계층의 정의에 대해서는 합의된 내용이 별로 없다. 최상위 계층(7번째 계층)은 애플리케이션 계층이다. 애플리케이션 계층 프로토콜은 파일 전송 애플리케이션들이 상호 운용할 수 있는 프로토콜을 정의하는 파일 트랜스포트 프로토콜과 같은 것들을 포함한다. 다음으로, 프레젠테이션 계층은 동료 사이에서 교환되는 테이터 형식과 관련이 있다. 예를 들면, 정수가 관련이 16, 32, 또는 61비트 길이인지, MSB(Most Significant Bit)가 첫 번째 비트인지 마지막 비트인지
    와 관련이 있다. 마지막으로, 세션 계층은 단일 애플리케이션에 속한 다른 흐름을 함께 묶기 위해 사용되는 이름 공간을 제공한다. 예를 들면, 화상회의용 애플리케이션에 합쳐지는 음성 흐름과 비디오 흐름을 관리하는 것이다.

    2. 인터넷 구조
    인터넷 구조는 ARPANET이라 하는 초기의 패킷 교환망으로부터 발전해 왔다. 인터넷과 ARPANET은 미국 국방성의 R&D 지원국 중의 하나인 ARPA의 지원을 받았다. 
    인터넷과 ARPANET은 OSI 구조 이전부터 존재해 왔고, 이들 네트워크를 구축하며 얻은 경험이 OSI 구조에 지대한 영향을 끼쳤다.
    비록 생각하기에 따라서는 OSI 모델의 7 계층이 인터넷에 적용될 수는 있겠지만, 주로 4 계층 모델이 대신 사용된다. 가장 낮은 단계에는 NETI, NET2라고 표시된 다양한 네트워크 프로토콜이 있다. 실제로 이들 프로토콜은 하드웨어(예를 들어, 네트워크 어댑터)와 소프트웨어(예를 들어, 네트워크 디바이스 드라이버)의 결합으로 실행된다. 예를 들어, 이더넷 또는 FDDI이 이 계층에 속한다. (이 프로토콜들은 실제로 여러 개의 하위 계층을 포함할 수 있지만, 인터넷 구조는 그들에 대해 어떤 가정도 하지 않는다). 
    두 번째 계층은 IP(인터넷 프로토콜)라는 단일 프로토콜로 구성되어 있다. 이 프로토콜은 다중 네트워킹 기술을 단일의 논리적인 네트워크로 취급할 수 있도록 지원한다. 세 번째 계층은 두 개의 중요한 프로토콜, 즉 TCP와 UDP를 포함한다. TCP와 UDP는 애플리케이션 프로그램에 선택적인 논리적 채널을 제공한다. TCP는 신뢰성 있는 바이트 흐름 채널을 제공하고, UDP는 신뢰성 없는 데이터 그램 전달 채널을 제공한다. 인터넷 언어에서 TCP와 UDP를 비록 트랜스포트 프로토콜이라고 하는 것이 옳기는 하지만, 때때로 이들을 종단 간 프로토콜이라고도 한다.
    트랜스포트 계층 위에서 운영되는 것들이 FTP, TFTP, Telnet, 그리고 SMTP와 같은 애플리케이션의 상호 운용을 가능하게 하는 다양한 애플리케이션 프로토콜들이다. 애플리케이션 계층 프로토콜과 애플리케이션의 차이점을 이해하려면 현재 사용 중인 각기 다른 웹 브라우저(예를 들어 Firefox, Safari, Intemet Explorer, Lynx 등)를 생각해 보자. 이와 비슷하게 많은 수의 다양한 웹 서버도 존재한다. 이런 브라우저 중에 아무것이나 하나를 사용해 웹 사이트를 접속할 수 있는 이유는, 이들 모두가 HTTP라는 동일한 애플리케이션 계층 프로토콜을 따르기 때문이다. 혼란스럽게도, 똑같은 말이 때때로 애플리케이션과 애플리케이션이 사용하는 애플리케이션 계층 프로토콜에 쓰인다.
    인터넷 구조는 주목할 가치가 있는 세 가지 특징을 갖고 있다. 
    인터넷 구조는 엄격한 계층화를 암시하지 않는다. 애플리케이션은 정의된 트랜스포트 계층을 자유롭게 피해 갈 수 있고, IP 또는 기반 네트워크 중 하나를 직접 사용할 수 있다. 실제로 프로그래머들은 기존의 프로토콜 위에서 새로운 채널 추상 또는 애플리케이션을 정의할 수 있다.