목록CS/네트워크 (6)
GiYeong
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bkwRHe/btrFWyuXNUU/W8AwGpicS41qr5IDllKK20/img.png)
TCP/IP (Transmission Control Protocol / Internet Protocol) 수많은 프로그램들이 인터넷으로 통신하는데 있어 가장 기반이 되는 프로토콜이다. 대부분의 데이터 통신이 TCP와 IP 기반으로 이루어져있기에 인터넷 프로토콜을 대표하는 용어로 사용된다. 이를 이용해서 컴퓨터를 연결하는 체계를 Ethernet(이더넷)이라고 부른다. 계층 역할 데이터 단위 전송 주소 예시 장비 응용 계층 어플리케이션 간의 데이터 송수신 Data/Message - 파일 전송, 이메일, FTP, HTTP, SSH 등 - 전송 계층 호스트 간의 자료 송수신 Segment Port TCP, UDP, RTP, RTCP 등 게이트웨이 인터넷 계층 데이터 전송을 위한 논리적 주소 지정 및 경로 지정 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/3TCpw/btrFKniex9N/L3Uq6WREaZA32wE9UBSMC0/img.png)
OSI 7 계층이란, 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것이다. 개방형 시스템 상호 연결 모델의 표준으로서, 흐름을 알아보기 쉽고, 사람들이 이해하기 쉬우며, 7 단계 중 특정한 곳에 이상이 생이면 다른 단계의 장비 및 SW를 건들이지 않고 이상이 생긴 단계만 고칠 수 있다는 장점이 있다. 작동 원리 OSI 7 계층은 응용, 표현, 세션, 전송, 네트워크, 데이터링크, 물리 계층으로 나뉜다. 전송 시, 7 계층에서 1 계층으로 각각의 층마다 인식할 수 있어야 하는 헤더를 붙인다. (캡슐화) 수신 시, 1 계층에서 7 계층으로 헤더를 떼어낸다. (디캡슐화) 출발지에서 데이터가 전송될 때 헤더가 추가되는데, 2 계층에서만 오류 제어를 위해 꼬리 부분에 추가된다. 물리 계층에서 1, 0의 신호..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/clxyyI/btrFFPyELhI/eIMbRcMgDNNG5HBiUXLVDK/img.png)
REST(Representational State Transfer) 소프트웨어 프로그램 아키텍처의 한 형식으로, 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미한다. 여기서 자원이란 해당 소프트웨어가 관리하는 모든 것(문서, 그림, 데이터, 해당 소프트웨어 자체 등), 자원의 표현이란 해당 자원을 표현하기 위한 이름을 의미한다. 월드 와이트 웹(www)과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 개발 아키텍서의 한 형식으로, 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한으로 활용할 수 있는 아키텍처 스타일이다. REST의 구체적인 개념 HTTP URL을 통해 자원(Resource)를 명시하고, HTTP 메서드(POST,..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bYbsCo/btrFDhoLNkF/nlj7KlvCEEQ8lS3dMblN30/img.png)
HTTP 메서드 HTTP 요청에 포함되어 서버가 요청을 수행하기 위해 해야할 행동을 표시하는 용도로 사용한다. (ex. GET, POST, PUT, DELETE ...) GET 서버로부터 정보를 조회하기 위해 설계된 HTTP 메서드이다. 요청을 전송할 때, 필요한 데이터를 쿼리스트링을 통해 전송한다. 쿼리스트링(Query String) URL의 뒤에 입력 데이터를 함께 제공하는 가장 단순한 데이터 전달 방법. URL주소 뒤에 물음표(?)를 붙이고 'key1=value1&key2=value2...' 와 같은 방식으로 데이터를 요청한다. 특징 GET 요청은 캐시가 가능하다. -> js, css, image같은 정적 컨텐츠는 데이터 양이 크고, 변경되는 일이 적기때문에 반복해서 동일한 요청을 보낼 필요가 없다..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bZEyZf/btrFAiNZizX/EB0kZJlvZOvS8EtfDQfNbk/img.png)
HTTP(Hyper Text Transfer Protocol) HTTP란 서로 다른 시스템들 사이에서 통신을 주고받게 해주는 가장 기초적인 프로토콜이다. HTTP는 어플리케이션 레벨의 프로토콜로 TCP/IP 위에서 작동한다. HTTP는 상태를 가지고 있지 않는 Stateless 프로토콜로서 Method, Path, Version, Headers, Body 등으로 구성된다. HTTP는 암호화가 되지 않은 데이터를 전송하는 프로토콜이라 네트워크 상에서 중간에 타인이 데이터를 훔칠 수 있다. 해당 문제를 해결하기 위해 HTTPS가 등장했다. HTTPS(Hyper Text Transfer Protocol Secure) HTTP 프로토콜에 SSL(Secure Sockets Layer, 보안 소켓 계층)을 사용함으..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bbB9kJ/btrFnzQQYGL/VZpWkH7oq3vHzhZeKcViek/img.png)
TCP(Transmission Control Protocol) TCP는 전송을 제어하는 프로토콜이라는 뜻으로, 인터넷 상에서 데이터를 메시지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜이다. IP가 데이터의 전달을 처리한다면, TCP는 패킷을 추적 및 관리한다. 패킷(Packet) 인터넷 내에서 데이터를 보내기 위한 라우팅(경로 배정)을 효율적으로 하기 위해 데이터를 여러 조각으로 나누어 전송을 하는데, 이 조각을 패킷이라고 한다. TCP는 연결형 서비스를 지원하는 프로토콜로서 인터넷 환경에서 기본으로 사용한다. TCP의 특징 연결형 서비스로서 가상 회선 방식을 제공한다. 3-way handshaking 과정을 통해 연결을 설정하고 4-way handshaking을 통해 연결을 해제한다. 흐름 제..