자바 I/O & NIO 네트워크 정리 1: 네트워크 기초

0

1. 😒 네트워크

네트워크는 동일한 프로토콜을 사용하는 디바이스의 집합이다.
디바이스란 컴퓨터를 떠나 프린터가 될수도 있고, 스마트폰이 될수 있다.

2. 😍 네트워크 통신 방법

네트워크 내의 A,B가 통신하려면 서로의 위치를 알아야 한다. 이것을 노드라고 한다.
그리고 네트워크 세계에서도 이 위치의 주소가 있다.
일반적으로 이 랜주소는 컴퓨터의 랜카드에 저장되어있고, 변경할수 없게 되어있다.
그래서 확실하게 서로의위치를 파악하고 통신할 수 있다.

3. 🚀 데이터 전송

네트워크를 통해 1비트씩 전송한다면 where, who가 빠져있다. 네트워크는 이와 관련하여 패킷을 사용한다. 패킷은 header , body로 구분되며, 정상적임을 보장하는 체크섬(checksum) 등을 포함한다. 바디는 데이터를 바이트 그룹으로 포함함으로써, 많은 데이터를 패킷으로 담을 수 있고
매우 효율적이다.

4. OSI 7계층

4계층 : 트랜스포트
3계층 : 네트워크
2계층 : 데이터 링크
1계층 : 물리

장점

어떤 네트워크 장비라도, 표준을 설정하여 상호정보처리가 가능하고, 프로토콜을 분리하여 프로토콜이 단순,관리가 쉬워짐

1. 물리 계층

노드간의 네트워크 통신을 하기 위한 저수준의 계층으로 데이터 링크에서 형싱된 패킷을
전기신호, 광신호로 바꾸는 역할이다.

2. 데이터 링크

네트워크 계층으로 메시지를 비트로 변환해서 물리계층이 전송할수 있게 만든다,

3. 네트워크 계층

두 시스템간의 연결성과 경로 선택을 제공한다.
라우팅 프로토콜을 이용하여, 최적의 경로를 선택하며, 경로를따라 정보를 보낸다.

4. 트랜스포트 계층

얼마나 신뢰성있는 데이터 전송인지 관련되어 있다.
가상회로 구축, 전송오류 검출과 복구 등의 절차를 제공한다.

하위 4개의 계층은 데이터 전송과 관련되어 있고, 상위 3개의 계층은 어플리케이션과 관련되어 있다.

7계층 : 애플리케이션
6계층 : 프레젠테이션
5계층 : 세션

5. 세션 계층

어플리케이션간의 세션을 구축하고, 종료시키는 역할을 한다.

6. 프리젠테이션 계층

프레젠테이션 계층은 한 시스템의 어플리케이션에서 보낸 정보를 다른 시스템의 어플리케이션 계층에서 읽을수 잇게 하는 곳이다.

7. 어플리케이션 계층

사용자와 컴퓨터가 통신하는 곳으로, 통신하고자 하는 상대를 식별하고, 상대와의 통신을 확보하는 역할을 한다.

4. 인터넷 프로토콜

인터넷은 OSI 3계층인 네트워크 프로토콜에 기반을 둔 하나이상의 네트워크 모임으로,
인터넷은 전세계적인 TCP/IP네트워크이며, IP 주소체계와 IP 프로토콜을 사용한다.

1. IP 프로토콜

  • 네트워크 계층에 존재하는 프로토콜로 TCP와 함께 활용도가 가장많아서 가장널리 사용된다.
  • 트랜스포트 계층에서 패킷을 안전하게 전달하는 신뢰성을 책임진다는 가정으로 신뢰성이 없다.
  • 로컬네트워크에서 적용하는 하위넷을 사용한다(공유기).

2. ICMP 프로토콜

IP + 내장된 오류 처리, 보고메커니즘이다.(Control Message)

3. TCP 프로토콜

  • 신뢰성이 있는 프로토콜이다.
  • 발신자는 CheckSum을 포함해서 전달하고, 수신자는 체크섬을 이용해 데이터를 확인후, 유실되어있으면 재요청을 한다.
  • TCP는 다중 송수신 특징때문에 여러개의 접속을 지원할수있다.
  • HTTP, FTP, TELNET등 대부분의 경우에 TCP를 사용한다.

4. UDP 프로토콜

  • UDP는 TCP와 달리 신뢰성이 없다.
  • UDP는 TCP와 달리 비연결 지향이라, 연결되지않아도 어디에 있는지 가정하고 데이터를 보낸다.

5. 🎈 인터넷 애플리케이션 프로토콜

7계층의 어플리케이션 프로토콜은 자바개발자들이 다뤄야하는 부분이다.
다른포트에서 같은서비스를 이용할 수 있지만, 지정된 포트에서 다른 서비스를 제공하면 안된다.

    1. Telnet(TCP포트 23번)
    1. FTP(TCP포트 20번)
    1. POP3(TCP포트 110번) 이메일을 수신하기 위한 C/S 프로토콜
    1. IMAP(TCP포트 143번) 사용자가 메일의 제목과 송신자만을 보고 다운을 결정하는 POP3보다 강력한 프로토콜
    1. SMTP(TCP포트 25번) 메일을 보낼때 사용하는 프로토콜
    1. HTTP(TCP포트 80번) 헤더와 바디로 구성되며, 상태를 유지하지않는(Stateless) 프로토콜이다.
    1. Finger(TCP포트 79번)메일 주소를 이용해, 유저에관한 정보를 알려주는 프로토콜
      보안을 이유로 막아놓는다.
    1. NNTP(TCP포트 119) 유즈넷 뉴스그룹에 올려진글들을 관리하기 위한 프로토콜

6. 🤣 소켓과 포트

소켓은 애플리케이션을 위한 한쌍의 데이터 큐가 있는데, 전송을 위한 큐, 수신을 위한 큐다.

  • 1~511은 표준 TCP/IP 어플리케이션용으로 예약되어 있다.
  • 512~ 1023은 운영체제에서 우선권이 있는 프로그램이 사용할 수 있게 예약됐다.
  • 대부분 1024~5000포트 사이를 사용한다.

7. 😘 보안

대부분의 도메인들은 방화벽을 사용한다.
방화벽은 내부정보망을 보호하기 위한 외부망과 통하는 유일한 창구로써,
불법적인 데이터유입을 막고, 인증된 데이터의 송수신만을 허용하는 적극적인 방어대책이다.
또한 방화벽 시스템은 등록된 IP만을 접근이 가능하도록 하는 선택적 차단막 역할을 한다.

profile
쉽게 가르칠수 있도록 노력하자

0개의 댓글