📝 OSI 7 계층
서로 다른 컴퓨터의 통신을 위해 처리해야할 작업을 순차적으로 7단계로 처리하는 과정
📝 OSI 1 계층
1계층은 물리계층으로 보낼 데이터 정보(0 또는 1로 되어있는 디지털 신호)를 아날로그 신호(전기적 신호)로 바꾸고 그와 반대 역할을 수행합니다 해당 장치로는 통신 케이블, 허브 등이 있습니다.
📝 OSI 2 계층
2계층은 데이터링크계층으로 여러 컴퓨터가 데이터를 보낼 때 데이터가 꼬일 수 있기 때문에 보내는 데이터에 특정 비트열을 붙여서 어디서부터 어디까지 읽어야하는지 정해준다 → 프레이밍
이 계층에서 전송되는 데이터 단위를 프레임이라고 한다.
예) "안녕하세요"를 보낼 경우 "안녕하세요"(프레임)까지 읽어야하는데 "안ㄴ"(프레임)까지만 읽는 경우 문제가 생기기 때문에 이렇게 보낸다
또한 같은 네트워내에 있는 MAC주소 기반으로 데이터를 보내는 역할도 합니다. 해당 장치로는 스위치와 브리지가 존재합니다.
📝 OSI 3 계층
3계층은 네트워크계층으로 받은 데이터를 목적지(IP)까지 가장 안전하고 빠르게 전달하는 기능이다. 2계층에서는 MAC주소 기반으로 같은 네트워크 내에 보내지만 서로 다른 네트워크에 대해서는 3계층을 이용한다. 전송 데이터 단위는 Packet이며 Packet단위로 전달한다 → 해당 장치로는 라우터가 있습니다. (공유기도 3계층 역할을 한다)
개인적인 생각으로 2계층으로 처리할 수 있으면 2계층으로 안 되면 3계층으로 처리하는 것 같다.
📝 OSI 4 계층
4계층은 전송계층으로 3계층으로 받은 데이터의 데이터의 무결성을 위해 오류검출(데이터 누락시 재전송 요청)및 복구, 흐름 제어와 중복검사 등을 수행한다 데이터 전송 단위는 Segment이다
대표적 프로토콜로 TCP와 UDP가 있다 → 운영체제의 커널에 소프트웨어적으로 구현되어 있다
- TCP
- 연결을 설정하고, 데이터의 정확한 순서와 정합성을 보장하며, 수신 확인(ACK) 및 재전송을 관리합니다 [웹 브라우징(HTTP/HTTPS)]
- UDP
- 빠른 전송이 필요한 경우 사용됩니다. 연결 설정 없이 데이터를 전송하며, 순서 보장이나 수신 확인이 필요 없고, 속도가 중요한 경우에 적합합니다 [실시간 스트리밍, 온라인 게임]
📝 OSI 5 계층
5계층은 세션계층으로 세션 계층으로, 통신 세션을 설정, 유지, 종료하는 역할을 담당합니다.
📝 OSI 6 계층
6계층은 표현계층으로 송수신자가 공통으로 이해 할 수 있도록 정보의 데이터 표현방식을 바꾸는 기능을 담당한다
데이터의 보안과 효율적인 전송을 위해 암호화와 압축을 수행하여 세션 계층 데이터를 암복호화(인코딩, 디코딩) 또는 압축하는 역할 → JPEG, MP3 등...
📝 OSI 7 계층
7계층은 응용계층으로 사용자가 네트워크 자원(보낸 데이터)에 접근하는 방법을 제공한다.
HTTP를 통해 해당 데이터를 요청하고 7계층은 사용자가 볼 수 있는 유일 계층으로 모든 네트워크 활동 기반 인터페이스를 제공하는데 사용자가 이용하는 응용 프로그램들이 이에 포함된다고 생각하면 된다. (HTTP, HTTPS, FTP, SSH, 등)
예를 들면 HTTP의 경우 GET방식, Host, User-Agent정보 등이 포함되고 SSH의 경우 ssh 정보, SMTP의 경우 이메일 정보, FTP의 경우 user, password 정보가 포함된다.
📝 동작 순서
출발지에서 각 계층에 따른 역할을 붙히고 목적지에서는 그걸 해석하는 작업을 가진다
위에 그림과 같이 7 계층 → 6 계층 .... 1계층 → 1계층 → ... 7계층 보내는 쪽에서는 점점 데이터가 붙어서 전달하고 받는 쪽에서는 각각의 역할을 맡은 레이어별로 해당 부분의 데이터를 빼가면서 해석하며 전해준다
📝 TCP / IP 모델
현재는 OSI 7계층이 아니라 TCP / IP 모델을 쓴다 → OSI 7 layer가 시장 점유율에서 패배 (이론적으로는 OSI 7 layer로 설명) 5 ~ 7 계층을 TCP / IP 모델에서는 하나의 응용 계층으로 묶는 점이 다르다
📝 TCP/IP 1 계층
링크계층으로 OSI 1계층처럼 패킷을 하드웨어로 보낸다
📝 TCP/IP 2 계층
네트워크 계층으로 OSI 3계층처럼 수신지에 MAC 주소및 목적지 포트를 붙여서 전달한다
📝 TCP/IP 3 계층
트랜스포트 계층으로 OSI 4계층처럼 TCP프로토콜 기반으로 데이터를 패킷화 시켜서 보낸다
📝 TCP/IP 4 계층
애플리케이션 계층으로 OSI 5 ~ 7 계층에 해당하는 부분으로 어떻게 데이터를 요청할 지 등을 정한다 → HTTP , Telnet 등...
📝 TCP
연결지향이며 자체적으로 패킷을 이용해서 정보를 전달하므로 패킷은 규약이 있다 TCP는 전달받은 패킷을 재조립하고, 패킷에 손상이 있거나 손실된 패킷이 있다면 재전송을 요청한다.
📝 TCP/ IP
TCP방식으로 해당 IP에 데이터를 보내는 방식
📝 UDP
비연결지향이며 오류를 처리하거나 순서를 재조합시켜주는 기능을 가지고 있지 않다
단순히 데이타를 받거나 던져주기만 하는 프로토콜이다
UDP는 특히 실시간 멀티미디어 정보를 처리하기 위해서 주로 사용한다
📝 페이로드 (Payload)
HTTP 요청을 보낼 때 보내는 데이터를 Payload라고 합니다
📝 패킷 (Packet)
데이터를 일정한 크기로 자른 단위로 인터넷에서 정보를 전달하는 단위이다
나누어진 패킷이 순서대로 도착한다는 보장이 없으므로 규칙이 필요하다
📝 트래픽 (Traffic)
인터넷에서 송수신되는 데이터의 양
📝 라우팅 (Routing)
통신 데이터를 보낼 때 최적의 경로를 선택하는 과정
🔗 참고 및 출처
'[CS 지식] > [네트워크 지식]' 카테고리의 다른 글
[네트워크 지식] 로드밸런싱, NAT, NAT 테이블, NAT (가상화), 브리지 (가상화), IP공유기, 모뎀 (0) | 2021.10.08 |
---|---|
[네트워크 지식] 이더넷어댑터 , 게이트웨이, MAC주소, 랜카드, MAC주소, 네트워크주소, 브로드캐스트 주소 (0) | 2021.06.20 |
[네트워크 지식] DMZ, 방화벽, 인바운드 규칙, 아웃바운드 규칙, 포트포워딩 (0) | 2021.06.20 |