2021-9-1 네트워크 스터디 1주차

네트워크 스터디

복습: No 속성 이름: 네트워크 유형: 스터디 그룹 작성일시: 2021년 9월 2일 오전 12:55

1장 - 웹과 네트워크의 기본

1.1 웹은 HTTP로 나타낸다

어떻게 웹페이지가 보이는 것일까?

웹 브라우저는 웹 브라우저 주소 입력란에 지정된 URL에 의지해서 웹 서버로부터 리소스라고 불리는 파일 들의 정보를 얻고 있는것 - 서버에 의뢰를 하는 웹 브라우저 등을 클라이언트라 부름

이렇게 클라이언트에서 서버까지의 흐름을 결정하고 있는것은 HTTP라 불리는 프로토콜이다.

웹은 HTTP라는 약속을 통해 이루어져 있다.

1.3 네트워크의 기본은 TCP

HTTP를 이해하기 위해서는 TCP/IP 프로토콜에 대한 이해 필요

일반적으로 사용하고 있는 네트워크는 TCP/IP라는 프로토콜에서 움직이고 있다. - HTTP는 그 중 하나.

  • TCP/IP는 프로토콜의 집합
    • 서로 다른 하드웨어와 운영체제 등을 가지고 서로 통신을 하기 위해서는 모든 요소에 규칙이 필요함. - 이러한 규칙을 프로토콜이라 부름.
  • 프로토콜에는 여러가지 - 케이블 규격, IP주소 지정방법, 떨어진 상대를 찾기위한 방법, 그 곳에 도달하는 순서, 웹을 표시하기 위한 순서 등등. - 이렇게 인터넷과 관련된 프로토콜들을 모은 것을 TCP/IP라고 부른다.

계층으로 관리하는 TCP/IP

TCP/IP는 ‘애플리케이션 계층’, ‘트랜스포트 계층’, ‘네트웨크 계층’, ‘링크 계층’ 4계층으로 나뉘어 있다.

계층화의 장점 - 어디선가 사양이 변경되었을떄 해당 계층만 바꾸면 됩니다, 각 계층의 내부는 자유롭게 설계 가능

  • 애플리케이션 계층
    • 애플리케이션 계층은 유저에게 제공되는 애플리케이션에서 사용하는 통신의 움직임을 결정함
    • TCP/IP에는 여러가지 공통 애플리케이션이 있음, HTTP도 이 계층에 포함
  • 트랜스포트 계층
    • 애플리케이션 계층에 네트워크로 접속되어있는 2대의 컴퓨터 사이의 데이터 흐름을 제공
    • 서로 다른 성질을 가진 TCP(Transmission Control Protocol), UDP(User Data Protocol) 2가지 프로토콜이 있음
  • 네트워크 계층(혹은 인터넷 계층)
    • 네트워크 상에서 패킷의 이동을 다룸
    • 패킷이란 - 전송하는 데이터의 최소 단위
    • 이 계층에서는 어떤 경로를 거쳐 상대 컴퓨터까지 패킷을 보낼지 결정하기도 함
  • 링크 계층(혹은 데이터 링크 계층, 네트워크 인터페이스 계층)
    • 네트워크에 접속하는 하드웨어적인 면을 다룸
    • 케이블과 같이 물리적으로 보이는 부분도 포함 - 하드웨어적인 측면은 모두 링크 계층의 역할

TCP/IP 통신의 흐름

image1 - TCP/IP로 통신을 할 때 계층을 순서대로 거쳐 상대와 통신을 한다. - 송신은 애플리케이션 계층부터 내려가고, 수신은 애플리케이션 계층으로 올라간다.

HTTP 리퀘스트 → TCP에서 받은 데이터를 통신하기 쉽게 조각내어 안내번호와 포트 번호를 붙여 전달 → 네트워크 계층(IP) 에서는 수신지 MAC주소를 추가해 링크 계층에 전달 → 송신 준비 완료

  • 수신 측에서는 거꾸로

1.4 HTTP와 관계가 깊은 프로토콜은 IP/TCP/DNS

배송을 담당하는 IP

  • 인터넷을 활용하는 거의 대부분의 시스템이 IP를 이용하고 있다.
  • ‘IP’는 프로토콜의 명칭
  • 개개의 패킷을 상대방에게 전달하는 역할
  • 전달하기 까지 여러가지 요소가 필요 - IP 주소, MAC 주소 중요
  • IP 주소는 각 노드에 부여된 주소, MAC 주소는 각 네트워크 카드에 할당된 고유의 주소

통신은 ARP를 이용하여 MAC 주소에서 한다.

  • 통신은 여러 대의 컴퓨터와 네트워크 기기를 중계해서 상대방에 도착
  • 중계하는 동안 다음으로 중계할 곳의 MAC 주소를 사용하여 목적지를 찾아가는 것
  • 이때 ARP(Address Resolution Protocol)이라는 프로토콜이 사용.

ARP는 수신자의 IP 주소를 바탕으로 MAC 주소를 조사할 수 있음

신뢰성을 담당하는 TCP

  • TCP는 트랜스포트 층에 해당하는데, 신뢰성 있는 바이트 스트림 서비스를 제공
  • 바이트 스트림 서비스란 - 큰 데이터를 보내기 쉽게 TCP 세그먼트라고 불리는 단위 패킷으로 작게 분해해서 관리하는 것.
  • TCP는 대용량 데이터를 보내기 쉽게 작게 분해하고 정확하게 도착했는지 확인하는 역할을 담당.

image1 상대에게 데이터를 확실하게 보내기 위해 “쓰리웨이 핸드셰이킹”이라는 방법 사용

이름 해결을 담당하는 DNS

  • DNA(Domain Name System)는 HTTP와 같이 응용 계층 시스템에 도메인 이름과 IP주소 이름 확인을 제공함.
  • DNS는 도메인명에서 IP 주소를 조사하거나 반대로 IP주소로부터 도메인명을 조사하는 서비스 제공

image1

URI와 URL

URL 포맷

image1

Written on September 1, 2021