목차
▷ OSI 7계층(Open System Interconnection)이란?
▷ 2계층 데이터링크 계층(Data Link Layer)
▷ 6계층 표현 계층(Presentation Layer)
▷ 7계층 응용 계층(Application Layer)
▷ OSI(Open System Interconnection) 7계층이란?
네트워크 초창기, 즉 OSI 계층 같은 개념이 자리잡지 않고 체계가 잡혀있지 않은 TCP/IP를 사용했었다.
서로 다른 컴퓨터 간의 통신은 불가능하고 같은 브랜드의 컴퓨터끼리만 통신이 가능한 시절
이 문제를 해결하고자 일련의 공통 규칙, 즉 표준 규격을 만들었는데 그 규격이 OSI 7계층이다.
OSI 7계층을 4개의 계층 버전으로 간소화 시킨 것이 TCP/IP 4계층이다.
또한 어떠한 복잡한 문제를 해결하고자 할 때, 나누어 생각하기 위해(분할과 정복) 계층구조를 사용하게 되었다.
OSI 7계층에서는 통신 흐름은 어떻게 될가?
송신 호스트에서 데이터가 출발해서 최종적으로 수신 호스트에 도착할 때까지 송신 호스트에서는 응용계층 -> 물리계층
수신 호스트에서 전송 선로를 통해 물리계층 -> 응용계층으로 가는 모습을 그림으로 확인할 수 있다.
계층을 이동할 때마다 헤더가 붙거나 헤더가 제거되는 과정을 볼 수 있는데
송신 컴퓨터에서 출발한 데이터에 헤더가 붙는 과정을 캡슐화라고 한다.
수신 컴퓨터에서 받는 데이터는 캡슐화의 반대인 역캡슐화 과정을 거치게 된다.
▷ 1계층 물리계층(Physical Layer)
① 물리 계층은 말 그대로 컴퓨터 또는 시스템 간에 전기신호로 두 시스템을 연결해주는 장치이다.
② 더 세부적으로는, 송신 컴퓨터가 보낸 데이터를 전기신호로 변환해서 수신 컴퓨터로 보내는 역할만을 수행한다.
③ 전송받으려는 데이터가 무엇인지, 어떤 에러가 있는지는 전혀 신경 쓰지 않는다.
④ 컴퓨터는 0 또는 1로 이루어진 2진수 형태로 비트열 데이터로 이해를 하지만 실질적으로는 2진수 형태의 비트열 데이터를 전기신호로 변환해야 컴퓨터가 진짜로 이해를 할 수 있다.
⑤ 전송단위(PDU): bit
⑥ 장비: 리피터, 허브, 랜카드
⑦ 프로토콜 : Modem, RS-232C 등
비트열에서 전기신호로의 변환은 LAN(Local Area Network) 카드가 수행을 한다.
하지만 랜카드는 전송되어 온 비트열의 데이터를 전기신호로 변환만 해주는 장치이다.
따라서 랜카드 말고 변환된 전기신호를 다른 곳으로 전송해주는 장치가 필요한데 이 장치가 리피터(Repeater)장치이다.
전기신호는 전선이라는 선을 통해서 전송이 된다. 리피터 장치는 전선의 역할을하며 전기신호를 주기적으로 증폭시켜주어 전기 신호가 전송될 수 있도록 해준다. 따라서 랜카드와 리피터 장치로 두 컴퓨터 간의 통신을 가능하게 해준다.
하지만 만약 두 컴퓨터 간에 물리적인 거리가 매우 멀다면 리피터가 증폭을 시킨다고 해도 신호가 약해져서 통신이 어렵게 될 것이다. 또한 리피터는 1:1 관계에서만 통신이 가능하다는 단점도 가지고있다.
리피터의 단점을 극복하기 위해 나온 장치가 허브(Hub)이다.
허브는 리피터와 달리 N:N관계 통신을 지원한다.
또한 장점으로는 허브는 여러대의 컴퓨터를 연결할 수가 있으며 리피터처럼 전기 신호를 증폭시키는 역할도 할 수 있다.
하지만 단점으로 데이터 전송 시, 허브에 연결된 모든 컴퓨터에 무조건 데이터가 다 전송이 된다는 단점이 존재한다.
▷ 2계층 데이터링크 계층(Data Link Layer)
① 데이터 링크 계층은 물리적인 연결을 통하여 인접한 두 장치 간의 신뢰성 있는 정보 전달(Point to Point)을 담당한다.
② 물리계층에서 송수신되는 데이터의 전송 오류를 감지하는 기능을 제공, 오류 감지 시 재전송한다. 혼잡제어도 한다. 전기신호를 데이터로 변환하는 과정
CRC(Cyclic Redundancy Check) 사용
③ 물리적인 주소 MAC주소를 가지고 통신한다. 논리적인 주소 LLC주소도 있다.
*LLC : 두 장비간의 링크를 설정하고, 프레임을 송수신하는 방식과 상위 레이어 프로토콜의 종류를 알리는 역할
④ 전송 단위(PDU) : 프레임(Frame)
⑤ 장비 : 브릿지, 스위치 등
⑥ 프로토콜 : 이더넷, MAC, PPP 등
▷ 3계층 네트워크 계층(Network Layer)
① 경로(Route)와 주소(IP)를 정하고 패킷을 전달해주는 역할이다, 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할이다.
② 목적지까지 가장 안전하고 빠르게 데이터를 보내는 기능을 말한다. 따라서 라우팅 알고리즘을 사용하여 최적의 경로를 설정해야한다.
라우팅 프로토콜 : 라우터가 패킷을 어디로 보낼지 결정하는 프로토콜
정적 라우팅 : 경로를 네트워크 관리자가 수동으로 설정
동적 라우팅 : 라우터가 네트워크 상태에 따라 라우팅 경로를 자동으로 결정
IGP : 하나의 자치 시스템 내에서 사용되는 라우팅 프로토콜
EGP : 서로 다른 자치 시스템간 라우팅에 사용되는 프로토콜
거리벡터 알고리즘(Distance Vector Algorithm) : 각 라우터가 인접한 라우투까지의 거리( 홉 수 )와 방향 정보만을 라우팅 테이블에 기록
링크상태 알고리즘(Link State Algorithm) : 각 라우터가 전체 네트워크의 링크 상태정보를 가지고 SPF알고리즘을 사용하 여 최적의 경로를 결정
RIP : 벨만-포드 알고리즘을 사용하는 홉 수 기반 라우팅 프로토콜
OSPF : 다익스트라 알고리즘을 기반으로 하는 링크 상태 라우팅 프로토콜
BGP : 대규모 네트워크에 적합한 path vector 기반 라우팅 프로토콜
③ 전송되는 데이터는 패킷단위로 분할하여 전송한 후 다시 합쳐진다.
④ 전송 단위(PDU) : 패킷(Packet)
⑤ 장비 : 라우터, L3 스위치
⑥ 프로토콜 : IP, ICMP 등
▷ 4계층 전송 계층(Transport Layer)
① EndPoint의 사용자들이 신뢰성 있는 데이터를 주고받게 해주는 역할
② 오류 검출 및 복구, 흐름 제어와 중복검사 등을 수행
③ 패킷들의 전송이 유효한지 확인하고 전송 실패한 패킷들을 다시 전송
④ 전송 단위(PDU) : 세그먼트(Segment), 데이터그램
⑤ 장비 : 게이트웨이(GateWay)-> 물리적이아니라 논리적으로 존재, L4스위치
⑥ 프로토콜 : TCP, UDP, ARP 등
TCP
- 대부분 TCP 사용
- 신뢰적인 전송 보장(패킷 손실, 중복, 순서 바뀜 등이 없도록 보장) - ACK 사용
- IP가 처리할 수 있도록 데이터를 여러 개의 패킷으로 나누고, 도착지에서 완전한 데이터로 패킷을 재조립
- 데이터 전송 단위 : 세그먼트
UDP
- 비연결성, 비신뢰성 서비스
- TCP와 다르게 패킷을 나누고 재조립하는 과정 없이, 수신자에서 제대로 받든 말든 상관하지 않고 데이터를 보내기만 한다 -> 에러와 그에 따른 재전송, 대체는 애플리케이션으로 처리해야한다
- 속도가 빠르다 -> Real Time 서비스에 사용하면 좋다
- 데이터 전송 단위 : 데이터그램
▷ 5계층 세션 계층(Session Layer)
① 통신 세션을 구성하는 계층으로, 포트번호를 기반으로 연결한다.
② 통신 장치 간의 상호 작용을 설정하고 유지하며 동기화한다.
③ 동시 송수신(Duplex), 반이중(Half-Duplex), 전이중(Full-Duplex) 방식의 통신과 함께 체크 포인팅과 종료, 다시 시작 과정 등을 수행한다.
④ 세션 : 클라이언트와 웹 서버 간 네트워크 연결이 지속 유지되고 있는 상태
⑤ 네트워크 상 양쪽 연결을 관리하고 연결을 지속 시켜주는 계층
⑥ 세션 생성, 유지, 종료, 전송 중단 시 복구 기능 수행(OS가 세션 계층으로 이 역할 수행), 통상적으로는 클라 - 서버 연결이지만 클라 - 클라 또는 연결하고자 하는 누구나 가능하다.
⑦ TCP/IP 세션을 만들고 없애는 역할
⑧ 통신하는 사용자들을 동기화하고 오류 복구 명령들을 일괄적으로 다룬다.
⑨ 프로토콜 : NetBIOS, SSH, TLS
⑩ 전송단위(PDU) : 메시지, 데이터
▷ 6계층 표현 계층(Presentation Layer)
① 응용 계층으로부터 전달받거나 전송하는 데이터의 인코딩 - 디코딩 및 암호화 등이 이루어지는 계층
ex) 그림 파일의 확장자를 붙이는 계층 .jpg 같은 것
② 코드 간의 번역을 담당하여 데이터의 형식상 차이를 다루는 부담을 응용계층으로부터 덜어준다.
③ 프로토콜 : JPG, MPEG 등
④ 전송단위(PDU) : 메시지, 데이터
▷ 7계층 응용 계층(Application Layer)
① 사용자 인터페이스, 응용 프로그램 간 통신을 관리한다.
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 |