용어

  • LAN : 캠퍼스, 건물, 한 층의 협소한 네트워크
  • WAN : 도시, 국가 간을 묶는 광범위한 네트워크(여러 LAN을 결합)
  • Host : IP 주소가 부여된 컴퓨터
  • Standalone : 네트워크 접속 없이 컴퓨터를 사용하는 형태
  • Batch Processing : 처리할 프로그램을 일정 시간 축적하여, 일괄 처리하는 방식
  • OS : 컴퓨터의 CPU, 메모리, 주변 기기, 실행 프로그램을 관리하는 소프트웨어
  • Multi Vendor : 인터넷을 경유한 서로 다른 기종 간의 접속
  • Downsizing : 컴퓨터의 성능 향상으로 대형 컴퓨터를 소형 컴퓨터로 대체
  • Mac(Media Access Control) : 물리적인 매체간의 접속을 제어

 

개요

  1. 컴퓨터 네트워크의 개요 및 등장 배경
    1. 컴퓨터의 다양화, 소형화, 가격 저하로 보급이 확산
    2. 네트워크를 통해 컴퓨터 간 정보 공유, 빠른 송수신이 가능
    3. 사적인 네트워크간 결합이 활발히 이루어져 인터넷이 탄생
    4. 인터넷의 보급이 정보의 공유를 촉진
  2. 컴퓨터와 네트워크의 발전사
    1. 1950년대 : Batch Processing
      • 대규모 계산을 위해서만 컴퓨터를 사용
      • 잡지식
        • Batch처리를 위해 COBOL, FORTRAN 언어가 개발
    2. 1960년대 : Time Sharing System(TSS)
      • TSS에서는 여러 단말이 하나의 컴퓨터를 사용
      • 네트워크와 컴퓨터의 결합이 시작
      • 잡지식
        • TSS는 Star형 네트워크 구성
        • 유저가 단말을 통해, 직접 컴퓨터를 조작
        • TSS의 OS에 의해, 컴퓨터가 여러 프로그램을 동시에 처리
        • 동시 처리를 통해, 가상적으로 단말과 컴퓨터간 1:1로 통신
        • 대화형 조작이 실현
        • TSS 용으로 Basic 언어가 개발
    3. 1970년대 : 컴퓨터간 통신
      • 컴퓨터의 소형화, 저가화로 기업이 컴퓨터를 도입
      • 사무 처리의 효율화를 위해 컴퓨터 간의 데이터 송수신 기술이 실현
      • 잡지식
        • 이전에는 자기 테이프, 플로피 디스크 등 외부 매체를 이용하여 컴퓨터간 데이터 이동
    4. 1980년대 : 컴퓨터 네트워크 등장
      • 다른 종류의 컴퓨터 간의 통신을 위해 네트워크가 등장
      • Windows 시스템의 등장으로, 여러 프로그램의 동시 사용을 실현
      • 네트워크와 Windows 시스템을 결합하여, 네트워크 내의 서로 다른 컴퓨터 자원을 자유로이 활용
    5. 1990년대 : 인터넷의 보급
      • 값싸게 여러 메이커의 컴퓨터를 접속해 시스템을 구축하기 위한 Downsizing, Multi vendor가 유행
      • WWW에 의한 웹 서비스의 보급으로 여러 메이커가 각자의 통신 기술을 인터넷에 대응
    6. 2000년대 : 인터넷 기술이 중심
      • 개별적으로 발전한 기술을 도입하여 인터넷이 발달
      • 예로, 전화망을 기반으로 구축된 인터넷은 IP망으로 대체
      • IP망 위에 전화, TV, 컴퓨터 통신, 인터넷이 구축
      • 컴퓨터 외에도 인터넷에 접속
    7. 모든 것의 핵심은 TCP/IP
      • 인터넷 기술 = TCP/IP
      • 다양한 통신 기술을 결합하는 응용성을 보유
  3. 프로토콜
    1. 개요
      • 컴퓨터간 통신하기 위한 약속
      • 프로토콜만 일치하면 메이커, CPU, OS 등의 차이는 무의미
      • 통신을 위해서는 물리적 단계에서 응용 프로그램의 종류까지 명확한 약속이 필요
      • 사람으로 치면 언어(영어, 일본어, 한국어 등)
    2. 패킷 교환
      • 패킷은 '소포'라는 뜻
      • 큰 데이터를 작은 데이터로 분할한 것
      • 패킷에 헤더를 부착하여 송신자, 수신자, 패킷내용 등을 지정
      • 많은 컴퓨터가 한 회선을 공유해도 헤더를 통해, 목적지에 도달 / 재조립이 가능
      • 프로토콜은 헤더의 작성법, 해독법에 대한 약속을 정의한 것
  4. 프로토콜 표준화
    1. 표준화란?
      • 서로 다른 메이커의 네트워크 장비 간 통신할 수 있도록 공통된 프로토콜을 제정
    2. 배경
      • 컴퓨터의 사용량은 증가, 하지만 기업별 프로토콜이 달라, 타 기업 네트워크 장비와 통신할 수 없는 문제 발생
      • 회사의 부도, 서비스 중단 등으로, 고객은 모든 장비를 타사의 장비로 교체해야 하는 문제 발생
      • 호환성에 대한 니즈가 증가가 네트워크 오픈화, 멀티 벤더화로 직결
    3. 대표적 모델
      • OSI(Open Systems Interconnection, 개방형 시스템간 상호 접속)
        • ISO(International Organization for Standardization, 국제 표준화 기구)에 의해 제정
        • 통신에 필요한 기능을 7 계층으로 분할
      • TCP/IP
        • IETF(Inter Engineering Task Force)라는 민간 조직에서 표준화
        • 인터넷 상의 Defact Standard로 자리 매김
  5. 프로토콜 계층화
    1. 계층화란?
      • 복잡한 네트워크 프로토콜을 단순화 하기 위해, 기능에 따라 여러 계층으로 분할
      • 각 층은 하위층에서 특정 서비스를 제공 받아, 상위층에 특정 서비스를 제공
    2. 장점
      • 각 층이 독립하여, 변경에 의해 타 층에 영향이 없음
      • 단순화 되므로, 프로토콜을 만들기 쉬움
      • 각 층마다 책임이 명확함
    3. 프로토콜과 인터페이스
      • 인터페이스 : 상위층과 하위층이 서로 서비스를 주고 받는 것에 대한 약속
      • 프로토콜 : 통신 상대의 같은 계층과의 통신에 대한 약속
    4. OSI 참조 모델
      • 각 층은 역할에 따라 구분된다.
        • Application
          • 응용 프로그램의 통신 관련 부분을 정한다.
          • 전자 메일, 파일 전송, 원격 접속 등
        • Presentation
          • 상하위층간 데이터 포맷을 상호변환한다.
          • 기기 고유의 포맷 또는 네트워크 공통 포맷
        • Session
          • 데이터 전송을 관리한다.
          • 논리적 통신로인 커넥션의 확립 / 절단, 전송할 데이터의 길이 등을 관리
        • Transport
          • 목적지의 Application 계층까지 데이터를 전송한다.
          • 통신을 하는 양 쪽 노드에서만 처리가 일어난다.
        • Network
          • 목적지까지 데이터를 전송한다.
          • 주소 체계, 전송 경로의 선택도 담당한다.
        • Data Link
          • 물리적으로 연결된 노드 간 통신을 가능하게 한다.
          • 2진수의 숫자열을 의미를 가지는 덩어리인 프레임으로 나누어 상대에게 전달한다. (프레임의 생성, 수신)
        • Physical
          • 디지털 신호(비트열)와 아날로그 신호(전압의 고저 혹은 점멸)를 상호 변환한다.
          • 케이블이나 커넥터의 형상을 규정한다.
      • OSI 참조 모델에 의한 통신처리
        • 각 층의 프로토콜은, 헤더 등 데이터 포맷과 데이터 처리 수순 등을 구체적으로 정의하고 있다.
        • Application 층
          • 송신 시
            • 메시지, 수신자 등에 대한 메타데이터를 패킷에 부착한다.
          • 수신 시
            • 헤더와 패킷을 분리하여 해석한 후, 비휘발성 메모리에 보존한다.
            • 수신 불가 시, 에러 메세지를 반환한다.
            • Application 고유의 에러 처리도 Application 층의 역할이다.
        • Presentation 층
          • 이기종 간의 데이터 표현 형식의 정합성을 보장한다.
          • 송신 시
            • 컴퓨터 고유의 데이터 표현 형식을 네트워크 공통 표현 방식으로 변환한다.
            • Presentation 층 간의 데이터 부호화 방식 식별을 위해 헤더를 부착한다.
          • 수신 시
            • 데이터 부호화 방식 식별을 위해 헤더와 패킷을 분리한다.
            • 네트워크 공통 표현 방식을 컴퓨터 고유의 데이터 표현 형식으로 변환한다.
        • Session 층
          • 목적지로의 통신로 확보, 데이터 송신 준비 등 가상 커넥션을 확립한다.
          • 커넥션 확립, 데이터 전송 등의 타이밍을 관리한다.
          • 헤더에 데이터의 전송 수순에 대한 정보를 담아 부착한다.
        • Transport 층
          • 실제 커넥션의 확립 / 절단한다.
          • 데이터 전송의 신뢰성을 보장한다.
            • 데이터 도착 여부 확인
            • 데이터 미도착, 데이터 파손시 재송신
        • Network 층
          • 목적지를 특정하기 위한 IP주소, 포트 등의 정보를 헤더에 담아 송신할 패킷에 부착한다.
        • Data Link 층
          • 물리적 통신 매체로 연결된 기기 간 데이터 송수신을 가능하게 한다.
        • Physhical 층
          • 0과 1의 디지털 데이터를 전압이나 빛의 펄스로 변환하여 물리적 통신매체에 흘려 보낸다.
          • 직접 접속된 기기간 식별하기 위해 MAC 주소가 사용된다.
          • 헤더에 MAC 주소가 포함된 정보를 담아 패킷에 부착한다.
반응형

'■ 웹 개발 > 네트워크' 카테고리의 다른 글

VPN이란?  (0) 2020.12.09
직렬(Serial) 통신이란?  (0) 2020.12.08
소켓(Socket) 통신이란?  (0) 2020.12.08
포트(Port)란?  (1) 2020.12.08
정의
인터넷 트래픽을 암호화하고 온라인 ID를 보호하는 가상 사설망으로, 전 세계 어디서나
App과 WebSite, Entertainment Platform에 안전하게 액세스할 수 있게 해준다.
 
특징
  • 사용자의 IP가 VPN의 IP로 변경된다. (ex 192.168.X.X => 218.157.X.X)
  • (디바이스 -> 인터넷 -> VPN -> 인터넷) 순으로 데이터가 암호화되어 전송된다.
  • 외부에서나 VPN 제공 업체에서도 사용자의 데이터를 확인할 수 없다.
  • 암호화 통신을 수행하기 때문에 통신 속도가 저하된다.
 
왜 필요한가?
감시와 추적으로부터 자유로워지기 위해 개인정보 보호를 강화한다.
[사용 예]
  • 공공 Wi-Fi를 사용하는 경우
    • 해커는 공공 핫스팟에서 데이터를 훔칠 수 있으므로, VPN을 이용하면 Wi-Fi상에서 완전한 보안을 유지해준다.
  • 차단된 웹 사이트에 접속하는 경우
    • VPN은 IP주소를 변경하고 원격 서버를 통해 인터넷 연결을 리디렉션 하여 차단을 우회할 수 있다.
  • 데이터를 암호화하는 경우
    • VPN 암호화는 사용자의 인터넷 트래픽을 보호, 온라인에 흔적을 안남게 한다.
    • ISP 업체가 사용자의 검색 기록을 최고 입찰자에게 팔 수 없다.
  • 정부 감시를 피하고 싶은 경우
    • 정부 기관은 인터넷 사용자의 개인 정보를 추적, 수집하고 국경을 넘어 공유하기도 한다.
    • VPN은 트래픽과 사용자의 IP와 위치를 숨기고 암호화하여 이러한 감시활동을 저지할 수 있다.
  • 사용자가 자신의 위치를 숨기고 싶은 경우
    • VPN은 민감한 메시지에 대한 추가적인 보안을 제공한다.
  • 파일 공유 서비스를 사용할 경우
    • 많은 ISP 업체들이 대역폭 제한을 설정하여 사용자의 P2P 파일 공유를 제한한다.
    • VPN은 ISP 업체가 사용자의 파일 공유 여부를 탐지, 추적하기 어렵게 한다.
 
VPN 작동 원리
VPN 서비스에 연결하면 인터넷을 통해 암호화된 "터널"이 생성된다.
이를 이용해 검색 엔진에서 온라인 뱅킹 계정에 이르기까지 사용자와 목적지 간에 데이터가 안전하게 보호된다.

이 터널은 먼저 VPN  서버로 클라이언트를 인증하여 생성된다.
그 후 서버는 주고받는 모든 데이터에 암호화 프로토콜을 적용한다.
각 데이터 패킷이 안전하게 유지되도록, VPN은 외부 패킷에 해당 패킷을 래핑한 다음, 캡슐화를 통해 암호화 한다.
데이터가 서버에 도착하면 암호해독 프로세스를 통해 외부 패킷이 제거된다.
 
대표적 VPN 암호화 프로토콜 3가지
  • OpenVPN
    • TCP/UDP 모두 사용할 수 있어 속도와 보안이 균형있게 제공된다.
  • IKEv2/IPSec
    • 인터넷이 끊긴 후 보안 연결을 복원할 수 있다.
    • 변화하는 네트워크에 잘 적응하여 가정용 Wi-Fi와 모바일 연결을 자주 전환하거나 핫스팟을 자주 사용하는 사용자에게 좋다.
  • NordLynx
    • 적은 코드로 작성되어 빠르고 오류가 적다.
    • 배포 및 감사가 매우 쉬워 즉시 버그를 찾아 대응할 수 있다.
 

 

반응형

'■ 웹 개발 > 네트워크' 카테고리의 다른 글

네트워크 개요  (0) 2021.04.13
직렬(Serial) 통신이란?  (0) 2020.12.08
소켓(Socket) 통신이란?  (0) 2020.12.08
포트(Port)란?  (1) 2020.12.08

정의

데이터를 송수신하기 위한 전송로를 1~2개 사용하여 데이터를 1비트씩 순차적으로 송수신하는 통신 방식이다.

특징

병렬(Parallel) 통신에 비해 적은 신호선으로 연결하기 때문에, 선재(線材)와 중계 장치의 비용이 적게 든다.

 

직렬 통신 규격

RS-232C 케이블

- PC에 표준으로 탑재되는 등 가장 널리 사용되는 규격이다.

- D-SUB 25핀 또는 9핀이 있다.

- IBM 호환 PC에서 쓰인다.

- 엔지니어들은 컴퓨터를 센서 또는 모뎀에 연결하거나 계측기와의 통신 등의 용도로 사용한다.

- PC 시리얼 포트와 디바이스간 Point to Point 연결로만 사용한다.

 

출처 : mc-t.co.kr/?mod=document&uid=390&page_id=75

 

시리얼 통신이란? RS232, RS422, RS485

시리얼통신이란? 데이터를 송수신하기 위한 전송로를 1개또는2개 사용하여 데이터를 1비트씩순차적으로 송수신 하는 통신방식입니다. 적은 신호선으로 연결이 가능하기 때문에, 선재(線材)와

mc-t.co.kr

 

반응형

'■ 웹 개발 > 네트워크' 카테고리의 다른 글

네트워크 개요  (0) 2021.04.13
VPN이란?  (0) 2020.12.09
소켓(Socket) 통신이란?  (0) 2020.12.08
포트(Port)란?  (1) 2020.12.08

정의

소켓은 프로세스가 네트워크를 통해 데이터를 송수신할 수 있도록 하는 창구이며,

떨어져 있는 두 호스트를 연결해주는 인터페이스의 역할을 한다.

역할에 따라 서버 소켓, 클라이언트 소켓으로 구분된다.

 

소켓 통신의 흐름

- 서버 소켓

1) socket() : 클라이언트와 서버를 연결할 연결용 소켓을 생성한다.

2) bind() : IP와 Port 번호를 결합한다.

3) listen() : 클라이언트의 접근 요청을 수신하는 대기열을 만들어 몇 개의 클라이언트를 대기 시킬지 결정한다.

               클라이언트가 connect() 해오기 전까지 대기하기 때문에 listen()은 별도 스레드를 만들어서 처리한다고 한다.

4) accept() : 새로운 소켓을 만들어 클라이언트와 실질적인 연결을 수행한다.

 

- 클라이언트 소켓

1) socket() : 소켓을 생성한다.

2) connect() : 통신할 서버에 설정된 ip와 port 번호에 통신을 시도한다.

3) 통신 시도 시, 서버가 accept() 함수로 클라이언트의 socket descriptor를 반환한다.

4) 이를 통해 클라이언트와 서버는 서로 send(), recv()하며 데이터를 송수신한다.

 

소켓 종류

1) 스트림 소켓(TCP)

- 양방향으로 바이트 스트림을 전송하며, 연결 지향성을 띤다.

- 오류수정, 전송처리, 흐름제어를 보장한다.

- 송신된 순서에 따라 중복되지 않게 데이터를 수신한다.

- TCP를 사용하여 소량의 데이터보다 대량의 데이터 전송에 적합하다.

 

2) 데이터그램 소켓(UDP

- 비연결형 소켓이다.

- 데이터의 크기에 제한이 있다.

- 전달이 확실하게 보장되지 않고, 데이터가 손실되어도 오류가 발생하지 않는다.

- 실시간 멀티미디어 정보를 처리하기 위해 주로 사용한다.

ex) 전화

 

소켓 통신의 특징

- 서버와 클라이언트가 특정 포트를 통해 실시간으로 양방향 통신을 하는 방식이다.

- 연결은 close()하기 전까지 유지된다.

- 실시간 데이터 송수신에 적합하다.

- 실시간 동영상 스트리밍이나 온라인 게임에 자주 사용된다.

 

출처 : helloworld-88.tistory.com/215#:~:text=SOCKET%20%ED%86%B5%EC%8B%A0%EC%9D%98%20%ED%8A%B9%EC%A7%95,%EA%B2%BD%EC%9A%B0%EC%97%90%20%EC%9E%90%EC%A3%BC%20%EC%82%AC%EC%9A%A9%EB%90%9C%EB%8B%A4.

 

[기본] 소켓(SOCKET)통신 이란?

소켓통신 소켓(SOCKET)이란? 소켓(Socket)은 프로세스가 드넓은 네트워크 세계로 데이터를 내보내거나 혹은 그 세계로부터 데이터를 받기 위한 실제적인 창구 역할을 한다. 그러므로 프로세스가 데

helloworld-88.tistory.com

 

반응형

'■ 웹 개발 > 네트워크' 카테고리의 다른 글

네트워크 개요  (0) 2021.04.13
VPN이란?  (0) 2020.12.09
직렬(Serial) 통신이란?  (0) 2020.12.08
포트(Port)란?  (1) 2020.12.08

정의

직역하면 '항구'라는 뜻으로, 컴퓨터 관련 분야의 의미로는 운영 체제 통신의 종단점을 뜻한다.

 

- 하드웨어 : 컴퓨터의 주변 장치와 연결하기 위한 연결단 (물리적 통로)

- 소프트웨어 : 네트워크 서비스나 특정 프로세스를 식별하는 논리적 단위 (논리적 통로)

 

소프트웨어적 의미

데이터 송수신시,

Datalink 계층에서는 호스트의 NIC*로 MAC Address를 판별하고,

Network 계층에서는 IP Address로 목적지를 판별한다.

Mac Address와 IP Address를 통해 목적지 호스트까지 도달한 후에는 어떤 프로세스에서 데이터를 받을 것인지를 알아야 하는데 이 때 쓰이는 것이 포트 번호이다.

* NIC(Network Interface Card) : 이더넷 카드 및 네트워크 어댑터라고도 하며, 응용프로그램에서 받은 데이터를 네트워크 형식에 맞게 변환하여 전송해 주는 기능을 하는 하드웨어 장치이다.

포트의 정확한 개념

- OSI 7 계층의 전송 계층에서 동작하는 TCP / UDP에서 Application이 상호구분을 위해 사용하는 번호이다.

- IP 내에서 프로세스 구분을 위해 사용하며, 각 프로토콜의 데이터가 컴퓨터 내부의 논리적 통로를 따라 흐른다.

- 네트워크를 통해 데이터를 주고받는 프로세스를 식별하기 위해 호스트 내부적으로 프로세스가 할당받는 고유한 값.

 

포트 번호

- Port Number는 16bits로 이루어져 있다.

- 2의 16승이므로 총 65536개의 번호가 존재할 수 있다.

- 번호는 크게 3가지로 분류한다.

1) Well-known Ports ( 잘 알려진 포트 ) : 0번 ~ 1023번

2) Registered Ports ( 등록된 포트 ) : 1024번 ~ 49151번

3) Dynamic Ports ( 동적 포트 ) : 49152번 ~ 65535번

- 사용자가 임의로 사용 가능한 포트 번호이다.

 

포트 번호 표기법

- 일반적으로 IP Address 뒤에 콜론 ( : )을 붙여 표기한다.

ex) 192.168.100.1:3053

 

포트 포워딩 ( Port Forwarding )

외부에서 공유기 내의 특정 장치로 접속하기 위해서는 IP Address를 알아야 하지만,

공유기 내부의 IP는 사설(Private) IP로 이루어져 있어 외부에서 IP만으로는 특정 PC를 지정할 수 없다.

따라서 공유기의 공인(public) IP로 접속한 후 특정한 PC로 연결되도록 포트 넘버를 공유기에서 정의해주는 작업이 필요하며, 이러한 과정을 포트 포워딩이라고 한다.

 

출처 :

bmind305.tistory.com/25

 

Port 란?

 Port ( 포트 ) 본래의 의미로 직역하면 '항구'라는 뜻으로, 컴퓨터 관련 분야에서의 의미로는 운영 체제 통신에서의 종단점을 뜻한다. 하드웨어적 의미 : 컴퓨터의 주변 장치와 연결하기 위한 연

bmind305.tistory.com

velog.io/@xldksps4/OSI-7%EA%B3%84%EC%B8%B5

 

OSI 7계층

OSI7계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다.통신이 일어나는 과정을 단계별로 파악하기 위함.7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨

velog.io

 

반응형

'■ 웹 개발 > 네트워크' 카테고리의 다른 글

네트워크 개요  (0) 2021.04.13
VPN이란?  (0) 2020.12.09
직렬(Serial) 통신이란?  (0) 2020.12.08
소켓(Socket) 통신이란?  (0) 2020.12.08

+ Recent posts