인터넷
컴퓨터끼리 데이터를 주고받는 거대한 네트워크. 이런 네트워크는 사업자가 깔고, 우리는 돈내고 그 서비스 이용합니다. 그래서 컴퓨터와 인터넷 서비스를 가지고 다른 기기와 데이터를 주고받을 수 있습니다.
TCP/IP
인터넷에서 데이터를 주고받을 때, 효율적으로 데이터를 주고받기 위해서 규칙이 필요합니다. TCP/IP는 이때 사용되는 다양한 규약(프로토콜)들의 모음이라고 보면 됩니다. 프로토콜의 성격이 같은 것들끼리 묶여있는데, 상세하게는 네트워킹 범위에 아래와 같이 나뉘게 됩니다.
- 애플리케이션 계층
- 전송 계층
- 인터넷 계층
- 링크 계층
각 계층들은 다른 계층이 변경되어도 영향받지 않도록 설계되어 있습니다. TCP/IP를 이용해서 데이터를 주고받을 때 사용되는 패킷이 있는데 이 개념을 알아야 합니다.
패킷
통신 데이터 조각.
데이터를 전송할 때, 효율적으로 하기 위해서 데이터를 쪼개고 전송한 다음에 합치는 방법. 초반에는 자금이 부족해서 이런 식으로 개발했다고 합니다. 데이터가 나누어져 가는데 잘 도착하는 것은 TCP/IP 때문입니다.
애플리케이션 계층
애플리케이션끼리 정보를 공유할 때 사용하는 규약. 대표적으로 브라우저와 웹서버가 데이터를 주고받을 때는 http 규약을 사용합니다. 서비스를 사용자들에게 제공하는 계층임. HTTP, FTP, SSH, SMTP, DNS이 대표적인 애플리케이션 계층에서 사용되는 프로토콜들입니다
HTTP
웹에서 데이터 교환을 할 때 사용되는 프로토콜. 팀 버너스리가 http를 개발했습니다. 데이터를 편하게 공유하고 싶은 수요에 의해서 웹 브라우저라는 애플리케이션으로 html를 공유하는 규약을 만들었습니다.
이때 최초의 웹 브라우저를 www라고 작명함. 지금은 인터넷 서비스에서 컴퓨터끼리 데이터를 주고받는 거대한 망 같은 느낌으로 사용됩니다. 아래 사이트에서 더 자세한 내용을 알아볼 수 있습니다.
https://developer.mozilla.org/ko/docs/Web/HTTP/Overview
FTP
파일 전송에 사용되는 프로토콜
SSH
네트워크를 안전하게 운영하기 위한 암호화 네트워크 프로토콜
SMTP
전자메일 전송에 사용되는 프로토콜
DNS
도메인과 IP주소를 매핑해주는 서버
전송 계층
전송 계층은 보낸 데이터를 받는 쪽이 확실하게 받도록 도와주는 역할을 함. 즉 송신할 때의 신뢰성을 보장하도록 하는데, 포트 번호를 사용해서 애플리케이션을 찾아주는 역할을 합니다. 애플리케이션 계층과 인터넷 계층 사이의 데이터가 전달될 때 중계 역할을 함. 대표적으로 TCP, UDP가 있습니다.
TCP
패킷 사이의 순서를 보장하고 연결 지향 프로토콜을 사용해서 신뢰성을 구축합니다. 이때 가상 회선 패킷 교환 방식을 사용하는데,
각 패킷마다 식별자가 포함되어 있습니다. 패킷들은 순서대로 목적지로 도착하게 됩니다.
UDP
패킷 사이의 순서도 보장하지 않고, 비연결 지향 프로토콜이라서 수신 여부도 확인하지 않습니다. 즉 신뢰가 없습니다. 단순히 데이터만 주는 데이터그램 패킷 교환 방식을 사용합니다. DNS에서 사용합니다.
그럼 TCP는 어떻게 신뢰성을 확보할까요? 3-way-handshake라는 작업을 통해 신뢰성을 확보합니다.
인터넷 계층
인터넷 계층은 수신 측까지 데이터 응답을 전달하는 역할을 합니다. 데이터를 받는 곳은 모두 IP 주소가 있는데. 이것을 통해 올바른 목적지로 찾아갑니다.(IP, ARP)
링크 계층(=네트워크 접근 계층)
링크 계층은 네트워크에 직접 연결된 기기 간의 데이터 전송을 도와줌. 즉, 전선, 광섬유와 같은 유선과 무선을 이용해서 실질적인 데이터를 장치들끼리 주고받는 것. 물리적 주소 MAC 주소로 네티워크에 직접 연결된 기기 간 전송 도와줌.
MAC주소
컴퓨터에는 네트워크 연결을 위한 LAN 카드라는 장치가 있는데, 이 식별 번호를 말함. 48bit로 구성됨.
유선
IEEE802.3 프로토콜을 사용합니다. 양쪽 장치 모두 송수신할 수 있는 전이중화 통신을 사용하고, 트위스트 페어 케이블, 광섬유 케이블과 같은 물리적인 매개체를 사용합니다.
무선
IEEE802.11 프로토콜을 사용합니다. 양쪽 장치는 서로 수신할 수 있지만, 동시에는 통신할 수 없는 반이중화 통신을 사용합니다. 이러면 메시지 손실을 방지할 수 있습니다. 무선은 비유도 매체인 공기에 주파수를 쏴서 무선 통신망을 구축하는데, 주파수 대역은 보통 2.4GHz, 5GHz를 사용합니다. 2.4GHz는 장애물에는 강하지만, 간섭이 많고, 5GHz 대역은 채널 수도 많고 동시에 사용 가능해서 상대적으로 깨끗한 환경을 제공해서 많이 사용됩니다. 와이파이, 블루투스 등이 있습니다.
계층간 데이터 송수신
내 컴퓨터에서 다른 컴퓨터로 데이터를 요청하면 실제로 어떤 일이 벌어질까요? TCP/IP 개념을 가지고www.google.com 입력시 일어나는 과정은 다음 글에서 알아보겠습니다.
2023.02.20 - [분류 전체보기] - 브라우저에 google.com을 입력하는 일어나는 일
댓글