공부!

공부!/Network

TCP/IP 3계층 : 트랜스포트 계층

1. 트랜스포트 계층 : 데이터를 어떤 프로그램에 전달할 것인지? 컴퓨터에서 네트워크를 사용하는 프로세스는 많다. 현재 글을 작성하고 있는 내 컴퓨터만 하더라도 글을 작성하고 전송 버튼을 보낼 크롬, 친구들이나 가족들과 연락을 주고받는 카카오톡, 업무 관련 연락이 이뤄지고 있는 슬랙 등. TCP/IP 2계층의 인터넷 계층이 역할을 잘 수행해서 데이터가 내 컴퓨터까지 도착했더라도, 컴퓨터의 어떤 프로그램에 도달해야하는지 결정하는 것은 또다른 문제이다. 3계층, 트랜스포트 계층은 데이터를 컴퓨터의 어떤 프로세스에 전달할지 결정하는 역할을 수행한다. 더해서 신뢰성 있는 연결을 보장하기 위한 프로토콜을 제공한다. 대표적으로 TCP, UDP 프로토콜이 있는데 TCP는 데이터의 정확한 전달을, UDP는 데이터의 빠..

공부!/Network

TCP/IP 4계층 : 어플리케이션 계층

1. 어플리케이션 계층 : 사용자가 직접 사용하는 프로토콜 제공 TCP/IP 4계층에선 어플리케이션 사용자가 실제로 네트워크를 사용하기 위한 서비스 프로토콜을 제공한다. 웹 통신을 위한 HTTP, 메일 송수신을 위한 SMTP, 파일 서비스를 위한 FTP, 원격으로 서버 컴퓨터를 조작하기 위한 Telnet 및 SSH가 그 예시이다. 어플리케이션의 목적이 무궁무진한만큼 어플리케이션 프로토콜 역시 무궁무진할 수 있는데, 오늘 날 SNS 등을 포함한 대부분의 네트워크 통신은 이미 널리 보급된 HTTP(S) 프로토콜을 이용하고 있다. 사용자가 보내고자 하는 데이터가 4계층을 통과하면, 4계층 프로토콜에 맞는 헤더가 붙은 데이터가 3계층인 트랜스포트 계층으로 이동한다. 대표적으로 HTTP 헤더가 있다. 2. HTT..

공부!/자료구조

Java Map

1. Map이란? # Key - Value 페어의 자료구조 ADT 관점에서의 Map은 key-value 페어의 자료구조이다. 중복되지 않는 key가 가지는 value 값을 저장하면 좋다(value는 중복 가능). 어떤 투표를 한다고 했을 때 각 항목(key)의 득표 수(value), 전화번호(key)에 따른 사람의 이름(value) 등의 예시가 있겠다. Map은 이렇게 중복되지 않는 각 key를 빠른 시간(일반적으로 O(1))에 접근하는 편리함을 제공한다. Map 자료구조에서 특정 key로 value를 찾으면 일반적으로 상수 시간 안에 접근이 가능하다는 것이다. key가 될 수 있는 값은 무궁무진한데, 어떻게 빠른 접근 시간을 보장할까? # hash function 이용 hash function, 한국어..

공부!/Network

TCP UDP

# 면접 단골 질문 : TCP와 UDP를 비교해봐라 ! TCP와 UDP의 차이점은 개발자라면 알아야 하는 상식이며 면접에서도 자주 나온다. 때문에 나도 이 질문을 들으면 자동적으로 "둘은 트랜스포트 계층에서 사용하는 프로토콜로, TCP는 연결 지향형이고 신뢰성있는 연결을 보장하고 혼잡 제어를 하고 어쩌구저쩌구..." 대답을 하는 편이긴 한데, 기계적으로 답하는 것보단 각각이 정확히 무엇인지 신입 수준에서 조금 더 자세히 살펴보고자 한다. 1. Transport Layer : Application과 Internet 계층 사이 TCP/IP 4계층에서 트랜스포트 계층은 어플리케이션 계층과 인터넷 계층의 사이에 위치한다. 응용 프로그램에서 네트워크에 이용할 데이터를 받아서, IP 주소를 통해 목적지로 향하는 인..

김부추
'공부!' 카테고리의 글 목록 (5 Page)