📖
Mini's Today I Learned
  • Today I Learned
  • 💻Computer Science
    • 🧱Computer Science
      • Computer Architecture
    • 🦕OperatingSystem
      • System Structure
      • 01. 운영체제 역할
      • 02. History로 이해하는 운영체제
      • 03. 운영체제 구조
      • 04. 프로세스 스케쥴링
      • 05. 스케쥴링 알고리즘
      • 06. 프로세스 상태와 스케쥴러
      • 07. 인터럽트
      • 08. 프로세스와 컨텍스트 스위칭
      • 09. 프로세스간 커뮤니케이션(IPC 기법)
      • 10. Thread(스레드)
      • 11. 가상메모리 (Virtual Memory System)
      • 12. 파일시스템 이해
      • 13. 부팅의 이해
      • 14. 가상머신(Virtual Machine)
  • 📈Database
    • MySQL CLI (Frequently used)
    • 1-Tier, 2Tier, 3Tier
    • Basic SQL
    • Built in function
    • Sub Query
    • View
    • Stored Program
    • index
    • Normalization(정규화)
    • Transaction
    • Transaction
  • 🌐 Network
    • 🔌 TCP&IP Basic
      • 01 TCP/IP 맛보기
      • 02 TCP/IP 개요
      • 03 통신 서비스와 프로토콜
      • 04 애플리케이션 계층
      • 05 트렌스포트 계층
      • 06 네트워크계층
      • 07 데이터 계층과 물리계층
      • 08 라우팅
      • 09 보안
      • 10 HTTP 프로토콜
    • 🐿️HTTP 완벽 가이드 요약
      • 1. HTTP: 웹의 기초
      • 2. URL 과 리소스
      • 3. HTTP Message
      • 4. Connection Management
      • 5. Overview of web server architectures
      • 6. Proxies
      • 7.Caching
      • 8. Integration Points: Gateways, Tunnels, and Relays
      • 9. Web Robots
      • 10. HTTP/2.0
      • 11. Client Identification and Cookies
      • 12. Basic Authentication
      • 13. Digest Authentication
      • 14. Secure HTTP
      • 15. Entities and Encodings
      • 16. Internationalization
      • 17. Content Negotiation and Transcoding
      • 18. Web Hosting
  • 🏴Language
    • ☕JAVA
      • Comparable vs Comparator
  • 🛠️ Framework
  • 🧩Design Pattern
    • 객체 지향 설계 원칙 (SOLID)
    • Design Pattern 개요
    • Template method
    • Singleton
  • 🐥FrontEnd
    • HTML&CSS
      • 01 Intro
      • 02 HTML Basic
      • 03 Content Section
      • 04 Block and Inline Elements
      • 05 Text Contents
      • 06 Inline Elements
      • 07 Multi Media
      • 08 Table&Form&etc
      • 09 Global Attribute & etc
      • 10 css basic
      • 11 css config
      • 12 css unit
      • 13 Box Model
      • 14 Font & Text
      • 15 Float(띄움) & Position
      • 16 Background
      • 17 Transitions & Transforms
      • 18 Animation & Multi Columns(다단)
      • 19 Flex
      • 20 Grid
    • Sass(SCSS)
    • TypeScript
    • Webpack Introduction
      • 웹팩의 기본 구조
      • CommonJS
      • ESM
      • WebpackConfig
        • 1. Handlebars
        • 2. Caching
        • 3. Minification & Mangling
        • 4. Mode(Development mode & Production Mode)
        • 5. 이미지 파일 모듈로 다루어보기(file-loader)
        • 6. 이미지 파일 모듈로 다루어보기(url-loader)
        • 7. SASS Loader
        • 8. Post CSS
        • 9. BLOWSERS LIST
        • 10. Stylelint
        • 11. Babel
      • Webpack-Practice
    • ETC
      • GIT
      • MarkDown
Powered by GitBook
On this page

Was this helpful?

  1. 🌐 Network
  2. 🔌 TCP&IP Basic

06 네트워크계층

  • Intro

    • 인터넷 계층

  • 네트워크 계층의 역할

    • 통신 방법의 차이를 흡수, 통신방법이 다른 네트워크상의 컴퓨터끼리도 주고받기 가능.

      (케이블차이, 통신형식의 차이 극복!)

    • 통신상대 지정

      • '누가 누구에게 전달할지?'에 대한 중요한 정보를 다룸

      • 통신상대를 정하기 위해 네트워크 상에 존재하는 모든 기기에는 고유 주소가 할당되어있음

    • 목적지까지 경로결정

      • 목적지까지 경로가 여러개 있는 경우, 적절한 경로를 사용하여 전달하는 역할

  • IP 프로토콜

    • 데이터 링크계층에전달

      • 트렌스포트로부터 전달받은 데이터에 목적지를 특정하는 IP주소등을 기록한 IP헤더를 붙여 데이터 링크로 전달

      • IP데이터그램: 데이터에 IP헤더 붙인것을 뜻함.

      • 데이터 링크 계층에서 다룰 수 있는 크기보다 클 때는 분할후 헤더를 붙임

    • Best Effort방식으로 데이터 전송

      • 노력은하지만, 결과보장은 하지 않음

      • 헤더가 깨지지 않았는지 확인하거나, 목적지 주소가 존재하는지 정도의 판단처리만하고, 재전송 처리는 X

    • 최적 경로로 보내기

      • 목적지까지의 경로나, 통신상태를 보고 지금 가장 빨리 목적지에 전달하기 위한 좋은경로를 판단해서 보내는 기능

    • 트랜스포트계층에 전달.

      • 수신측에서 IP헤더에 쓰여진 목적지 주소(IP주소)를 확인하고, 자기 앞으로 온것만 받음.

      • 그리고 트랜스 포트 계층의 지정된 프로토콜에 전달.

      • 분할되있으면 조립후 전달

  • IP 주소(IPv4)

    • IP주소는 네트워크상 기기 구별하기 위한번호

    • IPv4는 32자리 비트열로 이루어짐. 8bit씩 구분하여 10진수로 나타냄

    • 예: 192.168.15.10.

    • 192.168.까지를 네트워크부 | 15.10.를 호스트부라고 한다.

    • 네트워크부에서는 고유번호가 들어가고, 호스트부에는 각 컴퓨터를 나타내는 번호가 들어간다.

    • 완전 똑같은 주소를 가진 컴퓨터가 여러대 존재하면, 컴퓨터를 지정한다는 목적을 이룰 수 없기 때문에, 번호 중복을 피하기 위해 ICANN이라는 기관에서 전세계IP를 관리하고 있음

    • 네트워크부와 호스트부의 경계를 서브넷마스크(또는 넷마스크)라는 값을 사용하여 경계를 나타낸다.

      • IP주소: 192.168.15.10

      • 서브넷마스크: 255.255.0.0

      • 혹은 [IP주소]/[네트워크부비트수] (예: 192.168.15.10/16)

  • IP 주소(IPv6)

    • IPv4로 IP 주소가 고갈될 우려가 있어 IPv6가 도입.

    • IPv4로 나타낼수 있는 주소는 약 43억개. 그래서 도입된 IPv6

      IPv4

      IPv6

      주소의 길이

      32bit

      128bit

      주소의 개수

      약 43억

      약 340조 X 1조 X 1조

      표기방법

      10진법

      16진법

      암호화 기능

      옵션

      기본

      멀티캐스트

      비대응

      대응

    • IPv4 와 IPv6가 호환되지는 않음

    • IPv6표기방법: 주소값을 16비트마다 콜론(:)으로 구분하고 16진수로 표기.(6비트씩 8개로 나눔. 각각 16진수로 나타냄)

    • 생략규칙

    • 서브넷마스크 표기(일반적으로 /64 로 네트워크부 비트수를 표기함)

  • 목적지까지 길 안내

    • 대부분의 통신서비스에서는 송신측에서 수신측 컴퓨터에 도달하기까지 여러개의 네트워크를 경유함.

    • 라우터

      • 네트워크간을 연결해서 패킷이 목적지에 전달될때까지 길안내를 하는 기기

      • 네트워크 계층에서는 IP헤더에 기록된 목적지의 IP주소를 보고 그 다음 전송처를 결정함.

      • 길 안내를 하기 위해 일단 패킷 회수

      • 목적지까지의 경로를 결정하거나 패킷의 크기 조정

    • 통신세계에서 컴퓨터 사이의 거리를 통과한 라우터의 갯수로 사용하는 단위를 홉이라고함.

  • 수신측의 처리

    • 트렌스포트계층에 전달

      • IP헤더를 보고 데이터가 깨졌는지, 자기앞으로 온것인지 확인

      • 트랜스포트계층의 지정된 프로토콜로 전달

  • 네트워크 계층의 신뢰성

    • 신뢰성이 떨어지는 IP를 보조하기 위해 네트워크 계층에 ICMP라는 프로토콜이 있다.

    • IP는 비 커넥션형 통신을 수행한다.(UDP와 유사한 방식)

    • 따라서 데이터가 상대에게 전달 됬는지 아닌지 전혀 관여하지 않는다.

    • IP 보조하는 ICMP

      • 네트워크계층에는 신뢰성 면에서 IP를 도와주는 프로토콜인 ICMP, IPv6에서는 ICPMv6가 있다.

      • 이들은 IP 데이터 그램의 통신상태등을 필요에 맞게 송신층에 알려준다.

      • ICMP헤더와ICMP데이터에 IP헤더를 붙인형태로 송신측에 보낸다.

      • ICMP헤더구성 (타입, 코드, 체크섬)

  • IP 주소의 설정

    • 고정해서 할당하는 방법 or 필요할때만 자동으로 할당하는방법

      • 고정IP주소 할당: 개별적으로 설정

      • 자동으로 할당: 필요할때만 자동으로 IP주소를 할당하는 프로토콜(DHCP)사용. 그러면 네트워크에 접속함과 동시에 필요한 설정이 자동으로 수행

        • DHCP클라이언트: DHCP서버에게 IP주소를 요청하고 일시적으로 할당받음

        • DHCP서버: 클라이언트의 요청에 대한 응답으로 IP주소를 빌려주거나, 서브넷 마스크의 설정정보 제공

  • DNS(Domain Name System): IP주소와 도메인명을 처리하는 서비스.

    • 애플리케이션 프로토콜

    • 숫자로 된 IP주소를 다루기 어려우므로 문자로 대신할수 있는 메커니즘 개발

Previous05 트렌스포트 계층Next07 데이터 계층과 물리계층

Last updated 4 years ago

Was this helpful?