목록분류 전체보기 (66)
맨틀 이야기
지난 11월에는 JSCODE에서 운영하는 모의면접 스터디에 참여했었다. 5주 동안 CS 관련 지식을 학습하고 매주 팀 단위로 모의면접을 진행하는 방식의 스터디인데, 스터디에서 지원하는 과목 중 지금의 나한테 필요한 1순위라고 생각하는 컴퓨터 네트워크에 신청해서 참여하게 됐다. 사실 JSCODE 모의면접 스터디는 이전부터 알고 있었는데 면접 훈련이란게 내 comfort zone에서 구만리나 떨어져 있는 영역이라 그동안 계속 미뤄뒀었다. 그러다 용기 한번 내서 다음 기수 모집 기간이 되면 문자 알림을 받을 수 있도록 요청을 넣었고, 이후 모집 문자를 받고 또 한번 용기내서 참여 신청을 했다. 막상 신청해놓고도 11월이 다가오니 부담스러워서 취소하고 다음 기수를 기다리는 동안 네트워크 공부를 미리 해놓을지 고..
라우팅은 데이터 패킷이 네트워크에서 어떤 경로로 목적지까지 전달되는지를 구하고 이행하는 과정이다. 네트워크와 네트워크 사이에서 패킷을 전달해주는 라우터들은 패킷에 들어있는 IP 주소를 확인하고 어떤 네트워크 또는 기기로 패킷을 포워딩해야 하는지를 계산한다. 출발지와 목적지 사이에는 수많은 라우터들이 있을 수 있고 어떤 라우터를 통해서 보내느냐에 따라 패킷이 이동하는 경로도 다양하겠지만, 기본적으로 패킷을 라우팅할 땐 최적의 경로를 찾도록 한다. 그러기 위해서는 애초에 어떤 경로들이 있는지를 알아야 하는데, 이런 경로들을 참고할 수 있도록 관련 정보를 모아둔 것이 라우팅 테이블(routing table)이다. 라우팅 테이블에는 패킷이 이동할 최적의 경로를 찾기 위해 필요한 정보(특정 목적지까지의 거리, 해..
IP 주소는 공인(public) IP와 사설(private) IP로 구분된다. 공인 IP는 인터넷 접근이 가능한 IP로, 인터넷(외부)에 공개적으로 노출되는 주소다. 사설 IP는 내부 네트워크에서만 사용하는 IP로, 사설 IP로는 인터넷에 연결할 수 없다. 공인 IPISP로부터 발급 받아야 하는 주소고유한 주소로, 다른 주소와 중복되지 않음공인 IP 주소를 알고 있을 경우 인터넷에 연결하는 모든 기기가 해당 주소에 접근 가능외부 공격으로부터 방어할 방화벽 등의 보안 설정 필요사설 IP네트워크 관리자가 수동으로 또는 DHCP 프로토콜을 사용해 자동으로 부여하는 주소인터넷에 접속할 수 없고, 반대로 인터넷에서도 직접적으로 접근하지 않음IPv4 주소 체계 중 특정 대역만 사용: - 클래스 A: 10.x..
IP 주소는 네트워크 상에서 기기를 식별하기 위해 부여되는 고유 주소로, 네트워크에 연결해 통신하기 위해 꼭 필요하다. 네트워크에서 전송되는 데이터는 IP 주소를 기준으로 라우터를 거쳐 목적지까지 도달한다. IP 주소는 서로 다른 체계를 사용하는 IPv4와 IPv6 두가지 종류가 있고, 인터넷 상에서 통신할 수 있는 공인 IP와 인터넷이 아닌 로컬 네트워크에서만 통신할 수 있는 사설 IP로 구분되기도 한다. 할당(Allocation)모든 IP 주소는 IANA라는 기관에서 관리하고 있다. IP 주소는 IANA로부터 시작해 주소를 관리하는 여러 인터넷 레지스트리를 통해 최종적으로 사용자가 할당받게 된다. IP 주소 할당에는 크게 세가지 플레이어가 있다:IANA (Internet Assigned Numbers..
TCP(Transmission Control Protocol)는 TCP/IP 모델의 3계층에 해당하는 전송 계층(Transport Layer)에서 동작하는 데이터 전송 관련 프로토콜이다. TCP 프로토콜의 특징은 아래와 같이 요약할 수 있다.송신자와 수신자를 확실히 지정한 후에 데이터를 전송하는 연결 지향적 프로토콜이다.데이터가 발송된 순서대로 도착하도록 보장한다.흐름 제어, 혼잡 제어 등의 기술을 통해 데이터의 전송을 제어한다.전송할 데이터를 세그먼트(패킷) 단위로 나눠서 어떤 순서로 이어붙여야 하는지 순번을 달아둔다.중간에 손실되는 데이터 패킷을 다시 송신해 데이터가 온전히 전달될 수 있도록 한다.위와 같은 특징으로 인해 TCP는 상당히 신뢰할 수 있는 프로토콜로 여길 수 있다. 통신하는 기기들이 연..
UDP(User Datagram Protocol)는 비연결형 전송 계층 프로토콜로, 데이터를 빠르게 전송하는 데에 중점을 둔다. TCP와 달리 연결을 수립하고 끊는 과정(3-way, 4-way handshake)이 없고, 전송되는 데이터의 신뢰성을 보장하지 않는다. 원활한 전송을 보장하지 않는 대신 전송 속도가 빠르기 때문에 스트리밍이나 화상 회의 등 실시간 데이터 전송이 필요한 경우에 유용하게 쓰인다. UDP 프로토콜의 장점송신자와 수신자가 특정 연결 회로를 설정하지 않는다. 1:1 통신뿐만 아니라 다수를 대상으로 하는 1:n, n:n 통신도 가능하다. 여러 수신자에게 데이터를 동시에 전송할 수 있다.데이터의 수신 여부를 확인하지 않기 때문에 재전송, 흐름 제어, 혼잡 제어 등의 전송 제어를 하지 않는..
벡터는 규모와 방향을 가진 물리량이다. 프로그래밍에서는 오브젝트의 위치나 움직임을 파악하거나 나타낼 때 유용하다. 자바스크립트에서는 아래와 같이 x와 y 요소를 가진 객체로 벡터를 표현해볼 수 있다.// 원점(0, 0)에서 x=1, y=2로 향하는 벡터{ x: 1, y: 2 } 벡터와 덧셈벡터의 합을 구하려면 두 벡터의 x값끼리, 그리고 y값끼리 더해주면 된다. 그 결과로 한 벡터의 시작점에서 나머지 벡터의 끝점으로 향하는 벡터가 만들어진다. 객체가 한 방향으로 이동하고 있는 도중에 외부의 힘(바람 등)이 밀어내면 해당 객체가 이동하던 방향이 바뀌게 될 것이다. 벡터의 합을 구해 객체가 최종적으로 이동하게 되는 경로를 알아낼 수 있다. 벡터와 뺄셈두 객체가 가진 위치의 차는 한 객체에서 다른 객체로 향하..
SOP (Same-Origin Policy)SOP(Same-Origin Policy)는 웹 브라우저에서 보안을 위해 도입된 정책으로, 서로 다른 출처(origin) 간의 리소스 공유를 제한한다. 이를 통해 악의적인 웹사이트가 사용자의 데이터를 탈취하는 것을 막는다. 출처란 URL의 프로토콜, 호스트, 포트 번호가 모두 같을 때 동일하다고 판단된다. 예를 들어 https://example.com:443/page1과 https://example.com:443/page2는 동일 출처지만, http://example.com(프로토콜 다름)이나 https://example.com:8443(포트 다름)는 동일 출처가 아니다. SOP는 다음과 같은 상황을 제어한다:DOM 접근: 서로 다른 출처 간의 DOM을 직접적으..