본문 바로가기

IT/network

[네트워크] OSI 7계층(Physical Layer, Data Link Layer)

OSI 7계층

- OSI : Open System Interconnection의 약어

- 초창기 컴퓨터 간의 통신 시 하드웨어와 소프트웨어의 호환을 감안하지 않고 개발하였음

- 이에 따라 국제 표준화기구(ISO : International Organization for Standardization)에서 서로 다른 컴퓨터 간의 통신 기능을 7계층으로 구분하여 각 계층마다 표준화된 서비스와 프로토콜을 규정

- 이에 따라, 서로 다른 환경의 컴퓨터 간에도 통신이 가능해졌고, 문제 발생 시 계층별 원인 분석을 통한 해결이 가능해짐  

<OSI 7 Layer Model>

  물리 계층 데이터 링크 계층 네트워크 계층 전송(Transport) 계층 세션 계층 표현(Presentation) 계층 응용(Application) 계층

<물데네트세프응 으로 외웠음>

 

캡슐화와 역캡슐화(Encapsulation and Decapsulation)

응용계층에서 시작하여 맨 하위 계층인 물리 계층까지 내려가는데 계층을 내려갈 때마다 데이터 앞에 계층 정보(기능과 관련된 정보)를 포함하는 헤더(header)가 붙게 된다. 이때  헤더를 붙이는 과정(혹은 트레일러)을 encapsulation이라고 하며, 반대로 1계층에서 7계층까지 갈 때 헤더를 제거하는 과정을 decapsulation  이라고 한다.  

encapsulationdecapsulation에서 언급되는 헤더(header)는 전송할 때 필요한 정보이므로 실제 송신자가 수신자에게 전달할 필요가 없는 정보이다.(, 컴퓨터에게 필요한 정보이지 사람은 알 필요가 없다. 헤더정보는 해커들이 좋아하는 정보이다.)

<Encapsulation과 Decapsulation>

물리 계층과 응용 계층을 제외하고 나머지 계층에서는 데이터의 시작과 끝부분에 헤더(, 머리 부분)나 트레일러 형태(, 꼬리 부분)로 정보를 추가한다.

 

들어가기에 앞서 알아두면 좋은 것

상위 계층이나 하위 계층 사이에 주고 받는 것을 SDU : Service Data Unit 이라고 하며 같은 계층에서 주고받는 것을 PDU : Protocol Data Unit 이라고 한다.  

데이터 단위는 상위 계층이 전송하려는 데이터인 SDU에 제어 정보인 PCI : Protocol Control Information를 추가한 것이며, 흐름 제어 정보, 오류 제어 정보, 주소 정보 등이 포함되어 있다.  

단위는 패킷(packet)이라고 하며, 데이터 링크 계층의 PDU는 프레임(Frame), 네트워크 계층의 PDU는 패킷(packet), 전송 계층의 PDU는 세그먼트(Segment)로 라벨이 붙는다.

쉽게 설명하면 headerPCI, 데이터는 SDU이고 PCI + SDU = PDU이다.

서로 다른 컴퓨터 네트워크에서 데이터를 전송할 때 중간 노드(라우터, 스위치 etc)는 물리, 데이터, 네트워크 계층을 다룬다.(전송, 세션, 표현, 응용 계층은 다루지 않음)

이를 통해 한가지 알 수 있는데, 1,2,3계층(물리~네트워크)은 네트워크와 접속할 때 필요하고 4~7계층(전송~응요)은 사용자와 접속할 때 필요하다는 것이다.

 

TCP/IP

네트워크를 공부하다 보면, TCP/IP를 가장 많이 들어봤을 것이다. 이는 OSI 7계층을 4계층으로 단순화 하면 쉽게 이해할 수 있다.

<TCP/IP 4 Layer>

위 그림은 외워두는게 편하다.

OSI 4계층으로 단순화된 이 모델을 TCP/IP 모델이라고 하며 계층별로 다양한 프로토콜이 존재한다.

<Protocol>

 

물리 계층(Physical Layer) - 전기적 신호 처리

<Physical Layer Frame>

- 프레임(Frame)이라는 단위를 사용

- 시스템과 장치를 연결하기 위해 사용

- 신호의 전기적 특성과 데이터 전송에 필요한 순서를 정의

- 전기적 신호를 복원, 증폭하기 위해 리피터를 사용, 전기 신호를 보내기 위해 허브를 하지만 최근에는 다른 네트워크 기기들이 증폭기능(리피터의 기능)과 허브의 기능(스위치가 대신 함)을 동시에 수행함

 

데이터 링크 계층(Data Link Layer) - 데이터 전송 및 오류 검출

<Data Link Layer>

- 물리적 링크를 이용해 신뢰성 있는 데이터를 전송하는 계층(시스템간 오류 없는 데이터 전송을 위함)

- 비트를 프레임이라는 논리적 단위로 구성하며 전송하려는 데이터에 인접한 노드(시스템)의 주소를 더해서 전송, 이 주소는 최종 수신지의 주소가 아닌 전송되는 다음 노드의 주소(주소지정)

- 데이터를 순차적으로 보내기 위해 프레임 번호 부여 기능 수행, 수신 노드에서 식별 번호를 추가하여 프레임 순서를 제어(순서 제어)

- 한 번에 전송할 데이터양을 조절, 연속으로 프레임을 전송할 때 수신 여부를 확인하는 기능 수행(흐름 제어)

- 오류 검출과 정정 기능 수행(오류 처리)

- 헤더에는 수신 측에 프레임이 도착했음을 알리는 비트(Preamble)가 있고, 트레일러에는 프레임의 끝을 나타내는 비트와 오류를 제어하는 비트(FCS) 등이 있음(동기화)

- 데이터 링크 계층에서 하위 계층으로 전송할 때는 헤더와 트레일러를 붙인 후 전송하고, 상위 계층으로 전송할 때는 헤더와 트레일러를 삭제 후 전송

- 허브를 사용(LAN 통신)하면 데이터 간의 충돌이 발생(반이중 통신, 송신과 수신중 하나 밖에 못함, 네트워크 지연 발생)하는데 이를 제어하기 위해 CSMA/CD를 사용한다. 하지만 스위치를 사용하면 데이터 충돌이 발생하지 않음(전이중 통신, 송수신 동시에 가능)

https://freloha.tistory.com/14 <- CSMA/CD

- 데이터 링크 계층은 MAC(Media Access Control, 매체 접근 제어)LLC(Logical Link Control, 논리 링크 제어)라는 하위 계층으로 나누어서 정의됨

 

<Ethernet Frame Format>

Preamble : 패킷의 타이밍을 동기화하기 위한 8byte 부분
FCS : Frame Check Sequence, 데이터 송신 도중 오류가 발생하는지 확인하는 용도로 사용
이더넷 헤더와 트레일러가 추가된 데이터를 프레임(Frame)이라고 한다.

 

스위치(Switch)

<Switch>

- 데이터 링크 계층의 네트워크 접속 장치

- MAC 주소 테이블(브릿지 테이블)이 있는데 이 테이블은 스위치의 포트 번호와 해당 포트에 연결되어 있는 컴퓨터의 MAC 주소가 등록되어 있는 데이터베이스이다

- 더미 허브와 다르게 새로운 기기가 추가되면 플러딩(flooding)을 이용MAC주소를 스스로 기록하는 MAC 주소 학습 기능이 있음

 

플러딩(flooding)

<Flooding>

- MAC 주소 테이블에 등록되어 있지 않는 곳으로 데이터를 송신할 때 송신 포트 이외의 포트들에 프레임을 전송하는 것

- MAC 주소 테이블에 등록된 곳으로 데이터를 전송하면 수신 포트 한 곳에만 프레임을 전송하는데 수신지를 선택하는 것을 MAC 주소 필터링(MAC Address Filtering)이라고 함

 

* 덤으로 알아두면 좋은 것

패킷 덤프(Packet Dump) : 패킷의 데이터 영역을 의미한다.