#1. 네트워크와 인터넷

2019. 6. 27. 18:49

방학을 맞아 1주정도 쉬고나니 공부가 하고 싶어졌다.

뭘 공부해야할까.. 고민을 많이 해보았는데,

이번학기 Docker & Kubernetes 및 클라우드 서비스 아키텍처를 공부하면서

계속 부족하다고 느꼈던 네트워크 관련지식을 단단하게 하는게 좋겠다는 생각이 들었다.

블로그 포스팅은 K-MOOC의 부산대학교 유영환 교수님의 컴퓨터네트워킹 강의를 들으면서

필기하고, 느낀 점을 중심으로 작성하고자 한다.

 

[1주차의 목표]

  • 네트워크와 인터넷 개념 소개
  • 인터넷 구성요소 소개

 

[학습목표]

  • 인터넷의 개념에 대해서 이해한다.
  • 네트워크와 인터넷이 어떻게 구성되어 있는지 알아본다. 

# 네트워크

우리에게 가장 익숙한 인터넷에서부터, 공중 유선 전화망, 휴대 전화망과 같은 유선 네트워크

그 외에 위성 네트워크를 포함한 각종 무선 네트워크가 포함된다.

 

# 1강에서는..

인터넷이란 무엇인가

네트워크를 구성하는 요소(component)들 ( HW components + SW components )

인터넷의 전체 구조

를 중심으로 살펴본다.

 

# What is the Internet?

  • 네트워크의 종류는 다양하다.
  • Internet = Inter- + net(work) , 즉 네트워크 간(間)의 네트워크이다.
  • 네트워크의 종류 : "Home Network", "Institutional(회사 같은 기관) Network", "Mobile(스마트폰, 스마트 냉장고..) Network", "Global ISP", "Regional ISP" (ISP = Internet Service Provider)
  • 네트워크란, 여러가지 기기들 ( Desktop, Server, Smartphone, Smart Device, Laptop... := Device = "End Host" )들이, "서로의 정보를 교환하기 위한 목적"(=네트워크의 존재 의미)로 연결되어 있는 것이다.
  • 네트워크는 한 개의 덩어리가 아닌, 여러개로 분할(partition)되어 있다. 그것을 이어주는 것이 바로 인터넷이다.

★ ISP : 개인이나 기업체에게 인터넷 접속 서비스, 웹사이트 구축 및 웹호스팅 서비스 등을 제공하는 회사를 말한다. 대표적으로 한국에서는 KT 인터넷, SK 브로드밴드, LG U+ 등이 있다. (출처 : 나무위키)

여러 기기들(device)가 연결되어있는 네트워크(Network)들이 있고, 그것을 또 연결하는 것이 인터넷(Internet)이다. 즉, 인터넷은 네트워크들의 네트워크인 것이다. (출처 : K-MOOC) 

 

# 인터넷의 구성요소

  • Internet is consist of HW components + SW componenets.
  • [Internet's HW Component] : End Host , Interconnection Device, Link
    • End Host
      • 랩탑, 모바일 기기(스마트폰, 스마트 냉장고...), 데스크탑, 서버..
      • 네트워크의 종단(=끝부분)에 위치한 노드(node : 네트워크를 이루는 기기들을 노드라고 한다.)
      • 네트워크의 목적인 "통신", 즉 "정보를 주고 받는 행위" 는 크게 보면, "End host"들 간의 통신을 의미한다. A라는 End Host에서 B라는 End Host로 정보를 보낼 때, 이 정보 덩어리(= 이를 패킷(packet)이라고 한다.)는 link를 타고, interconnection device들을 지나 B로 도착하게 된다.
      • Client, Server는 모두 Host이다.
    • Interconnection Device
      • 라우터(Router), 스위치(Switch), 리피터(Repeater)...등등
      • 네트워크의 대략적 구조
        • (End Host) - (link) - (InterConnection Device) - (link) - (ICD) - ...- (link) - (ICD) - (link) - (End Host)
      • 즉, 한 End Host에서 다른 End Host로 정보(=패킷)을 보낼 때, 여러 개의 Interconnection Device를 거치게 된다.
      • 이러한 Interconnection Device는 정보(=패킷)을 "어떠한 식으로" 전달할지를 결정한다.
    • Link
      • Link는 네트워크에 있는 여러가지 노드들(Nodes = End hosts + Interconnection Devices)을 유선 혹은 무선의 형식으로 연결해준다.
      • 유선의 경우, 구리선(copper), 광섬유(fiber) 등이 있고,
      • 무선의 경우, 지상에서는 라디오 주파수(Radio Frequency), 위성을 통해서는 위성전파가 있다.
  • [Internet's SW Component] : OS, Application Program, Protocols
    • OS (Operating System)
      • Desktop : Windows, Linux, OS X
      • Mobile : Android, iOS
    • Application Programs
      • 웹 브라우저 ( 구글 Chrome, 네이버 Whale, Internet Explorer, Firefox ... )
        • TMI) 포털사이트 ≠ 웹 브라우저 ( 난 헷갈렸었다.. )
      • Messanger Program...
    • Protocols
      • 서로 다른 노드(Node = End Hosts + Interconnection Devices)들 끼리 통신("정보를 주고 받음")을 하면서, 지켜야 할 약속

# Protocol

  • 정의
    • A defined set of rules & regulations that
      • determine how data is transmitted
        • in telecommunications and computer networking
    • 전화망(telecommunication), 컴퓨터 네트워킹에서
      • 데이터를 전달하는 과정을 정의
        • 룰(rule)또는 규제(regulation)
  • Protocol의 종류 (예) = "데이터를 어떻게 표현할 것인가?"
  • 비교) 인간의 대화 프로토콜 vs 컴퓨터의 통신 프로토콜

"현재 시각을 묻기위한 상황"에서 우리는 통상적으로 인사를 나눈 뒤,  요청하는 사람이 시간을 물어보면(요청), 응답하는 사람이 시간을 알려준다. 컴퓨터에서도, 통상적으로(=프로토콜, 약속된 룰) 요청하는 기기가 TCP 연결을 요청하면(요청), 응답하는 기기가 TCP 연결에 대한 응답을 보낸다. 그 이후, 요청하는 자료를 가져와달라는 표현의 메시지 형식을 보내면(요청), 요청받은 파일(정보)을 다시 보내준다.

 

 

# 통신 프로토콜 (Communication Protocol)

  • All communication activity in Internet
    • is governed by protocols.
  • 모든 인터넷 상의 통신("정보를 주고 받음")은
    • 프로토콜이 관리한다.
  • Protocol defines...
    • Message Format
    • Order of Messages sent and received among network entities(=nodes)
    • Actions taken on message transmission, receipt

 

  • Message Format ~= 어순
    • ex) 패킷(packet)의 헤더(header) 정보
      • 네트워크 상에서 돌아 다니는 패킷의 내부 구성요소에는 헤더(Header)라는 것이 있다.
      • 헤더는 20바이트로 구성되어있는데,
      • 헤더의 13번째 바이트부터 16번째 바이트는 보내는 쪽의 IP ( source IP )
      • 17번째 바이트부터  20번째 바이트는 받는 쪽의 IP ( destination IP )이다.
      • 이러한 "약속"(= 메시지의 형식이 이렇더라..)은 미리 정의되어 있어야 한다. => Protocol
  • Order of Messages
    • ex) 아까의 컴퓨터의 통신 프로토콜 예에서
      • "어떤 정보(data)를 요구(request)하려면, 그 두 기기 사이의 연결(connection)이 수립되어야한다." 라는 조건.
      • 그러고 난 다음에(=순서 : Order of Messages), 파일 요청 메시지를 보낼 수 있는데, 이 때 파일 요청 메시지의 형식은 "GET (URL)" 형식이어야 한다. (메시지의 형식, 생김새 : Message Format)
      • 그러고 나면(=순서), 응답이 온다... 이러한 식의 순서 
      • 즉 "메시지를 주고받는 순서의 틀"을 미리 정의하여야 한다. => Protocol
  • Actions
    • ex) 파일을 보낼 때, 만약 파일 크기가 너무 크면 
      -> 보내는 쪽에서는 보낼 때( 그 순간 ) 그것을 잘라서 보내야 한다.(Action)
      -> 받는 쪽에서 받을 때 ( 그 순간 ) 잘라져 있는 메시지를 합쳐야 한다.(Action)
      -> 받는 쪽에서는 받을 때 ( 그 순간 ) 그 메시지들에 에러가 포함되어 있는 지 확인해야 한다.(Action)
          에러가 없다면, "에러 없음"이라는 메시지를 송신 측에 보내주어야 한다.(Action)
    • 이러한 메시지를 주고 받는 그 순간들에 수행해야하는 행동을 미리 정의하여야 한다. => Protocol

 

이러한 HW 구성요소와 SW 구성요소가 함께 동작하여 인터넷에 있는 디바이스는 서로 통신할 수 있다.

 

'컴퓨터네트워크' 카테고리의 다른 글

#3. 네트워크 코어  (0) 2019.06.29
#2. 네트워크 엣지  (0) 2019.06.28

+ Recent posts