제육's 휘발성 코딩
반응형

네트워크 기초 용어

  • 시스템
    • 내부 규칙에 따라 능동적으로 동작하는 대상 (노드, 호스트, 클라이언트, 서버 등)
    • 컴퓨터, 자동차, 자판기, 운영체제, 프로세스 등
  • 인터페이스
    • 시스템과 전송 매체의 연결 지점에 대한 규격
    • RS-232C, USB 등
  • 전송매체
    • 시스템끼리 데이터를 전달하기 위한 물리적 전송 수단
  • 프로토콜
    • 전송 매체를 통해 데이터를 교환할 때의 임의의 통신 규칙
  • 네트워크
    • 프로토콜을 사용하여 데이터를 교환하는 시스템의 집합
  • 인터넷 (IP)
    • 전세계의 네트워크가 유기적으로 연결되어 동작하는 통합 네트워크
  • 표준화
    • 서로 다른 시스템이 상호 연동해 동작하기 위한 통일된 연동 방식

네트워크 프로토콜

  • ISO의 OSI (Open System Interconnection) 7계층 모델 (명세서, 스펙)
  • 응용 - 응용 환경 지원
  • 표현
    • 암호화, 압축 (데이터의 표현 방법)
    • 수신쪽 : 복호화
  • 세션 - 연결형태로 만들어졌을 때 사용 (접속 상태를 유지하는 경우 등)
    • HTTP는 비연결성으로 매번 연결을 끊기 때문에 세션 관리가 필요
  • 전송 - Segmentation 역할 수행하여 Segment 데이터를 반환 (TCP/UDP)
    • Application 계층에서 받아온 데이터를 쪼개서 관리
    • 영화 같은 데이터를 일정 크기별로 나눠서 세그먼트 번호 + 포트번호(프로세스 구분을 위해)로 관리
    • 전송 오류 체크 (데이터 링크도 전송 오류 체크)
    • 수신 쪽 : 모인 세그먼트를 순서대로 정리한다음 세션으로 메시지를 보낸다.
  • 네트워크 (IP)
    • 세그먼트 데이터를 받아서 패킷을 만든다. (세그먼트 + IP 주소(송수신 모두))
    • 라우터를 통해 경로를 찾는다.
  • 데이터링크
    • 패킷을 받아서 프레임을 만든다. (패킷 + Mac 주소(송수신 모두))
    • 수신 쪽 : Mac주소를 확인해서 자기 주소가 맞으면 정상응답 전송
  • 물리
    • 프레임을 받아 비트로 만들어서 수신쪽 물리계층으로 전달
  • 응용, 표현, 세션 - Application , 전송, 네트워크, 데이터링크, 물리 - OS(Kernel)

인터네트워킹

  • 게이트웨이 : Topology간 연결을 수행하는 시스템
    • 리피터 : 물리 계층 지원 (신호 증폭)
    • 브릿지 : 물리 계층과 데이터링크 계층 지원
    • 라우터 : 물리 계층, 데이터 링크 계층, 네트워크 계층 지원

Network Topology

  • Bus 형
    • 하나의 네트워크안에서 연결
    • Mac 어드레스를 자기꺼와 일치한지 확인하면서 자기꺼면 확인 처리
  • Star 형
    • 하나를 중심으로 연결된 형태

Protocol Function

  • Address - TCP / IP 기준
    • Port : 프로세스 식별
    • IP Address : 라우터 경로 식별
    • Mac Address : 목적지 주소 판별
  • Error Control - 유실, 파손(변형)
    • 유실 : 버퍼의 크기를 초과할 정도의 패킷이 모일 경우 버린다, 패킷이 떠돌아다니는 경우 버려진다.
    • 파손 : 수신 프레임의 T 부분에서 에러 여부를 체킹 -> NAK 응답 -> 재전송
  • Flow Control - Sliding Window 사용
  • Routing - 길 찾기

데이터 전달 방식

  • TCP / IP 프로토콜은 단방향, 전이중, 반이중 모두 지원 한다.
  • 단방향 : 데이터를 한쪽 방향으로만 전송 (텔레비전)
  • 전이중 : 데이터를 양쪽에서 동시에 전송 (전화)
  • 반이중 : 양방향으로 전송이 가능하지만, 특정 시점에서는 한쪽만 전송 (무전기)

서비스 프리미티브

  • 양 쪽 호스트가 데이터를 전송하기 위해선 소켓, 포트번호, IP 주소가 필요
  • 내부 네트워크 동작 방식
    • 클라이언트 request -> 서버 indicate -> 서버 -> response -> 클라이언트 confirm
반응형
profile

제육's 휘발성 코딩

@sasca37

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 맞구독은 언제나 환영입니다^^