1. 컴퓨터 네트워크와 인터넷
1.1 인터넷이란 무엇인가?
구성요소를 기술하거나 분산 애플레키에션에 서비스를 제공하는 networking infrastructure 관점으로 기술할 수 있다.
공부를 시작하기 전의 나라면 수 많은 사람들의 컴퓨터가 연결되어 있는 연결망 이라고 대답할 것 같다.
1.1.1 구성요소로 본 인터넷
- 인터넷은 수 많은 컴퓨팅 장치를 연결하는 컴퓨터 네트워크이다.
-
이전에는 데스크톱 PC, 서버뿐이었지만 스마트폰과 태블릿을 넘어 가전제품, 자동차 등 다양하게 연결되는 중!
- 인터넷에 연결된 모든 장치를 호스트(host) 혹은 종단 시스템(end system)이라고 부른다.
- end system : 통신 링크(communication link)와 패킷 스위치(packet switch)의 네트워크로 연결된다.
- 여러 link들은 다양한 전송률(transmission rate, 링크 대역폭)을 이용하여 데이터를 전송한다. 단위는 bps(bit per second)
- 송신 end system : 다른 end system에게 보낼 데이터를 segment 단위로 나누고 각 segment에 header를 붙인다. => packet(패킷)
-
packet : 수신 end system에서 원래 데이터로 다시 조립된다.
- 송신 end system -> 입력 통신 링크 -> 패킷 교환기(또는 스위치) -> 출력 통신 링크 -> 수신 end system
- packet switch : 라우터(router) 와 링크 계층 스위치(link-layer switch) 가 대표적인 예
- router는 네트워크 코어에서 주로 사용
- link-layer switch는 접속 네트워크에서 주로 사용
-
packet이 거쳐온 link, packet switch => 경로(route 혹은 path)
- ISP(Internet Service Provider) : packet switch와 통신 link로 이루어진 network
- end system은 ISP를 통해 인터넷에 접속한다. ISP는 end system에게 다양한 네트워크 접속을 제공한다.
-
ISP의 예 : 와이파이 제공하거나, 스마트폰 등에 있는 셀룰러 데이터 ISP
-
ISP들 끼리 직접 혹은 상위 계층 ISP를 통해 연결된다.
- 인터넷의 구성요소 : 인터넷에서 정보 송수신을 제어하는 여러 프로토콜(protocol)을 수행
- TCP(Transmission Control Protocol)와 IP(Internet Protocol)이 대표적이고 중요하다.
- IP 프로토콜 : router와 end system사이에서 송수신되는 packet format
- 이를 통칭하여 TCP/IP라고 함.
1.1.2 서비스 측면에서 본 인터넷
- application에 서비스를 제공하는 infrastructure로서의 인터넷
-
분산 애플리케이션(distributed application) : 서로 데이터를 교환하는 많은 종단 시스템을 포함한다.
- 인터넷 애플리케이션 : end system에서 수행(packet switch에서 X)
- 소켓 인터페이스(socket interface) : 한 end system에서 수행되는 프로그램이 인터넷 infrastructure에 다른 end system에서 수행되는 특정 목적지 프로그램으로 어떻게 데이터를 전달하도록 요구하는지를 명시함
- socket interface는 송신 프로그램이 따르는 규칙의 집합이다.
- 편지를 보낼 때 이름, 주소, 우편번호, 우표 등의 규칙(우편 서비스 인터페이스)이 있듯 소켓 인터페이스가 있는 것!
1.1.3 프로토콜이란 무엇인가?
- 프로토콜(protocol): 둘 이상의 통신 개체 간에 교환되는 메시지 포맷과 순서뿐만 아니라, 메시지의 송수신과 다른 이벤트에 따른 행동들을 정의
- 통신하는 둘 이상의 원격 개체가 포함된 인터넷에서의 모든 활동은 프로토콜이 제어한다.
- 예시 : 웹 브라우저에서 웹 페이지의 URL을 입력한다면?
- 클라이언트 -> 서버 : TCP 연결 요청
- 서버 -> 클라이언트 : TCP 연결 응답
- 클라이언트 -> 서버 : GET URL
- 서버 -> 클라이언트 : 파일
1.2 네트워크의 가장자리
- 이 교재에서 host = end system으로 혼용한다.
- host는 클라이언트(client)와 서버(server)로 구분되기도 한다.
- 클라이언트 : 데스크톱, 스마트폰 등 개인 유저
- 서버 : 데이터 센터
1.2.1 접속 네트워크
- 가정 접속
- DSL(digital subscriber line) : 중앙국의 DSLAM(digital subscriber line access multiplexer)과 기존 전화 회선으로 데이터 교환
- 케이블 인터넷 접속(cable Internet access) : 케이블 TV infrastructure 이용
- FTTH(fiber to the home) : 가정까지 광섬유 경로 제공
- 기업(과 가정) 접속
- LAN(local area network) : 이더넷이 대표적
- wireless LAN : 기업 네트워크에 연결된 AP(access point)로 패킷을 송신/수신. AP는 유선 네트워크에 연결
- 광역 무선 접속 : 3G, LTE 4G, 5G
1.2.2 물리 매체
- end system 에서 다른 end system으로 비트의 전달
- end system 송신 -> 첫번째 router 수신
- 첫번째 router 송신 -> 두번째 router 수신
- ..
- 물리 매체(physical media): 비트는 송신기-수신기 쌍에서 물리 매체에 전자파 등을 전파하여 전송한다.
- 유도 매체(guided media) : 유선 케이블 등
- 비유도 매체(unguided media) : 무선 랜 등