728x90
반응형

전체 글 596

네트워크 - 채널, 터널링

1. 용어 정리 - 데이터 스트림을 인터넷 상에서 가상의 파이프를 통해 전달시키는 기술[1] - 컴퓨터 네트워크에서 터널링 프로토콜을 사용하면 네트워크 사용자는 기본 네트워크가 직접 제공하지 않는 네트워크 서비스에 접근하거나 제공할 수 있다[2] 2. 터널링의 특징 - 호스트와 호스트 사이에 통신이 어떤 프로토콜을 사용하던 간에 일단 터널이 구성되면, 그 안에 원래 내용물(패킷)은 감싸지기(캡슐화) 때문에 내용물이 무엇인지는 중요하지 않게 됨[3] - 특정 프로토콜을 지원하지 않는 네트워크를 통해 외부 프로토콜을 실행 할 수 있다[2] - 기본 네트워크 서비스만을 사용하여 제공하기에는 비실용적이거나 안전하지 않은 서비스를 제공할 수 있다. 예를 들면 실제 네트워크 주소가 회사 네트워크의 일부가 아닌 원격..

개인 공부 2022.12.20

네트워크 - PDU , MTU

PDU PDU는 Protocol Data Unit의 약자입니다. => 컴퓨터데이터를 세는단위를 PDU라고 보면 될거 같다. 그림에 왼쪽에 있는게 세는 단위입니다. (각 계층의 데이터 단위) 보통 비트, 프레임, 패킷, 세그먼트 까지는 알고있어야 한다. 세그먼트 (전송 계층(4)) 예를 들면, 상위 계층에서 데이터를 전달받은 전송계층에서는 아래의 정보들를 추가해 그룹화 한다. 이때부터 데이터는 데이터가 아니라, 세그먼트라고 불리는 것이다. 발신지 포트 : 발신하는 application의 포트 목적지 포트 : 수신해야 할 application의 포트 순서 번호 : 순차적 전송할 경우 순서를 붙이며, 순서가 어긋나면 목적지 프로토콜이 이를 바로 잡는다. 오류검출코드 : 발신지와 목적지 프로토콜은 세그먼트를 연..

개인 공부 2022.12.20

Socket, Web Socket 란?

정의 소켓(Socket) : 네트워크상에서 동작하는 프로그램 간 통신의 종착점. 1대1 통신의 경우 양 측다 소켓이 존재해야 통신이 가능하다. 현재 대부분의 통신은 인터넷 프로토콜(TCP, UDP)에 기반하고 있으므로 대부분의 네트워크 소켓은 인터넷 소켓이다. 웹 소켓(Web Socket) : 웹소켓은 하나의 TCP 접속에 전이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜이다. 그리고 HTTP나 HTTPS 위에서 동작하도록 설계되었으며, 따라서 포트는 80번 혹은 443번이다. HTTP 프로토콜과 구별은 되지만 호환이 된다. 기본적으로 HTTP의 통신 포트는 80번, HTTPS는 443번이다. 차이점 동작 계층 : OSI 7계층 기준으로 소켓은 인터넷 프로토콜에 기반하므로 TCP, UDP가 속한 4계층에..

개인 공부 2022.12.16

SSL / TLS

HTTPS HTTPS와 HTTP HTTP(Hypertext Transfer Protocol)은 HyperText인 html을 전송하기 위한 통신규약을 의미한다. 마지막에 S를 붙인다면 Secure라는 뜻으로 보안이 강화된 통신규약을 의미한다. HTTP는 암호화가 되어있지 않은 방법으로 서버에 데이터를 전송하기 때문에 서버와 클라이언트가 서로 주고받는 메시지를 알아내기가 쉽다. 그러므로 서버로 비밀번호나 계좌번호 등 중요한 데이터를 서버로 전송할 경우에는 HTTPS 프로토콜을 사용하여 통신하는 것이 중요하다. HTTPS와 SSL HTTPS는 SSL 프로토콜을 기반으로 돌아가는 프로토콜 중 하나다. SSL SSL 정의 Secure Sockets Layer은 암호규약이다.( 과거 명칭: 보안 소켓 레이어/Se..

개인 공부 2022.12.15

TCP/IP 소켓 통신 과정

TCP/IP 소켓 통신 TCP/IP 소켓통신 과정 설명 클라이언트 소켓과 서버 소켓으로 구분되어짐 클라이언트 소켓 통신 과정 [1. 소켓을 생성] 클라이언트와 특정 서버와 통신을 하기 위해서는 운영체제에 socket() 시스템콜을 통해 소켓을 생성함 [2. 소켓을 연결] connect() 시스템 콜을 호출하여 서버와 클라이언트간 연결 함 3 way handshake 방식을 사용해서 연결 함 (3 way handshake 란?) 1) 클라이언트는 서버에게 연결요청의 SYN이라는 비트 1을 만들어 TCP 헤더 정보를 설정하고 보냄. 2) 서버는 받은 페킷을 기반으로 수신처 포트번호에 대항하는 소켓을 찾고 거기에 해당 클라이언트에 대한 정보를 저장. 3) 서버도 SYN 비트를 만들고 정상적으로 처리했다는것을 ..

개인 공부 2022.12.15

HTTP, Socket 통신의 차이

일반적으로 휴대폰, 컴퓨터 등에서 필요로 하는 데이터들은 Server에서 받아온다. 네트워크를 통해 서버로부터 데이터를 가져오기 위한 통신으로는 크게 HTTP 통신과 Socket 통신 2가지가 있다. 오늘은 이 2가지 통신에 대해 알아보자. HTTP(HyperText Transfer Protocol) 하이퍼 텍스트를 주고 받기 위한 규칙(통신 규약)을 말한다. 하이퍼 텍스트란 연결 고리를 통해 다른 문서로 접근할 수 있는 텍스트를 말한다. HTML의 를 떠올리면 이해하기 쉽다. HTTP라는 통신 규칙을 만든 것은 좋은데, 정작 하이퍼 텍스트를 보기좋게 표현할 방법이 없었다. 누구든 동일한 방법으로 하이퍼 텍스트를 표현할 방법이 필요했다. 이에 팀 버너스리는 인터넷 기반의 하이퍼 텍스트 작성을 위한 방법들..

개인 공부 2022.12.15

2차원 배열 4배수

public void extend2dArray(int tmpMulti){ //tmpMulti 배수 int [][] data = { {1,2,3}, {4,5,6}, {7,8,9}, {10,11,12} }; int col = 3; // 복사할 배열의 col 수 int row = 4; // 복사할 배열의 row 수 // 결과 배열. int [][] resultArray = new int[4*tmpMulti][3*tmpMulti]; for ( int j = 0 ; j < col ;j++){ int tmpj = j*tmpMulti; for (int k = 0 ; k < row ; k++){ int tmp = k*tmpMulti; // 4배수로 작성됨 // 다른 배수일 경우 수정필요 resultArray[tmpj]..

JAVA 2022.12.14
728x90
반응형