2. 네트워크의 기본 규칙

2023. 5. 1. 12:22·컴퓨터 네트워크/[책 정리] 모두의 네트워크
Referecne : 
- 모두의 네트워크 / 미즈구치 카츠야 저 / 길벗
- https://velog.io/@minseojo (모든 저작권은 조민서님의 velog에 있음)

🌏 2장 네트워크의 기본 규칙


🚩 이 장의 목표

네트워크 통신의 기본 규칙인 프로토콜에 대해 알아보자.

  • 프로토콜을 이해한다.
  • OSI 모델과 TCP/IP 모델을 이해한다.
  • 캡슐화와 역캡슐화를 이해한다.

LESSON 06. 네트워크의 규칙

일상생활에서 지켜야 하는 규칙이 있듯이 네트워크에서도 지켜야 하는 규칙이 있따. 네트워크 규칙에 대해 알아보자.


1. 프로토콜 이란?

일상생활에서 지켜야 하는 규칙이 있듯이, 네트워크에서도 문제없이 통신하려면 규칙(약속)을 지켜야 한다.

예를 들어 한국인과 중국인이 대화를 할 때 한국인이 '안녕!' 이러면 중국인은 알아 듣지 못하고, 중국인이 'Ni Hao!' 라고 하면 한국인이 알아 듣지 못한다. 하지만 한국인과 중국인이 'Hello!'라고 하면 문제없이 대화할 수 있다.

이와 같이 네트워크에서 지켜야 할 규칙을 프로토콜(protocol)이라고 한다.


일상생활에서 접할 수 있는 편지를 예로 들어 프로토콜을 알아보자.

편지가 전달되는 과정에는
① 편지를 써서 우체통에 넣으면 우편배달부가 편지를 수거한다.
② 수거한 편지는 우체국으로 가져가 분류한다.
③ 분류된 편지들은 우편배달부가 수신처에 가까운 우체국으로 편지를 운송하고, 수신자들은 우편함에서 편지를 찾아간다.

①에서 편지를 쓰는 과정에서 주소를 적지 않거나 우표를 붙이지 않은 채로 우체통에 편지를 넣으면 수신처를 알 수 없으므로 우편배달부는 편지를 다시 갖다놓는다.

이와 같이 편지가 전송되는 과정에는 '편지를 쓰는 규칙', '편지를 보내는 규칙', '우체국의 규칙' 등 여러가지 규칙이 있는데 서로 영향을 주지 않는다.


2. Lesson 6 정리

  • 통신하기 위한 규칙을 프로토콜이라고 한다.
  • 중국어를 못하는 한국인과 한국어를 못하는 중국인이라면 영어로 대화한다는 규칙을 정해서 대화할 수 있다.
  • 편지를 배송하기 위해서는 편지를 쓸 때부터 상대방에게 도착할 때까지 지켜야 하는 독립적인 여러 규칙을 거쳐야 한다.

LESSON 07. OSI 모델과 TCP/IP 모델

네트워크에서 데이터를 주고받기 위한 통신 규격이 정해져있다. 통신 규격에 대해 알아보자.


1. OSI 모델이란?

먼저 네트워크 통신규격은 ISO(International Organization for Standardization, 국제표준화기구)가 있는데, 이 단체는 OSI 모델이라는 표준 규격을 제정했다.

OSI 모델은 네트워크 기술의 기본이 되는 모델이다.

데이터의 송수신은 컴퓨터에서 컴퓨터로 데이터를 전송한다. 이때 컴퓨터 내부에서는 여러 가지 일을 하는데, 일을 입곱 개 계층으로 나눠서 한다. 계층이라는 용어 대신 레이어라는 용어를 사용하기도 한다. 아래 사진에 각각의 레이어 설명이 있다.

통신할 때 송신 측 데이터는 맨위의 응용 계층에서 순차적으로 아래 계층으로 전달된다. 그리고 물리 계층에서 전기 신호로 바꿔
수신 측 데이터를 하위 계층에서 상위 계층으로 전달된다.
이때 각 계층은 독립적이다.

송신 측 데이터는 7계층-> 6, 5, 4, 3, 2 -> 1계층 순서로 전달
수신 측 데이터는 1계층 -> 2, 3, 4, 5, 6 -> 7계층 순서로 전달

각 계층은 독립적이므로 데이터가 전달되는 동안에 다른 계층의 영향을 받지 않는다.


2. TCP/IP 모델이란?

OSI 모델 7계층을 4계층으로 바꾼 모델을 TCP/IP 모델이라고 한다.

OSI 모델에 비하면 조금 정리된 느낌이다. 현재(2021-09-29)는 OSI 모델 대신 TCP/IP 모델을 사용하고 있다.

OSI 모델의 응용 계층, 표현 계층, 세션 계층이 TCP/IP 모델에서는 응용 계층 하나로 합쳐져 있다. 그리고 각각의 계층에는 앞서 말한 다양한 프로토콜이 있다.


3. Lesson 7 정리

  • ISO(국제 표준화 기구)에서 OSI 모델을 제정했다.
  • OSI 모델은 7계층으로 위에서부터 응용 계층, 표현 계층, 세션 계층, 전송 계층, 네트워크 계층, 데이터 링크 계층, 물리 계층이 있다.
  • 현재는 TCP/IP 모델을 사용하고 있다. OSI 모델은 7계층이지만 TCP/IP 모델은 4계층이다. 위에서부터 응용 계층, 전송 계층, 인터넷 계층, 네트워크 인터페이스 계층이 있다.

LESSON 08. 캡슐화와 역캡슐화

데이터를 송수신할 때는 캡슐화와 역캡슐화가 이루어진다. 캡슐화와 역캡슐화가 어떻게 이루어지는지 알아보자.


1. 캡슐화와 역캡슐화란?

컴퓨터 A에서 컴퓨터 B로 데이터를 보낸다고 생각해보자.

데이터를 보내려면 우선 보내고 싶은 송신 데이터가 있을것이다. 그리고 이 데이터를 전송하는데 필요한 정보와 전달받을 상대방에 대한 정보가 필요한데 이 정보를 헤더라고 한다.

그래서 송신 데이터 앞에 헤더를 붙이는데 이 과정을 캡슐화라고 한다.

한편 데이터를 받는쪽에서는 헤더를 하나씩 제거하는데 이것을 역캡슐화라고 한다.

5계층인 세션 계층과 6계층인 표현 계층은 7계층인 응용계층에 포함하여 생각할 수 있다.


캡슐화

우선 송신 측 컴퓨터에서 웹 사이트를 접속하려고 하면 위 사진과 같이 응용 계층에서 웹 사이트를 접속하기 위한 요청 데이터가 만들어진다.

다음으로 해당 데이터는 전송 계층에 전달되고, 전송 계층에서 신뢰할 수 있는 통신이 이루어지도록 응용 계층에서 만들어진 데이터에 헤더를 붙인다.

그리고 전송 계층에서 만들어진 데이터를 다른 네트워크와 통신하기 위해 네트워크 계층에서 헤더를 붙인다.

또 네트워크 계층에서 만들어진 데이터에 물리적인 통신 채널을 연결하기 위해 데이터 링크 계층에서 헤더와 트레일러를 붙인다.

트레일러는 데이터를 전달할 때 데이터의 마지막에 추가하는 정보를 말한다.

그러면 마지막에는 전송 계층 헤더, 네트워크 계층 헤더, 데이터 링크 계층 헤더와 트레일러가 추가됐다. 이처럼 필요한 데이터를 추가해 나가는 것이 캡슐화다.

그리고 데이터 링크 계층에서 만들어진 데이터는 최종적으로 전기 신호로 변환돼서 수신 측에 도착한다.


역캡슐화

역캡슐화는 캡슐화의 정 반대 과정이다.

데이터 링크 계층에서 데이터 링크 계층헤더와 데이터 링크 계층 트레일러를 제거한다.

네트워크 계층에서 네트워크계층 헤더를 제거한다

전송 계층에서 전송 계층 헤더를 제거한다.

그리고 모든 헤더가 제거된 데이터가 수신 측에 도착한다.


2. Lesson 8 정리

  • 데이터를 보낼 때는 필요한 정보를 데이터에 추가해야 하는데 이 정보를 헤더라고 한다.
  • 데이터를 상대방에게 보낼 때 각 계층에서 헤더(데이터 링크 계층의 트레일러도 포함)를 붙여 나가는 것을 캡슐화라고 한다.
  • 데이터를 수신할 때 각 계층에서 헤더(데이터 링크 계층의 트레일러도 포함)를 제거해 나가는 것을 역캡슐화라고 한다.
  • OSI 모델에서 데이터 송신 측은 응용 계층 -> 전송 계층 -> 네트워크 계층 -> 데이터 링크 계층 순서로 캡슐화한다.
    반대로 수신측은 데이터 링크 계층 -> 네트워크 계층 -> 전송 계층 -> 응용 계층 순서로 역캡슐화 한다.
  • 송신 측의 데이터 링크 계층에서 만들어진 데이터가 전기 신호로 변환되어 수신 측에 전송 된다.

❗ 보강

VPN이란?

VPN은 Virtual Private Network(가상 사설망)의 약어다. 가상 통신 터널을 만들어 기업 본사나 지사와 같은 거점 간을 연결하여 통신하거나 외부에서 인터넷으로 사내에 접속하는 것을 말한다.
예를들어 서울에 본사가 있고 전주에 자사가 있다면 본사 내부 랜에서 지사 내부 랜에 접속해 통신하는 것은 물리적인 거리가 멀어 어렵습니다. 이럴 때는 VPN을 사용하여 본사와 지사를 연결하여 통신할 수 있다.

VPN은 두 종류로 구성되어 있다.


1. 인터넷 VPN

인터넷 VPN에는 거점 간 접속과 원격 접속 연결이 있습니다. 둘 다 일반 인터넷망을 사용합니다. 거점 간 접속은 IPsec이라는 암호 기술 프로토콜을 사용하여 접속합니다. 반면 원격 접속 연결은 외부에서 사용하는 컴퓨터와 사내 네트워크를 연결하기 때문에 암호화된 통신로를 만든다.
IPsec 자세히 알아보기


2. IP-VPN

IP-VPN은 MPLS라는 기술을 사용하며 인터넷망이 아닌 통신 사업자 전용 폐쇄망을 사용한다. MPLS는 폐쇄망을 사용하기 때문에 제삼자에 의한 해킹이나 데이터 변조의 위험이 없어 암호화 기능이 필요하지 않다.
MPLS 자세히 알아보기


🎈 용어 정리

프로토콜(protocol) : 컴퓨터 간에 정보를 주고받을 때의 통신 방법에 대한 규칙이나 표준이다.

*OSI 모델(Open Standards Interconnection model) : 국제표준화기구(ISO)가 1977년에 정의한 국제 통신 표준 규약이다. 네트워크의 기본 구조를 일곱 개 계층으로 나눠서 표준화한 통신 규약으로 현재 다른 모든 통신 규약의 기반이 된다.

*TCP/IP 모델(Transmission Control Protocol/Internet Protocol model) : OSI 모델 7계층의 네트워크에서 데이터를 전송하는 과정을 네 개 계층(Layer)으로 단순화시켜 사용하는 모델이다. 인터넷 모델이라고도 한다.

캡슐화/역캡슐화(encapsulation/decapsulation) : 캡슐화는 컴퓨터 통신에서 상위 계층의 통신 프로토콜 정보를 데이터에 추가하여 하위 계층으로 전송하는 기술이다. 반대로 역캡슐화는 상위 계층의 통신 프로토콜에서 하위 계층에서 추가한 정보와 데이터를 분리하는 기술이다.

헤더(header) : 저장되거나 전송되는 데이터의 맨 앞에 위치하는 추가적인 정보 데이터다. 데이터의 내용이나 성격을 식별 또는 제어하는 데 사용한다.

저작자표시 (새창열림)

'컴퓨터 네트워크 > [책 정리] 모두의 네트워크' 카테고리의 다른 글

6. 전송 계층 : 신뢰할 수 있는 데이터 전송하기  (0) 2023.05.01
5. 네트워크 계층 : 목적지에 데이터 전달하기  (0) 2023.05.01
4. 데이터 링크 계층 : 랜에서 데이터 전송하기  (0) 2023.05.01
3. 물리 계층 : 데이터를 전기 신호로 변환하기  (0) 2023.05.01
1. 네트워크 첫걸음  (0) 2023.05.01
'컴퓨터 네트워크/[책 정리] 모두의 네트워크' 카테고리의 다른 글
  • 5. 네트워크 계층 : 목적지에 데이터 전달하기
  • 4. 데이터 링크 계층 : 랜에서 데이터 전송하기
  • 3. 물리 계층 : 데이터를 전기 신호로 변환하기
  • 1. 네트워크 첫걸음
smile blog
smile blog
건국대 첨단바이오공학부 & 컴퓨터공학부 BT & IT 기술로 희망을 꿈 꿉니당
  • smile blog
    스마일 블로그
    smile blog
  • 전체
    오늘
    어제
    • 분류 전체보기 (838) N
      • 일상 생각들 (4)
        • 일상 (4)
      • 학과에 대해 (4)
        • 첨단바이오공학부 (4)
        • 컴퓨터공학부 (0)
      • -------- 프로젝트 -------- (0)
      • [DS] 토이 프로젝트 (1)
      • [Web, Game, XR] 토이 프로젝트 (11)
      • 경진대회 (1)
      • -------- 진로 -------- (0)
      • 생물정보학자 (19)
        • 데이터 과학이란? (0)
        • 되는 방법 (9)
        • 책 추천 (2)
        • 인강 (1)
        • 대학 (2)
        • 회사 (1)
        • 학원 (2)
        • 학회 (2)
      • 디지털 헬스케어 (72)
        • 방법 (8)
        • 생각들 (10)
        • 공부법 (4)
        • 책 추천 (2)
        • 학원 (2)
        • 참고 (2)
        • 대학 (3)
        • 회사 (3)
        • 인강 (2)
        • 게임 엔진들 (1)
        • 게임 프로그래머 개론 (2)
        • 게임 프로그래머 취업 전략 가이드 (7)
        • 취업 서류 (1)
        • 애정하는 게임들 (4)
        • XR 테크니컬 아티스트 (9)
        • 영화, 애니메이션 테크니컬 디렉터 (12)
      • 유전상담사 (0)
      • -------- 기초 학문 -------- (0)
      • 생명과학 이야기 (2)
        • 대학 강의 (2)
      • 화학 이야기 (0)
      • 컴퓨터과학 이야기 (0)
      • 통계학 이야기 (0)
      • 수학 이야기 (1)
        • 공학 수학 (1)
      • 영어 이야기 (1)
      • 심리학 이야기 (7)
        • 현대인과 정신건강 (7)
      • -------- 컴퓨터 언어 -------- (0)
      • Python (3)
        • 나도코딩의 파이썬 입문 (1)
        • 파이썬 관련 정보 (1)
      • SQL (0)
      • C 언어 (32)
        • 혼자 공부하는 C언어 요약 (1)
        • [책 정리] 혼자 공부하는 C언어 (31)
      • C++ (33)
        • 명품 C++ 프로그래밍 요약 (1)
        • [책 정리] 명품 C++ 프로그래밍 (27)
        • C++ STL (0)
        • 뇌를 자극하는 C++ STL (5)
      • -------- 생명과학 -------- (0)
      • 생화학 (8)
        • 대학 강의 (8)
      • 분자세포생물학 (6)
        • 대학 강의 (6)
      • 유전자치료공학 (4)
        • 대학 강의 (4)
      • 생명정보학 (7)
        • 대학 강의 (7)
      • 약리학 (2)
        • 대학 강의 (2)
      • -------- 컴퓨터과학 -------- (0)
      • 자료구조와 알고리즘 (8)
        • 자료구조와 알고리즘의 정의 (3)
        • [책 정리] C언어로 쉽게 풀어쓴 자료구조 요약 (1)
        • [인강] 자료구조와 알고리즘 (2)
        • 코딩 테스트 대비하기! (1)
      • 컴퓨터 회로 (0)
      • 컴퓨터 구조 (43)
        • 컴퓨터 구조와 운영체제 요약 (1)
        • ---------------------------------------- (0)
        • [전공 책 정리] 컴퓨터 구조 및 설계 (1)
        • Ch1. 컴퓨터 추상화 및 관련 기술 (8)
        • Ch2. 명령어 : 컴퓨터 언어 (11)
        • Ch3. 컴퓨터 연산 (8)
        • Ch4. 프로세서 (11)
        • Ch5. 메모리 계층구조 (3)
        • Ch6. 병렬 프로세서 : 클라이언트에서 클라우드까지 (0)
      • 시스템 프로그래밍 (15)
        • [책 정리] 시스템 프로그래밍 유닉스 & 리눅스 (0)
        • [인강] 리눅스 시스템 프로그래밍 (2)
        • 리눅스에서 코딩이란? (8)
        • 대학교 강의 정리 (5)
      • 운영체제 (0)
      • 컴퓨터 네트워크 (37)
        • 모두의 네트워크 요약 (1)
        • [책 정리] 모두의 네트워크 (10)
        • ---------------------------------------- (0)
        • [전공 책 정리] 컴퓨터 네트워킹 하향식 접근 8판 (1)
        • Ch1. 컴퓨터 네트워크와 인터넷 (7)
        • Ch2. 애플리케이션 계층 (7)
        • Ch3. 트랜스포트 계층 (8)
        • Ch4. 네트워크 계층 : 데이터 평면 (3)
        • Ch5. 네트워크 계층 : 제어 평면 (0)
        • Ch6. 링크 계층과 근거리 네트워크 (0)
        • Ch7. 무선 및 이동 네트워크 (0)
        • Ch8. 컴퓨터 네트워크 보안 (0)
      • 데이터베이스 (1)
      • -------- 데이터과학 -------- (0)
      • 데이터 사이언스 (8)
        • 인강 (8)
      • 데이터 분석 (2)
        • 인강 (2)
      • 머신러닝 (2)
        • 대학 수업 (2)
      • 인공지능 (11)
        • 대학교 강의 정리 (10)
        • 인공지능 관련 정보 (1)
      • -------- +a -------- (0)
      • Visual Studio Community (7)
        • 설치법 (1)
        • 단축키 (1)
        • 오류 (5)
      • Visual Studio Code (0)
      • 노션 (1)
      • 깃허브 (7)
        • 깃허브 사용법 (5)
        • 유니티, 언리얼 & 깃허브 (1)
        • 깃허브 주의사항 (1)
      • 챗GPT 활용법 (0)
      • 기타 feat. 프로그래밍 (7)
        • 프로그래머로 살아남기 (5)
        • 코딩 vs 프로그래밍 (1)
        • 애플 비전 프로 (1)
      • 메타버스 (5)
      • -------- 예술 -------- (0)
      • 음악 (1)
      • 미술 (0)
      • -------- XR -------- (0)
      • 유니티 이야기 (23)
        • 레트로의 유니티 게임 프로그래밍 에센스 요약 (4)
        • 유니티 관련 정보 (1)
        • 유니티 디버깅 (13)
        • 유니티 인강 (3)
        • 대학교 게임 프로그래밍 강의 (2)
      • 언리얼 이야기 (0)
        • 인생 언리얼 교과서 요약 (0)
      • 컴퓨터 그래픽스 (6)
        • OpenGL (6)
      • 가상현실 & 증강현실 (4)
        • 유니티 vr (4)
      • HCI 와 UI UX (7)
        • [책 정리] HCI 개론 (6)
      • -------- Design -------- (0)
      • 캐릭터 (1)
        • 모델링 (0)
        • 리깅 (1)
      • 포토샵 (3)
      • 3ds Max (7)
      • Maya (9)
        • 블로그 (1)
        • 인강 (6)
        • 대학교 (2)
      • Blender (14)
        • 책 (1)
        • 인강 (7)
        • 기타 (3)
        • 대학교 (3)
      • 아트 작업물들 (2)
      • 에셋 사이트 (1)
      • -------- 건강관리 -------- (0)
      • 건강관리 ft. 정현 (12)
        • 목 디스크 (2)
        • 눈 관리 (2)
        • 일상생활 습관 (6)
        • 일상생활 꿀팁 (2)
        • 사무직 꿀팁 (0)
      • 헬스의 정석 ft. 정현 (28)
        • 헬스와 건강 (8)
        • 헬스 구체화 정보 (6)
        • 헬스 유튜버 (1)
        • 헬스 서적 (1)
        • 도전 바디프로필! (11)
        • 헬스장 패션 (1)
      • -------- etc -------- (0)
      • 진로 관련 잡다한 글들 (34)
        • 진도율 (9)
        • 진로 관련 글들 (15)
        • 학교 강의 관련 글들 (10)
      • 인생 꿀 Tip (23)
        • 컴퓨터 초기 설정 (9)
        • 원격 데스크톱 (1)
        • 노트북 발열 (1)
        • 전자기기 (2)
        • 중고기기 팔기 (1)
        • 아이패드 필기 어플 (1)
        • 에어팟 (1)
        • 커피 (1)
        • 맥북 (1)
        • lg 그램 (1)
        • 검색엔진에서 내 티스토리 검색 (1)
        • hELLO 다크 모드 없애기 (1)
        • 인터넷 연결 문제 (1)
        • 키보드 문제 해결 (1)
      • 유튜브 (3)
      • 청춘 그리고 추억 (1)
      • 인생 계획표 (2)
        • 2024년 2학기 (1)
        • 2024년 여름방학 (0)
        • 2024년 1학기 (0)
        • 2023년 겨울방학 (1)
      • 다양한 글들 (98)
        • C++ STL (6)
        • Win32 API (24)
        • PushPush 게임 (13)
        • 컴퓨터구조 (1)
        • 자료구조와 알고리즘 (50)
        • 게임의 정의 (3)
        • 영상 회사 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • Dream
    • 코딩을 시작한 이유
    • 나를 소개합니다!
    • 블로그 공부법
    • IT & 가치 있는 일들
  • 인기 글

  • 태그

    자료구조
    명령어
    생물정보학
    인공지능
    스택
    의생명공학
    의생명공학과
    AI
    컴퓨터 네트워크
    심리학
    연산자
    unity
    데이터사이언스
    C언어
    건국대
    코딩
    유니티
    알고리즘
    C++
    리눅스
    함수
    생명공학
    첨단바이오공학부
    의생명정보알고리즘
    포인터
    배열
    생명과학
    데이터과학
    블렌더
    컴퓨터구조
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
smile blog
2. 네트워크의 기본 규칙
상단으로

티스토리툴바