OSI (Open System Interconnection) 7 계층
과거 여러 정보통신 업체들은 자사 장비간의 연결만 지원하고 타사 장비와의 호환성을 지원하지 않았다.
이에 1984년 ISO(국제 표준화 기구)에서 상호 이질적인 네트워크 간의 연결에 호환성 결여를 막기위해 OSI 모델을 제시하였다.
OSI 모델은 네트워크를 이루고 있는 구성요소 또는 통신이 일어나는 과정을 7단계의 계층적 방법으로 나누고, 표준을 정한 것이다.

데이터 캡슐화
사용자의 데이터가 각 계층을 지나면서 하위 계층은 상위 계층으로부터 온 정보를 데이터로 취급하며, 자신의 계층 특성을 담은 제어정보(주소, 에러 제어 등)을 헤더화 시켜 붙이는 일련의 과정을 말한다.

계층 이름 단위(PDU) 예시 프로토콜 디바이스
7 응용 계층
(Application Layer)
Data 텔넷(Telnet), 구글 크롬, 이메일, 데이터베이스 관리 HTTP, SMTP, SSH, FTP, Telnet, DNS, modbus, SIP, AFP, APPC, MAP  
응용계층은 가용자와 가장 밀접한 계층, 응용 프로세스 간의 정보 교환을 담당
6 표현 계층
(Presentation Layer)
Data 인코딩, 디코딩, 암호화, 복호화 ASCII, MPEG, JPEG, MIDI, EBCDIC, XDR, AFP, PAP  
표현계층은 데이터를 어떻게 표현할지 정하는 역할을 하는 계층
5 세션 계층
(Session Layer)
Data   NetBIOS, SAP, SDP, PIPO, SSL, TLS, NWLink, ASP, ADSP, ZIP, DLC  
세션계층은 두 대의 컴퓨터 사이의 세션이나 대화를 관리, 모든 통신 장비를 연결하고 관리하며 종료한다. 
4 전송 계층
(Transport Layer)
TCP-Segment,
UDP-datagram
특정 방화벽 및 프록시 서버 TCP, UDP, SPX, SCTP, NetBEUI, RTP, ATP, NBP, AEP, OSPF 게이트웨이
전송계층은 가장 큰 목적은 신뢰성 있는 데이터를 전송할 수 있게 하는 것.
연결 지향적인 프로토콜(TCP), 비연결 지향적인 프로토콜(UDP)을 제공.
방화벽과 프록시 서버가 이 계층에서 동작함.

3
네트워크 계층
(Network Layer)
Packet 라우터 IP, IPX, IPsec, ICMP, ARP, NetBEUI, RIP, BGP, DDP, PLP 라우터
네트워크계층은 물리적인 네트워크 사이의 라우팅을 담당하며, 라우터가 이 계층에서 동작한다.
네트워크 호스트의 논리적인 주소(IP)를 관리하고 패킷을 분할해 프로토콜을 식별하는 기능, 오류 탐지 같은 경우 등을 담당한다.
2 데이터링크 계층
(DataLink Layer)
Frame MAC 주소, 브리지 및 스위치 Ethernet, Token Ring, AppleTalk, PPP, ATM, MAC, HDLC, FDDI, LLC, ALOHA 브릿지,
스위치
데이터링크계층은 네트워크 계층 패킷 데이터를 물리적 매체에 실어보내기 위한 계층이다.
가장 중요한 목적은 물리적인 장비를 식별하는데 사용되는 주소 지정 체계와 데이터가 변조되지 않았음을 확증하기 위한 오류 확인을 제공하는 것이다.
1 물리 계층
(Physical Layer)
Bit 전압, 허브, 네트워크 어댑터, 중계기 및 케이블 사양, 신호 변경(디지털,아날로그) 10BASE-T, 100BASE-TX, ISDN, wired, wireless, RS-232, DSL, Twinax 허브,
리피터

 

일반적인 인터넷(HTTP) 통신 예제

위는 클라이언트 송신 기준이며, 서버 기준에서는 순서가 반대로 이루어진다고 생각하면 된다.

서버의 경우 클라이언트에서 받은 정보들이 하나씩 분리되어 사라지며, 마지막에 HTTP 메세지만 받게 된다.

 

참고자료

 

  1. 객체 지향 프로그래밍 (Java)
  2. 컴퓨터 구조
  3. 컴퓨터 네트워크
    • 네트워크란?
    • OSI 7 계층 (Open System Interconnection 7 Layer)
    • TCP vs UDP(Transmission Control Protocol vs User Datagram Protocol)
    • TCP 3-way-handshake & 4-way-handshake
    • TCP/IP 흐름제어 & 혼잡제어(Flow control & Congestion control)
    • 로드 밸런싱(Load Balancing)
    • HTTP와 HTTPS
    • 공개키 암호 & 대칭키 암호
    • RESTful의미와 설계규칙
    • GET, POST 방식의 차이점
    • DNS(Domain Name System)
    • 웹 통신의 큰 흐름
    • 검색창에 Youtube을 치면 일어나는 과정
    • 동기 vs 비동기(Synchronous vs Asynchronous)
    • 블로킹 vs 논블로킹(Blocking vs Non-blocking)
    • 쿠키와 세션 차이(Cookie & Session)
    • HTTP 상태코드(HTTP Status Code)
    • Stateful vs Stateless
    • 공인 IP와 사설 IP
  4. 데이터베이스
    • 데이터베이스란?
    • 데이터베이스 기본 용어
    • SQL 기본 쿼리문 정리
    • 데이터 무결성(Data Integrity)
    • 제약조건 PK, FK, UK (Primary, Foreign, Unique Key)
    • Commit과 Rollback
    • 키(Key)
    • 인덱스(Index)
    • 정규화(normalization)
    • 트랜잭션(Transaction)
    • 이상(Anomaly)
    • 병행제어(Concurrency Control)
    • DBMS / RDBMS / SQL / NoSQL
    • 레디스(Redis)
    • DB Lock
    • 클러스터링 vs 리플리케이션(Clustering vs Replication)
    • 장애와 회복기법
    • SQL의 종류 (DDL, DML, DCL, TCL) 
  5. 자료구조
    • 자료구조란?
    • 배열, 동적배열, 연결리스트(Array & Dynamic Array & Linked List)
    • 스택과 큐(Stack & Queue)
    • 우선순위 큐(PriorityQueue)
    • 트리(Tree)
    • 힙(Heap)
    • B Tree와 B+ Tree
    • 해시(Hash)
    • List, Map, Set
    • 이진 탐색 트리(Binary Search Tree)
    • AVL 트리(AVL Tree)
    • 레드블랙트리(Red-black Tree)
    • 트라이(Trie)
    • 트리 맵(Tree Map)
  6. 운영체제
    • 네트워크란?
    • OSI 7 계층 (Open System Interconnection 7 Layer)
    • TCP vs UDP(Transmission Control Protocol vs User Datagram Protocol)
    • TCP 3-way-handshake & 4-way-handshake
    • TCP/IP 흐름제어 & 혼잡제어(Flow control & Congestion control)
    • 로드 밸런싱(Load Balancing)
    • HTTP와 HTTPS
    • 공개키 암호 & 대칭키 암호
    • RESTful의미와 설계규칙
    • GET, POST 방식의 차이점
    • DNS(Domain Name System)
    • 웹 통신의 큰 흐름
    • 검색창에 Youtube을 치면 일어나는 과정
    • 동기 vs 비동기(Synchronous vs Asynchronous)
    • 블로킹 vs 논블로킹(Blocking vs Non-blocking)
    • 쿠키와 세션 차이(Cookie & Session)
    • HTTP 상태코드(HTTP Status Code)
    • Stateful vs Stateless
    • 공인 IP와 사설 IP
  7. 알고리즘
    • 알고리즘이란?
    • 거품 정렬(Bubble Sort)
    • 선택 정렬(Selection Sort)
    • 삽입 정렬(Insertion Sort)
    • 퀵 정렬(Quick Sort)
    • 합병 정렬(Merge Sort)
    • 힙 정렬(Heap Sort)
    • 기수 정렬(Radix Sort)
    • 계수 정렬(Counting Sort)
    • 이진 탐색(Binary Search)
    • 해시 테이블 구현(Hash Table)
    • 투포인터(Two Pointer)
    • 순열과 조합(Permutation & Combination)
    • 탐욕법(Greedy)
    • DFS와 BFS (Depth First Search & Breadth First Search)
    • 최장 증가 수열(LIS)
    • 최소 공통 조상(LCA)
    • 최소 신장 트리(MST)
    • 동적 계획법(DP)
    • 분할 정복(Divide &Conquer)
    • 다익스트라(Dijkstra)
    • 비트마스크(BitMask)
    • LRU Cache
    • 이분 매칭(Bipartite Matching)

 

+ Recent posts