[ OSI 7 계층 정리 ]

김동규·2024년 5월 8일
0

OSI 7계층이란?

네트워크 통신이 일어나는 과정을 7단계로 나눈 국제 표준화 기구(ISO)에서 정의한 네트워크 표준 모델 1계층 ~ 7계층 까지 구성되어 있으며, 각 계층을 지날 때 마다. 각 계층에서 Header가 붙고 수신측은 역순으로 헤더를 분석하게 된다.

  1. 물리계층
  2. 데이터 링크 계층
  3. 네트워크 계층
  4. 전송 계층
  5. 세션 계층
  6. 표현 계층
  7. 응용 계층

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

OSI 7 계층 모델 상의 최하위 계층
단말기기와 전송매체 사이의 인터페이스를 정의하고, 데이터 링크 계층(2계층) 엔티티 간의 비트 전송을 위해 물리적(기계적, 전기적, 기능적, 절차적) 수단을 제공하는 계층

전기적, 기계적 기능적인 특성을 이용해 통신 케이블로 데이터를 전송하는 물리적인 장비 (통신 케이블, 리피터 허브 등...)
사용되는 통신 단위: 비트(Bit)이며 1과 0으로만 나타내지는, 전기적으로 on, off 상태이다.
장비: 통신 케이블, 리피터, 허브

주요 기능

  1. 전기적 신호 규격을 정의함 (전송속도, 신호의 레벨 등)
  2. 신호의 인코딩/ 디코딩 (선로 부호화)
  3. 비트 동기 (프리엠블 처리 등)
  4. 전송매체 규격 (매체 종류, 케이블링 커넥터 등.. / 토폴로지 구격도 포함 가능)
  5. 물리적 회선 관리 (DTE와 DCE간에 성립되는 물리적 회선에 대한 작동유지,작동 중지 등을 규정)

OSI 계층 모델 상에서 2계층
잡음이 있는 인접 노드간의 물리적인 회선을 상위 망계층(Layer 3)이 신뢰적으로 사용할 수 있도록 전송에러가 없는 통신 채널로 변환시키는 계층

물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 통신의 흐름을 관리
프레임에 물리적 주소(MAC address)를 부여하고 에러검출, 재전송, 흐름제어를 수행
사용되는 전송 단위: 프레임(Frame)
장비: 브릿지, 스위치, 이더넷 등 (여기서 MAC주소를 사용한다.)
-> 브릿지나 스위치를 통해 MAC address를 가지고 물리계층에서 받은 정보를 전달

오류 검출 과정

오류 검출의 예시: 기존 AA 주소 컴퓨터에서 스위치를 통해 DD로 데이터를 보낼 떄 AA|DD|0100011로 보낸다. 이번엔 그 뒤에 추가로 오류를 검출할 수 있는 코드를 추가한다. (캡쳐에는 0x1A4D)

AA|DD|0100011|0x1A4D(추가) 해당 데이터가 잘 보내졌는지 확인할 수 있는 코드가 추가 되었고, 아래 과정을 거치며 오류 확인을 할 수 있게된다.

  1. 송신 측(AA)에서 계산을 수행하여 오류 확인 코드 생성.
  2. 이 코드를 데이터 뒷부분에 추가되어 함께 전송
  3. 수신측(DD)에서 도착한 오류코드에 대해 동일한 계싼을 수행
  4. 수신 측에서 계산한 값과 프레임에 포함된 원래의 값을 비교
  5. 두 값이 일치하면, 데이터 전송이 정상적으로 이뤄진 것으로 판단.
  6. 일치하지 않을 경우 -> 오류가 발생한 것으로 간주하고 재전송을 요청

주요 기능

  1. 물리 계층 비트열을, 전송/운반/전달하는 역할
  • 데이터를 링크화시켜 정확하고 안정적, 신뢰적으로 전송시킴
    ※ 2계층 관련 구현이 매우 다양함
  • HDLC, PPP, FDDI, PDH/SDH, ATM, Frame Relay, 이더넷, 무선LAN, 이동통신 등
  1. 프레이밍(Framing)
  • 데이터를 프레임(frame)으로 그룹화, 데이터의 프레임화를 물리계층에 의해서 제공되는 비트 파이프(Pipe)를 패킷(또는 프레임)화된 링크(Link)로 변환
  • 전송할 데이터를 전송단위로서의 패킷(또는 프레임)으로 나눠 그룹화시키는 역활
  1. 흐름제어
  • 보내는 측과 받는 측간의 속도차를 보상
  1. 에러제어
  • 에러 보정을 위한 에러제어 등의 기능들을 제공
  • 물리 전송매체의 특징상 오류와 잡음이 랜덤하게 발생활 확률이 높으므로 전송 오류를 검출하고 이것을 수정
  • 정확하게 수신되지 않은 패킷들을 재전송 (송신 측에서 타이머와 ACK신호에 의해 전송에러를 알 수 있음)

ACK란?: 확인응답(Acknowlegment)로 송신메세지가 정상 수신되었음을, 수신측에서 송신측으로 확인 응답하는 것
용도: 오류제어 및 흐름제어를 위해 사용
방법: 통상, 데이터프레임 안에 포함시켜 응답함

  1. 순서화 (Sequencing)
  • 패킷이나 ACK 신호를 잘못 혼동하는 것을 피하기 위해서는 패킷과 ACK 신호에는 Sequence number(일련번호)가 부여되어야만 함 -> 위의 예시에서는 '0100011'가 해당
  1. 데이터 링크 연결 관리 (Data Link Connection Management)
  • 두 노드 간에 데이터 링크의 설정, 유지, 단락 및 데이터 전송들을 제어
  1. 매체접근제어 (Media Access Control)
  • 다양한 매체 및 회선형태의 수용 및 다중 사용자 접근 등
  1. 데이터 링크 내 노드간 식별성 제공

※ 궁극적으로 데이터링크 프로토콜은 인접한 기기 사이의 통신을 관리하고, 신뢰도가 낮은 전송로를 신뢰도가 높은 전송로로 전환시키는데 주로 사용

물리 계층과 데이터링크 계층간의 비교

항상 물리 계층(1계층) 상에서는 '잡음','간섭','왜곡','지연' 등의 영향을 받게 됨 따라서 잡음 있는 인접 노드 간을 전송에러 없는 통신 채널로 변환 필요 (2계층-데이터 링크 계층)

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

OSI 7계층모델에서 3계층에 해당되는 계층
인터넷에서 서브네트워크 간의 연결(패킷 전달)하는 역할을 담당하는 계층

  • 인터넷: 라우터들에 의해 분할 연결된 서브네트워크들의 모음
    이 계층의 대표적인 프로토콜로는 IP및 X.25가 있음

데이터를 목적지까지 가장 안전하게 빠르게 전달
라우터(Router)를 통해 경로를 선택하고 주소를 정하고(IP) 경로(Route)에 따라 패킷을 전달 > IP 헤더가 붙음
전송되는 단위: 패킷(Packet)
장비: 라우터(Router)

주요 기능

  1. 경로제어(라우팅)
  • 단말기 혹은 커퓨터가 어떤 망에 접속되어 있을 때 송신하고자 하는 정보가 망을 통해서 어떻게 상대방의 수신측까지 전달되는지 제어하는 일을 담당 (발신에서 착신까지의 패킷 경로를 제어)
  • 하나 이상의 복수 통신망을 통한 중계를 하며, 개방시스템 간의 데이터를 전송

※라우팅: IP주소를 기반으로 통신 데이터를 보낼 최적의 경로를 선택하는 과정으로 라우터에서 담당.

  1. 투명성
  • 상위 계층인 전송계층 (4계층)의 경로선택과 중계 등, 망계층 고유의 기능에 대하여 의식하지 않도록 투명하게 하는 역할
  1. 논리적 주소체계 부여 (IP 주소)
  • 라우팅과 관련된 주소의 지정 등 주소체계 정립
  1. 연결지향성 및 비연결성 서비스 제공
  • 망계층은 상위의 트랜스포트 계층에게 연결지향성 및 비연결성 서비스 모두를 제공, 연결지향 서비스는 연결의 설정, 사용, 해제를 위한 가장 기초를 가짐

4계층-전송 계층(Transport Layer, Host-to-host Layer)

OSI 7계층의 4계층에 해당
양단간에 어떤 종류의 망이 사용되었는지를 의식하지 않고, 쌍방 응용프로세스간에 투명하고 신뢰성 있게 양단 간의 논리적인 통신을 이루는 계층

종단간 양 호스트 내의 응용 프로세스 상호 간의 통신을 지원

  • Port 번호, 전송방식(TCP/UDP) 결정 -> TCP 헤더 붙음
  • 두 지점간의 신뢰성 있는 데이터를 주고 받게 해주는 역할
  • 신호를 분산하고 다시 합치는 과정을 통해 에러와 경로를 제어

주요 기능 및 특징

  • 가장 핵심적인 계층이며 또한 가장 복잡한 계층
  • 소프트웨어적인 상위 3개의 계층과 하드웨어적인 하위 3개의 계층 사이에서 중간적인 성격을 띔
  1. 네트워크가 아닌, 호스트 내에서 구동된 프로세스 사이의 연결 확립(End-to-End)
  • 트랜스포트 계층은 정보전달을 두 호스트(host-to-host)간 보다는, 주로 프로세스 간 (process-to-process)의 통신으로 바꿔줌
  • 양 호스트의 종단간 응용 프로세스 상호 간의 통신을 지원
  1. 투명한 전송
  • 바로 상위 또는 하위의 계층에서 사용하는 제어방법 및 그 내용에 관계없이 정보가 세션계층 - 전송계층 - 망계층 간에 내용이 바뀜없이 투명(Transparent)하게 전송
  • 즉 경로 선택이나 중계기능에 관여하지 않으며, 양단간(end-to-end)데이터의 투명한 양방향 전송 기능을 제공
  1. 두 종단 프로세스 간에 성립된 세션 제어
  • 세션(Session)을 갖고 있는 두 이용자 사이의 전송을 위한 종단 간 제어
  1. 신뢰적 전송 지원
  • 동일 또는 이기종 시스템간에 어떤 망(공중망: PSTN, 패킷공중데이터망: PSDN 등)이 어떻게 연결되었든 간에 관계없이 정보를 틀림없이 상대 단말기에 전달
  • 논리회선(세션, 가상회선 등) 가능
  1. 다중화 & 역다중화 지원
  • 동시에 여러 개의 논리적 연결을 가능하게 하는 다중화(Multiplexting)
  1. 지연(Delay)에 따른 왜곡 및 대역폭 부족에 대한 일부 보상

전송 계층 프로토콜의 복잡성

  • 네트워크 계층(3 layer)로 부터 얻은 서비스의 형태(연결지향성 및 비연결성)에 따라, 전송 계층 프로토콜의 크기와 복잡성이 결정

  • 만일 망계층에서 가상회선 능력이 있고, 신뢰할 수 있는 통신 지원이 있으면 전송 계층의 기능이 최소로 축소될 수 있지만, 그 반대의 경우 전송계층이 에러감지와 회복을 위해 많은 노력을 해야 함 (TCP의 경우)

전송 계층 프로토콜(Transport Protocol)들의 예시

TCP/IP 에서는 다음과 같은 프로토콜들이 트랜스포트 계층에 존재: TCP, UDP, SCTP 등.. 이러한 프로토콜들이 상위 계층 응용 프로세스를 식별하는 수단 -> 포트번호

TCP 특징

  • 양단 프로세스 간에 다중 연결 식별이 가능함
  • 식별은 소켓주소에 의함 : 소켓주소 = (송신,수신 IP 주소 + 포트번호)
  • 각 TCP 연결마다 독립적으로 관리됨
  • 신뢰성, 연결지향적

UDP 특징

  • 연결성이 없으므로, 단지 1개의 소켓 구조만 있으면 가능하다.
  • 비신뢰성, 비연결성, 실시간

SCTP 특징

  • UDP, TCP 장점들 만을 취하였으나, NAT,방화벽 통과시에 문제가 있어 대용량 및 낮은 지연을 요하는 전송에만 주로 사용한다.

이러한 프로토콜들을, 하위 IP 계층에서 구분하는 수단 : IP 헤더 내 프로토콜 필드(Protocol ID)

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

  • 통신계층 네트워크 상에서, 양 종단간 일회용 논리적 연결 SVC(가상회선), TCP 세션 등..

  • 다중처리시스템 다중사용자 컴퓨터에서, 한 사용자가 로그인 후 ~ 로그아웃 까지의 경과 -> 이 경우 사용 이력 기록을 세션 로그(Log)라고 함

  • 주 지점간의 프로세스 및 통신하는 호스트 간의 연결을 유지

  • TCP/IP 세션 체결, 포트 번호를 기반으로 통신세션 구성

  • API,Socket

※ 통상, 서버 등 다중 세션 가능 장비들은 수없이 많이 연결된 동시 세션의 처리 능력을 갖춰야 한다.

세션 계층, 세션 프로토콜, 세션 키

세션 계층(Session Layer)

  • OSI 7 계층 모델의 5계층에 해당하며, 종단 호스트 프로세스 간에 세션을 생성, 유지, 종료하는데 필요한 여러 기능을 제공한다.

세션 설정 프로토콜

  • 세션의 설정, 변경 해제와 관련된 프로토콜 (SIP, SDP 등..)

세션 키(Session Key)

  • 하나의 논리적 세연결 세션 동안만 유효한 암호키

주요 기능

  1. 세션의 설정, 관리 해제 (Session manage)
  • 세션을 설정 및 해제하는 기능
  1. 대화 관리 (Dialogue manage)
  • 통상, 토큰을 사용함으로써 대화를 관리
  • 성립된 세션을 통한 상호 대화 관리를 하는 양단간 응용 개체를 위해 토큰 개념이 정의됨
  • 누가 언제 통신하였는지를 결정하며, 토큰을 교환함으로써 구현
  • 프로세스는 토큰을 가졌을 때 전송할 수 있음

여기서 토큰은, 어떤 서비스의 실행을 기동하는 권리를 표현하는 것

  1. 다중화(Multiplexing)
  • 효율을 높이기 위해, 여러 세션들을 묶어서 1개의 같은 전송계층 접속을 사용할 수 있음 이와 반대로 1개 세션이 속도 등을 위해 다수의 전송계층 접속들을 사용할 수도 있다.
  • 따라서 전송 계층에서와 같이 세션 계층에서도 상향, 하향 다중화가 가능
  1. 대화 단위별 그룹화(check point, synchronization)
  • 세션 계층은 전송시 점검점, 동기점 등을 삽입함으로써 메세지를 대화 단위로 그룹화 함
  • 만일, 중간에 에러가 발생하면 중단된 대화 단위부터 전송을 다시 시작함
  1. 데이터의 범주화 교환
  • OSI는 데이터를 4가지 범주로 구분한 바 있다. (정보 데이터, 급송 데이터, 제어 데이터, 세션 파라미터 협상에 사용되는 데이터)

세션 계층 예시

통신 중 세션 형태: TCP 세션 등

네트워크 지원용 API : Socket, RPC, NFS, SMB, NetBIOS 등

데이터베이스 쿼리용: SQL

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

OSI 7계층 중 6 계층에 해당
네트워크 상의 여러 이기종 시스템들이 저마다 다른 데이터 표현 방식을 사용하는데, 이를 하나로 통일된 구문 형식으로 변환시키는 기능을 수행하는 계층

  • 전송하는 데이터 표현방식을 결정(ex. 데이터 변환, 압축, 암호화 등)
  • 파일 인코딩, 명령어를 포장, 압축, 암호화
  • JPEG, MPEG, GIF, ASCII 등

표현 계층의 역할

데이터 값이 여러 다양한 시스템에서 다른 방법으로 표현 및 저장됨

  • 정수형 값은 시스템에 따라 16비트, 24비트, 36비트 등으로 표현되므로, 두 응용 계층 프로토콜 개체가 서로 통신할 때 양쪽 개체 간의 메세지가 같은 뜻 (공통의 어휘)로 교환되어야 함

  • 따라서 두 응용계층 간의 메세지 교환은 동일한 가상의 문법이 상호 합의되어 있어야 함 (이러한 번역기/변환기 역할을 수행하는 계층이 표현계층)

주요 기능

  1. 응용 계층(7 layer)의 다양한 표현양식(Syntax)을 공통의 형식으로 변환

  2. 암호화 (Encryption)

  3. 암축(Compression)

  4. 코드 변환

  • 서로 다른 상이한 형태의 코드변환 (ASCII, EBCDIC, binary 등), 파일 변환, 문장 축소화 등의 기능 수행
  1. 가상 터미널 규약
  • 라인과 스크린의 길이, 라인의 종료 약속, 페이지 모드, 커서의 특성 등이 상호간에 다르므로 가상적인 터미널을 만든다.

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

OSI 7 계층의 최종 목적지로, 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행(ex. explore, chrome 등..)

응용(어플리케이션), 응용 프로그램, 응용 계층

응용(Application)

  • 다양한 범주의 정보처리 기능들을 총칭 (컴퓨팅 작업)

응용 프로그램(App)

  • 컴퓨터 사용자와의 상호작용을 통해, 특정 작업을 처리하는 특정 소프트웨어를 칭함

응용 계층(Application Layer)

  • 여러 하위 통신 프로토콜 개체들에 대해, 사용자 관점의 인터페이스를 제공하는 통신 계층

응용계층 내 프로세스 간의 통신

  • 응용계층 프로세스들 사이의 통신은, 하위 표현계층이 제공하는 서비스를 이용한다. 즉 데이터의 형식을 정하고(format), 부호화하고(code), 암호화하고(encrypt), 압축하는 서비스를 통하여 이뤄진다.

응용 프로세스 예시

  • 전자메일, 가상단말, 파일 송&수신, 웹 응용 등

응용계층 관련 프로토콜

  • OSI 프로토콜: FTAM, CMIP 등
  • TCP/IP 프로토코리 FTP(파일 전송), SMTP(메일전송), HTTP(웹문서 전송), TELNET(문자단말) 등

[참조]
https://lxxyeon.tistory.com/155
https://rf-yeolmu.tistory.com/138
http://www.ktword.co.kr/test/view/view.php?no=424

profile
안녕하세요~

0개의 댓글