Java Network

O0·2022년 6월 13일
0

JAVA

목록 보기
4/4
post-thumbnail

Java Network


  1. 네트워크
  • Transmission Control Protocol (전송 제어 규약, 동기 통신) : 두 개의 호스트를 연결하고 데이터 스트림을 교환하게 해주는 중요한 네트워크 프로토콜. 데이터와 패킷이 보내진 순서대로 전달하는 것을 보장해준다.

  • UDP : User Datagram Protocol (비동기 통신)

  • Server : TCP, Web(tomcat), Database [client간 연결을 위해 중간 역할]

  • 종단시스템 : host, pc, Smart Phone

  • Router : 컴퓨터 네트워크 간에 데이터 패킷을 전송하는 장치

  • Inter Netowrk : 포괄적인 통신망

  1. 7Layer
  1. 1계층 - Physical Layer (물리계층, Repeater) : 전기신호(0,1)을 전송하는 역할. 데이터 동기화, 접속 장치의 규격 등을 여기서 결정한다.
  2. 2계층 - Data Link Layer (데이터링크 계층, Hub) : 주소를 헤더에 첨부. 2진 데이터의 오류제어와 흐름제어를 여기서 담당한다.
  3. 3계층 - Network Layer (네트워크 계층, Router, L3 Switch) : 데이터를 분할해서 패킷 생성이 주 목적. 네트워크 IP -> Address
  4. 4계층 - Transport Layer : 전송 방식을 결정하는 계층. 네트워크 Port. TCP/IP의 포트번호를 결정 OR 프로토콜을 결정해주는 역할. 상위 계층과 하위 계층을 이어주는 계층
  5. 5계층 - Session Layer : 상대방과의 연결을 하기 위해 세션을 만들고 없애는 과정을 책임진다.
  6. 6계층 - persentation Layer : 데이터를 암호화하거나 인코딩결정
  7. 7계층 - Application Layer : 응용프로그램

  1. TCP와 UDP 차이
  1. TCP : 신사적인 Protocol. 신뢰할 수 있는 규약
    • 전화 -> 상대방 -> 연결 -> 통신, 채팅은 무조건 TCP
    • 동기식 통신 : Request를 보낸 Thread는 Response가 도착하기 전까지 아무것도 하지 못하는 Block 상태이다.
    • 데이터의 경계가 없다. 용량 제한이 없다. 채팅 및 object 전송
  2. UDP : IP를 사용하는 네트웍 내에서 컴퓨터들 간에 메시지들이 교환될 때 제한된 서비스만을 제공하는 프로토콜
    • 비연결형 프로토콜 (편지, 지상파방송), TCP보다 속도가 빠르다
    • 비동기식 통신 : Request를 보낸 Thread는 Response를 기다리지 않고 다른 일을 할 수 있다.
    • 데이터의 경계가 있다.
    • 1 대 1 (unicast), 1 대 x (broadcast), x 대 x (multicast)
  1. ETC
  • Packet : 제어정보, 데이터(문자열, object) 결합된 형태로 전송
  • IP : Internet Protocol => 주소
    • Ipv4 : xxx.xxx.xxx.xxx -> 0 ~ 255
    • Ipv6 : xxx.xxx.xxx.xxx.xxx.xxx
    • 로컬주소 : 127.0.0.1
  • port number : IP 주소는 Internet에 존재하는 host(pc)를 식별할 수 있으나 최종주체인 프로세스(프로그램)를 식별하지 못하기 때문에 프로세스를 구별하기 위해서 지정된 수치(0~1024)외의 숫자를 지정한다.
  • Socket : IP + Port Number / 네트워크에서 데이터를 통신할 수 있도록 연결해주는 연결부. 통신을 하기위한 object
    • 서버의 기본 문지기 소켓은 1개이다. 서버내 담당자 소켓이 있는데 그것은 client에 비례하여 있다.
  • 통신순서
순서serverclinet
1socket 버전 확인socket 버전 확인
2Binding -> IP, Port
3Listener
4Aceept <---- Connect
51) recv <--
2) send --
-- send(Write)
--> recv(read)

출처


profile
O0

0개의 댓글