[혼공네트] 1주차_컴퓨터 네트워크 시작하기

·2024년 7월 6일
0

컴퓨터공학

목록 보기
7/12
post-thumbnail

컴퓨터 네트워크 (네트워크)

  • 여러 장치들이 연결되어 서로 정보를 주고받을 수 있는 통신망
  • 많은 프로그램이 네트워크를 통해 다른 장치와 상호 작용하며 실행된다.

인터넷

  • 여러 네트워크를 연결한 ‘네트워크의 네트워크’를 의미한다.

네트워크 구조

  • 호스트, 네트워크 장비, 통신 매체, 메시지로 이루어진다.

호스트 (노드)

  • 네트워크를 통해 흐르는 정보를 최초로 생성 및 송신하고, 최종적으로 수신하는 네트워크의 가장자리에 위치한 노드

    • 종단 시스템(end system)이라고도 한다.
  • 역할에 따라 서버와 클라이언트로 구분되며, 각각 요청과 응답을 주고받을 수 있다.

    • 서버
      • ‘어떠한 서비스’를 제공하는 호스트
        • 파일 ⇒ 파일서버 / 웹 페이지 ⇒ 웹 서버 / 메일 ⇒ 메일 서버
      • 응답을 보내는 호스트
    • 클라이언트
      • 서버에게 요청을 보내고 그에 대한 응답을 제공받는 호스트

네트워크 장비 (중간노드)

  • 호스트 간 주고받을 정보가 중간에 거치는 노드
  • 이더넷 허브 ,라우터, 스위치, 공유기 등
  • 호스트 역할을 수행할 수 있는 노드, 네트워크 장비 역할을 수행할 수 있는 노드가 있다.

  • 서버 역할을 수행할 수 있는 노드, 클라이언트 역할을 수행할 수 있는 노드가 있다.

노드네트워크 장비 (중간노드)

통신 매체(간선)

  • 유선 매체 : 트위스티트 페어 케이블, 광케이블
  • 무선 매체 : 와이파이

메시지

  • 통신 매체로 연결된 노드가 주고받는 정보
  • 웹 페이지, 파일, 사진, 동영상 등

범위에 따른 네트워크 분류

네트워크 구성 범위가 다양한 만큼, 네트워크를 범위에 따라 분류하는 기준도 존재

LAN

  • Local Area Network
  • 가정, 기업처럼 비교적 근거리를 연결하는 한정된 공간에서의 네트워크

WAN

  • LAN을 연결할 수 있는 넓은 범위의 원거리를 연결한 네트워크
  • ISP(KT, LG U+, SK 브로드밴드)에 의해 구축

메시지 교환 방식에 따른 네트워크 분류

호스트들이 네트워크를 통해 메시지를 주고바는 방식

회선 교환 네트워크

  • 호스트 간에 메시지를 주고받기 전,
    • 두 호스트 사이에 메시지 전송로인 회선(curcuit)을 설정한 뒤 (두 호스트가 연결, 전송로를 확보)
    • 해당 전송로를 통해 메시지를 주고받는다.
  • 다른 호스트는 도중에 끼어들 수 없음 (전통적인 정화망)
  • 회선 스위치 : 호스트 사이에 일대일 전송로를 확보하는 네트워크
  • 장점 : 전송률 보장
    • 두 호스트 사이에 연결을 확보한 후에 메시지를 주고받기 떄문에 주어진 시간 동안 전송되는 정보의 양이 비교적 일정
  • 단점 : 회선 이용률 저하
    • 가능한 모든 회선에 끊임 없이 메시지가 흐르고 있어야만 회선의 이용 효율이 높아진다.

패킷 교환 네트워크

  • 메시지를 패킷 단위로 쪼개어 송수신한다.
    • 패킷 : 패킷 교환 네트워크에서 주고받는 데이터 단위
  • 파일 전송시에 전체가 전송되는 것이 아닌, 패킷의 크기만큼 분할되어 전송되고, 수신지에서 쪼개진 패킷들이 재조립된다.
  • 패킷은 페이로드와 헤더로 구성되고, 때로는 트레일러까지 포함한다.

패킷 구성 요소

  • 헤더(header) : 패킷에 붙일 부가 정보
  • 페이로드(payload) : 패킷에 보낼 정보
  • [트레일러(trailer)] : 패킷 뒤에 붙일 부가정보

주소와 송수신지 유형에 따른 전송 방식

  • 유니캐스트 : 하나의 수신지에 메시지를 전송하는 방식, 일대일 메시지
  • 브로드캐스트 : 자신을 제외한 네트워크상의 모든 호스트에게 전송하는 방식
    • 브로드캐스트 도메인 : 브로드 캐스트가 전송되는 범위
  • 멀티캐스트 : 네트워크 내의 동일 그룹에 속한 호스트에게만 전송
  • 애니캐스트 네트워크 내의 동일 그룹에 속한 호스트 중 가장 가까운 호스트에게 전송

프로토콜(protocol)

  • 노드(장비) 간의 합의된 규칙이나 방법을 의미
  • 서로 다른 통신 장치들이 정보를 주고받으려면 프로토콜이 통해야한다.
    • IP : 패킷을 수신지까지 전달하기 위해 사용되는 프로토콜
    • ARP : 192.168.1.1과 같은 형태의 ‘IP 주소’를 A1:B2:C3:D4:E5:F6과 같은 형태의 ‘MAC 주소’로 대응하기 위해 사용되는 프로토콜
    • HTTPS : HTTP에 비해 보안상 더 안전한 프로토콜
    • TCP : UDP에 비해 일반적으로 느리지만 신뢰성 높은 프로토콜

  • 프로토콜마다 목적과 특징이 다르기에 헤더에 포함되는 정보도 달라질 수 있다.

네트워크 참조 모델

  • 네트워크의 전송 단계를 계층적으로 표현한 것
  • 통신 과정을 계층으로 나눈 이유
    1. 네트워크 구성과 설계가 용이하다.
    2. 문제 발생 지점을 추측할수 있어서, 네트워크 문제 진단과 해결이 용이하다.

송수신 과정에서의 정형화된 관계

OSI 모델

  • 통신 과정을 7개의 계층으로 표현
  • 이상적인 설계
  • 물리계층
    • 최하단 계층, 1과 0으로 표현되는 비트 신호를 주고받는 계층
    • 통신 매체에 맞는 신호로 운반되도록 비트 데이터의 변환이 이루어지고 통신 매체를 통한 송수신이 이루어지는 계층
  • 데이터링크 계층
    • 네트워크 내 주변 장치 간의 정보를 올바르게 주고받기 위한 계층 (LAN)
    • 정보 오류 확인, MAC 주소 체계를 통해 네트워크 내 송수신지 특정 가능
  • 네트워크 계층
    • 메시지를 (다른 네트워크에 속한) 수신지까지 전달하는 계층
    • 네트워크 간의 통신
    • IP 주소라는 주소 체계를 통해 통신하고자 하는 수신지 호스트와 네트워크를 식별하고, 원하는 수신지에 도달하기 위한 최적의 경로 결정
  • 전송계층
    • 신뢰성 있고 안정성 있는 전송을 해야 할때 필요한 계층
    • 패킷의 흐름 제어, 전송 오류 점검
  • 세션계층
    • 세션을 관리하기 위해 존재하는 계층
      • 세션 : 통신을 주고받는 호스트의 응용 프로그램 간 연결 상태
    • 프로그램간의 연결 상태 생성 및 유지, 끊어주는 역할
  • 표현계층
    • 문자를 기계어로 변환
    • 압축, 암호화 작업 등
  • 응용계층
    • 최상단 계층, 사용자가 이용할 응용 프로그램에 다양한 실질적인 네트워크 서비스 제공하는 계층
    • 웹페이지 제공, 송수신된 이메일 제공 등

TCP/IP 모델

  • 통신 과정을 4개의 계층으로 표현
  • 이론 보다는 구현에 중점을 둔 네트워크 참조 모델
  • TCP/IP 4계층, 인터넷 프로토콜 스위트, TCP/IP 프로토콜 스택, 인터넷 프로토콜
    • TCP/IP 모델에서도 TCP, IP를 포함해 UDP, ARP, HTTP등 다양한 프로토콜들이 주로 묶여 함꼐 사용된다.
  • 네트워크 엑세스 계층
    • OSI 모델의 데이터 링크 계층과 유사
  • 인터넷계층
    • OSI 모델의 네트워크 계층과 유사
  • 전송계층
    • OSI 모델의 전송 계층과 유사
  • 응용계층
    • OSI 모델의 세션 계층, 표현 계층, 응용 계층을 합친 것과 유사

캡슐화 역캡슐화

패킷은 송신 과정에서 캡슐화가 이루어지고, 수신 과정에서 역캡슐화가 이루어진다.

캡슐화(encapsulation)

  • 데이터 전송 과정에서 헤더(및 트레일러)를 추가해 나가는 과정 의미
  • 상위 계층으로부터 내려받은 패킷을 페이로드로 삼아, 상위 계층으로부터 받은 정보에 프로토콜에 걸맞는 헤더 (혹은 트레일러)를 덧붙이는 것

역캡슐화(decapsulation)

  • 캡슐화 과정에서 붙인 헤더 (및 트레일러)를 각 계층에서 제거하는 것

PUD

  • 각 계층에서 송수신되는 메시지의 단위 (Protocol Data Unit)

  • 상위 계층에서 전달받은 데이터에 현재 계층의 프로토콜 헤더(및 트레일러)를 추가하면 현재 계층의 PDU가 된다.

    OSI 계층PDU
    응용 계층
    표현 계층데이터(data)
    세션 계층
    전송 계층세그먼트(segment), 데이터그램(datagram)
    네트워크 계층패킷(packet)
    데이터 링크 계층프레임(frame)
    물리 계층비트(bit)

패킷

  • 패킷 교환 네트워크에서 쪼개어져 전송되는 단위
  • 네트워크 계층에서의 송수신 단위 (IP 패킷)


1주차

진도: Chapter 01
기본 숙제(필수): OSI 모델 및 TCP/IP 모델 차이점을 정리하고, 이를 바탕으로 네트워크 계층 구조를 작성해 보기(p. 62 참조)
추가 숙제(선택): Ch.01(01-1) 확인 문제 2번(p.35), (01-3) 확인 문제 2번(p.73) 풀고 설명하기

기본 숙제

OSI 모델 및 TCP/IP 모델 차이점을 정리하고, 이를 바탕으로 네트워크 계층 구조를 작성해 보기(p. 62 참조)

OSI 모델TCP / IP 모델
목적이론적 설계를 위한 참조실용적 구현을 위한 참조
계층 수7계층4계층
계층종류물리계층 / 데이터링크 계층 / 네트워크 계층 / 전송계층 / 세션계층 / 표현계층 / 응용계층네트워크 엑세스 계층 / 인터넷 계층 / 전송계층 / 응용계층

OSI 모델TCP / IP 모델설명
응용 계층응용 계층사용자와 직접 상호작용하는 네트워크 응용 프로그램을 제공(HTTP, FTP, SMTP, DNS)
표현 계층데이터 형식 변환, 암호화, 압축 등의 기능을 제공하여 상위 계층이 데이터를 적절하게 처리할 수 있도록 함 (SSL/TLS)
세션 계층통신 세션을 설정하고 관리하며, 세션 간의 데이터 교환을 제어(NetBIOS, PPTP)
전송 계층전송 계층데이터의 세그먼트를 전달하고, 신뢰성 있는 데이터를 전송을 보장 (TCP:전송 제어 프로토콜, UDP:사용자 데이터그램 프로토콜)
네트워크 계층인터넷 계층 / 네트워크 계층네트워크 내에서 패킷을 전달하고, 라우팅 기능을 담당(라우터, IP:인터넷 프로토콜)
데이터 링크 계층네트워크 액세스 계층 / 데이터링 계층인접한 네트워크 장치간에 프레임을 전송하고, 에러 검출 및 수정 기능을 제공 (스위치, 브리지, 이더넷)
물리 계층네트워크 액세스 계층 / 물리 계층물리적 매체를 통해 비트를 전송. 전기적 신호, 광 신호, 또는 무선 신호를 사용하여 데이터 전송 (케이블, 허브, 리피터)

추가 숙제

Ch.01(01-1) 확인 문제 2번(p.35)

  • 1 : 컴퓨터 네트워크에 대한 이해는 프로그램을 만드는 과정과 유지 보수 과정 모두에 도움을 줄 수 있다.

Ch.01(01-3) 확인 문제 2번(p.73)

  • 2 : TCP / IP 모델은 4개의 계층으로 표현한다.

회고

이전에 네트워크 아티클들을 읽었던 적이 있어서 이해하기는 나쁘지 않았다.
OSI 7계층과 TCP/IP 4계층 모델이 가끔 헷갈리긴하지만 혼공네트를 읽어가면서 더 명확하게 이해해야겠다.

HTTP 통신에 대해서 먼저 학습했기 때문에, 나한테는 패킷의 기본적이 의미가 IP패킷이기 때문에 처음에 반가웠지만 당황했다.

profile
성실하게

0개의 댓글