네트워크 기초

k_hyo·2024년 11월 8일

인터넷 프로토콜 스위트 : 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 통신규약(프로토콜) 모음

OSI 7 Layer, TCP/IP 4 Layer Model

  • 컴퓨터 네트워크 및 통신을 7개의 레이어 또는 4개의 레이어로 표현한 모델
  • 각 계층은 하위 계층의 기능을 활용해 역할을 수행하고 상위 계층으로 처리결과를 전달

Physical Layer

  • 장치를 연결하기 위한 매체의 물리적인 사항을 정의
    - 전압, 주기, 시간, 전선의 규격, 거리 등
  • 주요 단위 : Bits
  • 대표 구성 요소
    - 케이블/안테나/RF등 전송 매체, 허브, 리피터

Hub

  • Physical Layer 단위에서 다수의 기기들을 연결해주는 장치
  • 특징
    - 에러, 충돌, 디바이스 별 제어 기능이 없다.
    - 받은 내용을 그대로 전달 -> Broadcast 방식
  • 물리적인 통신을 제어하여 디바이스와 디바이스 간의 통신 및 전송을 안정화하기 위한 프로토콜
  • 주요 단위 : Frame
  • 구성 요소 : Mac Address, Switch
  • 주요 특징
    - CSMA/CD(Carrier-Sense Multiple Access with Collision Detection) 방식 활용
    각 디바이스 간의 통신을 원할하게 연결
    - 대상을 구별하여 디바이스 간의 통신을 지원(Unicast)

MAC(Media Access Control) Address

  • 네트워크 인터페이스에 부여된 고유 주소
    - 데이터가 지정한 대상에게 잘 전달될 수 있도록 대상 식별에 사용
  • 2개의 Hexadecimal(=byte) 단위로 6개를 나열 = 48 bits = 6bytes
    - 예) 00:xx:xx:YY:YY:YY
  • 2파트로 구분
    - 첫 3개 bytes는 OUI : 제조사에 부여된 고유 식별자
    - 뒷 3개 bytes는 NIC : 네트워크 인터페이스 별 고유 번호
    -네트워크 인터페이스의 MAC Address는 고유한 값이며 변하지 않음

Switch

  • Switch를 통해서 신호가 있을 때 신호를 보내어 충돌을 저지한다.

Network Layer

  • 여러 노드의 경로를 찾고 올바르게 전달될 수 있는 기능과 수단을 정의
  • 주요 단위 : 패킷
  • 구성 요소 : Router, IP, ARP
  • 주요 특징
    - 서로 떨어진 Local Network간의 통신 지원
    - Network 간의 -> Inter Network -> Internet
    - 중간 Node들을 거쳐서 목적지까지 도달할 수 있는 방법을 지원

IP(Internet Protocol) Address

  • 통신 주체를 식별하기 위한 아이디
  • 두 가지 종류
    - IPv4 : 32Bits(약 43억개) - 부족한 IP를 채우기위한 NAT 등 여러 기술들이 도입됨
    - IPv6 : 128Bits - 사설 IP 개념이 불필요
  • MAC 주소와는 다르게 변경될 수 있음

CIDR(Classes Inter Domain Routing)
IP는 주소의 영역을 여러 네트워크 영역으로 나누기 위해 IP를 묶는 방식
여러 개 사설망을 구축하기 위해 망을 나누는 방법

subnet mask
어느 부분이 호스트 비트인지, 어느 부분이 네트워크 비트인지 구분해주는 Mask(AND연산)
네트워크 비트 수만큼 1을 보유한 마스크 IP에 적용하면 네트워크 비트만 추출 가능

Router

  • 네트워크 간에 패킷을 주고 받는 Layer3장치
  • IP 대역별 최적 경로를 수집 및 관리(Route Table을 이용)
  • 로컬 네트워크는 자신의 로컬 네트워크 주소가 아니라면 라우터로 전달(subnet mask 등)
  • 이후 Router 패킷을 Frame 안에 넣어서 최적 경로에 따른 다른 Router로 전달
    - IP 주소에 따른 Frame 확인 방법 : ARP

    ARP(Address Resolutio Protocol)

    • IP로 Mac 어드레스를 찾는 프로토콜
    • 순서
      - Brodadcast로 IP요청
      - 응답받은 IP Mac Address를 기반으로 MAC 확정 후 테이블에 저장

TransPort Layer

  • 통신 주체끼리 데이터 전달의 신뢰성을 확보하는 방법을 정의
  • 주요 단위 : 세그먼트-(PDU??)
  • 구성 요소 : TCP/UDP
  • 주요 특징
    - Network Layer로 성립된 통신 위에서 실질적인 활욜을 위한 다양한 기능을 정의
    (패킷의 순서 보장, 에러처리, 포트 기반 분할 등)

Transmission Control Protocol(TCP)

  • 패킷의 전달 과정에서 순서를 보장하고 유실되지 않도록 보장할 수 있는 통신 규약
  • 패킷안에 세그먼트를 담아 주고 받아서 로직을 처리
  • TCP의 특징
    • 연결 지향형 프로토콜, 데이터 전송전에 연결을 설정한다.
    • 데이터전송의 순서를 보장한다.
    • 데이터의 무결성을 확인하고, 손실된 패킷을 재전송한다.
    • 흐름 제어와 혼잡 제어 기능을 포합한다.
  • 주요 사례 : HTTP, HTTPS, 이메일, 파일전송, SSH

가상회선 패킷 교환 방식

  • 각 패킷에 가상회선 식별자를 포함 모든 패킷 전송 시 가상회선 해제, 패킷을 순서대로 전송/ 도착함

TCP 3-웨이 핸드쉐이크 연결

1. SYN 단계 : 클라이언트는 서버에 클라이언트의 ISN을 담아 SYN으로 보냄
(ISN은 새로운 TCP 연결의 첫 패킷에 할당된 임의의 시퀀스 번호를 말하며 장치마다 다를 수 있음)
2. SYN + ACK 단계 : 서버는 클라이언트의 SYN을 수신하고 서버의 ISN을 보내며 승인번호로 클라이언트의 ISN+1을 보낸다
3. ACK 단계 : 클라이언트는 서버의 ISN+1한 값인 승인번호를 담아 ACK 서버에 보낸다.
- 해당과정을 통해 신뢰성이 구축되고 데이터를 전송한다. -


TCP 연결 해제 과정

  • 여기서 TIME_WAIT을 하는 이유는 모든 패킷이 도착하지 않았을 경우를 대비하여 지연을 해준다.

User Datagram Protocol(UDP)

  • 빠르고 간단하게 데이터를 주고 받을 수 있는 방법을 정의
  • UDP 주요 특징
    • 비연결형 프로토콜, 연결 설정 없이 데이터 전송을 시작한다.
    • 데이터 전송의 순서를 보장하지 않는다.
    • 오류 검출 및 재전송 기능이 없다.
      (오류검사는 단순한 체크섬만 지원한다.)
  • 주요 사례 : 스트리밍, 보이스톡, 온라인게임

데이터그램 패킷 교환 방식

  • 패킷이 독립적으로 이동하며 최적의 경로를 선택하여 전송됨, 하나의 메시지에 분할된 여러 패킷은 서로 다른 경로로 전송되어 순서가 다를 수 있음

주요 프로토콜(TCP/UDP)

  • TCP
    • HTTP/HTTPS : 80, 443
    • FTP : 20, 21
    • SSH : 22
    • DNS : 53
  • UDP
    • DNS : 53
    • DHCP : 67,68
    • VoIP : 5060

Session / Presentation Layer

  • Session Layer : 통신 주체끼리 연결이 유지할 수 있는 방법을 정의(HTTP Cookie)
  • Presentation : 받은 데이터를 어떻게 해석할지 방법을 정의

Application Layer

  • 받은 데이터를 어떻게 처리할지를 정의
  • Client-Server구조(아마존, 이베이)
  • Peer To Peer(P2P)구조 : 호스트끼리 직접 통신하는 구조(토렌토, 스카이프)
<Reference>

면접을 위한 CS 전공지식 노트
인프런강의: 쉽게 설명하는 AWS 기초 강의

profile
거니뇨

0개의 댓글