네트워크
[TCP/IP 쉽게 더 쉽게]Chapter 01. 컴퓨터 네트워크
nayeonee__
2023. 9. 8. 00:12
본 글은 "TCP/IP 쉽게 더 쉽게" 를 읽고 정리한 글입니다.
1. 컴퓨터 네트워크의 종류
- 컴퓨터 네트워크 : 여러 대의 컴퓨터를 서로 연결하여 서로 데이터를 주고받을 수 있도록 망이 사전에 구축된 것
- 인터넷은 다양한 기술이 조합되고 수많은 단체의 도움으로 세계에서 가장 크고 유일무이한 범용 네트워크
- 무선 네트워크 (모바일 네트워크) : 여러 네트워크 중에서도 휴대전화나 스마트폰을 연결하기 위해 무선 기술을 활용한 것
- LAN 과 WAN
- LAN - local area network
- 가정이나 사무실처럼 실내에서 비교적 근거리에 위치한 컴퓨터들이 연결된 것
- WAN - wide area network
- 집 밖이나 회사 건물 밖처럼 비교적 먼 거리에 위치한 컴퓨터들과 연결된 것
- LAN - local area network
2. 컴퓨터 네트워크의 역할
- 개인적인 용도부터 비즈니스 업무까지, 간단한 커뮤니케이션부터 피일이나 주변 기기의 공유까지 컴퓨터 네트워크는 다양한 목적으로 폭넓게 활용되고 있다.
- 이메일, 채팅, 인터넷 전화, 파일 공유, 주변 기기의 공유(ex. 프린터), 분산처리, 파일 전송, 원격제어, WWW(웹), 동영상 및 음악 스트리밍 서비스
3. 서버와 클라이언트
- 서버 : 너트웨크에 연결된 컴퓨터들 중 서비스를 제공하는 쪽
- 클라이언트 : 그 서비스를 받는 쪽
- 서비스별 서버와 클라이언트의 역할
서비스 이름 | 서버의 역할 | 클라이언트의 역할 |
웹 서비스 | 클라이언트로부터 요청을 받고 해당하는 웹 페이지를 전송한다. | 서버에 웹 페이지를 요청하고 응답으로 받은 웹 페이지를 화면에 표시한다. |
메일 서비스 | 메일을 전달하는 송신 기능과 받은 메일을 저장하는 수신 기능이 있다. | 사용자가 작성한 메일을 메일 서버로 보내고 다른 사람이 보낸 메일을 받아 화면에 표시한다. |
FTP 서비스 | 서버 컴퓨터의 하드 디스크 폴더안으로 업로드한 파일을 저장하는 기능과 하드 디스크 폴더 안에 있는 파일을 다운로드 하는 기능이 있다. | 클라이언트 PC에 저장된 파일을 서버에 업로드하거나 서버의 파일을 클라이언트 PC에 다운로드 한다. |
원격 제어 서비스 | 클라이언트가 내린 명령을 서버에서 실행하고 그 결과를 클라이언트에게 보여준다 | 사용자의 제어 명령을 원격지의 서버에 전달하고 그 결과를 받아 화면에 표시한다. |
- FTP
- File Transfer Protocol : TCP/IP 환경에서 파일 전송 프로토콜의 약자
- 피어 투 피어
- 네트워크에 연결된 두 대의 컴퓨터가 클라이언트와 서버의 역할을 동시에 할 수 있어서 서로에게 서비스를 주거나 받을 수 있는 통신 방식
4. 패킷 교환 방식
- 컴퓨터 네트워크에서는 이메일이나 파일과 같은 데이터를 패킷(packet)이라는 작은 단위로 분할한 후 주고 받는다.
- 패킷은 자신이 어디로 전달되어야 하는지 알 수 있도록 어드레스(address) 정보를 갖는다.
- 회선 교환 방식 : 통신하려는 양측을 연결하기 위해 하나의 통신 경로를 점유한 후 통신하는 방식이라서 기본적으로 일대일 통신만 할 수 있다.
- 아날로그 방식의 전화나 3G 방식의 음성 통화 등에서 일대일 통신 형태로 사용된다.
- 통신 회선을 점유해 일대일 통신을 한다.
- 통신 속도가 안정적이다
- 패킷 교환 방식 : 주고 받을 데이터를 작게 쪼갠 후 다른 데이터으 ㅣ조각들고 ㅏ통신 경로를 공유하며 전송하는 방식
- 여러 상대와 통신할 때 효과적
- 메일 발송과 웹 서핑을 동시에 할 수 있다.
- 주고 받는 패킷이 많아지면 전송 속도가 느려질 수 있다.
5. 컴퓨터 네트워크와 계층 모델
컴퓨터 네트워크를 구성하는 계층들
- 애플리케이션 계층
- 서비스를 제공하는 부분
- 웹 서비스, 이메일과 같은 서비스를 사용자에게 제공
- 서버, 클라이언트, HTTP, SMPT, POP3, FTP, SSH, …
- 트랜스포트 계층
- 통신 기능을 담당하는 부분
- 애플리케이션 계층과 인터넷 계층 사이에서 데이터가 올바르게 전달되도록 중계한다.
- TCP, UDP
- 인터넷 계층
- 통신 기능을 담당하는 부분
- 목적지의 IP 어드레스로 데이터를 전달한다.
- IP address, IPv4, IPv6, ICMP, 라우팅, …
- 네트워크 인터페이스 계층
- 통신 기능을 담당하는 부분
- 네트워크 어댑터와 같은 하드웨어를 통해 데이터를 전달한다.
- 이더넷, 무선 LAN, MAC 어드레스, PPP, FTTx, xDSL, ..
하드웨어를 통과하는 데이터의 형태
- 네트워크 인터페이스 계층의 헤더
- 유선 LAN 에서 데이터를 보내는 데 필요한 정보
- 인터넷 계층의 헤더
- 목적지의 컴퓨터를 식별할 수 있는 번호
- 트랜스포트 계층의 헤더
- 데이터의 결합 순서와 이 데이터를 받을 프로그램을 식별할 수 있는 번호
-
- 패킷의 실제 몸통에 해당하는 데이터 ( 작게 분할된 데이터 )
- 네트워크 인터페이스 계층의 트레일러
- 헤더와 트레일러
- 헤더 header : 데이터 앞에 덧붙이는 정보
- 트레일러 trailer : 데이터 뒤에 덧붙이는 정보
6. 4개 계층의 동작 방식
애플리케이션 계층
: 사용자가 실제로 체감할 수 있는 서비스 제공
: 웹 브라우저와 웹 서버는 애플리케이션 계층에 속하는 프로그램이고, 이때 주고 받은 데이터는 페이지를 요청하는 URL과 그 응답 결과로 전달되는 웹 페이지 데이터다.
- 보고싶은 웹페이지의 URL을 요청한다.
- 웹 페이지의 HTML 데이터를 응답한다.
- 응답으로 받은 HTML 데이터를 해석하여 웹 페이지 형태로 표시한다.
트랜스포트 계층
: 애플리케이션 계층의 프로그램에서 전달받은 데이터를 목적지 애플리케이션 계층의 프로그램까지 전달하는 것
: 데이터가 제대로 전달되지 않았을 때 재전송하는 것도 이 계층이 하는 일
- 어떤 프로그램들이 서로 통신을 해야하는 지에 대한 정보를 헤더에 기록한다.
- 포트 번호를 확인하고 웹서버에 데이터를 전달한다.
- 요청을 보낸 프로그램을 목적지로 설정하여 응답 데이터를 전달한다.
인터넷 계층
: 데이터에 어드레스 정보를 덧붙여 목적지까지 무사히 전달하는 것
: 인터넷 통신에서는 목적지 컴퓨터까지 도달할 수 있는 경로를 찾아야 하는데, 이때 라우터(router)라는 장비가 사용됨
: 멀리있는 목적지까지 어떻게 하면 데이터를 잘 전달할 수 있을까에 초점을 맞춘다.
- 통신하는 컴퓨터들을 식별할 수 있도록 어드레스 정보를 덧붙인다.
- 자신이 수신해야하는 데이터라고 판단되면 서버 트랜스포트 계층에 데이터를 전달한다.
- 클라이언트 PC를 목적지로 설정하여 데이터를 전달한다.
- 자신이 수신해야하는 데이터라고 판단되면 클라이언트 트랜스포트 계층에 데이터를 전달한다.
라우터 사용 이유 : 데이터를 다음 네트워크로 전달하기 위해
네트워크 인터페이스 계층
: 유선 LAN 어댑터나 무선 LAN 어댑터가 처리할 수 있는 형태로 데이터를 변환하고 이 데이터를 목적지까지 전달하는 것
: 물리적으로 인접하여 연결된 장비까지 어떻게 하면 데이터를 잘 전달할까에 초점
- 주변장치까지 데이터를 전달하는 데 필요한 정보를 덧붙인다.
- 자신이 수신해야 하는 데이터라고 판단되면 서버 인터넷 계층에 데이터를 전달한다.
- 주변 장치까지 데이터를 전달하는 데 필요한 정보를 덧붙인다.
- 자신이 수신해야하는 데이터라고 판단되면 클라이언트 인터넷 계층에 데이터를 전달한다.
7. 통신규약과 프로토콜
- 프로토콜 : 컴퓨터와 컴퓨터가 통신할때 지켜야 할 절차나 규약
대표적인 프로토콜
- 애플리케이션 계층
- HTTP
- 웹 페이지 데이터를 주고 받음
- HTTPS
- 보안을 위해 웹 페이지 데이터를 주고받는 과정을 암호화 함
- POP3
- 서버에 보관된 수신 메일을 꺼내옴
- SMTP
- 메일을 송신함
- FTP
- 파일을 전송함
- Telnet
- 컴퓨터를 원격에서 제어함
- SSH
- 보안을 위해 컴퓨터를 원격에서 제어하는 과정을 암호화함
- SMB
- 윈도우 컴퓨터와 파일을 공유함
- DHCP
- 컴퓨터에게 프라이빗 IP를 동적으로 할당함
- DNS
- 도메인 이름과 IP 어드레스를 서로 변환함
- SSL
- 보안을 위해 통신 과정에서 주고 받는 데이터를 암호화 함
- HTTP
- 트랜스 포트 계층
- TCP
- 애플리케이션의 데이터를 송수신하되 데이터의 정확한 전달을 중시함
- UDP
- 애플리케이션의 데이터를 송수신하되 데이터의 전송 속도를 중시함
- TCP
- 인터넷 계층
- IP
- 패킷을 목적지까지 전달함
- ICMP
- IP의 통신 오류를 전달함
- IPsec
- 패킷을 암호화하여 전달함
- IP
- 네트워크 인터페이스 계층
- ARP
- 네트워크 장비의 MAC 어드레스를 알아냄
- 이더넷
- 일반 금속 케이블이나 광 케이블을 통해 데이터를 전달함
- PPP
- 사용자 인증 후에 원격지의 장비와 통신함
- ARP