네트워크

[TCP/IP 쉽게 더 쉽게]Chapter 01. 컴퓨터 네트워크

nayeonee__ 2023. 9. 8. 00:12

본 글은 "TCP/IP 쉽게 더 쉽게" 를 읽고 정리한 글입니다.

 

 

 

1. 컴퓨터 네트워크의 종류

  • 컴퓨터 네트워크 : 여러 대의 컴퓨터를 서로 연결하여 서로 데이터를 주고받을 수 있도록 망이 사전에 구축된 것
  • 인터넷은 다양한 기술이 조합되고 수많은 단체의 도움으로 세계에서 가장 크고 유일무이한 범용 네트워크
  • 무선 네트워크 (모바일 네트워크) : 여러 네트워크 중에서도 휴대전화나 스마트폰을 연결하기 위해 무선 기술을 활용한 것
  • LAN 과 WAN
    • LAN - local area network
      • 가정이나 사무실처럼 실내에서 비교적 근거리에 위치한 컴퓨터들이 연결된 것
    • WAN - wide 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과 그 응답 결과로 전달되는 웹 페이지 데이터다.

  1. 보고싶은 웹페이지의 URL을 요청한다.
  2. 웹 페이지의 HTML 데이터를 응답한다.
  3. 응답으로 받은 HTML 데이터를 해석하여 웹 페이지 형태로 표시한다.

트랜스포트 계층

: 애플리케이션 계층의 프로그램에서 전달받은 데이터를 목적지 애플리케이션 계층의 프로그램까지 전달하는 것

: 데이터가 제대로 전달되지 않았을 때 재전송하는 것도 이 계층이 하는 일

  1. 어떤 프로그램들이 서로 통신을 해야하는 지에 대한 정보를 헤더에 기록한다.
  2. 포트 번호를 확인하고 웹서버에 데이터를 전달한다.
  3. 요청을 보낸 프로그램을 목적지로 설정하여 응답 데이터를 전달한다.

인터넷 계층

: 데이터에 어드레스 정보를 덧붙여 목적지까지 무사히 전달하는 것

: 인터넷 통신에서는 목적지 컴퓨터까지 도달할 수 있는 경로를 찾아야 하는데, 이때 라우터(router)라는 장비가 사용됨

: 멀리있는 목적지까지 어떻게 하면 데이터를 잘 전달할 수 있을까에 초점을 맞춘다.

  1. 통신하는 컴퓨터들을 식별할 수 있도록 어드레스 정보를 덧붙인다.
  2. 자신이 수신해야하는 데이터라고 판단되면 서버 트랜스포트 계층에 데이터를 전달한다.
  3. 클라이언트 PC를 목적지로 설정하여 데이터를 전달한다.
  4. 자신이 수신해야하는 데이터라고 판단되면 클라이언트 트랜스포트 계층에 데이터를 전달한다.

라우터 사용 이유 : 데이터를 다음 네트워크로 전달하기 위해

네트워크 인터페이스 계층

: 유선 LAN 어댑터나 무선 LAN 어댑터가 처리할 수 있는 형태로 데이터를 변환하고 이 데이터를 목적지까지 전달하는 것

: 물리적으로 인접하여 연결된 장비까지 어떻게 하면 데이터를 잘 전달할까에 초점

  1. 주변장치까지 데이터를 전달하는 데 필요한 정보를 덧붙인다.
  2. 자신이 수신해야 하는 데이터라고 판단되면 서버 인터넷 계층에 데이터를 전달한다.
  3. 주변 장치까지 데이터를 전달하는 데 필요한 정보를 덧붙인다.
  4. 자신이 수신해야하는 데이터라고 판단되면 클라이언트 인터넷 계층에 데이터를 전달한다.

7. 통신규약과 프로토콜

  • 프로토콜 : 컴퓨터와 컴퓨터가 통신할때 지켜야 할 절차나 규약

대표적인 프로토콜

  • 애플리케이션 계층
    • HTTP
      • 웹 페이지 데이터를 주고 받음
    • HTTPS
      • 보안을 위해 웹 페이지 데이터를 주고받는 과정을 암호화 함
    • POP3
      • 서버에 보관된 수신 메일을 꺼내옴
    • SMTP
      • 메일을 송신함
    • FTP
      • 파일을 전송함
    • Telnet
      • 컴퓨터를 원격에서 제어함
    • SSH
      • 보안을 위해 컴퓨터를 원격에서 제어하는 과정을 암호화함
    • SMB
      • 윈도우 컴퓨터와 파일을 공유함
    • DHCP
      • 컴퓨터에게 프라이빗 IP를 동적으로 할당함
    • DNS
      • 도메인 이름과 IP 어드레스를 서로 변환함
    • SSL
      • 보안을 위해 통신 과정에서 주고 받는 데이터를 암호화 함
  • 트랜스 포트 계층
    • TCP
      • 애플리케이션의 데이터를 송수신하되 데이터의 정확한 전달을 중시함
    • UDP
      • 애플리케이션의 데이터를 송수신하되 데이터의 전송 속도를 중시함
  • 인터넷 계층
    • IP
      • 패킷을 목적지까지 전달함
    • ICMP
      • IP의 통신 오류를 전달함
    • IPsec
      • 패킷을 암호화하여 전달함
  • 네트워크 인터페이스 계층
    • ARP
      • 네트워크 장비의 MAC 어드레스를 알아냄
    • 이더넷
      • 일반 금속 케이블이나 광 케이블을 통해 데이터를 전달함
    • PPP
      • 사용자 인증 후에 원격지의 장비와 통신함