hmk run dev

TCP/IP? OSI 7계층? 본문

network

TCP/IP? OSI 7계층?

hmk run dev 2024. 3. 4. 22:35

네트워크를 배우려는 사람들이 가장 먼저 배우려고 하는 OSI 7 계층

 

OSI 7 계층이라는 것은 너무 개념적이다.

내가 실질적으로 알고 싶은 것은 TCP/IP 네트워크 혹은 HTTP를 이해하고 인터넷의 작동을 알고 싶다.

 

그러나 OSI 7 계층은 그 외에 구체적인 개념적인 것들이 많다.

 

 OSI 7계층은 데이터 통신의 과정을 7개의 계층으로 분류한 모델이고, TCP/IP 4계층은 실제로 사용되는 프로토콜 스택

 

그래서 네트워크를 배워보고자 하는 사람들에겐 TCP/IP 4 계층을 먼저 숙지하는 것을 권유한다.

 

 

 

OSI 7 계층

 

OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다. 

 

계층을 나눈 이유는 통신이 일어나는 과정이 단계별로 파악할 수 있기 때문이다.

 

흐름을 한눈에 알아보기 쉽고, 사람들이 이해하기 쉽고,

7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건드리지 않고도 이상이 생긴 단계만 고칠 수 있기 때문이다

 

더보기

PC방에서 리그오브레전드를 하는데 연결이 끊겼다.

 

 어디에 문제가 있는지 확인하기 위해서는

 

 모든 PC가 문제가 있다면

 

-  라우터의 문제(3 계층 네트워크 계층)이거나 광랜을 제공하는 회사의 회선 문제(1 계층 물리 계층)

 

 - 한 PC만 문제가 있고  

 오버워치 소프트웨어에 문제가 있다면(7 계층 애플리케이션 계층)

 
- 오버워치 소프트웨어에 문제가 없고, 스위치에 문제가 있으면(2 계층 데이터링크 계층)

 있다고 판단해 다른 계층에 있는 장비나 소프트웨어를 건들이지 않는것이다.

 

1. 계층 - 물리계층(Physical Layer)

이 계층에선 주로 전기적, 기계적 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송하게 된다.

이 계층에서의 통신 단위는 비트이며 0과 1로 나타내어지는, 즉 전기적으로 on, off 상태라고 생각하면 된다.

 

이 계층에서는 단지 데이터만 전달할 뿐 전송 혹은 받으려는 데이터가 무엇인지, 어떤 에러가 있는지에 대해서 전혀 신경 쓰지 않는다.

 

주요 장비 - 케이블, 리피터, 허브

 


2. 계층 - 데이터 링크계층(DataLink Layer)

물리계층을 통해 송수신 되는 정보와 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할

통신에서의 오류도 찾아주고 재저송도 하는 기능을 가지고 있다.

 

데이터 링크 계층(Data link layer)은 포인트 투 포인트(Point to Point) 간 신뢰성있는 전송을 보장하기 위한 계층

 

맥 주소를 가지고 통신하게 된다.

이 계층에서 전송되는 단위를 프레임이라고 한다.

 

주요 장비 - 브리지, 스위치

 


3. 계층 - 네트워크 계층(Network Layer)

주요기능은 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능

-> 주소부여(IP), 경로설정(Route)

 

주요장비로는 라우터로, 요즘은 2계층 장비 중 스위치라는 장비에 라우팅 기능을 장착한 Layer3 스위치도 있다. (여기서 IP주소 사용)

 

네트워크 계층은 라우팅, 흐름 제어, 세그멘테이션(segmentation/desegmentation), 오류 제어, 인터네트워킹(Internetworking) 등을 수행한다. 

 

 

OSI 7계층모델의 관점에서 보면  IP 계층은 네트워크계층에 해당

- 즉, 패킷을 목적지까지 전달하는 역할 및 그에 수반되는 기타 역할을 함

 

IP 계층 상에 있는 주요 프로토콜

- `신뢰성(에러제어)` 및 `흐름제어` 

- 패킷의 전달을 책임지는 IP

- 패킷 전달 에러의 보고 및 진단을 위한 ICMP

- 복잡한 네트워크에서 인터네트워킹을 위한 경로를 찾게해주는 라우팅 프로토콜 

 


4. 계층 - 전송 계층(Transport Layer)

통신을 활성화하기 위한 계층이다. 보통 TCP프로토콜을 이용하며, 포트를 열어서 응용프로그램들이 전송을 할 수 있게 한다.

만약 데이터가 왔다면 4계층에서 해당 데이터를 하나로 합쳐서 5계층에 던져 준다

 

전송 계층이 패킷들의 전송이 유효한지 확인하고 전송 실패한 패킷들을 다시 전송한다는 것을 뜻한다.

가장 잘 알려진 전송 계층의 예는 TCP

 

 

TCP프로토콜

 

1. 신뢰성 있음

패킷 손실, 중복, 순서바뀜 등이 없도록 보장

TCP 하위 계층인 IP 계층의 신뢰성 없는 서비스에 대해 다방면으로 신뢰성 제공

 

2. 연결지향적

 UDP가 비연결성(connectionless)인 것과는 달리, TCP는 연결지향적

연결 관리를 위한 연결설정 및 연결해제 필요 

 


 

5. 계층 - 세션 계층(Session Layer)

데이터가 통신하기 위한 논리적인 연결을 말한다. 통신을 하기위한 대문이라고 보면 된다. 

이 계층은 TCP/IP 세션을 만들고 없애는 책임을 진다.

 

->

통신하는 사용자들을 동기화하고 오류복구 명령들을 일괄적으로 다룬다. 

통신을 하기 위한 세션을 확립/유지/중단 (운영체제가 해줌)

 


 

6. 계층 - 표현 계층(Presentation Layer)

데이터 표현이 상이한 응용 프로세스의 독립성을 제공하고, 암호화 한다.

 

표현 계층(Presentation layer)은 코드 간의 번역을 담당하여 사용자 시스템에서 데이터의 형식상 차이를 다루는 부담을 응용 계층으로부터 덜어 준다. MIME 인코딩이나 암호화 등의 동작이 이 계층에서 이루어진다. 

 

EBCDIC로 인코딩된 문서 파일을 ASCII로 인코딩된 파일로 바꿔 주는 것, 

해당 데이터가 TEXT인지, 그림인지, GIF인지 JPG인지의 구분 등이 표현 계층의 몫이다.

 

 


 

7. 계층 - 응용 계층(Application Layer)

최종 목적지로서 HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜이 있다. 

모든 통신의 양 끝단은 HTTP와 같은 프로토콜이지 응용프로그램이 아니다.

 

응용 계층(Application layer)은 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다. 

 


TCP/IP 4 계층

일반적으로, HTTP는 신뢰성 있는 데이터 전송을 위해 TCP를 사용하며, IP는 주소 지정과 라우팅을 담당

 

TCP/IP 에선 내가 www.google.com을 주소창에 치고 그 화면을 받을 때까지,

데이터가 4 계층에 걸쳐서 만들어지고, 다시 그 4 계층을 역으로 거치는 과정이 발생한다.

 

 

응용 > 전송 > 인터넷 > 이더넷 순으로 도달한 뒤 다시 거꾸로

이더넷 > 인터넷 > 전송 > 응용 계층을 거치는 과정이 발생하게 되는 것이다.

 

 

그리고 각 과정에선 '캡슐화'라는 과정이 일어난다.

이는 데이터가 계층에 의해 감싸지는 것이라고 쉽게 이해하면 된다.

 

쉽게 말해 내가 입력한 www.google.com이라는 데이터가 4단계에 걸쳐 4번 포장지에 싸여야

구글 서버의 문을 두드릴 수 있는 데이터가 된다고 생각하면 되고,

 

반대로 다시 거꾸로 4단계를 거쳐 포장지를 풀어야 구글에서 보낸 데이터를 내가 읽을 수 있게 된다.

그리고 그 단계의 과정마다 정해진 약속이 있다.

 

 

4 계층 - 애플리케이션 계층 (Application Layer)

 

OSI 7 계층의 세션 계층, 표현 계층, 응용 계층에 해당한다.

TCP/UDP 기반의 응용 프로그램을 구현할 때 사용한다.

프로토콜 – FTP, HTTP, SSH, SMTP

 

 

프로토콜 선택: HTTP 프로토콜을 선택하여 사용자의 요청을 처리합니다.
데이터 전송: 전송 계층에서 선택한 프로토콜을 사용하여 데이터를 서버로 전송합니다.

 

 

3 계층 - 전송 계층 (Transport Layer)

OSI 7계층의 전송 계층에 해당한다.

통신 노드 간의 연결을 제어하고, 신뢰성(에러 감지와 복구, 흐름 제어, 혼잡 제어 등) 있는 데이터 전송을 담당한다.

프로토콜 – TCP, UDP

 

 

포트 지정: TCP(Transmission Control Protocol) 또는 UDP(User Datagram Protocol)를 선택하고, 사용자의 요청을 전송할 포트를 지정합니다.

 

 

2 계층 - 인터넷 계층 (Internet Layer)

OSI 7계층의 네트워크 계층에 해당한다. 

통신 노드 간의 IP패킷을 전송하는 기능과 라우팅 기능을 담당한다.

프로토콜 – IP, ARP, RARP

 

 

IP 주소 할당: 네트워크 액세스 계층에서 생성된 데이터 프레임은 IP 주소가 할당되어야 합니다. DHCP(Dynamic Host Configuration Protocol) 등을 사용하여 IP 주소를 얻습니다.

 

 

1 계층 - 네트워크 액세스 계층 (Network Access Layer)

OSI 7 계층의 물리계층과 데이터 링크 계층에 해당한다.

물리적인 주소로 MAC을 사용한다.

LAN, 패킷망, 등에 사용된다.

 

사용자 요청: 사용자가 웹 브라우저를 열어 특정 웹 페이지에 접속하고자 합니다.
데이터 프레임 생성: 사용자의 요청은 데이터 프레임으로 변환됩니다. 예를 들어, 이더넷 프레임이 생성됩니다.

 


Reference

 

https://www.youtube.com/watch?v=k1gyh9BlOT8&list=PLXvgR_grOs1BFH-TuqFsfHqbh-gpMbFoy

'network' 카테고리의 다른 글

HTTP와 HTTPS  (0) 2024.03.03
TCP/IP 송수신 원리 (feat. nullnull)  (0) 2024.02.24
Comments