[오늘의 배움] 021 네트워크 인터넷

이상민·2020년 12월 17일
0

[오늘의 배움]

목록 보기
24/70
post-thumbnail

1. 인터넷의 개요

  • 인터네트워크 : LAN, WAN 등 독립적 네트워크를 상호 연결하여 만든 네트워크

  • 인터넷 : 인터네트워크로 구성된 대표적인 네트워크들의 네트워크
    i. 미국방성 알파넷이 시초로 연구기관에 보급되며 기능이 확대되었다
    ii. 이후 인터넷 기반 프로토콜인 TCP/IP도 생성되었다


2. 인터넷 프로토콜과 주소 체계

2-1. 인터넷 프로토콜

  • 가정과 대학, 기업, 정부 연구기관 등을 연결하여 전 세계적 규모의 네트워크를 구성한다

  • 네트워크 접근 계층, 인터넷 계층, 전송 계층, 응용 계층으로 4 계층으로 구성되어있다

  • TCP/IP는 인터넷에 기반을 둔 프로토콜로 OSI 참조모델보다도 먼저 개발되었다

2-2. 인터넷 데이터 전송 과정

  • 일반적인 네트워크 계층구조와 같이 송신 측에서 데이터를 캡슐화하고 수신 측에서 캡슐해제한다

  • 캡슐 단위 : 메시지(응용) <--> 세그먼트(전송) <--> 데이터그램(네트워크) <--> 프레임(네트워크 접근)

2-3. 인터넷의 주소 체계

IP주소 또는 인터넷 도메인으로 표현한다

  • IP주소 체계 : 숫자로 이뤄진 컴퓨터가 인식 가능한 주소 체계
  • 인터넷 도메인 : 무자로 이뤄진 사람이 인식 가능한 주소 체계

IP주소와 도메인은 컴퓨터마다 유일하게 배정되며, 인터넷 계층의 IP에서 정의 및 처리한다. 또한 인터넷 주소는 국가별 관리 기관에서 관리하며 IANA, APNIC, KRNIC 등이 있다.

2-3-1. 인터넷 도메인

영문자와 .을 혼합해 호스트 컴퓨터의 주소를 표현한 것

  • 도메인명 규칙
    i. 최대 256자
    ii. 숫자와 영문자 조합
    iii. 하이픈 사용 가능
    iv. 전 세계적으로 중복되지 말아야함

  • Domain Name System (DNS) : 도메인명과 IP주소를 대응 시켜주는 분산 시스템


3. 인터넷 계층별 프로토콜

3-1. 네트워크 접근 계층 프로토콜

  • 네트워크 매체를 통해 다른 네트워크로 데이터 전송한다

  • 이더넷, FDDI, 토큰 링, X.25 등

  • 전달하는 데이터 단위 : 프레임

3-2. 인터넷 계층 프로토콜

  • 발신지에서 목적지로 데이터 전송을 담당한다. 주소 지정, 라우팅 기능을 제공한다

  • IP, ICMP, IGMP, ARP, RARP 등

  • 전단하는 데이터 단위 : 데이터 그램

IP : 데이터그램을 전송하도록 라우팅 기능 수행하고 경로 설정과 주소 지정을 한다
ICMP : IP에서 발생하는 문제를 처리하기 위한 프로토콜. 오류/상황 보고 및 경로 제어 정보 전달 기능 수행
IGMP : 멀티캐스트 기능을 수행으로 수신자 그룹에 메시지를 동시에 전송하는데 사용한다
ARP : IP 주소를 MAC(이더넷) 주소로 변환한다
RARP : MAC 주소(이더넷 주소)를 IP 주소로 변환한다

3-3. 전송 계층 프로토콜

3-3-1. TCP (Transmission Control Protocol)

두 종단 간 연결을 설정한 후 세그먼트 단위 데이터를 전송하는 연결형 프로토콜

  • 응용 프로그램 간 메시지 전달을 위해 포트 번호를 이용하고 다중연결을 허용한다

  • 흐름제어와 혼잡제어를 수행한다

  • TCP의 연결지향형 방식 = 신뢰성 스트림 서비스

3-3-2. TCP 포트 번호

TCP가 상위계층으로 전송하거나 상위 계층에서 TCP로 전송할 때 사용하는 데이터 이동 통로

  • 0~65535번 사용 가능

  • 0~1023번은 주요 인터넷 서비스에 고정 할당

  • 소켓 주소 : IP 주소 + 포트 번호 조합. 각 종단 프로세스 구분하는 주소로 사용

3-3-3. TCP 세그먼트 전송

TCP는 슬라이딩 윈도우를 사용한 피기백 방식 흐름 제어를 지원한다

  • TCP 전송 오류의 처리
    수신 측 : 변형된 프레임 수신 시 분실로 간주, 대기
    송신 측 : ACK를 받지 못해 타임아웃 발생, 프레임 재전송
    수신 측 : 동일한 순서번호 프레임 재수신 시 버리고 ACK (ACK 분실로 판단)

3-3-4. UDP

두 종단 간 연결을 설정하지 않고 데이터를 고속으로 교환하는 비연결형 프로토콜

  • 비연결형이라 데이터가 제대로 전송 됐는지 확인하지 않는다

  • 신뢰성이 낮고 흐름제어 및 오류 검출 등 기능이 없다

  • 패킷을 빠르게 전송해햐 하는 응용 계층에서 사용한다

  • 오버헤드 크기가 크지 않고, 연결 등에 대한 상태 정보를 저장하지 않는다

3-3-5. TCP vs. UDP

3-4. 응용 계층 프로토콜

인터넷 프로토콜의 최상위 계층으로 최종 사용자에게 인터넷 서비스를 제공한다

  • 대부분 클라이언트-서버 모델로 구현된다

  • 연결 방식에 따라 연결형(TCP/IP 사용)과 비연결형(UDP/IP 사용)으로 분류된다

3-4-1. HTTP

인터넷에서 하이퍼텍스트 문서를 교환하는데 사용하는 통신 규약

  • 인터넷을 이용한 WWW에 기반을 두고 정보 공유

  • 클라이언트와 서버 방식으로 작동
    웹 서버에 저장된 데이터를 URL로 표기

  • Uniform Resource Location : 인터넷 상에서 특정 자원의 고유한 위치를 표현하는 방법
    프로토콜 종류 + 서버 주소 + 폴더 + 파일이름으로 구성
    예) http://www.hufs.ac.kr/~shko/2020-lecture/network/report.html

3-4-2. HTTP 도메인명 IP주소 변환

  • 도메인명과 대응하는 IP주소 정보를 가진 DNS 서버를 통해 변환

3-4-3. HTTP : 웹브라우저의 동작

  • 웹 문서 전송

3-4-4. File Transmission Protocol

파일을 효율적으로 주고 받기 위한 프로토콜

인터넷을 이용해 컴퓨터끼리 파일을 송수신한다. 송수신을 위해선 원격 호스트 컴퓨터를 이용할 수 있는 권한이 필요하다. 계정 없이도 접속할 수 있도록 anonymous 계정을 제공한다.

  1. FTP 서버 포트 21 개방 후 대기
  2. FTP 클라이언트에서 포트 21로 접속, 송수신 요청
  3. 서버와 클라이언트 사이 파일 전송
  4. 전송 완료 시 연결 해제

3-4-5. 텔넷

원격지에서 컴퓨터를 이용한 가상 단말 기능을 구현하는 프로토콜.

3-4-6. Simple Mail Transfer Protocol

전자우편 서비스를 사용할 수 있는 프로토콜


4. IPv4

8비트 정수 4개와 .으로 표현. 총 32비트. 네트워크 번호 + 호스트 번호로 구성

4-1. IPv4의 클래스

  • 주소 체계 : 처음 4개 비트로 클래스 5종류를 구분한다
    클래스 A : 첫 비트가 0. 네트워크 8bit, 호스트 24bit. 대형 기관
    클래스 B : 첫 두 비트가 10. 네트워크 16bit, 호스트 16비트. 중형 기관
    클래스 C : 첫 세 비트가 110. 네트워크 24bit, 호스트 8bit. 소형 기관
    클래스 D : 첫 네 비트가 1110. 나머지 28비트 멀티캐스트용으로 사용
    클래스 E : 첫 네 비트가 1111. 예비/실험용

4-1-1. 클래스 A

  • 8bit로 0~127 네트워크 구성. 0,127을 제외한 126개 라우터 구성 가능
    0 : 사용 x, 127 : 시스템 루프백

  • 24bit로 0.0.0~255.255.255 호스트 번호 구성. 0.0.0, 255.255.255 제외 2^24-2개 호스트 사용 가능
    0.0.0 : 네트워크(라우터) 주소, 255.255.255 : 브로드캐스트 주소

  • 네트워크 마스크 : 255.0.0.0

4-1-2. 클래스 B

  • 16bit로 128.0~191.255 네트워크 구성. 2^14개 라우터 구성 가능

  • 16bit로 0.0~255.255 호스트 번호 구성. 0.0, 255.255 제외 2^16-2개 호스트 사용 가능
    0.0 : 네트워크(라우터) 주소, 255.255 : 브로드캐스트 주소

  • 네트워크 마스크 : 255.255.0.0

4-1-3. 클래스 C

  • 24bit로 192.0.0~223.255.255 네트워크 구성. 2^21개 라우터 구성 가능

  • 8bit로 0~255 호스트 번호 구성. 0, 255 제외 2^8-2개 호스트 사용 가능
    0 : 네트워크(라우터) 주소, 255 : 브로드캐스트 주소

  • 네트워크 마스크 : 255.255.255.0

4-2. IPv4 사설 IP

컴퓨터가 인터넷에 접속하려면 고유(공인) IP 주소가 있어야한다. 인터넷에 연결하지 않고 개별적으로 구성한 네트워크에서는 사설 IP를 사용할 수 있다. NAT 서버를 사용하면 사설 IP를 공인 IP로 변환하여 인터넷에 접속할 수 있다. IPv4의 주소 부족 문제를 해결하는 방법으로 사용한다.

  • 공인 IP 주소와 사설 IP 주소는 범위가 정해져 있다

4-3. IPv4 데이터 단위 : 데이터 그램

헤더와 데이터로 구성되면 헤더 부분에 다양한 정보가 있다

  • 데이터그램의 최소 길이는 576B, 최대 길이는 64KB이다

4-3. IPv4 라우팅

송신지에서 목적지로 패킷을 전송할 때 중간 노드를 경유하여 연결하는 기능

  • 여러 라우팅 알고리즘을 실행하여 라우팅 테이블에 경로 정보 저장

  • 현재 경로가 유효한지 지속적으로 확인하고, 더 좋은 경로 발견 시 대체

  • 라우팅 테이블 : 전송 과정에서 라우터가 경로를 쉽게 찾도록 하는 도구

예)


5. IPv6

2^32개 주소를 가진 IPv4의 부족 문제로 2^128개 주소가 가능한 128비트 주소 체계

  • 특징
    헤더 구조 단순화 : 불필요한 필드를 제거하거나 변경하여 전송 효율 개선
    흐름 제어 기능 지원 : 멀티미디어 환경을 위한 스트림 전송 기능 추가

5-1. IPv4 vs. IPv6

  • IPv6 주소 예) (모두 같은 주소이다)
    2001:0DB8:0000:0000:0000:0000:1428:57AB
    2001:DB8:0:0:0:0:1428:57AB
    2001:DB8::1428:57AB

  • 모바일 IP. 단말기가 서브넷 지역을 이동해도 통신이 가능하다.
    HA로 도착한 패킷이 터널링 기법으로 FA를 통해 전달하며 작동한다
profile
편하게 읽기 좋은 단위의 포스트를 추구하는 개발자입니다

0개의 댓글