CS/network 18

HTTP(Hyper Text Transfer Protocol)

* HTTP(Hyper Text Transfer Protocol) HTTP는 웹 상에서 정보를 주고받을 수 있는 프로토콜이다. 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜이다. 예를 들어 클라이언트(웹 브라우저)가 HTTP를 통하여 서버에게 웹페이지(HTML)을 요청하면 서버는 요청에 응답하여 필요한 정보를 클라이언트에게 전달한다. 주로 TCP를 사용한다. 클라이언트는 서버에게 요청 메시지를 전달하며 서버는 응답 메시지를 보낸다. 클라이언트가 서버에게 보내는 요청 메시지는 다음과 같다. 요청 내용 보기) GET /images/logo.gif HTTP/1.1 헤더 보기) Accept-Language: en HTTP 메소드 요약 HTTP 메소드에 대해서는 따로 포스..

CS/network 2021.07.24

HTTP 요청 Method

HTTP는 요청 메소드를 정의하여, 주어진 리소스에 수행하길 원하는 행동을 나타낸다. 각각의 메소드는 서로 다른 의미를 구현하지만, 일부 기능은 메소드 집합 간에 서로 공유하기도 한다. * HTTP 요청 Method의 종류 * GET 서버에 존재하는 정보를 요청한다. 이 때 반환되는 정보는 정보가 아니라 특정 정보(리소스)의 표시(표현)이다. GET을 사용하는 요청은 오직 데이터를 받기만 한다. 캐싱을 수행하기 때문에 캐싱되지 않는 요청은 GET 요청 메소드가 적합하지 않을 수 있다. * HEAD GET 메소드의 요청과 동일한 응답을 요구하지만, RequestBody를 포합하지 않는다. header만 가져온다. * POST 서버에 정보를 생성하는 것을 요청한다. 서버 상태의 변화를 일으킨다. Reques..

CS/network 2021.07.13

Network Layer의 Protocols

* Network Layer(네트워크 계층) 하나 이상의 네트워크를 통해 출발지에서 대상 호스트로 가변 길이 네트워크 패킷을 전송하는 계층이다. 가장 효율적인 경로를 찾아 패킷을 전송하는 라우팅을 담당하는 계층이다. * 대표적인 프로토콜 - ICMP(Internet Control Message Protocol) 네트워크 장치에서 다른 ip 주소와 통신할 떄 성공 또는 실패를 나타내는 오류 메시지 및 작동 정보를 보내는데 사용된다. - IPsec(Internet Protocol Security) 인터넷 프로토콜(IP) 통신을 위한 보안 프로토콜이다. - OSPF 라우팅 프로토콜 중 하나로 목적지까지의 비용이 가장 적게 소요되는 경로를 최적의 경로로 설정하는 링크 상태 라우팅 프로토콜이며 이를 위해 최단 경..

CS/network 2021.06.23

슬라이딩 윈도우 프로토콜

* Sliding Window Protocol? www.youtube.com/watch?v=zY3Sxvj8kZA&ab_channel=KhurramTanvir Slinding window(슬라이딩 윈도우)는 패킷 기반의 데이터 전송 프로토콜이다. 이 프로토콜은 데이터 링크 계층, TCP와 같은 패킷의 신뢰성 있는 전달이 필요할 경우 사용된다. 보통 신뢰성 있는 데이터 전송에 대해서는 모든 패킷에 대해서 정상적으로 정상적으로 전달되었음을 알리는 확인 신호(acknowledgement, 이하 ACK)를 받아야한다. 만약 패킷이 중도에 잘못되었거나 분실되어 확인받지 못하는 경우, 해당 패킷을 재전송해야한다. 이 과정은 시간이 오래 걸리기 때문에 효율성이 떨어진다. 슬라이딩 윈도우 프로토콜은 일정한 윈도우 크기 ..

CS/network 2021.05.11

Load Balancing(로드 밸런싱)

* Load Balancing? Load Balancing(로드 밸런싱, 부하 분산)은 컴퓨터 네트워크 기술의 일종으로 여러 개의 컴퓨터 자원들에게 작업을 나누는 것을 의미한다. 이 때 컴퓨터 자원은 CPU, Storage, Server 등이 될 수 있다. 로드 밸런싱을 통해 가용성 및 응답 시간을 최적화할 수 있다. 또한 인터넷 서비스에 로드밸런싱을 적용하면 내부 네트워크 구조를 숨길 수 있으므로 크래킹을 막을 수 있는 보안적 이점을 얻을 수 있다. * Load Balancer? 서버에 가해지는 부하(Load)를 분산(Balancing)해주는 장치 또는 기술을 통칭한다. 한 대의 서버로 부하가 집중되지 않도록 트래픽을 분산 관리해주어 각각의 서버가 최적의 퍼포먼스를 보일 수 있도록 해준다. * 트래픽 ..

CS/network 2021.05.09

URI와 URL, URN

* URI? 특정한 리소스의 식별자이다. * URL? HTTPs, FTP 등 어떻게 접근하지는지도 알 수 있게 해주는 특별한 타입의 식별자 특정 서버 안에서 해당 리소스에 접근할 수 있는 상대적인 위치(Location)를 나타낸다. (ex. http://www.google.com/doodles) url은 해당 리소스에 접근하는 절대적인 위치가 아닌 상대적인 위치를 말하기 때문에, 리소스가 옮겨지면 이전 url은 유효하지 않게 된다. * URN? URN은 리소스의 Name을 알려준다. 따라서 위치에 영향을 받지 않는 unique함을 나타내는 키 역할이 수행 가능하다. 앞서 URL은 리소스가 옮겨지면 이전 URL이 유효하지 않게 된다고 했지만 URN은 그렇지 않다. 출처 - goodgid.github.io/..

CS/network 2021.05.08

TCP vs UDP

사실 TCP/UDP의 차이를 명료하게 정리하고자 글을 다시 쓴다. * TCP(Transmission Control Protocol)? 이름에서도 알 수 있듯 전송 제어 프로토콜이다. 인터넷을 사용하는 모든 통신의 기본적인 프로토콜이며 신뢰성 있는 데이터 전송을 보장한다. 연결 지향형(connection-oriented) 서비스를 제공한다. 전송 계층(transport layer)에서 동작한다. 다른 타입의 컴퓨터 간에 연결을 설정하는데 도움이 된다. 운영 체제와는 상관 없이 독립적으로 작동하며 많은 라우팅 프로토콜을 지원한다. - 동작 3 way handshake 방식을 통해 established 되며 연결이 설정된 뒤 데이터 전송이 시작된다. - 특징 - 전송(수신)확인 - 재전송 - 네트워크가 혼잡할..

CS/network 2021.05.07

TCP 3 way handshake

* TCP 3 way handshake? TCP/IP 네트워크에서 서버와 클라이언트를 연결하는데 사용되는 프로세스이다. 실제 데이터 통신 프로세스가 시작되기 전에 클라이언트와 서버가 동기화 및 승인 패킷을 교환해야하는 3단계 프로세스이다. TCP는 UDP와 달리 정확한 전송을 보장하는데 이를 위해 상대방 컴퓨터와 사전에 세션을 수립해야 함. * TCP 메세지 유형 & 포트 상태 유형 -TCP 메세지 유형 메세지 사용 SYN 연결을 시작하고 설정하는데 사용된다. 장치간에 시퀀스 번호를 동기화하는데 쓰인다. ACK 상대방이 SYN을 수신했는지 확인할 때 SYN-ACK 로컬 장치의 SYN 메세지 및 이전 패킷의 ACK FIN 연결을 종료 - 포트 상태 유형 Closed 포트가 닫힘 Listen 포트가 열린 상..

CS/network 2021.05.02

IPv6 (Internet Protocol version 6)

* IPv4의 한계 IPv4는 32비트를 이용해 주소를 표시하기 때문에 산술적으로 2^32개, 32억 정도의 주소를 표현할 수 있다. 그러나 인터넷 사용자의 증가, 무선인터넷, IoT 등의 ip 주소에 대한 수요가 증가하면서 IPv4의 주소 고갈 문제가 대두되었다. 주소의 수요가 증가된 것도 문제지만, IPv4의 주소 구조에 잠재하는 문제로 사용되지 않는 많은 주소가 존재한다는 점이 문제의 원인으로 꼽히기도 한다. IPv4는 클래스 A, B, C 이렇게 "네트워크" 단위로 주소를 할당하는 클래스 단위의 주소 할당 방식은 쓰이지 않는 많은 IP 주소를 발생 시켜 주소의 낭비를 초래하였다. * IPv6 특징 1. 확장된 주소 공간 IPv6는 128 비트의 주소 공간을 갖는다. 128 비트의 주소 공간에는 3..

CS/network 2021.04.25

반 이중(Half Duplex) 방식 vs 전 이중(Full Duplex) 방식

* 반 이중(Half Duplex) 방식 양 방향으로 데이터가 전송될 수 있으나, 동시에 전송하는 것은 불가능한 방식이다. 즉 한 번에 한 쪽 방향으로만 데이터의 전송이 가능한 단방향 통신 방식이다. 대역폭을 절약할 수 있다는 장점이 있지만 충돌이 발생할 가능성이 있어, 충돌 감지가 필요하며 충돌로 인한 프레임 재전송 및 오류 검출로 인한 시간이 더 걸릴 수 있다. * 전 이중(Full Duplex) 방식 하나의 전송 선로에서 데이터가 동시에 양 방향으로 전송될 수 있는 방식이다. 충돌이 발생하지 않기 때문에 충돌 감지가 필요하지 않다. 그렇기 때문에 반 이중 방식보다 시간을 절약할 수 있다. 그러나 반 이중 방식에 비해 대역폭이 크게 필요하다는 단점이 있다. 둘 다 양 방향에서 데이터를 송신 + 수신이..

CS/network 2021.04.23