Hello, Digital World : 네트워크-인터넷

2020. 12. 10. 05:30Computer/Computer

본 내용은 '커니핸 교수의 Hello, Digital World' 책에서 네트워크-인터넷 관련 내용을 공부하고 정리한 내용입니다.

 

인터넷

 

1. 인터넷 개요

 

인터넷

프로토콜에 의해 묶인 네트워크 (+컴퓨터) 들의 모임

 

프로토콜(protocols)

일련의 규칙 ( 누가 먼저 말하고 어떤 응답이 이뤄질 있는지, 오류를 어떻게 처리할 것인지 데이터 형식에 대한 합의)

 

네트워크

이상의 컴퓨터들을 연결하고 서로 통신할 있는 . 게이트웨이(Gateway) 또는 라우터(Router) 통해 다른 네트워크에 연결된다.

 

게이트웨이

서로 다른 네트워크로 이동하기 위한 관문

 

정보는 패킷이라고 하는 덩어리로 네트워크를 통해 이동한다.

 

패킷

지정된 형식의 바이트 시퀀스 (주소정보 + 패킷자체정보 + 전달하는 정보인 페이로드(payload))

 

인터넷에서 데이터는 IP패킷(internet protocol packet) 으로 전달된다.

IP패킷은 모두 같은 형식. IP패킷은 여러개의 게이트웨이를 통과한다.

-> 특정 물리적 네트워크에서 IP패킷은 하나 이상의 물리적 패킷으로 전송될 있다.

Ex) 가능한 가장 이더넷 패킷 ( 1500바이트) 가능한 가장 IP패킷( 65000바이트)보다 훨씬 작기 때문에 IP패킷은 여러개의 작은 이더넷 패킷으로 분할된다.

 

HOW TO WORK?

 

주소 : IP 주소(IP address)

자신을 식별할 주소. IPv4, IPv6

'중앙기관' 연속적인 IP주소 블록을 '네트워크 관리자'에게 할당하고, 네트워크 관리자는 네트워크 상의 '호스트 컴퓨터'들에 개별주소를 할당한다.

따라서 호스트 컴퓨터에는 자신이 있는 네트워크에 따라 로컬로 할당된 고유한 주소가 있다.

데스크톱 : 영구적 / 모바일 : 동적. 적어도 장치가 인터넷에 다시 연결될 때마다 바뀐다.

 

이름 : 도메인 네임(Domain Name) www.google.com

도메인 네임 시스템(Domain Name System : DNS) : 이름과 IP주소 변환을 수행한다.

 

라우팅(Routing) - (Route 루트)

: 어떤 네트워크 안에서 통신 데이터를 보낼 최적의 경로를 선택하는 과정 / 최단거리 or 최단시간

패킷에 대해 발신지에서 수신지까지의 경로를 찾는 매커니즘 <- 게이트웨이들이 제공

게이트웨이들은 어느 것이 어디에 연결되어 있는지에 대해 자기들끼리 라우팅 정보를 끊임없이 교환하고, 정보를 이용하여 수신 패킷을 최종 수신지에 가까운 게이트웨이 쪽으로 계속 전달.

 

프로토콜(protocol) : 규칙과 절차

  1. IP (Internet protocol) : 핵심프로토콜 : 전송 중인 정보에 대해 균일한 전송 매커니즘과 공통형식을 정의
  2. TCP (Transmission Control Protocol) : 전송제어 프로토콜 : IP 사용하여 발신지에서 수신지까지 임의 길이의 바이트 시퀀스를 전송하는 안정적인 매커니즘 제공
  3. 고수준의 프로토콜들 : 브라우징, 메일, 파일공유 우리가 '인터넷'이라고 생각하는 서비스를 제공하기 위해 TCP 사용.

프로토콜들이 모두 합쳐져서 인터넷을 정의

 

응용, 표현, 세션

DHCP, FTP, DNS, HTTP, POP, SMTP …

응용계층

전송계층

TCP, UDP, Segment

전송계층

네트워크계층

IP Address: IPv4, IPv6 (Datagram)

인터넷계층

데이터링크계층

MAC Address (Frame)

네트워크

물리계층

Ethernet cable, wire …

접근계층

OSI 표준 모델

 

TCP/IP 모델

 

 

 

 

2. TCP/IP 프로토콜

 

필수 2가지

IP : 인터넷 프로토콜 : 개별 패킷의 형식을 지정하고 패킷을 전송하는 방법을 정의

TCP : 전송제어 프로토콜 : IP 패킷을 데이터 스트림으로 결합하고 서비스에 연결하는 방법을 정의

-> TCP/IP

 

 

프로토콜 계층

애플리케이션

TCP

IP

물리계층

위로는 서비스 제공, 아래로는 의존

 

1) IP : '신뢰할 없고' '연결이 없는' 패킷 배달 서비스를 제공

  • IP 패킷이 자립적. 다른 IP 패킷과 관계 없음. IP에는 상태나 메모리가 없다.
  • IP 패킷을 얼마나 전달하는지에 대해 보장하지 않는 '최선형(best effort)' 프로토콜

2) TCP : 하위 계층(IP)으로부터 신뢰할  있는 통신을 만들어냄. 자신의 사용자에게 신뢰할  있는 양방향 스트림을 제공

 

 

3. 상위 레벨 프로토콜

 

: 인터넷 서비스와 애플리케이션은 TCP 전송 매커니즘으로 사용하지만, 필요한 기능에 특유한 자신만의 프로토콜을 가지고 있다.

Ex) HTTP,

브라우저와 서버에서 사용되는 특히 간단한 프로토콜, Hyper Text Transfer Protocol

 

 

(+TCP/IP HTTP 차이)

 

일단 동작하는 계층이 다르다.

TCP/IP transport 계층에서 동작한다.( 자세하게는, IP 인터넷계층, TCP 전송계층)

HTTP 고수준의 애플리케이션 프로토콜 계층에서 동작한다.

HTTP TCP/IP 위에서 작동한다.(웹의 필수 4가지를 참고)

HTTP TCP/IP 위에서 어떤 형태로 웹에서 작동할지를 정해놓은 통신프로토콜일 뿐이다.(하이퍼텍스트를 전송하는 규약)

 

- 데이터 형태

TCP : byte array(binary)로 정보를 통신

HTTP : String 으로 정보를 통신

 

- 연결방식

TCP : 언제나 서버와 연결되어있어야 하며, request 없이도 receive가 일어남.

HTTP : keep-alive로 지속적인 연결은 가능하지만, 기본적으론 close 되어 있으며, request를 하여야만 receive가 일어남.

 

- 속도가 중요할땐?

TCP/IP 기반 소켓을 쓰는 것이 빠르다. 바인딩 과정 HTTP 변환 과정등이 생략되기 때문.

연결지향 / 동기식 통신이 필요하다면 소켓 통신을 이용해야 한다.

 

(+ 소켓)

  • Internet socket : an end-point in the IP networking protocol
  • 소켓은 TCP(Transmission Control Protocol)와 UDP(User DataGram Protocol)로 구분할 수 있다.

TCP는 신뢰할 수 있는 통신을 / UDP는 몇 가지 신뢰도는 포기하되 좀 더 직접적인 통신을 한다.

 

Ex) 친구에게 택배를 보낸다고 했을 때, 상자에 보낼 물건을 넣고 나의 이름, 주소 등의 인적사항과 친구의 집 주소를 적어주는 역할을 하는 것.

 

 

  •  Network Socket 정리 (추후 소켓에 대해서는 개념 정리 요)

: 컴퓨터 네트워크를 경유하는 프로세스 간 통신의 종착점.

오늘날 컴퓨터 간 통신의 대부분은 인터넷 프로토콜을 기반으로 하고 있으므로, 대부분의 네트워크 소켓은 인터넷 소켓이다. 네트워크 통신을 위한 프로그램들은 소켓을 생성하고, 이 소켓을 통해서 서로 데이터를 교환한다.

 

인터넷 소켓 구성요소

  • 인터넷 프로토콜 (TCP, UDP, raw IP)
  • 로컬 IP 주소
  • 로컬 포트
  • 원격 IP 주소
  • 원격 포트

 

인터넷 소켓은 크게 두 개의 타입으로 분류할 수 있다.

  • UDP 프로토콜을 사용하는 경우
  • TCP 프로토콜을 사용하는 경우

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'Computer > Computer' 카테고리의 다른 글

Hello, Digital World : 네트워크-웹, 데이터  (0) 2020.12.10