리팩토링

리팩토링 3주차 OSI 7계층

idea5021 2024. 8. 1. 23:19
목차

▷ OSI 7계층(Open System Interconnection)이란?


▷ 1계층 물리계층(Physical Layer)


▷ 2계층 데이터링크 계층(Data Link Layer)


▷ 3계층 네트워크 계층(Network Layer)


▷ 4계층 전송 계층(Transport Layer)


▷ 5계층 세션 계층(Session Layer)


▷ 6계층 표현 계층(Presentation Layer)


▷ 7계층 응용 계층(Application Layer)



 

OSI 7계층.pptx
0.50MB

 

 

 

 OSI(Open System Interconnection) 7계층이란?

OSI 7계층과 TCP/IP 4계층

 

네트워크 초창기, 즉 OSI 계층 같은 개념이 자리잡지 않고 체계가 잡혀있지 않은 TCP/IP를 사용했었다.  

서로 다른 컴퓨터 간의 통신은 불가능하고 같은 브랜드의 컴퓨터끼리만 통신이 가능한 시절 

이 문제를 해결하고자 일련의 공통 규칙, 즉 표준 규격을 만들었는데 그 규격이 OSI 7계층이다.

OSI 7계층을 4개의 계층 버전으로 간소화 시킨 것이 TCP/IP 4계층이다.

또한 어떠한 복잡한 문제를 해결하고자 할 때, 나누어 생각하기 위해(분할과 정복)  계층구조를 사용하게 되었다.

  

 

OSI 7계층에서의 통신 흐름

 

OSI 7계층에서는 통신 흐름은 어떻게 될가?

송신 호스트에서 데이터가 출발해서 최종적으로 수신 호스트에 도착할 때까지 송신 호스트에서는 응용계층 -> 물리계층

수신 호스트에서 전송 선로를 통해 물리계층 -> 응용계층으로 가는 모습을 그림으로 확인할 수 있다.

계층을 이동할 때마다 헤더가 붙거나 헤더가 제거되는 과정을 볼 수 있는데 

송신 컴퓨터에서 출발한 데이터에 헤더가 붙는 과정을 캡슐화라고 한다.

수신 컴퓨터에서 받는 데이터는 캡슐화의 반대인 역캡슐화 과정을 거치게 된다.

 


 

 1계층 물리계층(Physical Layer)

1계층 물리계층

 

① 물리 계층은 말 그대로 컴퓨터 또는 시스템 간에 전기신호로 두 시스템을 연결해주는 장치이다.

② 더 세부적으로는, 송신 컴퓨터가 보낸 데이터를 전기신호로 변환해서 수신 컴퓨터로 보내는 역할만을 수행한다.

③ 전송받으려는 데이터가 무엇인지, 어떤 에러가 있는지는 전혀 신경 쓰지 않는다.

컴퓨터는 0 또는 1로 이루어진 2진수 형태로 비트열 데이터로 이해를 하지만 실질적으로는 2진수 형태의 비트열 데이터를 전기신호로 변환해야 컴퓨터가 진짜로 이해를 할 수 있다.

 

전송단위(PDU): bit

⑥ 장비: 리피터, 허브, 랜카드

⑦ 프로토콜 : Modem, RS-232C 등

LAN 카드

 

비트열에서 전기신호로의 변환은 LAN(Local Area Network) 카드가 수행을 한다.

하지만 랜카드는 전송되어 온 비트열의 데이터를 전기신호로 변환만 해주는 장치이다.

따라서 랜카드 말고 변환된 전기신호를 다른 곳으로 전송해주는 장치가 필요한데 이 장치가 리피터(Repeater)장치이다.

 

리피터 장치

 

전기신호는 전선이라는 선을 통해서 전송이 된다. 리피터 장치는 전선의 역할을하며 전기신호를 주기적으로 증폭시켜주어 전기 신호가 전송될 수 있도록 해준다. 따라서 랜카드와 리피터 장치로 두 컴퓨터 간의 통신을 가능하게 해준다. 

하지만 만약 두 컴퓨터 간에 물리적인 거리가 매우 멀다면 리피터가 증폭을 시킨다고 해도 신호가 약해져서 통신이 어렵게 될 것이다. 또한 리피터는 1:1 관계에서만 통신이 가능하다는 단점도 가지고있다.   

 

허브 장치

 

 

리피터의 단점을 극복하기 위해 나온 장치가 허브(Hub)이다.

허브는 리피터와 달리 N:N관계 통신을 지원한다.

또한 장점으로는 허브는 여러대의 컴퓨터를 연결할 수가 있으며 리피터처럼 전기 신호를 증폭시키는 역할도 할 수 있다.

하지만 단점으로 데이터 전송 시, 허브에 연결된 모든 컴퓨터에 무조건 데이터가 다 전송이 된다는 단점이 존재한다.

 


 

 2계층 데이터링크 계층(Data Link Layer)

2계층 데이터링크 계층

 

① 데이터 링크 계층은 물리적인 연결을 통하여 인접한 두 장치 간의 신뢰성 있는 정보 전달(Point to Point)을 담당한다.

물리계층에서 송수신되는 데이터의 전송 오류를 감지하는 기능을 제공, 오류 감지 시 재전송한다. 혼잡제어도 한다. 전기신호를 데이터로 변환하는 과정

CRC(Cyclic Redundancy Check) 사용

③ 물리적인 주소 MAC주소를 가지고 통신한다. 논리적인 주소 LLC주소도 있다.

*LLC : 두 장비간의 링크를 설정하고, 프레임을 송수신하는 방식과 상위 레이어 프로토콜의 종류를 알리는 역할 

 

전송 단위(PDU) : 프레임(Frame)

⑤ 장비 : 브릿지, 스위치 등

⑥ 프로토콜 : 이더넷, MAC, PPP 등

 

 

 


 

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

 

3계층 네트워크 계층

 

경로(Route)와 주소(IP)를 정하고 패킷을 전달해주는 역할이다, 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할이다. 

② 목적지까지 가장 안전하고 빠르게 데이터를 보내는 기능을 말한다. 따라서 라우팅 알고리즘을 사용하여 최적의 경로를 설정해야한다.

 

라우팅 프로토콜

 

라우팅 프로토콜 : 라우터가  패킷을 어디로 보낼지 결정하는 프로토콜

 정적 라우팅 : 경로를 네트워크 관리자가 수동으로 설정

 동적 라우팅 : 라우터가 네트워크 상태에 따라 라우팅 경로를 자동으로 결정

 IGP : 하나의 자치 시스템 내에서 사용되는 라우팅 프로토콜

 EGP : 서로 다른 자치 시스템간 라우팅에 사용되는 프로토콜

 거리벡터 알고리즘(Distance Vector Algorithm) : 각 라우터가 인접한 라우투까지의 거리( 홉 수 )와 방향 정보만을 라우팅   테이블에 기록 

 링크상태 알고리즘(Link State Algorithm) : 각 라우터가 전체 네트워크의 링크 상태정보를 가지고 SPF알고리즘을 사용하   여 최적의 경로를 결정

 RIP : 벨만-포드 알고리즘을 사용하는 홉 수 기반 라우팅 프로토콜

 OSPF : 다익스트라 알고리즘을 기반으로 하는 링크 상태 라우팅 프로토콜

 BGP : 대규모 네트워크에 적합한 path vector 기반 라우팅 프로토콜

 

 

③ 전송되는 데이터는 패킷단위로 분할하여 전송한 후 다시 합쳐진다.

전송 단위(PDU) : 패킷(Packet)

⑤ 장비 : 라우터, L3 스위치

⑥ 프로토콜 : IP, ICMP 등

 


 

 4계층 전송 계층(Transport Layer)

 

4계층 전송 계층

 

EndPoint의 사용자들이 신뢰성 있는 데이터를 주고받게 해주는 역할

② 오류 검출 및 복구, 흐름 제어와 중복검사 등을 수행

③ 패킷들의 전송이 유효한지 확인하고 전송 실패한 패킷들을 다시 전송

④ 전송 단위(PDU) : 세그먼트(Segment), 데이터그램

⑤ 장비 : 게이트웨이(GateWay)-> 물리적이아니라 논리적으로 존재, L4스위치

⑥ 프로토콜 : TCP, UDP,  ARP 등

 

TCP

  • 대부분 TCP 사용
  • 신뢰적인 전송 보장(패킷 손실, 중복, 순서 바뀜 등이 없도록 보장) - ACK 사용
  • IP가 처리할 수 있도록 데이터를 여러 개의 패킷으로 나누고, 도착지에서 완전한 데이터로 패킷을 재조립
  • 데이터 전송 단위 : 세그먼트

UDP

  • 비연결성, 비신뢰성 서비스
  • TCP와 다르게 패킷을 나누고 재조립하는 과정 없이, 수신자에서 제대로 받든 말든 상관하지 않고 데이터를 보내기만 한다 -> 에러와 그에 따른 재전송, 대체는 애플리케이션으로 처리해야한다
  • 속도가 빠르다 -> Real Time 서비스에 사용하면 좋다
  • 데이터 전송 단위 : 데이터그램

 


 

5계층 세션 계층(Session Layer)

5계층 세션 계층

 

① 통신 세션을 구성하는 계층으로, 포트번호를 기반으로 연결한다.

② 통신 장치 간의 상호 작용을 설정하고 유지하며 동기화한다.

③ 동시 송수신(Duplex), 반이중(Half-Duplex), 전이중(Full-Duplex) 방식의 통신과 함께 체크 포인팅과 종료, 다시 시작 과정 등을 수행한다.

④ 세션 : 클라이언트와 웹 서버 간 네트워크 연결이 지속 유지되고 있는 상태

네트워크 상 양쪽 연결을 관리하고 연결을 지속 시켜주는 계층

세션 생성, 유지, 종료, 전송 중단 시 복구 기능 수행(OS가 세션 계층으로 이 역할 수행),  통상적으로는 클라 - 서버 연결이지만 클라 - 클라 또는 연결하고자 하는 누구나 가능하다.

⑦ TCP/IP 세션을 만들고 없애는 역할

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

⑨ 프로토콜 : NetBIOS, SSH, TLS

전송단위(PDU) : 메시지, 데이터

 


 

 6계층 표현 계층(Presentation Layer)

 

6계층 표현 계층

 

응용 계층으로부터 전달받거나 전송하는 데이터의 인코딩 - 디코딩 및 암호화 등이 이루어지는 계층 

  ex) 그림 파일의 확장자를 붙이는 계층 .jpg 같은 것

② 코드 간의 번역을 담당하여 데이터의 형식상 차이를 다루는 부담을 응용계층으로부터 덜어준다.

③ 프로토콜 : JPG, MPEG 등

전송단위(PDU) : 메시지, 데이터

 


 

 7계층 응용 계층(Application Layer)

 

7계층 응용계층

 

사용자 인터페이스, 응용 프로그램 간 통신을 관리한다.

  ex) 우리가 사용하는 프로그램을 취급하는 계층으로 파일을 전송할때 FTP를 사용하는 것처럼

② 사용자와 직접 접하는 유일한 계층

③ 대표적인 프로토콜 : HTTP, DNS, Telnet 

전송단위(PDU) : 메시지, 데이터

'리팩토링' 카테고리의 다른 글

리팩토링 5주차 OSI 7계층 장비  (2) 2024.08.15
리팩토링 4주차 UDP  (0) 2024.08.09
리팩토링 4주차 TCP  (0) 2024.08.09
리팩토링 2주차 자유주제(피싱에 대하여)  (0) 2024.07.30
리팩토링 1주차  (0) 2024.07.30