Computer Science/Computer Network

Computer Science/Computer Network

브라우저 URL 검색 과정

www.github.com을 브라우저에 입력하고 엔터를 쳤을 때, 네트워크 상 어떤 일이 일어나는가? 캐싱, DNS, 라우팅, ARP, 초기연결을 거쳐 컨텐츠를 다운받게 되고 이 후 브라우저 렌더링 과정을 거쳐 깃허브 화면이 나타나게 된다. “캡슐화”, “비캡슐화” 과정을 거쳐서 이뤄지게 된다. Web Cache 사용자가 같은 웹 페이지를 여러 번 요청할 경우, 브라우저는 이미 다운로드한 자원을 다시 서버에서 다운로드하지 않고 캐시된 자원을 사용하여 웹 페이지를 보여준다. 페이지 로딩 속도가 빨라지고, 네트워크 대역폭을 절약할 수 있다. 1. Browser Cache(사설 브라우저 캐시) 클라이언트 로컬 컴퓨터에 저장되는 캐싱 방식이다. 방문한 웹 페이지의 이미지, 스크립트, 스타일 시트 등의 자원들을 ..

Computer Science/Computer Network

URI, URL, URN

URI(Uniform Resource Identifier) Uniform : 리소스를 식별하는 통일된 방식 Resource : 자원, URI로 식별할 수 있는 모든 것(제한 없음) Identifier : 다른 항목과 구분하는데 필요한 정보 즉, 인터넷 상에서 특정 자원(파일)을 나타내는 유일한 주소를 의미한다. 💡 URI는 URL, URN을 하위 개념으로 가진다. URL(Uniform Resource Locator) 리소스가 있는 위치를 지정한 것이다. 위치는 변할 수 있다. 대부분의 경우에서 URI와 같은 의미로 쓰인다. URL 기본 구조 scheme://[userinfo@]host[:port][/path][?query][#fragment] 예시 https://github.com/hojunking96/..

Computer Science/Computer Network

HTTP 상태 코드

클라이언트가 보낸 HTTP 요청에 대한 처리 상태를 응답에서 알려주는 기능이다. 1XX(Informational) “요청이 수신되어 처리중” 거의 사용되지 않는다. 2XX(Successful) “클라이언트의 요청을 성공적으로 처리” 200 OK GET 요청이 성공한 경우 201 Created POST 요청이 성공한 경우 ‘새로운 리소스가 생성됨’을 의미한다. 202 Accepted 요청이 접수되었으나 처리가 완료되지 않은 경우 ex) 요청 접수 후 1시간 뒤에 배치 프로세스가 요청을 처리하는 작업 잘 사용하지 않는다. 204 No Content 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없는 경우 주로 save 작업에 해당한다. 서버가 클라이언트에게 전달해야 하는 데이터가 없다. ..

Computer Science/Computer Network

DHCP

DHCP(Dynamic Host Configuration Protocol) DHCP는 Host IP 구성 관리를 단순화하는 IP 표준이다. 동적 호스트 구성 프로토콜 표준에서는 DHCP 서버를 사용하여 IP 주소 및 관련된 기타 구성 세부 정보를 네트워크의 DHCP 사용 클라이언트에게 동적으로 할당하는 방법을 제공한다. 쉽게 말해서 DHCP 서버가 클라이언트의 IP주소, 서브넷 마스크, DNS 서버 IP주소, 임대 기간 등 다양한 네트워크 정보를 자동으로 할당해주는 프로토콜이다. OSI Layer 7계층 중 Application Layer에 속한다. “Plug and Play(PnP) protocol”이라고 불린다. 꽂기만 하면 사용할 수 있는 ‘즉시 시작’이라는 뜻이다. 연결 후 작동하는 프로토콜이다...

Computer Science/Computer Network

IP(IPv4, IPv6), NAT

IP(Internet Protocol) Network Layer에서 호스트의 주소지정과 패킷 분할 및 조립 기능을 담당한다. 물리적으로 떨어진 두 호스트가 데이터를 정확하게 송수신 하기 위해 IP 주소를 사용한다. Routing과 Forwarding 이 매우 중요하다. 다른 게시글 업로드 후 설명 예정 신뢰성을 확보하지 않는다. TCP와 같은 신뢰성 있는 프로토콜과 함께 사용한다. IP(Internet Protocol)주소 네트워크(인터넷) 상에서 데이터를 주고받기 위해 모든 컴퓨터들이 가지는 각자의 주소를 의미한다. 고정 IP 컴퓨터가 고정적으로 가지고 있는 IP이다. 한 번 부여받으면 반납하기 전까지 변하지 않는다. 주로 인터넷 사이트를 운영할 때 사용한다. 유동 IP 컴퓨터에 고정된 IP를 부여하지..

Computer Science/Computer Network

OSI 7 계층

OSI 7 계층 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다. 통신이 일어나는 과정을 단계별로 파악할 수 있다. 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건드리지 않고도 이상이 생긴 단계만 고칠 수 있다. 현대 인터넷은 TCP/IP Model을 따른다. 개선된 TCP/IP 모델은 5계층을 가진다. 전체적인 통신 과정 송신 : 각 Layer를 거치며 데이터에 헤더 정보를 추가한다. 수신 : 각 Layer별로 헤더 정보를 해석하여 원하는 데이터, 정보를 파악한다. 1계층 - Physical Layer(물리 계층) 컴퓨터는 0과 1만을 인식할 수 있다.(전기적 ON/OFF 신호) 따라서, 데이터를 전기 신호로 바꾸어 전송하는 계층이다 단순하게 데이터 전달의 역할..

Computer Science/Computer Network

TCP, UDP

Application Layer → Transport Layer → Network Layer, 또는 Network Layer → Transport Layer → Application Layer 의 과정에서 Transport Layer에 해당하는 내용이다. Multiplexing(sender측) Application Layer(socket을 통해)에서 받은 데이터를 segment로 나눈다. 데이터에 port 정보와 header 정보를 추가하여 Network Layer로 내려 보낸다. Transport Layer → Network Layer Demultiplexing(receiver측) port 정보와 IP주소를 통해 올바른 Application Layer(socket)을 찾는다. Application La..

Computer Science/Computer Network

4-Way Handshake

Termination의 종류 TCP는 두 가지 연결 해제 방식이 있다. 4-Way Handshake를 통한 연결 해제 RST(Reset)을 통한 연결 해제 4-Way Handshake 연결 종료는 양쪽 호스트 모두 먼저 시도할 수 있다. 편의를 위해 양 쪽 Host를 각각 클라이언트, 서버라고 부르고 설명한다. 연결을 먼저 요청하는 Host ⇒ 클라이언트 연결을 요청받는 Host ⇒ 서버 실제로 TCP는 양방향 통신이기에 ‘클라이언트-클라이언트’의 형태가 존재한다. 4-Way-Handshake 에서 사용되는 TCP 헤더 필드 Sequence Number Segment에 있는 첫 번째 바이트의 바이트 스트림 번호다. TCP는 데이터를 단지 순서대로 정렬되어 있는 바이트 스트림으로 본다. ex) 0~999,..

Computer Science/Computer Network

3-Way Handshake

3-Way Handshake TCP/IP 프로토콜을 이용해서 통신하는 응용프로그램은 데이터를 주고받기 전에 먼저 연결을 진행한다. 3-Way Handshake는 이 연결 과정을 의미한다. 편의를 위해 양 쪽 Host를 각각 클라이언트, 서버라고 부르고 설명하겠다. 연결을 먼저 요청하는 Host ⇒ 클라이언트 연결을 요청받는 Host ⇒ 서버 실제로 TCP는 양방향 통신이기에 ‘클라이언트-클라이언트’의 형태가 존재한다. 3-Way-Handshake 에서 사용되는 TCP 헤더 필드 Sequence Number Segment에 있는 첫 번째 바이트의 바이트 스트림 번호다. TCP는 데이터를 단지 순서대로 정렬되어 있는 바이트 스트림으로 본다. ex) 0~999, 1000~1999의 Segment를 보낼 때 s..

호준송
'Computer Science/Computer Network' 카테고리의 글 목록