네트워크 간략 정리

프로토콜 : 컴퓨터 간 통신을 하기 위한 규칙

  • 독립적인 여러 규칙이 필요

osi 7 layer
: 다양한 컴퓨터 간 데이터 전송을 지원할 수 있는 추상 모델을 표준화한 것

헤더 : 필요한 정보를 데이터에 추가
바디 : 실제 데이터

캡슐화(송신측) 역캡슐화(수신측)
헤더 까봤어? : 헤더 분석해봤니?

osi 7 layer

  • 물리 계층
    : 데이터를 전기 신호로 변환하여 송수신

  • 데이터링크 계층
    : 물리적 네트워크 사이의 데이터 송수신 담당
    : 대표적인 프로토콜: 이더넷 프로토콜
    • mac 주소 : 유일함

  • 네트워크 계층
    : 다양하고 방대한 네트워크 상에서, 컴퓨터간 논리적 연결을 위해 네트워크 계층이 필요
    대표적인 프로토콜 : ip 프로토콜 (ipv4, ipv6)

  • 전송계층
    : 목적지에 신뢰할 수 있는 데이터 전달 담당
    데이터 전송 중 손상/유실 확인을 위한 오류 점검 기능(체크섬)
    : 목적지의 어떤 응용프로그램에 데이터를 전달해야 하는지 식별하는 기능(포트)
    대표적인 프로토콜 : tcp, udp 프로토콜
    tcp : 연결형 프로토콜, 데이터의 전송 순서 보장, 데이터 신뢰성 보장
    udp: 비연결형 프로토콜, tcp보다 전송속도 빠름, 주로 스트리밍/브로드캐스팅 서비스
    udp 데이터는 데이터그램이라고 부름


    포트번호 : 목적지의 어떤 응용프로그램에 데이터를 전달해야하는지를 식별 가능
    0-65555 사이

  • 세션 계층
    : 세션 또는 대화 연결, 관리 담당
    예: ftp로 여러 파일을 각각 다운로드 받을 때 각 다운로드 연결/관리 처리

  • **표현 계층** : 암호화 담당

  • **응용 계층** : 네트워크 응용 프로그램을 위한 인터페이스 제공 대표적인 프로토콜: HTTP

아(APP) 파(P) 서(SE) 탈(TR) 났(NW) 다(DATA) 픽(PHY)

tcp/ip모델
:인터넷 통신을 위한 모델
osi 7 layer는 표준 모델, 현실에서 인터넷을 위해 사용하는 모델은 tcp/ip 모델
tcp/ip 모델의 응용 계층은 osi 모델의 세션+표현+응용 계층 통합

567층 : 응용계층 : http, ftp, dns, pop3, smtp
4층 : 전송 계층 : tcp, udp
3층 : 인터넷 계층 : ipv4, ipv6
12층 : 네트워크 접속 계층 : ethernet

ip:
32비스로 구성 0.0.0.0~255.255.255.255
비트: 8bit 8bit 8bit 8bit
ipv4
ipv6 : 2^128

tcp 프로토콜
: 알고리즘이 들어가 있음

3-way 핸드쉐이크
: 패킷에 코드 비트(싱크)를 1로 넣어서 데이터에 보냄

  • TCP 3 Way Handshake
    : TCP/IP프로토콜을 이용해서 통신을 하는 응용프로그램이 데이터를 전송하기 전에 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미한다.
    간략하게 연결을 설정하는 과정

  • TCP 4 WAY handshake
    간락하게 연결을 종료하는 과정

tcp 프로토콜
패킷 분석 프로그램 : wireshark

TCP 제어 : 네트워크 트래픽에 따른 효율적/신뢰적 송신을 위한 제어 알고리즘 적용

  • 흐름제어: sliding window
    : 매번 ACK를 기다리지 않고 각 컴퓨터의 윈도우 사이즈 확인 후
    윈도우 사이즈만큼 ACK 없이 연속해서 송신

  • 혼잡제어
    송신 제어를 위한 윈도우는 2개
    RWND: 흐름제어(sliding window)에서 활용
    CWND: 네트워크 혼잡 제어를 위해 활용
    송신측 최종 윈도우 크기= MIN(RWND, CWND)

AIMD(Additive increase/multicative decrease) : 너무 느림
처음에는 CWND = 1
ack가 도착하면 -> CWND = CWND+1

  • 느린 시작(SLOW START)
    처음에는 CWND = 1
    ACK가 도착하면 -> CWND = CWND*2
    ACK가 일정 시간 동안 도착하지 않으면 패킷 전동 실패 - CWND = 1

  • 혼잡 회피(CONGESTION AVOIDANCE)
    CWND가 일정 크기에 도달하면
    AIMD처럼 동작
    MSS = MTU - (IP헤더길이) - (TCP헤더길이)
    MTU: 한번 전송 때 보낼 수 있는 최대 단위
profile
친화력 좋고 긍정적인 개발자입니다!

0개의 댓글