분류 전체보기
![[OSI 7-Layer] 표현 계층](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FcL4Ref%2FbtsbURc5SXn%2FAAAAAAAAAAAAAAAAAAAAALK4IbfChJNoLdbK2q_QvjluiElxKgCioXcyLL9P_pvH%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DOoc2mFVtqezJnoIQ946cz9aCYsA%253D)
[OSI 7-Layer] 표현 계층
표현계층이란? 표현 계층은 응용 계층과 세션 계층 사이에서 정보를 넘겨주는 역할을 한다. 응용프로그램이나 네트워크를 위해 데이터를 ‘표현’하는 부분이다. 표현 계층의 변환을 통해 하드웨어/OS에 따른 차이를 없앤 데이터 교환이 가능해진다. 암호화, 복호화의 과정이나 압축이 해당 계층에서 처리된다. 데이터가 텍스트인지 이미지 파일인지 구분하여 우리가 볼 수 있는 형태로 표현(인코딩, 디코딩)하는게 표현계층의 역할이다. 우리가 흔히 접하는 확장자가 표현 계층에서 생겨난다. 예를들어 유니코드(UTF-8)로 인코딩 되어있는 문서를 ASCII로 인코딩 된 문서로 변환하려고 할 때 표현 계층에서 변환이 이루어진다. 표현계층의 대표적인 프로토콜 SSL(디지털 인증서) ASCII JPEG(이미지) MPEG(멀티미디어(..
![[OSI 7-Layer] 세션 계층](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FE6vjQ%2FbtsbRKmehxa%2FAAAAAAAAAAAAAAAAAAAAAPNRb8PdAbaNxlvSgftqaEaVELrvQ4zODEPHBKvBwsHL%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DTdYWXESXBomvESxFLLHQQgplKys%253D)
[OSI 7-Layer] 세션 계층
세션 계층이란? 세션 계층은 OSI 7계층모델의 5계층에 해당한다. 5계층 부터는 어플리케이션과 관련되어, 통신 장치들 간의 상호작용을 유지하고 동기화하는 역할을 한다. 세션 계층에서는 응용 프로그램 간의 연결, 유지, 종료를 관리한다. 이때 연결된 세션에서 데이터 교환시 에러가 발생하면 동기화 지점을 두어 데이터 손실을 복원한다. 전송 계층에서도 연결을 맺고 종료할 수 있기 때문에 어느 계층에서 통신이 끊어졌는지 판단하기는 한계가 있다. 그러나 세션 계층은 전송 계층과 무관하게 응용 프로그램 관점에서 봐야한다. 세션 계층의 주요 기능 1. 접속 및 접속 해제 (TCP/IP세션의 연결 설정과 해제) full duplex(전이중 방식/ 양방향): 두개의 통신장치가 동시에 통신이 가능한 통신방식 → 데이터의..
![[TCP/IP] 응용 계층](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2F4PKp1%2FbtsbUpHLGKT%2FAAAAAAAAAAAAAAAAAAAAADFhDntE3sOkXmGT2kV0vMedmaTNftqBRSsW60bw6GrI%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DdLKMv50H6BMVVPVkLSD61lQQLy4%253D)
[TCP/IP] 응용 계층
응용(애플리케이션)계층의 특징과 애플리케이션 TCP/IP 모델의 4계층 중 네트워크 인터페이스 계층, 인터넷 계층, 전송 계층이 데이터 전송을 담당하고, 응용 계층은 통신의 목적인 서비스를 실현하기 위해 서비스의 종류나 동작 방식 등을 결정한다. 따라서 응용 계층의 역할은 서비스를 제공하는 서버 애플리케이션과 서비스를 요청하는 클라이언트 애플리케이션이 구현한다. 따라서 응용 계층은 애플리케이션을 사용하는 사용자가 체감할 수 있는 계층이지만, 나머지 3개의 하위 계층은 사용자가 평소 의식하지 않고 당연하게 사용하는 인프라 단의 계층이라고 할 수 있다. 이처럼 데이터 전송은 나머지 3계층에서 알아서 처리해주기 때문에 애플리케이션 개발자는 데이터 전송을 신경쓰지 않고 서비스 구현에 집중할 수 있다…. 응용 계..
![[TCP/IP] 전송 계층](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FGLjLt%2FbtsbVcnTwSI%2FAAAAAAAAAAAAAAAAAAAAAF0Qm0NLJP0NTZ6W-mqzp4r7-uh_hSmu13wUaJr-06v3%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DZAQkBwBGJd5YRd2Bva%252BHZ0VFr6g%253D)
[TCP/IP] 전송 계층
전송 계층(Transport Layer)의 역할 하위 계층인 인터넷계층은 최적의 경로로 패킷을 전송하는 중요한 역할을 담당하지만, 수신지 컴퓨터가 인터넷에 존재하는지, 수신지 컴퓨터가 패킷을 수신할 준비가 되어있는지, 전송 과정에서 패킷이 손상되거나 유실되지는 않았는지에 대한 문제는 신경쓰지 않는다. 즉 IP 프로토콜은 패킷을 전달하기 위한 최선의 노력 (Best-effort delivery service)를 하지만, 패킷의 전송 순서나 완전성을 보장하지 않으므로 비신뢰형 서비스(unreliable service)라고도 한다. 패킷이 전송 과정에서 아무 문제 없이 제대로 수신지 컴퓨터에 도착할 수 있도록 하는 일은 전송 계층이 담당한다. 또한 데이터는 수신지 컴퓨터에 도달하는 것이 목표가 아니라 수신지 ..
![[TCP/IP] 인터넷 계층](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fbn3nLT%2FbtsbVfkA0Co%2FAAAAAAAAAAAAAAAAAAAAAD9fZZRIg-lB5yXEgixH6miHJ5o32BGpnhnr7DDkfz4v%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DfBqJmQ%252BedqiQjSvMJY4NUvhutug%253D)
[TCP/IP] 인터넷 계층
인터넷 계층의 역할 네트워크 인터페이스 계층의 역할은 물리적으로 직접 연결된 컴퓨터 간에 데이터를 전송하는 것이다. 다음 그림의 1번과 2번사이, 3번과 4번 사이는 물리적으로 연결되어있으므로 통신이 가능하지만, 1번과 4번 사이에 통신을 하려면 인터넷 계층의 통신이 필요하다. 인터넷 계층의 통신은 인터 네트워킹(Inter networking), 즉 서로 다른 네트워크를 연결하여 네트워크 간에 데이터를 전송하는 역할을 한다. 이때 서로 다른 네트워크 간에 데이터를 전송하는 장비인 라우터가 인터넷 계층의 역할을 구현하는 핵심 네트워크 장비이다. IP 프로토콜 IP프로토콜은 인터넷 계층에서 데이터가 수많은 라우터를 거쳐 수신지를 찾아갈 때, 길을 잃지 않고 정확한 목적지에 도달할 수 있도록 한다. IP프로토..
![[TCP/IP] 네트워크 인터페이스 계층](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fl0lOI%2FbtrSq8dOsok%2FAAAAAAAAAAAAAAAAAAAAAMRF7kcLIwiHCehCxyD7WmUQbT3_SnLZeruZsqRt5GhF%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DqZhZk3DZnT1iwiXLjesyIW8Ue1E%253D)
[TCP/IP] 네트워크 인터페이스 계층
네트워크 인터페이스 계층의 역할 TCP/IP 모델 최하층에 위치한 네트워크 인터페이스 계층은 인접한 네트워크 기기 간에, 전기신호나 전파와 같은 물리적 신호가 도달하는 범위에서 데이터를 전송하는 역할을 한다. 위의 그림 1에서 네트워크 1 내에 있는 1번 PC와 2번 노트북은 랜 케이블과 스위치로 직접 연결되어 있다. 1번 PC와 2번 노트북 사이의 데이터 전송은 네트워크 인터페이스 계층의 기능만으로 가능하다. 스위치가 자신과 연결된 기기들의 물리 주소를 식별하고 데이터를 제어함으로써 1번 PC에서 전송된 데이터가 2번 노트북으로 정확하게 도달할 수 있게 되는 것이다. 네트워크 인터페이스 계층에 속한 물리적인 네트워크 장비로는 랜카드(NIC), 스위치, 무선 AP등이 있다. 이런 하드웨어를 랜 케이블 같..
프로세스(Process)와 스레드(Thread)
프로세스 (Process) 정의 운영체제로부터 자원을 할당받는 작업의 단위 메모리에 올라와 실행되고 있는 프로그램의 단위 특징 프로세스는 각각 독립된 메모리 영역을 할당 받는다. (Code, Data, Stack, Heap으로 구성) 각 프로세스는 다른 프로세스의 메모리 영역에 접근할 수 없다. (접근하려면 통신(IPC)을 사용해야한다.) 스레드 (Thread) 정의 프로세스가 할당받은 자원을 이용하는 실행의 단위 특징 스레드는 프로세스 내에서 Stack만 따로 할당받고 나머지 자원들(주소 공간, Code, Data, Heap 영역 등)은 서로 공유한다. 각각의 스레드끼리 힙 메모리를 서로 읽고 쓸 수 있다. 멀티 프로세스와 멀티 스레드의 차이 멀티 프로세스 정의 하나의 응용프로그램을 여러 개의 프로세스..
![[Linux] 리눅스 부팅 과정, 리눅스 런 레벨(Runlevel)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbdoBuV%2FbtrM6YN7vPj%2FAAAAAAAAAAAAAAAAAAAAABFJcopl2rsQdnGfeTxhTFSrML9V1jTyvdpoL1T81E4l%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DnJKZnmlqP97FQDPstPdYUXqLl2c%253D)
[Linux] 리눅스 부팅 과정, 리눅스 런 레벨(Runlevel)
Linux 부팅 과정은 크게 5단계로 나눌 수 있다. 0단계: 시스템 전원 공급 1단계: BIOS 단계 2단계: 부트로드 단계 3단계: 커널 단계 4단계: init 프로세스 단계 다음에서 각 단계의 세부 프로세스를 정리해보려고 한다. 리눅스 부팅 과정 0단계: 시스템 전원 공급 - 먼저 시스템에 전원을 켠다. - 시스템 전원 공급과 함께 BIOS(Basic Input Output System) 프로그램이 메모리의 특정 번지에 자동으로 로드된다. (CPU는 전원 공급과 함께 특정 번지의 BIOS 프로그램을 자동 실행한다.) 1단계: BIOS 단계 *BIOS: 운영체제 중 가장 기본적인 소프트웨어. 컴퓨터의 입출력을 처리하는 펌웨어 - POST(Power On Self Test; 자체진단기능)를 통해 하드웨..