[네트워크] 응용 계층의 역할
·
CS/네트워크
1. 응용 계층의 역할사용자가 사용하는 애플리케이션(응용 프로그램)이 동작하는 곳서비스를 요청하는 측을 클라이언트, 서비스를 제공하는 측은 서버라고 칭한다. 2. 응용 계층 프로토콜프로토콜내용포트 번호HTTP웹 사이트 접속80DNS이름 해석53FTP파일 전송20(데이터 전송)21(명령과 응답 제어)SMTP이메일 송신25POP3이메일 수신110
[네트워크] 전송계층의 로드 밸런서
·
CS/네트워크
1. 로드 밸런서여려 대의 서버를 두고 사용자가 한쪽을 몰리는 것을 분산시켜주는 장치.1대의 서버에서 여러 대로 늘리는 것을 스케일 아웃(Scale Out)이라고 하고, 부하를 분산시켜주는 작업을 로드 밸런싱(Load Balancing)이라고 한다. 2. 로드 밸런싱 방법라운드 로빈(Round Robin): 분배의 가장 기본적인 방식, 각 서버별로 돌아가며 연결을 처리한다.가중 라운드 로빈(Weighted Round Robin): 각 서버별로 돌아가면서 연결을 처리하지만 일부 서버는 큰 트래픽을 몰아 받는 방식랜덤(Random): 무작위로 분배되는 방식해시(Hash): 특정 클라이언트는 특정 서버에서만 처리하는 방식
[네트워크] UDP 구조
·
CS/네트워크
1. UDP(User Datagram Protocol)데이터의 신뢰성 보장보다는 데이터 전송 속도가 빠르다는 장점이 있다. 실시간 방송 등에서 주로 사용한다.2대 이상의 컴퓨터에 동일한 데이터를 전달하는 목적으로 사용되는 브로드캐스트에서 사용한다.헤더는 TCP와 비교했을 때 축약된 정보를 포함하며 송수신자의 포트 번호와 헤더 길이, 검사합 정보를 포함한다.항목설명크기송신자 포트 번호데이터를 보낼 때 사용되는 애플리케이션의 포트 번호16비트수신자 포트 번호데이터를 받을 애플리케이션의 포트 번호16비트헤더 길이UDP 헤더와 데이터를 합한 총 길이16비트검사합데이터의 무결성 검사 용도16비트
[네트워크] TCP 구조
·
CS/네트워크
0. TCP데이터를 세그먼트 단위로 쪼개서 순서를 부여하여 전송한다.세그먼트 순서가 뒤바뀌는 일이 없도록 오류를 제어하는 것이 중요하다. 1. 포트 번호전송 계층은 어떤 애플리케이션을 통과하는지 정의하는 곳이고 그 기능을 하는 것이 포트 번호이다.쉽게 설명해서 컴퓨터의 주소가 IP이면 프로그램의 주소는 포트 번호이다.0~1023번: 잘 알려진 포트(well-known port)로 특정한 쓰임을 위해서 사용되는 포트이다.1024~49151번: 기관이나 기업들이 사용하는 포트로 사전 등록된 포트(registered port)이다.49152~65535번: 일반 사용자들이 자유롭게 사용할 수 있는 포트로 다이내믹 포트(dynamic port)라고 한다.주요 well-known port포트 번호프로토콜서비스/설명..
[네트워크] 3방향 핸드셰이크
·
CS/네트워크
1. 데이터 전달 목적에 따른 전송 계층 통신연결형 통신: 데이터를 정확하게 전달하는 것을 목표로 하는 통신으로, TCP 프로토콜을 사용한다.비연결형 통신: 효율적으로 데이터를 보내는 통신으로, UDP 프로토콜을 사용한다. 2. 3방향 핸드셰이크(3 Way Handshake)TCP 프로토콜이 통신하는 방법으로 통신을 하는 장치 간에 서로 통신할 준비가 되었는지 확인하는 과정이다.송신자는 수신자에게 연결 요청을 위해 SYN(Synchronize Sequence Number)이라는 임의의 숫자를 보낸다.수신자는 ACK와 SYN(임의의 숫자)을 송신자에게 보낸다. 이때 ACK는 앞에서 받았던 SYN에 1이 더해진 숫자이다.마지막으로 송신자가 다시 ACK를 보낸다. 이때 ACK는 앞에 받은 SYN에 1이 더해진..
[네트워크] 전송계층의 역할
·
CS/네트워크
1. 전송계층오류를 점검하는 기능과 컴퓨터가 제대로 데이터를 받았을 경우 어떤 애플리케이션으로 전달해야하는지를 식별하는 역할 2. 오류점검 방식혼잡 제어네트워크로 들어가는 정보량을 조절하여 네트워크가 혼잡해지지 않게 조절하는 방법이다.송신자는 먼저 하나의 데이터만 보내고 수신자 측에서 ACK가 오면 전송량을 2배씩 증가시켜나간다.타임아웃(프로그램이 특정 시간 내에 성공적으로 수행되지 않아서 진행이 자동적으로 중단되는 것)이 발생하면 여러 개 보냈던 데이터를 줄여서 보낸다.동일한 ACK를 여러 번 받는 경우에도 데이터를 줄여서 보낸다.이후 정상적인 ACK를 받게 되면 또다시 데이터를 배수로 전송한다.흐름 제어데이터 링크 계층에서 사용하는 정지-대기 방식과 동일하다.송신자가 하나의 데이터를 전송한 후 다음 ..
[자료구조] PHP로 단순 연결 리스트 구현
·
CS/자료구조 & 알고리즘
1. Node 클래스class Node { public $data; // 노드에 저장될 데이터 public $next; // 다음 노드를 가리킴 public function __construct($data) { $this->data = $data; $this->next = null; // 초기에는 다음 노드가 없으므로 null }} 2. LinkedList 클래스class LinkedList { private $head; // 리스트의 첫 번째 노드 (헤드) private $length; // 리스트의 길이 (노드의 개수) public function __construct() { $this->head = null..
[네트워크] 라우터의 동작 방식
·
CS/네트워크
1. 라우터(Router)데이터의 전송을 위해 가장 빠른 길을 찾아 네트워크 간의 경로를 설정하는 장비이다.서로 다른 네트워크 간의 통신을 위해 라우터를 사용한다.네트워크 사이의 경로를 설정하는 것은 라우팅(Routing)이라고 한다. 2. 라우팅 테이블데이터를 목적지까지 보내기 위한 거리와 방법 등을 명시한 테이블로 라우터에서 관리한다.데이터를 목적지로 전달하기 위해 어떤 방향(인터페이스)으로 가야하는지, 게이트웨이 등에 대한 정보를 가진다.
[네트워크] 네트워크 데이터 전송 방식
·
CS/네트워크
1. 브로드캐스트같은 네트워크에 속한 모든 컴퓨터에게 데이터를 전달한다. 2. 유니캐스트1:1 통신으로 여러 대의 컴퓨터가 있을 때 특정한 1대의 컴퓨터에만 데이터를 전송할 수 있다.상대방의 MAC 주소가 필요하다. 3. 멀티캐스트브로드캐스트와 유니캐스트를 섞은 방식이다.특정 그룹을 지정해서 그 그룹에 해당하는 컴퓨터에만 데이터를 보낸다.