컴퓨터네트워크) OSI 7 Layers

서진·2023년 4월 20일

컴퓨터네트워크

목록 보기
1/9

OSI 7 Layer

서로의 운영체제에 관계없이 이기종간의 디바이스들이 네트워크에서 커뮤니케이션하기 위한 기본

각 계층별로 고유한 기능을 가지는 모듈로 설계됨. (각 계층별로 하는 일이 정확하게 정해져있음)

현재는 TCP/IP를 기반으로 하지만 이는 OSI 7 Layer에 기반을 두고 있음.

1~3계층 : 하드웨어 계층
4~7계층 : 소프트웨어 계층

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

대표적인 장치 : LAN
사용되는 데이터 : 비트 (bit)

사용자 데이터를 물리 매체 상에서 통신 가능한 신호로 변환하여 데이터를 전송할 수 있는 형태로 변환

1계층에서는 오류를 제어할 수 없음

구리선(UTP 케이블)
- 다이렉트 케이블 : 서로 다른 계층(장치) 연결에 사용
- 크로스 오버 케이블 : 서로 동일한 계층의 장치에 연결
-> Auto-MDIX : 크로스가 연결되어야 하는 부분에 다이렉트가 연결되어 동작하도록

Topology : 네트워크의 end device들이 어떻게 연결되어 있는지 보여주는 것


대표적인 장치 : 스위치
사용되는 데이터 : 프레임 (Frame)

  • 서로 다른 주변 네트워크 장치들이 데이터를 주고받을 수 있게 한다

    1) 프레이밍 : 물리 계층에서 수신한 신호를 조합하여 프레임 단위의 데이터로 만든다.
    2) 흐름제어 : 송신 측과 수신측 간의 흐름을 제어한다.
    (ex. 하나의 PC에서 너무 많은 데이터를 보내면 제어)
    3) 오류제어 : 하드웨어 계층에서의 오류제어

  • 프레임 전달 (데이터 전달)을 MAC Table을 사용한 MAC 주소를 사용한다.

Flooding
: 스위치가 MAC 주소를 학습하는 방법. 올라온 포트를 제외한 나머지 포트에 frame을 복사해서 전달한다. PC1이 보고 자신이 목적지가 아니면 폐기. PC2가 보고 자신이 목적지면 회신한다. 이 과정에서 스위치가 MAC 주소를 학습하여 MAC Table을 완성한다.
-> 이후에는 flooding을 하지 않고 유니캐스트 통신(1:1 통신)을 한다.

aging Time
: 스위치가 MAC-Table을 스위치의 메모리에서 유지하는 시간을 말한다. (보통 5분)

sequence Number
: 데이터를 여러개로 잘라서 보낼 때, 보낸 순서대로 도착하는게 아니므로 쪼갠 것을 다시 합칠 때 문제가 발생할 수 있다. 따라서 쪼개고 sequence nubmer을 붙여서 이것을 기준으로 재조립한다.


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

대표적인 장치 : 라우터
사용되는 데이터 : 패킷 (Packet)

IP 주소를 기반으로 패킷을 전달하는 계층
1) 패킷 전달 : 종단간의 패킷 전달 수행 - ICMP 프로토콜로 확인
2) 라우팅 : 라우팅 프로토콜을 기반으로 효율적인 경로를 성택하여 패킷 전달

  • 라우팅 프로토콜
    : 라우터가 패킷을 수신하면 어떤 경로로 패킷을 전송할 것인지 결정하는 것으로, 라우터가 정하는 것이 아니라, 어떤 라우팅 프로토콜로 구성되어 있는지에 따라 다름

  • ICMP 프로토콜 : ping 명령어를 통해 네트워크 상에서 각각의 장치가 잘 연결되어 있는지 알아볼 때 사용
    : ping = echo Request + echo Reply

  • IP (Internet Protocol)
    : 주소로 사용되고 v4와 v6

  • ARP (Address Resolution Protocol)
    : IP주소를 기반으로 MAC 주소를 찾을 때 사용 (ex. Flooding)

  • RARP (Reverse ARP)
    : MAC 주소를 기반으로 IP주소를 찾을 때 사용


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

사용되는 데이터 : 세그먼트 (segment)

1) 흐름 제어
2) 혼잡 제어 : 대기하는 패킷의 수를 줄여서 혼잡을 방지하고 송신측 전송을 억제하는 방법으로 사용됨
3) 오류 제어 : 소프트웨어 계층에서의 오류제어

-> 세그먼트 헤더에는 포트 주소소켓 주소가 포함됨.
포트 주소 : 목적지에 도착해서 이 서버의 어떤 포트 번호를 쓸 것인지, 어떤 포트로 데이터를 전달할 것인지


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

사용되는 데이터 : 메시지 (Message)

세션을 연결하고, 연결을 해제한다. 즉 통신의 시작과 종료를 정의한다.

  • 세션 : 두 포트 번호가 서로간의 통신을 하게되는 하나의 가상 회선

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

데이터를 어떻게 표현하는지 정의하는 계층 (ex. 확장자)
암호화를 통해 데이터의 보안을 높일 수 있다.
데이터 압축 기능을 지원한다.


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

응용 프로그램과 통신 프로그램 사이에서 이를 연결하는 역할
(사용자가 어떠한 서비스를 받을 수 있게끔 연결)
사용자와 가장 가까운 계층

EX)
Http 프로토콜 / FTP (파일 전송 프로토콜) / SMTP (메일 전송 프로토콜) / SNMP (네트워크 장비들이 포트의 status나 사용자들이 어떤 서비스를 많이 쓰는지 모니터링) / Telnet (일반 원격접속) / SSH (암호화 원격접속) / https (http의 보안이 강화된 버전)


캡슐화

계층별로 각 계층의 특징을 나타낼 수 있는 것을 데이터 유닛의 맨 앞에 헤더로 붙여서 상호 데이터를 주고 받는다.

profile
🫧 ☁️ 🌙 👩🏻•💻 🌿 🐱 🖱 🍟 🚀 ⭐️ 🧸 🍀 💗

0개의 댓글