본문 바로가기

네트워크

네트워크의 기본규칙-1

728x90
반응형
SMALL

목표

프로토콜을 이해한다.

OSI 모델과 TCP/IP 모델을 이해한다.

캡슐화와 역캡슐화를 이해한다.

 

프로토콜이란?

통신규약은 컴퓨터나 장치 간의 데이터 전송을 규정하는 규칙과 규약입니다. 이러한 통신규약은 프로토콜이라고도 불립니다. 예를 들어, HTTP, FTP, TCP/IP 등의 프로토콜이 있습니다. 이러한 프로토콜은 데이터의 형식, 전송 방식, 에러 처리 등을 정의하여 데이터 통신을 가능하게 합니다. 따라서 프로토콜은 인터넷이나 로컬 네트워크에서 데이터 통신을 하기 위해 반드시 필요한 중요한 요소입니다.

 

*** HTTP? FTP? TCP/IP ****

HTTP(Hypertext Transfer Protocol), FTP(File Transfer Protocol), TCP/IP(Transmission Control Protocol/Internet Protocol)은 모두 인터넷에서 데이터를 전송하기 위한 프로토콜입니다.

HTTP는 웹 브라우저와 웹 서버 간에 데이터를 주고받을 때 사용되는 프로토콜입니다. HTML, CSS, JavaScript 등의 웹 페이지를 전송하기 위해 주로 사용됩니다.

FTP는 파일 전송을 위한 프로토콜입니다. 파일을 업로드하거나 다운로드하기 위해 사용됩니다.

TCP/IP는 인터넷에서 데이터를 전송하기 위한 가장 기본적인 프로토콜입니다. TCP는 데이터 전송의 안정성을 보장하는 프로토콜이고, IP는 데이터의 라우팅과 전달을 담당하는 프로토콜입니다. TCP/IP는 인터넷에서 데이터 통신을 하기 위한 기반 프로토콜로서 전 세계적으로 널리 사용됩니다.

 

*** Hypertext ***

Hypertext(하이퍼텍스트)는 텍스트와 다른 정보(그림, 동영상, 오디오 등)가 링크로 연결되어 있는 구조를 말합니다. 이러한 구조를 통해 사용자는 필요한 정보를 쉽고 빠르게 찾을 수 있습니다. 하이퍼텍스트는 주로 인터넷과 월드 와이드 웹에서 사용되며, 웹 페이지에서 하이퍼링크를 클릭하면 다른 웹 페이지나 파일, 이미지 등으로 연결됩니다. 또한, 하이퍼텍스트는 문서 작성 시에도 활용됩니다. 예를 들어, 한 문서에서 다른 부분으로 쉽게 이동할 수 있는 링크를 삽입하는 등의 기능을 제공합니다.

 

OSI란?

OSI(Open Systems Interconnection)는 컴퓨터 네트워크에서 서로 다른 시스템 간의 통신을 위한 표준 모델을 정의한 국제 표준화 기구(ISO)에서 개발한 모델입니다. OSI 모델은 7개의 계층으로 이루어져 있으며, 각 계층은 서로 다른 기능과 역할을 수행합니다. 이 모델은 서로 다른 시스템이 통신을 할 때 어떤 방식으로 데이터를 주고받는지를 정의하여 상호 운용성을 보장합니다. OSI 모델은 현재 네트워크 기술의 기본이 되는 모델 중 하나입니다.

 

물 데 네 전 세 표 응 ㅋㅋㅋ 진짜 아무것도 모르고 정처기 필기 어캐 땄는지... 그냥 머리글만 달달 외우고 있음

 

    1. 물리계층(Physical Layer)
       OSI 모델에서 가장 하위에 위치한 계층으로, 데이터를 전송하기 위한 물리적인 매체와 인터페이스를 정의합니다. 이 계층은 전기적, 기계적, 물리적인 측면에서 데이터를 전송하기 위한 기술을 다룹니다. 따라서 물리계층은 데이터의 비트를 전기 신호나 빛 신호 등의 물리적인 신호로 변환하여 통신 케이블, 광케이블, 무선 매체 등을 통해 전송합니다. 이러한 과정에서 물리계층은 데이터 전송의 신뢰성과 안정성을 보장하는 역할을 수행합니다.
    2. 데이터 링크 계층(Data Link Layer)
       물리적인 매체를 통해 데이터를 전송하는 데 필요한 인터페이스를 제공합니다. 데이터 링크 계층은 물리계층에서 전송된 데이터를 프레임(Frame) 단위로 분할하고, 각각의 프레임에 대한 헤더와 트레일러를 추가하여 데이터를 전송합니다. 또한, 오류 제어와 흐름 제어를 수행하여 신뢰성 있는 데이터 전송을 보장합니다. 이러한 기능은 LAN(Local Area Network)에서 특히 중요합니다. 데이터 링크 계층은 이더넷(Ethernet), 토큰 링(Token Ring), HDLC(High-level Data Link Control) 등의 프로토콜을 사용하여 데이터 전송을 처리합니다.
    3. 네트워크 계층(Network Layer)
       OSI 모델에서 3번째 계층으로, 호스트 간의 경로 설정 및 패킷 전송을 제어하는 기능을 수행합니다. 이 계층은 데이터의 전송 경로를 결정하고, 패킷을 목적지로 전달하기 위한 논리적인 주소 체계를 정의합니다. 이를 위해 IP(Internet Protocol) 주소와 같은 논리적인 주소 체계를 사용합니다. 또한, 네트워크 계층은 라우터(Router)를 사용하여 패킷을 다른 네트워크로 전송하며, 이를 위한 라우팅 알고리즘을 수행합니다. 대표적인 프로토콜로는 IP, ICMP(Internet Control Message Protocol), ARP(Address Resolution Protocol) 등이 있습니다. 네트워크 계층은 인터넷과 같은 대규모 네트워크에서 특히 중요한 역할을 수행합니다.
    4. 전송 계층(Transport Layer)
      OSI 모델에서 4번째 계층으로, 호스트 간의 데이터 전송을 담당합니다. 이 계층은 데이터의 신뢰성과 안정성을 보장하기 위한 기능을 제공합니다. 전송 계층은 데이터를 세그먼트(Segment) 단위로 분할하고, 각각의 세그먼트에 대한 헤더와 트레일러를 추가하여 전송합니다. 이 때, 흐름 제어(Flow Control)와 오류 제어(Error Control)를 수행하여 신뢰성 있는 데이터 전송을 보장합니다. 전송 계층은 주로 TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol) 프로토콜을 사용합니다. TCP는 신뢰성이 높은 데이터 전송을 위해 사용되며, UDP는 신뢰성보다는 실시간 데이터 전송이 중요한 경우 사용됩니다. 전송 계층은 인터넷 프로토콜 스택에서 중요한 계층으로, 인터넷 상에서 대용량 데이터의 전송에 사용됩니다.
    5. 세션 계층(Session Layer)
       OSI 모델에서 5번째 계층으로, 양 끝단의 응용 프로세스 간에 세션(Session)을 설정하고 관리하는 역할을 합니다. 이 계층은 데이터 통신의 연결 설정, 유지, 해제 등을 담당합니다. 세션 계층은 TCP/IP 세션 관리 및 응용 프로그램 간의 동기화와 같은 작업을 처리하며, 데이터 전송 과정에서 발생하는 여러 가지 문제를 처리합니다. 예를 들어, 동시에 여러 응용 프로그램에서 같은 네트워크 연결을 사용하는 경우에 각각의 연결을 구분하기 위한 식별자를 제공하고, 데이터 전송 중간에 연결이 끊어지는 등의 문제에 대해서도 처리합니다. 세션 계층은 인터넷 상에서 응용 프로그램 간의 통신을 관리하는 데 중요한 역할을 합니다.
    6. 표현 계층(Presentation Layer)
       OSI 모델에서 6번째 계층으로, 데이터의 형식을 변환하거나 암호화하는 등의 역할을 수행합니다. 계층은 데이터의 표현 방식을 정의하고, 서로 다른 시스템 간에 데이터를 교환할 데이터의 형식 변환을 처리합니다. 예를 들어, ASCII 문자열을 유니코드 문자열로 변환하거나, 데이터를 JPEG MPEG 같은 압축 포맷으로 인코딩 사용됩니다. 또한, 데이터를 암호화하거나 복호화하는 기능을 제공하여, 데이터의 보안성을 보장합니다. 표현 계층은 응용 프로그램이나 네트워크 간에 데이터를 교환할 서로 다른 데이터 형식을 처리하는 중요한 역할을 수행합니다.
    7. 응용 계층(Application Layer)
       OSI 모델에서 가장 상위 계층으로, 사용자와 응용 프로그램 간의 인터페이스를 담당합니다. 이 계층은 사용자가 직접 접근하는 응용 프로그램과 통신하기 위한 인터페이스를 제공하며, 인터넷에서 사용하는 대부분의 프로토콜이 이 계층에서 동작합니다. 예를 들어, HTTP, FTP, SMTP, POP3 등의 프로토콜이 이 계층에서 동작하며, 각각의 프로토콜은 웹 서버, 파일 전송, 이메일 수신 등과 같은 다양한 응용 분야에서 사용됩니다. 응용 계층은 사용자의 요구를 처리하고, 이를 다른 계층으로 전달하여 데이터 전송 과정을 완성합니다. 이 계층은 네트워크의 가장 상위 계층이기 때문에, 사용자의 요구를 충족시키기 위한 다양한 프로토콜과 응용 프로그램이 개발되고 있습니다. 

이더넷
 LAN(Local Area Network)에서 사용되는 가장 일반적인 유선 네트워크 기술로, 케이블로 연결된 모든 장치가 동시에 데이터를 전송할 수 있는 CSMA/CD(Carrier Sense Multiple Access with Collision Detection) 방식을 사용합니다.

 

*CSMA/CD 방식: 노드가 데이터를 전송하기 전에 먼저 라인을 감지하고(busy/idle) 대기하는 Carrier Sense 기능을 사용합니다.

*Carrier Sense: 데이터 전송 전에 먼저 통신 라인이 사용 가능한지(busy/idle) 여부를 확인하는 기능

 

이후 노드가 라인을 점유하고 데이터를 전송하게 되면, 다른 노드가 동시에 데이터를 전송하면 충돌이 발생합니다. 이 때 충돌이 발생했다는 신호를 노드들이 감지하고, 해당 노드들은 일정 시간 대기한 후에 다시 데이터 전송을 시도합니다.

(이 방식은 대역폭을 공유하는 노드들이 동시에 데이터를 전송하는 경우 충돌이 발생할 가능성이 있으므로, 대역폭이 큰 네트워크에서는 충돌 감지 기능이 필수적입니다. )

 

토큰 링
이더넷과 유사한 LAN 기술로, 토큰 패싱(Token Passing) 방식을 사용하여 한 번에 한 장치만 데이터를 전송할 수 있습니다.

토큰 패싱 방식에서는 네트워크 상의 모든 노드가 하나의 신호인 토큰을 순차적으로 전송합니다. 토큰이 특정 노드에 도달하면 해당 노드는 데이터를 전송하고, 다음 노드로 토큰을 전송합니다. 이를 반복하면서 모든 노드가 데이터를 전송할 수 있습니다.

(토큰 패싱 방식은 CSMA/CD와는 달리 충돌을 방지할 수 있습니다. 토큰이 하나의 노드에만 존재하기 때문에, 동시에 데이터를 전송하려는 노드가 있어도 충돌이 발생하지 않습니다. 또한, 모든 노드가 동등하게 데이터를 전송할 수 있으므로 공정성이 보장됩니다.)

HDLC(High-level Data Link Control)

네트워크 간의 데이터 전송에서 사용되는 프로토콜로, 전용 회선(Dedicated Line)을 통해 데이터를 전송하며, 오류 제어(Error Control)와 흐름 제어(Flow Control)를 지원합니다. HDLC는 전송 계층에서도 사용될 수 있습니다.

 

세그먼트도 패킷도 데이터 전송 단위인데 무슨 차이가 있나요?

 세그먼트는 전송 계층(Transport Layer)에서 사용되는 용어이고, 패킷은 네트워크 계층(Network Layer)에서 사용되는 용어입니다.

세그먼트는 TCP(Transmission Control Protocol) 프로토콜에서 사용되며, 데이터를 여러 개의 조각으로 나누어 전송합니다. 세그먼트에는 일련 번호와 체크섬 등의 정보가 포함되어 있어, 데이터의 신뢰성을 보장하고, 대용량의 데이터를 전송할 때 효율적입니다.

반면에 패킷은 IP(Internet Protocol) 프로토콜에서 사용되며, 네트워크 상에서 데이터를 전송할 때 사용됩니다. 패킷은 출발지와 목적지 주소, 그리고 데이터와 함께 전송됩니다. 패킷은 네트워크를 통해 전달되면서 경로를 변경할 수 있으며, 여러 개의 라우터를 거쳐 목적지에 도달합니다.

따라서 세그먼트와 패킷은 전송 계층과 네트워크 계층에서 사용되는 용어로, 각각 데이터 전송에 대한 특정한 기능과 특징을 가지고 있습니다.

 

SMTP
이메일 전송을 위한 프로토콜
로, 송신자의 메일 서버에서 수신자의 메일 서버로 이메일을 전송하는 데 사용됩니다. 이메일을 보내기 위해서는 수신자의 이메일 주소와 메일 서버 주소를 알아야 합니다. 일반적으로 SMTP는 TCP의 25번 포트를 사용합니다.

 

POP3
이메일을 수신하기 위한 프로토콜로, 이메일을 수신하는 클라이언트가 이메일 서버에 접속하여 이메일을 다운로드하는 데 사용됩니다. POP3는 이메일을 다운로드한 후에는 이메일 서버에서 해당 이메일을 삭제합니다. 일반적으로 POP3는 TCP의 110번 포트를 사용합니다.

728x90
반응형
LIST