본문 바로가기

네트워크7

[Network] 성공과 실패를 결정하는 1% 네트워크 원리(3) - 케이블 앞, LAN과 라우터 개요성공과 실패를 결정하는 1% 네트워크의 원리 챕터 3을 정리한 포스팅이다.이 포스팅에서는 LAN 중심으로 정리한다.   1. 케이블과 리피터, 허브 속에 신호가 흘러간다.1-1) 하나하나의 패킷이 독립적으로 동작한다.컴퓨터에서 송신된 패킷은 중계 장치(허브, 라우터 등)에 의해 운반된다. 이때, 중계장치는 어떤 데이터인지 전혀 신경쓰지 않고 전송에만 집중한다.  1-2) LAN 케이블은 신호를 약화시키지 않는 것이 핵심이다.■ 높은 주파수와 낮은 주파수  1-3) ‘꼼’은 잡음을 방지하기 위한 방법이다.트위스티 페어 케이블은 마주 꼬여있는 상태를 통해서 잡음을 막는다. ■ 잡음의 원인은 케이블에서 발생하는 전자파다. 전자파가 금속 등의 도전체에 닿으면 그 내부에 전류가 발생한다. → 케이블 주위에 전.. 2024. 9. 3.
[Network] 성공과 실패를 결정하는 1% 네트워크 원리(2) - IP와 이더넷 개요성공과 실패를 결정하는 1% 네트워크의 원리 챕터 2를 정리한 포스팅이다.이 포스팅에서는 IP와 이더넷을 중심으로 정리한다.  4. 서버에서 연결을 끊어 소켓을 말소한다.  서로 FIN, ACK를 주고 받는다. (데이터 전송이 끝난 측에서 먼저 FIN 전송)소켓이 말소되면 모든 정보가 없어진다. → 이때 애플리케이션이 다른 소켓을 작성하면 말소된 포트 번호를 사용할 수 있기 때문에 마지막 FIN에 대한 ACK는 어느정도 시간을 두고 말소한다. 5. IP 패킷 송수신 동작큰흐름TCP 담당 부분에서 패킷을 바이너리로 전달받은 IP는 IP헤더, MAC 헤더 만들어서 이더넷에 보내고, 이더넷은 이 IP 패킷(디지털 데이터)를 전기 신호/빛으로 변환해서 케이블로 데이터를 흘려보낸다. 모든 소켓관련 내용은 위에.. 2024. 9. 1.
[Network] 성공과 실패를 결정하는 1% 네트워크 원리(2) - 소켓과 TCP 개요성공과 실패를 결정하는 1% 네트워크의 원리 챕터 2를 정리한 포스팅이다.이 포스팅에서는 소켓과 TCP를 중심으로 정리한다.  1. 소켓을 작성한다.1-1) 프로토콜 스택의 내부 구조인터넷에서 데이터를 운반할 때는 데이터를 작게 나누어 패킷이라는 형태로 운반한다.패킷을 통신 상대까지 운반하는 것이 IP의 주 역할이다.IP 안에는 ICMP와 ARP라는 프로토콜을 다루는 부분이 포함되어 있다.ICMP: 패킷 운반 통제 및 제어용 메시지 통제ARP: 이더넷의 MAC 주소 1-2) 소켓의 실체는 통신 제어용 제어 정보소켓은 개념적인 것이어서, 실체가 없다. 굳이 말하자면 제어 정보, 즉 제어 정보가 기록된 프로토콜 스택 내부의 메모리 영역이다.제어 정보에는 통신 상대의 IP 주소, 포트 번호, 통신 동작의 .. 2024. 8. 27.
[Network] 성공과 실패를 결정하는 1% 네트워크 원리(1) - DNS와 리졸버 개요성공과 실패를 결정하는 1% 네트워크 원리 도서의 챕터 1의 내용 중 DNS 리졸버에 대한 포스팅이다.우리가 웹 브라우저를 통해 어떤 사이트에 접속할 때, 브라우저는 가장 먼저 URL을 해독한다. 이후, 목적 경로를 찾았기에 서버에 요청할 프로토콜과 관련한 통신 준비를 한다.(웹 서버에 접근하기 위해서는 보통 HTTP를 사용한다.) 이 과정이 모두 끝나면 웹 서버의 IP 주소를 DNS 서버에 조회한다. 이 과정에서 DNS 리졸버라는 개념이 등장한다.   1) DNS 리졸버핵심은 IP 주소를 조사하기 위해 ”DNS에 질의를 한다.”는 것이다. 이를 위해 DNS 서버에 조회 요청을 날리고, 그에 대한 응답 메시지를 받는다. 결국 DNS 서버에 대해 클라이언트로 동작한다. 이 DNS 클라이언트를 DNS 리.. 2024. 8. 8.
[Network] Transport Layer, Mux & Demux 개요TCP Keywordsreliable data transferflow controlcongestion controlTransport Layer가 하는 일서로 다른 host의 프로세스 간 Logical communication 제공프로토콜은 End System 즉, host에서 돌아간다.Network 계층의 라우터들을 거쳐서 데이터들이 전달되지만, Transport 계층은 이 거쳐가는 과정은 보이지 않고 두 엔드 시스템(프로세스) 사이의 Logical Communication에만 집중한다.Sender: App Layer의 메시지를 segment 단위로 메시지를 잘라서, Transport Layer의 헤더를 붙이고 Network Layer로 전송Receiver: 받은 segment를 합쳐서 메세지를 만들.. 2024. 4. 24.
[네트워크] DNS, DNS 쿼리, DNS recode 종류 개요프로세스가 서로 통신할 때 알아야 하는 두 가지 정보 → IP, PortIP: 프로세스가 돌고 있는 머신의 Network Interface Card에 부여된 Identity → IPv4, host name(domain name)Port: 실행 중인 프로세스에 접근할 수 있는DNSIP 주소를 hostname으로 매핑(라우팅)해주는 역할→ Network Layer에서 해야하는 일을 App-Layer에서 함⇒ Network Layer는 빠르게 전송만 하면 돼서, 복잡한 연산을 App-Layer에서 처리하는 것distributed database → not centralize가용성, 중요한 서비스는 분산시킨다.application layer protocol   DNS가 하는 일host name-IP addr.. 2024. 4. 24.
[네트워크] HTTP 개요HTTP는 Hyper Text를 전달하는 프로토콜이다.request, response 두 가지 타입이 있다. Hyper Text?파일들이 링크되어 있는 텍스트HTTP 특징ConnectionlessHTTP는 클라이언트의 요청에 대한 응답을 하면, 바로 연결을 끊는다. 한 클라이언트에 대한 접속 유지 시간을 줄임으로써 더 많은 요청-응답을 할 수 있다.(단점) 같은 클라이언트 요청이 오더라도 이에 대해 전혀 알 수 없다. → 이걸 해결하기 위한게 쿠키 Stateless바로 직전의 클라이언트에서 또 요청이 왔을지라도, 해당 클라이언트의 상태를 저장하지 않으므로 클라이언트 측에서 추가적인 정보를 제공해야 한다. HTTP는 Transport 계층에서 TCP를 사용한다.Reque.. 2024. 4. 24.