일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- bs4
- elastic search
- dataframe
- pandas
- 파이썬
- bulk post
- jvm.py
- tweepy
- pyLDAvis
- Python.h
- dead lock
- ChromeDriverManager
- 완주하지못한선수
- ELASTIC
- git bash
- MariaDB
- Java
- Pythonic
- Jpype
- centos8
- KONLPY
- rest api
- 토픽모델링
- 프로그래머스
- 나무자르기
- gensim
- ShallowCopy
- pip install mariadb
- 백준
- js
- Today
- Total
부리부리부리
OSI 모델과 TCP/IP 모델 본문
개요
- OSI 모델(OSI 7 Layer)와 TCP/IP 모델은 네트워크에서 발생하는 통신 과정을 계층으로 나누어 놓은 모델이다. 통신 흐름을 한 눈에 볼 수 있고, 특정 계층에 이상이 생겼을 때, 시스템 전체를 점검하지 않고 해당 계층만 점검하면 되기 때문에 유지 보수에도 효과적이다.
- 현대 인터넷은 OSI 모델이 아니라 TCP/IP 모델을 따르고 있다. OSI 모델이 TCP/IP 모델보다 늦게 나오기도 했고, 시장 점유 싸움에서 졌기 때문이기도 하다. 하지만 OSI 모델은 계층을 세부적으로 설명하고 있다는 점에서 Reference 용도로 많이 쓰인다.
- TCP/IP 모델의 경우, 기존에는 4 Layer였지만 최근에는 5 Layer로 업데이트 되었다고 한다.
OSI 7 Layer
응용 계층 (Application Layer)
- 사용자의 데이터와 직접 상호 작용하는 유일한 계층
- 인터페이스 역할
- 애플리케이션 계층 프로토콜 : HTTP, SMTP, FTP, SSH, DNS 등
표현 계층 (Presentation Layer)
표현 계층(Presentation Layer)은 주로 데이터를 준비하는 역할을 하여 애플리케이션 계층이 이를 사용할 수 있게 한다. 표현 계층은 데이터의 변환, 암호화, 압축을 담당한다.
- 변환 : 서로 통신하는 두 개의 통신 장치는 서로 다른 인코딩 방법을 사용하고 있을 수 있으므로, 이 계층은 수신 장치의 응용 계층(Application Layer)이 이해할 수 있는 구문으로 수신 데이터를 변환하는 일을 담당
- 암호화 : 장치가 암호화된 연결을 통해 통신하는 경우, 표현 계층은 최종 송신자에게 암호화를 추가할 뿐만 아니라 최종 수신자에게 암호화를 디코딩하여 암호화되지 않은 읽기 쉬운 데이터로 응용 계층을 제시할 수 있도록 하는 역할
- 압축 : 마지막으로, 표현 계층은 응용 계층에서 수신한 데이터를 세션 계층으로 전송하기 전에 압축하는 일도 담당한다. 전송할 데이터의 양을 최소화함으로써 통신의 속도와 효율을 높이는 데 도움이 됨
세션 계층 (Session Layer)
두 기기 사이의 통신을 시작하고 종료하는 일을 담당하는 계층이다. 통신이 시작될 때부터 종료될 때까지의 시간을 세션이라고 한다. 세션 계층은 교환되고 있는 모든 데이터를 전송할 수 있도록 충분히 오랫동안 세션을 개방한 다음 리소스를 낭비하지 않기 위해 세션을 즉시 닫을 수 있도록 보장한다.
- 연결 세션에서 데이터 교환, 에러 발생 시 복구 관리
- 또한 세션 계층은 데이터 전송을 체크포인트와 동기화한다. 예를 들어, 100MB의 파일이 전송되는 경우 세션 계층이 5MB마다 체크포인트를 설정할 수 있다. 52MB가 전송 된 후 연결이 끊어 지거나 충돌이 발생하면 마지막 체크 포인트에서 세션을 재개하는 것이 가능하다. 즉, 50MB의 데이터만 더 전송하면 된다. 체크 포인트가 없으면 전체 전송을 처음부터 다시 시작해야 한다.
전송 계층 (Transport Layer)
전송 계층은 두 기기 간의 종단 간 통신을 담당한다. 여기에는 세션 계층에서 데이터를 가져와서 네트워크 계층(Network Layer)으로 보내기 전에 세그먼트라고하는 조각으로 분할하는 일이 포함된다. 수신 기기의 전송 계층은 세그먼트를 세션 계층이 이용할 수 있는 데이터로 재조립해야 한다.
전송 계층(Transport Layer)은 흐름 제어 및 오류 제어 기능의 역할도 한다.
흐름 제어
- 송신 ↔ 수신
- 수신측과 송신측의 데이터 처리 속도 차이 를 해결하기 위한 기법
- 송신측의 전송량이 수신측의 처리량보다 많은 경우, 전송된 패킷은 수신측의 큐를 넘어서 손실될 수 있기 때문에 송신측의 패킷 전송량을 제어
- Stop and Wait, Sliding Window
- 1. 정지-대기 (Stop and Wait)
- 매번 전송한 패킷에 대해 응답을 받아야만 그 다음 패킷을 전송
- 구조가 간단한 대신, 하나씩 주고받기 때문에 비효율적
- 수신측에서 설정한 윈도우 크기만큼 송신측에서 확인 응답없이 세그먼트를 전송할 수 있게 하여 데이터를 동적으로 조절하는 기법
오류 제어
송신측에서 수신측에 전달된 프레임에서 발생한 오류를 감지하고 수정하기 위한 매커니즘
네트워크 계층 (Network Layer)
- 네트워크 계층은 서로 다른 두 네트워크 간 데이터 전송을 용이하게 하는 역할을 한다. 서로 통신하는 두 장치가 동일한 네트워크에 있는 경우에는 네트워크 계층이 필요하지 않다. 네트워크 계층은 전송 계층의 세그먼트를 송신자의 장치에서 패킷이라고 불리는 더 작은 단위로 세분화하고, 수신 장치에서 이러한 패킷을 다시 조립한다.
- 라우팅 : 데이터 패킷을 목적지까지 안전하게 전달하기 위한 경로를 결정 ⇒ IP 주소를 이용해 길을 찾는다.
- 포워딩 : 각 장치에게 고유한 논리적인 주소를 부여하여 데이터를 목적지에 정확하게 전송할 수 있도록 한다.
- 라우터 등의 네트워크 장비를 사용하여 패킷을 다음 목적지로 전달한다.
데이터 링크 계층 (Data Link Layer)
- 같은 네트워크에 있는 컴퓨터들이 데이터를 주고 받기 위해 필요한 모듈
- 전기 신호를 모아 우리가 알아볼 수 있는 데이터 형태로 처리한다.
- 주소 정보를 정의하고 정확한 주소로 통신이 되도록 하는데에 초점이 맞춰져 있다.
- 스위치를 통해 여러 컴퓨터가 통신 할 수 있도록 한다.
- 데이터링크 계층은 비트들을 프레임의 형태로 감싸 다른 프레임들과 구분한다. 이러한 Framing은 물리 계층으로부터 전달된 비트들을 어떻게 조직하는지를 의미하며, 송신자와 수신자의 주소를 추가함으로써 메시지를 분리한다. 이 목적지 주소를 통해 송신자는 수신자가 메시지를 받았다는 응답을 돕는다.
물리적 계층 (Physical Layer)
- 물리적으로 연결된 두 대의 컴퓨터가 0과 1로 나열을 주고 받을 수 있게 하는 모듈
- 디지털 신호를 아날로그 신호로 바꾸어 전송한다.
- 주로 전기 신호를 전달하는 데 초점이 맞춰져 있다.
- 주요 장비 - 허브, 리피터
TCP/IP
- OSI 7 계층이 Reference 용도로 쓰인다면, 실제로 쓰이는 모델이 바로 TCP/IP 모델
- 앞서 언급했듯이 기존에는 4 Layer 였으나 업데이트 되면서 5 Layer가 되었다.
물리 계층 (Physical Layer)
- OSI 의 물리 계층 역할
- Physical Layer 기술은 어디에 구현 되어 있을까?
- PHY 칩에 구현이 되어 있다. 즉, 물리 계층 모듈은 하드웨어적으로 구현되어 있다.
과자처럼 생긴 PHY 칩
- PHY 칩에 구현이 되어 있다. 즉, 물리 계층 모듈은 하드웨어적으로 구현되어 있다.
데이터 링크 계층 (Data Link Layer)
- OSI 의 데이터 링크 계층 역할
- Data Link Layer 기술은 어디에 구현 되어 있을까?
- LAN 카드에 구현되어 있다. 데이터링크 계층 모듈 또한 하드웨어적으로 구현되어 있다.
LAN 카드
네트워크 계층 (Network Layer)
- OSI 의 네트워크 계층 역할
- Network Layer 기술은 어디에 구현 되어 있을까?
- 운영체제의 커널에 소프트웨어적으로 구현 되어 있다.
전송 계층 (Transport Layer)
- OSI 의 전송 계층 역할
- Transport Layer 기술은 어디에 구현 되어 있을까?
- 운영체제의 커널에 소프트웨어적으로 구현 되어 있다.
응용 계층 (Application Layer)
- OSI 의 Session, Presentation, Application Layer 에 해당
- 사용자(Client) 와 가장 가까운 계층 으로 사용자가 소프트웨어 application과 소통할 수 있게 해준다.
송신 호스트가 데이터를 캡슐화하여 전송하는 과정
캡슐화 세부
송수신 호스트의 패킷 전달 과정
참고
[데이터링크 계층] DLC (Data Link Control)
DLC (Data Link Control) DLC는 Point-to-Point, Broadcast 링크 모두에 포함된 하위 계층이었다. DLC는 링크의 종류에 관계없이 두 노드에 대한 통신 과정을 다룬다. DLC는 Framing, 흐름 & 오류 제어 기능을 포함한
4legs-study.tistory.com
OSI 7 Layer와 TCP/IP 4 Layer
OSI 7 계층과 TCP/IP 4 계층은 네트워크의 기본 계층 구조이다. TCP/IP 모델은 인터넷의 개발 이후 표준화되어 실질적인 통신에 쓰이고 있다. 즉, OSI 모델은 이론적으로 많이 활용이 된다. 일반적으로
mysterlee.tistory.com
OSI 7 Layer vs TCP/IP 5 Layer
TCP/IP Updated Model 에 대해 다뤄본다.
velog.io
https://www.youtube.com/watch?v=1pfTxp25MA8
https://velog.io/@lisa1072/OSI-7%EA%B3%84%EC%B8%B5%EA%B3%BC-TCPIP
OSI 7계층과 TCP/IP
네트워크 계층(Layer) 논리적 구분: OSI 7 Layer 엔지니어가 구분하기 쉽도록 논리적으로 구분 현실 네트워크는 구체적인 OSI 프로토콜로 만들어지지않음 물리적 구분: TCP/IP 구조와 설계 때부터 물리
velog.io
'Computer Science > OS' 카테고리의 다른 글
스케쥴러 (0) | 2023.12.30 |
---|---|
Dead Lock (2) | 2023.12.22 |
Thread (0) | 2023.12.12 |
프로세스(Process) (2) | 2023.12.11 |