본문 바로가기

컴퓨터 과학

(37)
OSI 7계층(전송 계층) 전송 계층에서 TCP 및 UDP 이해 전송 계층 소개: TCP 및 UDP에 대해 자세히 알아보기 전에 네트워킹에서 전송 계층의 역할을 이해하는 것이 중요한데, 전송 계층은 OSI(개방형 시스템 상호 연결) ​​모델의 네 번째 계층으로, 네트워크를 통해 한 응용 프로그램에서 다른 응용 프로그램으로 데이터를 전달하는 역할을 한다. 이는 데이터가 안정적이고 효율적인 방식으로 전송되도록 보장한다. 전송 제어 프로토콜(TCP): TCP 개요: TCP는 연결 지향 프로토콜이다. 즉, 데이터를 전송하기 전에 연결을 설정한다. 웹 브라우징, 이메일, 파일 전송과 같이 안정성이 중요한 애플리케이션에 널리 사용된다. TCP의 주요 특징: 안정적인 전송: TCP는 데이터가 정확하고 순서대로 전달되도록 보장한다. 패킷이 손실..
OSI 7계층 (네트워크 계층) 네트워크 계층: 데이터 통신의 핵심 오늘날의 디지털 사회에서 네트워크의 역할은 매우 중요하다. 특히, OSI 7계층 모델의 네트워크 계층은 데이터가 소스에서 목적지까지 어떻게 이동하는지 정의하다. 이 글에서는 네트워크 계층의 역할과 중요성을 자세히 탐구해 보자. 네트워크 계층의 기본 개념: 네트워크 계층은 OSI 모델의 세 번째 계층으로, 주로 라우팅과 데이터 패킷의 전송 경로를 결정하는 역할을 한다. 이 계층은 여러 네트워크 사이에서 데이터를 전송하고, 효율적인 경로를 선택하여 데이터 패킷이 목적지에 도달할 수 있도록 한다. 주요 프로토콜과 기능: 네트워크 계층에서 가장 중요한 프로토콜은 IP(Internet Protocol)이다. IP는 데이터 패킷을 올바른 목적지로 안내하는 역할을 담당하며, IP ..
OSI 7계층 (데이터 링크계층) 물리 계층에선 케이블과 같은 전송매체를 통해 신호를 전달하는 기능만을 수행한다. 이제 그 상단에 정보가 정확하게 전달될 수 있도록 하는 기능이 필요하다. 데이터링크 계층에서 이러한 기능을 수행한다. 흐름 제어, 오류 제어, 주소 지정, 회선 규칙, 프레임 동기화, 데이터와 제어 신호의 구별 등이 있다. 흐름제어 데이터통신에서 수신 측에서 데이터를 받아 일시적으로 저장할 수 있는 공간이 있는데 이를 데이터 버퍼라고 한다. 만약 송신 측이 데이터를 보내는 속도가 수신 측이 처리하는 속도보다 빠르면 이 버퍼에 데이터가 쌓이는 오버플로 현상이 나타나서 데이터의 손실이 발생할 수 있다. 이를 조절하기 위해서 전송속도를 제어하는 것을 흐름 제어라고 한다. 흐름제어는 크게 2가지로 나뉘는데, 정지-대기 흐름 제어 방..
OSI 7계층 (물리계층) OSI 7계층은 7개의 계층으로 나뉘어져 있는데 물리 계층, 데이터링크 계층, 네트워크 계층, 전송 계층, 세션 계층, 표현 계층, 응용 계층으로 나누어진다. 물리 계층에서 사용하는 통신 단위는 비트이다. 여기서는 단순히 데이터를 전달만 할 뿐 전송하는 데이터에 대한 정보를 담아서 보내거나 어떤 에러 제어를 한다거나 흐름 제어를 하는 기능은 하지 않는다. 물리 계층은 전기적, 기계적 특성을 가진 통신 케이블로 데이터를 전달하는데 예로 들 수 있는 장비로는 통신 케이블, 리피터, 허브 등이 있다. 물리 계층은 시스템 간의 물리적 연결하고, 전기 신호의 변환 및 제어 역할을 담당하는 계층이다. 즉, 데이터를 전기신호로 바꾸어 전송하는 일을 한다. 컴퓨터는 0과 1로만 데이터를 주고받는다고 들은 적이 있는가?..
네트워크와 프로토콜 (3) 전송계층에는 3개의 프로토콜이 있는데 TCP와 UDP 그리고 RTP가 있다. TCP는 전송을 제어하는 프로토콜인데 인터넷상에서 데이터를 메시지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜이라 할 수 있다. TCP의 특징으로는 다음과 같은 특징이 있다. - 흐름 제어 및 혼잡 제어 - 높은 신뢰성을 보장 - UDP보다 속도는 느리다. - 전이중, 점대점 방식 - 3 way handshaking 과정을 통해 연결하고 4 way handshaking을 통해 해제한다. 위 특성 중에 3 way handshaking 과정이 있다는 것과 TCP가 연결 지향 방식이라는 것은 논리적 경로를 설정하고 데이터를 보낼 목적지를 정확히 설정하여 확실한 전송을 보장하기 위한 특성이기도 하다. 이러한 특성을 가지는 이유는..
네트워크와 프로토콜 (2) 데이터 링크 계층에는 HDLC 프로토콜도 있다. HDLC는 High-level Data Link Control 프로토콜로 단말기를 일대일 혹은 다대다로 연결된 환경에 데이터의 송수신 기능을 제공한다. HDLC 프로토콜을 사용하는 프레임 구조는 비트 프레임 방식을 사용한다. 프레임은 다양한 필드로 나누어져 구성된다. 주소 부분에는 일대다 환경으로 연결된 환경에서 특정 호스트를 구분하여 지칭하는 목적으로 사용된다. 프레임의 시작과 끝을 알리는 플래그를 사용한다. (01111110) 일대일 환경에서는 명령과 응답을 구분할 수 있다. 데이터 부분은 가변의 크기의 전송 데이터를 나타낸다. 컨트롤 필드 값은 세 가지로 나누어지게 된다. 네트워크 계층에서 내려온 패킷을 전송하기 위한 정보 프레임, 정보 프레임에 대한..
네트워크와 프로토콜 (1) 컴퓨터 하면 빠질 수 없는 내용 중에는 네트워크가 있다. 분산되어 있는 컴퓨터를 통신망으로 연결한 것을 네트워크라고 하는데 이 컴퓨터들은 노드 간 연결을 이용하여 서로 데이터를 교환한다. 네트워크는 두 대 이상의 연결된 컴퓨팅 장치의 그룹을 말하며, 네트워크 안에는 또 다른 작은 네트워크를 포함하기도 한다. 하나의 네트워크에 있는 모든 장치는 중앙에 있는 하나의 허브에 연결된 경우가 많다. 이 두 장치는 서로 직접 연결 여부와 관계없이 하나의 장치가 다른 장치와 정보를 교환하는 영역에 있을 때 망으로 묶인다. 네트워크 계층 모델은 총 7가지로 나뉘는데 TCP/IP 모델을 기반으로 하며 국제 표준 기구가 제정한 OSI 7 계층 모델과 비교할 수 있다. OSI 7계층 모델은 물리 계층, 데이터 링크 계층, ..
소프트웨어 공학 소프트웨어 공학은 공학을 소프트웨어에 적용하는 것으로 소프트웨어를 개발하고, 운용, 유지보수 등을 서술적으로 다루는 학문이다. 보통 소프트웨어 하면 사람들이 프로그래밍이랑 관련이 깊은 것으로 알고 있는데 이를 벗어나 유기적으로 성장한 분야가 소프트웨어 공학이다. 소프트웨어 공학을 다루기에 앞서 프로그래밍 언어부터 얘기하면 프로그래밍 언어는 1950년대부터 나타났다. 데이빗 파르나스는 열쇠가 된 개념인 모듈성과 정보 은폐를 1972년에 소개하였고 이는 프로그래머들이 다루기 힘든 소프트웨어 시스템의 복잡성을 더 쉽게 다룰 수 있게 했다. 동시에 하드웨어를 관리해 주는 소프트웨어 시스템인 운영 체제가 소개되었고 최초의 운영체제는 유닉스였다. 소프트웨어 공학자가 되기 위해서는 프로그래밍에 관한 지식이 필수적인 ..