표준과 프로토콜
인터넷은 거대한 네트워크도 거대한 컴퓨터도 아니고 느슨하고 체계가 없으며 혼란스럽고 임시적인 네트워크 모음
네트워크와 그 위에 있는 컴퓨터가 서로 통신하는 방법을 규정하는 표준으로 묶여있다.
네트워크의 연결
네트워크와 컴퓨터를 식별하기 위해서 이름과 주소가 필요
데이터를 어떤 형식으로 구성할지, 누가 먼저 어떻게 응답할지, 처리할지에 대한 합의가 필요
프로토콜
컴퓨터 내부에서, 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계. 기기 간 통신은 교환되는 데이터의 형식에 대해 상호 합의를 요구하는데 이런 형식을 정의하는 규칙의 집합을 프로토콜
- 정보를 형식화하는 방법
- 컴퓨터간에 정보를 교환하는 방법
- 컴퓨터를 식별하고 인가하는 방법
- 무언가 실패했을 때 해야할 일 등에 대한 표준
종류
인터넷이 전 세계에 연결되어 자유롭게 사용이 가능한 것도 다 프로토콜 덕분이다. 인터넷은 TCP/IP 기반하에 동작하는데 이 자체가 프로토콜이다.
인터넷을 통해서 전 세계로 이메일을 보낼 수 있는 것은, SMTP (Simple Mail Transfer Protocol)라는 게 규정되어 있고, 전 세계의 메일서버가 이를 따르기 때문이다.
월드 와이드 웹 역시, HTTP (HyperText Transfer Protocol) 이라는 것이 규정되어 있고, 웹 서버와 웹 브라우저가 이를 따르기 때문에 가능한 것이다.
TCP(Transmission Control Protocol) / IP(Internet Protocol)
현재 수많은 프로그램들이 인터넷으로 통신하는 데 있어 가장 기반이 되는 프로토콜. 실제 대다수 프로그램은 TCP와 IP로 통신(정확히는 '네트워킹')하고 있다.
ARPANET이 개발된 이후 현재의 인터넷으로 발전해나가는 과정에서 대부분의 데이터 통신이 TCP와 IP 기반으로 이루어졌기에 인터넷 프로토콜 그 자체를 표현하는 용어이기도 했고, 다양한 프로토콜이 개발된 현 시점에도 사실상 인터넷 프로토콜을 대표하는 용어로 사용 중이다. 이를 이용해서 컴퓨터를 연결하는 체계를 이더넷이라고 부른다. 크게 4개의 계층으로 되어 있다. OSI 모형 7계층과 맵핑이 가능하다.
그 때문에 프로그램 설명서에 "TCP/IP 지원"이라 써있으면 인터넷에 연결하여 쓰는 기능이 포함되어 있다는 소리이다.
보통 하나로 싸잡아 표현하긴 하나 TCP와 IP는 별개이다. 네트워크의 경우 계층이 정의되어 있고 각 계층마다 하는 역할과 책임지는 영역이 나뉘어져 있기 때문에 묶어서 표현한다는 것뿐이지 역할에는 많은 차이가 있다
메커니즘을 알기전에 몇가지 지식들
아파넷(ARPAnet)
미국 국방부의 고등 연구 계획국(Advanced Research Project Agency : 약칭 ARPA, 문화어: 현대연구계획국망)의 주도하에 만들어진 세계 최초의 패킷 스위칭 네트워크로 1969년에 시작되었으며, 현재의 인터넷의 원형으로 알려져 있다.아파넷이라는 글자는 모두 대문자로 ARPANET로 표시되는 경우가 많다.
당시엔 회로 스위칭이 많이 쓰이고 있었지만, 아파넷의 발족한 뒤로 이제까지 패킷 스위칭이 데이터와 음성을 주고 받는 데에 널리 쓰이고 있다.
발족 당시의 노드로는 UCLA, 캘리포니아 대학교 산타바바라, 스탠퍼드 연구소(SRI), 유타 대학교의 네 군데가 있었다.
아파넷은 NCP(Network Control Program)라는 전송 통신규약(프로토콜)을 사용하였으나, 1983년 TCP/IP가 이를 대체하며 지금의 인터넷으로 진화하게 되었다.
이더넷
느슨하게 연결된 수백만개의 독립적인 네트워크로 구성되어있고 가까이 있는 컴퓨터끼리는 근거리 통신망으로 연결되는데 개념
가정 내 개별 컴퓨터는 무선 통신으로 라우터에 연결, 사무실은 유선 이더넷으로 연결
라우터(게이트웨이)
게이트웨이는 이종 프로토콜 및 네트워크 간에 통신을 가능하게 하며 다른 네트워크로 들어가는 문 역할을 하는 네트워크 포인트. 또한 하나 이상의 프로토콜을 사용하는 측면에서는 라우터와 다르다는 차이점
라우터는 OSI 3계층 및 4계층을 이용하며 게이트웨이는 OSI 5계층 이상을 이용.
예를 들어 인터넷 유무선 공유기가 주변에서 쉽게 볼 수 있는 게이트웨이.
공유기는 사용자 기기의 네트워크와 인터넷을 연결하여 사용자가 인터넷에 접근할 수 있게 해 준다.
우리가 컴퓨터와 핸드폰 등 다양한 기기를 공유기를 통해 사용할 수 있는 것
그리고 사용자가 속해 있는 로컬 네트워크의 통신 프로토콜과 인터넷의 통신 프로토콜이 다르기 때문에 게이트웨이가 반드시 있어야 한다
자신의 컴퓨터에서 목적지 네트워크까지 도달하기까지 최소 한 개에서 다수의 게이트웨이를 거쳐 간다
게이트웨이가 없는 상황이라면?
ip주소와 서브넷 마스크만 있다면 자신이 속한 로컬 네트워크에서만 통신이 가능합니다. 즉 외부 네트워크 및 인터넷을 사용할 수가 없게 됩니다. 인터넷 등 다른 네트워크로 나가기 위해서는 게이트웨이(라우터 등)가 있어야 하고, IP 주소, 서브넷마스크, 게이트웨이 주소까지 정확하게 설정해야 하기 때문
패킷
정보 기술에서 패킷 방식의 컴퓨터 네트워크가 전달하는 데이터의 형식화된 블록이다. 패킷은 제어 정보와 사용자 데이터로 이루어지며, 이는 페이로드라고도 한다.
인터넷 데이터는 하나 이상의 물리적 IP 패킷으로 전달된다(모두 같은 형식)
각 IP패킷은 여러개의 게이트웨이로 패킷을 보내고 회사나 기관이 각기 소유하고 운영되어 다른 국가에 있을 확률이 높음.
메커니즘
1. 주소
자신을 고유하게 식별할 주소가 있어야한다.
IP주소는 32비트 또는 128비트
짧은 주소는 인터넷 프로토콜 버전(IPv4), 긴 주소는 버전(IPv6)
IPv4가 오랫동안 사용되어서 지배적이었지만 이제는 사용할 수 있는 주소가 소진되어서 IPv6로 전환이 가속화되어있다
IPv4 주소는 4바이트 값의 각 바이트를 십진수로 나타내고 마침표로 구분
IPv6 주소는 16개의 십육진수 바이트를 두 개씩 콜론으로 구분해서 작성
2, 이름
임의의 32비트 숫자
www.hanghae.com 이런식으로 나타내고 도메인 네임이라고 한다
DNS (도메인 네임 시스템)는 이름과 IP주소 간 변환을 수행한다
3. 라우팅
출발지와 목적지까지의 패킷 경로를 찾는 메커니즘(게이트웨이가 제공)
어떤 개체가 어디에 연결되어있는지 라우팅 정보를 교환하고 더 가까운 게이트웨이 쪽으로 전달
4. 프로토콜
IP 는 전송중인 정보에 대한 균일한 전송 메커니즘과 공통 형식을 정의함
TCP는 프로토콜이 IP를 사용하여 출발지에서 목적지까지의 임의 길이의 바이트 시퀀스를 전송하기 위한 메커니즘 제공
References :
https://imweb.me/blog?idx=102
'프로그래밍 > CS 지식' 카테고리의 다른 글
애플리케이션 & 소프트웨어의 계층구조 (0) | 2022.08.01 |
---|---|
작문과 비슷한 프로그래밍 (0) | 2022.07.28 |
Cookie 와 Cache (그리고 Session) (0) | 2022.07.23 |
하드웨어 (직접회로, 무어의법칙) (0) | 2022.07.20 |