목록STUDY/네트워크 (12)
공부해봅시당
세션이라는 단어를 접할 때, 웹 세션과 네트워크 세션, 데이터베이스 세션 등 여러 세션에 대해 접하면서 세션의 의미에 대해 혼란스러워 했었다. 그래서 세션이 무엇인지, 세션에는 어떤 것들이 있는지, 세션 중에서 어떤 것이 쿠키와 비교되는 것인지, 그리고 같이 혼동하게 되는 개념인 토큰과 캐시에 대해서도 총망라하여 이번 글과 다음 글에서 정리해보고자 한다. 세션세션이란?영어단어로 먼저 이해해보자대부분의 용어가 영어 단어로 이뤄져 있기 때문에(당연하다... 영어권 사람들이 만들었다...),영어 단어로서 어떻게 사용되는지 알아야 컴퓨터 과학에서 용어의 진짜 의미를 파악할 수 있다. 영어에서 `세션`은 `일반적으로 모임이나 회의의 기간`을 의미한다.예를 들어 'The conference session laste..

MAC(Media Access Control)이란?MAC의 정의는 아래와 같다.네트워크 세그먼트의 데이터 링크 계층에서 통신을 위한 네트워크 인터페이스에 할당된 고유 식별자 여기서 `고유 식별자`는 `고유한 이름, Unique한 이름`을 뜻하고, `네트워크 인터페이스`는 `NIC(Network Interface Card)`를 뜻한다. 네트워크 인터페이스, NIC란 무엇일까?(NIC에 대한 자세한 설명은 링크를 참고했다.) `NIC(Network Interface Card)`는 랜카드, 통신모듈이라고도 한다.아래 사진이 NIC, 랜카드이다. 이렇게 생긴 LAN 카드를 옆에서 보면 아래 사진처럼 생겼다.위 사진에서 왼쪽에 케이블을 꽂을 수 있는 공간이 있는데, 집에서 컴퓨터를 사용한다면 여기에 케이블을 꽂아..

1. 소켓(SOCKET)이란?소켓(Socket)은 프로세스가 네트워크 세계로 데이터를 내보내거나 혹은 그 세계로부터 데이터를 받기 위한 실제적인 창구 역할을 한다. 그러므로 프로세스가 데이터를 보내거나 받기 위해서는 반드시 소켓을 열어서 소켓에 데이터를 써보내거나 소켓으로부터 데이터를 읽어들여야 한다. 네트워크를 경유하는 프로세스 간 통신의 종착점. OSI 7계층 중 응용 계층에 속하는 프로세스들은 데이터 송수신을 위해 반드시 소켓을 거쳐 전송 계층으로 데이터를 전달해야한다. 즉, 소켓은 전송 계층과 응용 프로그램 사이의 인터페이스 역할을 하며 떨어져 있는 두 호스트를 연결해준다.2. 소켓의 3요소2-1. 프로토콜프로토콜은 데이터 전송을 위한 표준 집합 규칙이다. 주로 TCP/IP, UDP/IP 프로토콜..

1. HTTP(Hyper Text Transfer Protocol)1-1. HTTP의 개요서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜이다.즉, HTTP는 인터넷에서 하이퍼텍스트를 교환하기 위한 통신 규약으로, 80번 포트를 사용한다. 1-2. HTTP의 구조애플리케이션 레벨의 프로토콜로 TCP/IP 위에서 작동한다.HTTP는 상태를 가지고 있지 않는 Stateless 프로토콜이며 Method, Path, Version, Headers, Body 등으로 구성 된다. 1-3. HTTP의 문제점암호화가 되지 않은 평문 데이터를 전송하기에 제3자가 조회 할 수 있다.비밀번호나 주민번호와 같은 민감한 데이터일 경우 큰 문제가 될 수 있다. 2. HTTPS(HyperText Transfer P..

TCP - 전송 제어 프로토콜`IP(Internet Protocol)`가 인터넷 프로토콜로서 복잡한 인터넷 망 속에서 클라이언트와 서버 간에 통신할 수 있게 IP 주소와 패킷과 같은 규칙을 통해 통신을 하게 하는 것이라면, `TCP(Transmission Control Protocol)`는 IP 규칙으로만 통신하기에 부족하거나 불안정하던 여러 단점들(패킷 순서가 이상하거나 패킷이 유실)을 커버해, 패킷 전송을 제어하여 신뢰성을 보증하는 프로토콜로 보면 된다. IP와 TCP 둘다 프로토콜이지만 이 둘을 동일시로 보면 안된다. 이 둘은 별개의 규칙이다.IP 규칙에 써있는대로 목적지까지 다다랐으면, TCP 규칙에 써있는대로 올바르게 도착했는지 정확히 누구에게 전달되야하는지 하나하나 따진다고 생각하면 된다. 그..

OSI 7 Layer와 TCP/IP Protocol현재 인터넷은 OSI모델이 아닌 TCP/IP 모델을 따른다.그리고 OSI 모델이 꽤나 유명했던 만큼 현재는 하단 3번째 그림인 `TCP/IP updated 모델`로 배우는 것이 좋다고 한다.또한 OSI 모델과 TCP/IP 모델을 비교 분석해보는 것도 좋다고 생각한다. 1. 사전지식1-1. 데이터(data)의 기술적 개념1) 데이터란 수많은 0과 1로 이루어진 숫자2) 데이터의 전기신호 컴퓨터는 2진법의 숫자를 전기의 켜짐(On), 꺼짐(Off)으로 표현 ∴ 데이터는 아주 긴 전기 신호 => 데이터 전달을 위해서는 긴 케이블 필요(ex) 해저 케이블 등) 1-2. 프로토콜(Protocol)1) 프로토콜이란 데이터를 전달하기 위한 ..

네트워크 프로토콜네트워크 프로토콜이란다른 장치들끼리 데이터를 주고받기 위해 설정된 공통된 인터페이스프로토콜 정의 단체IETF(국제 인터넷 표준화 기구, Internet Engineering Task Force)IETF란인터넷에서 이용되는 기술의 표준화를 추진하는 임의단체 중 하나특징컴퓨터를 상호 접속하기 위해 공통의 기술사양 책정에 대해 논의하는 그룹에서 발전한 것연구자나 기술자가 개인적인 입장에서 참가워킹 그룹에 의해서 작성된 사양은 'RFC'라고 불리는 문서에 의해서 공개됨IETF가 표준화하고 있는 프로토콜: TCP/IP, HTTP 등IETF와 ISO(국제 표준화기구, 여기 참고)IETF의 사양은 ISO(국제표준화기구) 등이 정하는 국제규격과는 성격이 달라 사양을 세부까지 굳히지 않고 느슨하게 정함상..

네트워크 성능 분석필요성애플리케이션 코드상에는 문제가 없는데 사용자가 서비스로부터 데이터를 가져오지 못하는 상황이 발생될 수 있음 > 네트워크 병목 현상일 가능성이 있음네트워크 병목 현상의 주된 원인네트워크 대역폭네트워크 토폴로지서버 CPU, 메모리 사용량비효율적인 네트워크 구성해결책네트워크 관련 테스트와 네트워크와 무관한 테스트를 통해 '네트워크로부터 발생한 문제점'인 것을 확인한 후 네트워크 성능 분석 진행 네트워크 성능 분석 명령어ping(Packet INternet Groper)ping이란네트워크 상태를 확인하려는 대상 노드를 향해 일정 크기의 패킷을 전송하는 명령어동작TCP/IP 프로토콜 중에 ICMP 프로토콜을 통해 동작ICMP 프로토콜이기 때문에 발생하는 유의사항 ICMP 프로토콜을 지원하지..