OSI 7 계층과 TCP/IP 4 계층은 네트워크의 기본 계층 구조이다. TCP/IP 모델은 인터넷의 개발 이후 표준화되어 실질적인 통신에 쓰이고 있다. 즉, OSI 모델은 이론적으로 많이 활용이 된다.
일반적으로 하위계층은 하드웨어를 통해서 구현되었고, 상위 모델은 운영체제의 커널에 소프트웨어적으로 구현되었다.
OSI 7 Layer
- 국제 표준기구(ISO)에서 표준화된 네트워크 구조를 제시한 기본 모델
- 통신 기능 7개의 계층으로 분할하여 각 계층마다 다른 계층과는 무관하게 자신의 독립적인 기능을 지원하도록 함
- 기술의 동작 원리나 분석할 때 많이 쓰임
1. Physical Layer (물리 계층)
- 하드웨어로 구성되어 있음 -> 전자회로
- 전기적 기계적 특성을 이용해서 통신 케이블로 데이터 전송
- Bit(0, 1)를 사용하여 데이터 전달(어떤 데이터인지는 관여하지 않는다.)
- 전기적 신호로 변환 후 데이터 전송
- 장비 - 통신 케이블, 리피터, 허브 등
2. Data Link Layer (데이터 링크 계층)
- 여러 대의 컴퓨터가 통신을 할 수 있도록 한다.
- 물리계층을 통해 송수신되는 정보의 오류 검출 및 흐름 관리
- 안전한 정보의 전달을 수행할 수 있도록 돕는다 -> Framing: 자신의 데이터를 알아볼 수 있게 감싸는 것
- MAC 주소(네트워크 장비들이 가지고 있는 유일한 하나의 주소)를 이용하여 통신
- 장비 - NIC(Network Interface Card/ LAN 카드, 브리지, 스위치 등)
- L2 Switch : 패킷의 MAC 주소를 읽어 스위칭.(Layer가 높아질수록 비싸짐)
3. Network Layer (네트워크 계층)
- 데이터를 목적지까지 전달하는 기능(라우팅)
- 경로를 선택하고, 경로에 따라 패킷을 전송
- IP Packet : 출발지 IP, 도착지 IP, 데이터 내용이 포함되어있다.
- 수많은 네트워크들의 연결 속에서 목적지까지 데이터를 넘기기 위해 IP 주소로 목적지를 찾는다.
- 장비 - 라우터
4. Transport Layer (전송 계층)
- 흐름 제어, 순서 제어, 연결 제어, 중복검사
- port 번호를 사용하여 목적지 컴퓨터의 프로세스까지 데이터가 도달할 수 있도록 한다.
- 데이터의 전송 단위는 Segment
- 데이터를 여러 번에 나눠서 보내며 전송이 잘 되고 있는지 확인하고 실패할 경우 다시 보낸다.
- TCP / UDP 프로토콜 사용
- QUIC 프로토콜
- Quick UDP Internet Connections
- 구글에서 개발한 통신 프로토콜
- UDP를 기반으로 연결하는 TCP의 성능을 개선하기 위해 개발
- 연결 설정 시간 단축
- 혼잡 제어 개선
- 멀티 플랙싱 가능
5. Session Layer (세션 계층)
- 통신 세션을 구성하는 계층으로 포트 연결
- 전송 단위는 message
- 응용프로그램 간의 연결을 지원해줌
- 연결 세션에서 데이터 교환, 에러 발생 시 복구 관리
6. Presentation Layer (표현 계층)
- 데이터 변환 작업
- 응용 계층으로부터 받은 데이터를 세션 계층이 다룰 수 있도록 형태를 변환하고, 반대로 세션 계층의 데이터를 응용 계층에서 이해할 수 있도록 변환하는 작업
- ASCII
- 송, 수신자가 공통으로 이해할 수 있도록 정보의 데이터 표현방식을 바꾸는 기능
- 안전하게 전송하기 위해 변환 -> 데이터 압축 -> 암호화를 진행
- 전송 단위는 message
7. Application Layer (응용 계층)
- 사용자에게 서비스를 제공
- 인터페이스 역할
- 응용 프로세스 간의 정보 교환 담당
- protocol suite(프로토콜 모음)
- FTP(File Transfer Protocol) : 장치와 장치 간의 파일을 전송하는 데 사용되는 표준 통신 프로토콜
- SSH : 보안되지 않은 네트워크에서 네트워크 서비스를 안전하게 운영하기 위한 암호화 네트워크 프로토콜
- HTTP : World Wide Web을 위한 데이터 통신의 기초이자 웹 사이트를 이용하는 데 쓰는 프로토콜(header, body, request, response, status code)
- SMTP(Simple Mail Transfer Protocol) : 전자 메일 전송을 위한 인터넷 표준 통신 프로토콜
- DNS : 도메인 이름과 IP 주소를 매핑해주는 서버
TCP/IP 4 Layers
1. L1 Network Access Layer
- OSI 7 Layer 중 Physical과 Data Link에 해당
- L2(Internet Layer)에서의 Packet은 L1에서 Frame Header정보(MAC 주소)를 포함하여 캡슐화가 된다.
2. L2 Internet Layer
- OSI 7 Layer 중 Network에 해당
- L3의 Segment에서 IP Header정보(IP 주소)를 포함하여 캡슐화가 된다.
- MTU(Maximum Transmission Unit, 최대 전송 단위)는 해당 계층에서 지원되는 최대 패킷의 크기를 의미하는데, 20바이트의 IP 헤더 정보와 TCP 헤더 정보를 제외한 나머지 부분을 MSS(Minimum Segment Size)로 정해준다. 보통 1500 바이트 중 IP와 TCP 헤더 정보를 제외한 1460바이트를 MSS로 보고 L3에서 해당 크기에 맞춰 Segment화 한다.
3. L3 Transport Layer
- OSI 7 Layer 중 Transport에 해당
- Socket 파일에서 스트림 형식의 Data를 MSS 크기로 나누어 Segment에 저장
- TCP Header 또는 UDP Header 정보에 Port 정보를 가지고 있어 특정 Port 주소를 가진 프로세스로 Switching 하는 계층
4. L4 Application Layer
- OSI 7 Layer 중 Application, Presentation, Session에 해당
- 응용 프로그램들이 올바른 규칙을 사용할 수 있도록 인터페이스 제공
데이터 전송 과정
'CS > 운영체제' 카테고리의 다른 글
Dead Lock (0) | 2022.08.11 |
---|---|
동기화 문제의 해결 (0) | 2022.08.11 |
Multi-Process VS Multi-Thread (0) | 2022.08.03 |
Thread란 (0) | 2022.08.03 |
Process란 (0) | 2022.07.13 |