눈송이의 개발생활
[Network]OSI 7계층 & TCP/IP 4계층 본문
OSI모델과 TCP/IP모델
초기에 컴퓨터들은 자신의 업체 장비들끼리만 연결되어 있어 통신이 불가능했다. 모든 시스템이 상호 연결되어 데이터를 주고 받기 위해서는 통신 규격이 필요했는데, OSI 모델과 TCP/IP 모델이 대표적이다.
TCP/IP 프로토콜은 OSI 모델보다 먼저 개발되었다. 그러므로 TCP/IP 프로토콜의 계층은 OSI 모델의 계층과 정확하게 일치하지 않는다. 두 모델 모두 계층형 이라는 공통점을 가지고 있으며 TCP/IP는 인터넷 개발 이후 계속 표준화되어 신뢰성이 우수인 반면, OSI 7 Layer는 표준이 되기는 하지만 실제적으로 구현되는 예가 거의 없어 신뢰성이 저하되어있다.
OSI 7 Layer는 장비 개발과 통신 자체를 어떻게 표준으로 잡을지 사용되는 반면에 실 질적인 통신 자체는 TCP/IP 프로토콜을 사용한다.
OSI 7계층
통신이 일어난 과정을 단계별로 파악할 수 있어서 계층을 나누었다. 7개의 단계 중 특정 레이어에 이상이 생기면, 다른 단계에 영향을 미치지 않고 문제가 있는 곳만 고칠 수 있다. 흐름을 한 눈에 보기 쉽고, 이해하기에도 쉬운 모델이다.
물리 계층 (Physical Layer)
1️⃣- 시스템 간의 물리적인 연결과 전기 신호를 변환 및 제어
- 데이터의 종류, 에러 유뮤 등은 신경쓰지 않음
- 전송 단위 : Bit
- 대표적인 장비 : 통신 케이블, 리피터, 허브
데이터 링크 계층 (Data Link Layer)
2️⃣- 네트워크 기기 간의 데이터 전송 및 물리 주소 결정
- Point to Point 간 신뢰성있는 전송을 보장하기 위한 계층
- CRC 기반의 오류 제어와 흐름 제어 필요
- 물리 계층에서 발생할 수 있는 오류 제어, 수정
- MAC 주소로 통신
- 전송 단위 : Frame
- 대표적인 장비 : 브리지, 스위치
- ex) 이더넷
네트워크 계층 (Network Layer)
3️⃣- 다른 네트워크와 통신하기 위한 경로 설정 및 논리 주소 결정
- 라우팅, 흐름 제어, 세그멘테이션, 오류 제어, 인터네트워킹 수행
- 경로 선택 -> 주소 결정 -> 경로에 따라 패킷 전달
- IP주소(관리자가 직접 주소 할당)의 구조를 가지며, 계층적
- 전송 단위 : Datagram (Packet)
전송 계층 (Transport Layer)
4️⃣- 신뢰할 수 있는 통신 구현
- End to End의 사용자가 신뢰성있는 데이터를 주고 받게 해줌
- 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않게 해줌
- 데이터 전송을 위해 port번호 사용 (대표적인 프로토콜 : TCP, UDP)
- 전송 단위 : Segment
세션 계층 (Session Layer)
5️⃣- 양 끝 담의 응용 프로세스가 통신을 관리하기 위한 방법 제공
- TCP/IP 세션을 만들고 없애는 책임을 짐
- 통신장치 간 상호작용 및 동기화 제공
- 연결 세션에서 데이터 교환과 에러 발생 시의 복구 관리
표현 계층 (Presentation Layer)
6️⃣- 데이터를 어떻게 표현할지 정하는 역할
- 3가지 기능
- 송신자에게서 온 데이터 해석 : 응용계층 데이터 부호화, 변화
- 수신자가 데이터 압축 풀 수 있는 방식으로 데이터 압축
- 데이터 암호화 or 복호화
응용 계층 (Application Layer)
7️⃣- 사용자와 가장 밀접한 계층 -> 인터페이스 역할
- 응용 프로세스 간의 정보 교환 담당
- ex) 이메일, 인터넷, 파일전송 등
TCP/IP 4계층
현재의 인터넷에서 컴퓨터들이 서로 정보를 주고 받는데 쓰이는 통신 규약의 모음이다. 하드웨어, 운영체제, 접속 매체에 관계없이 동작할 수 있는 개방성을 가진다.
네트워크 접속 계층 (Network Access Layer)
1️⃣- OSI에서 물리 계층 + 데이터 링크 계층
- 하드웨어적인 요소와 관련된 모든 것을 지원하는 계층
- 수신측 : 데이터 링크 계층에서 추가된 헤더를 제거하여 상위 계층으로 전달
인터넷 계층 (Internet Layer)
2️⃣- OSI에서 네트워크 계층
- 상위 Transport 계층으로부터 받은 데이터에 IP패킷 헤더를 붙여 IP 패킷 헤더를 만들고 전송하는 것
전송 계층 (Transport Layer)
3️⃣- OSI에서 전송 계층
- 시스템의 논리 주소와 포트를 갖고 있어 각 상위 계층의 프로세스를 연결해서 통신
- 정확한 패킷 전송을 보장하는 TCP와 정확한 전송을 보장하지 않은 UDP 프로토콜 사용
응용 계층 (Application Layer)
4️⃣- OSI에서 세션 계층, 표현 계층, 응용 계층
- 표준적 인터페이스 제공
참고
https://shlee0882.tistory.com/110 https://goitgo.tistory.com/25
https://velog.io/@cgotjh/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-OSI-7-%EA%B3%84%EC%B8%B5-OSI-7-LAYER-%EA%B8%B0%EB%B3%B8-%EA%B0%9C%EB%85%90-%EA%B0%81-%EA%B3%84%EC%B8%B5-%EC%84%A4%EB%AA%85
'Computer Science > Network' 카테고리의 다른 글
[Network]HTTP와 HTTPS (0) | 2023.02.07 |
---|---|
[Network]TCP/IP 흐름제어(Flow Control)와 혼잡제어(Congestion Control) (0) | 2023.02.06 |
[Network]TCP와 UDP (0) | 2023.02.03 |
[Network]TCP 3-way Handshake & 4-way Handshake (0) | 2023.02.03 |
[Network]REST API (0) | 2023.02.03 |