본문 바로가기

728x90

Network

(21)
'모두의 네트워크' 후기 '모두의 네트워크' 라는 책을 읽고 Network카테고리에 책의 주요 내용들을 정리했다. (2021.08.08 - [Network] - [Network] Network 란?) 겉 표지엔 10일 만에 배우는 네트워크 기초! 라고 떡하니 써있지만 시간이 날 때마다 조금씩 읽고 블로그에 정리하다보니 한 달? 정도 더 걸려서 다 읽었다. 처음 네트워크 개념을 쉽게 이해하기 위해 어떤 책을 읽어야 할지 검색하다가 알게 된 이 책. 정말 쉽게 설명해준다. IT서적의 그 딱딱하고 지루한 느낌을 이 책에선 전혀 찾아볼 수 없었다. 대부분의 설명에는 그림이 항상 들어가 있어서 추상적인 느낌의 설명도 입체적으로 이해가 가능했고 , 무엇보다... 책에는 등장인물들이 서로 대화를 주고 받으며 이해를 돕는다. ㅋ_ㅋ 마치 어릴..
[Network] DNS서버의 구조(이름해석) 기본적으로 컴퓨터(서버)에는 IP주소가 있어서 인터넷을 통해 웹 서버에 접속하여 웹 사이트를 볼 수 있다. 예를 들어 웹 브라우저의 주소 창에 URL을 집적 입력하면 웹 사이트가 보이게 된다. 여기서 잠깐! 컴퓨터(서버)에 접속하려면 IP주소를 입력해야 하는데 여기서는 https://www.naerv.com 을 입력했다. IP주소가 아닌데도 웹 사이트가 보이게 되는것이다. DNS는 바로 URL을 IP주소로 변환하는 시스템이다. IP주소는 222.235... 같이 숫자로 구성되어있다. 예를 들어 웹 페이지를 방문하기 위해 www.naver.com대신 위와 같은 숫자로 구성된 IP주소를 입력해야한다면 사람들이 기억하기 쉬울까 ? 그렇지 않을것이다. 이런 이유로 https://www.naver.com 과 같은..
[Network] OSI 모델의 계층에서 사용되는 프로토콜과 기술 응용 계층 HTTP DNS FTP SMTP POP3 기타 프로토콜 전송 계층 TCP UDP 네트워크 계층 IP 등 데이터 링크 계층 이더넷 물리 계층 전기 신호 변환 용어 설명: 2021.08.12 - [Network] - [Network] 용어 정리
[Network] 응용계층 응용계층은 애플리케이션과 데이터를 주고받기 위해 필요한 계층이다. 물리 계층, 데이터링크 계층, 네트워크 계층, 전송 계층에 의해서 상대방에게 데이터를 정확하게 전달할 수 있게 되었다. 이번엔 응용계층에서 동작하는 애플리케이션에 대해 살펴본다. 응용계층은 5계층의 세션 계층과 6계층의 표현 계층을 포함하는것으로 생각해보자. 응용계층에서는 클라이언트의 요청을 전달하기 위해 통신대상(서버 등)이 이해할 수 있는 메시지(데이터)로 변환하고 전송계층으로 전달하 는 역할을 한다. 또한 클라이언트 측 애플리케이션( 웹브라우저, 메일 프로그램 등)이 서버 측 애플리케이션( 웹 서버 프로그램, 메일 서버 프로그램) 과 통신하려면 응용 계층의 프로토콜을 사용해야 한다. 주요 프로토콜을 아래와 같다. 프로토콜 설명 HTT..
[Network] 애플리케이션과 포트번호 포트번호(Port Number) ? OSI의 전송계층에선 전송된 데이터의 목적지가 어떤 애플리케이션( 웹 브라우저나 메일 프로그램 등)인지 구분하게 해준다. 데이터를 전송하고 받을 때 데이터가 정확한 목적지를 찾도록 해주는 것이 PortNumber다. TCP헤더의 구성 에는 데이터를 주고 받는 출발지와 목적지의 포트번호가 포함된다. 포트번호는 0부터 65535번 까지 사용할 수 있다. 이 중 0~1023번 포트는 주요 프로토콜이 사용하도록 예약되어 있다. 이러한 포트를 잘 알려진 포트(well-known ports)라고 한다. 애플리케이션 포트번호 SSH 22 SMTP 25 DNS 53 HTTP 80 PP3 110 HTTPS 443
[Network] TCP의 구조 이전 글 에서 연결형 통신의 프로토콜로 TCP가 있다고 했다. 이 포스팅에선 전송계층에서 신뢰할 수 있는 정확한 통신을 제공하는 TCP 프로토콜의 구조에 대해 알아보자. 데이터를 보내며 OSI의 각 계층을 지날때마다 데이터엔 헤더가 붙는다. TCP로 전송할때 붙이는 헤더를 TCP헤더라고 하고 이 TCP헤더가 붙은 데이터를 세그먼트(segment)라고 한다. TCP헤더의 11개 정보 1. 출발지 포트번호 16비트 2. 목적지 포트번호 16비트 3. 일련번호 32비트 4. 확인 응답번호 32비트 5. 헤더길이 4비트 6. 예약 영역 6비트 7. 코드 비트 6비트 8. 윈도우 크기 16비트 9. 체크섬 16비트 10. 긴급 포인터 16비트 11.옵션 많다. 많아... 연결형 통신(TCP 통신)은 꼼꼼하게 상대..
[Network] 전송 계층의 역할 물리계층, 데이터 링크 계층, 네트워크 계층의 3계층이 있으면 목적지로 데이터를 보낼 수 있다. 하지만 데이터가 손상되거나 유실되더라도 이들 계층에서는 아무것도 해 주지 않는다. OSI모델의 전송계층은 목적지로 신뢰할 수 있는 데이터를 전달 하기 위해 필요하다. 전송계층에는 오류를 점검하는 기능이 있다. 오류가 발생하면 데이터를 재전송하도록 요청한다. 네트워크 계층을 목적지까지 데이터를 전달하고 , 전송계층은 데이터가 제대로 도착했는지 확인하는 것이다. 전송계층의 역할은 더 있다. 컴퓨터가 데이터를 받아도 어떤 애플리케이션에 전달해야 하는지 모르면 곤란하다. 그래서 전송계층은 해당 데이터가 어떤 애플리케이션에서 사용하는 데이터인지 식별하는 기능도 있다. 연결형 통신과 비연결형 통신 전송 계층의 특징을 간..
[Network] 라우터의 구조 라우터를 이용하여 하나의 네트워크를 서로 다른 네트워크로 분리할 수 있다. 반면 스위치나 허브는 네트워크의 모든 컴퓨터가 동일한 네트워크에 속하게 된다. 라우터로 네트워크가 분리된 상태에서 컴퓨터1이 다른 네트워크로 접속하려면 라우터의 IP주소를 설정해야 한다. 이것은 네트워크의 출입구를 설정하는 것으로 기본 게이트웨이(default gateway)라고 한다. 컴퓨터 1은 다른 네트워크로 데이터를 보낼 때 어디로 전송해야 하는지 모른다. 그래서 네트워크의 출입구를 지정하고 일단은 라우터로 데이터를 전송한다. 컴퓨터의 네트워크를 설정하는 화면이 있다. window10의 설정화면이다. '자동으로 IP주소 받기'에 체크되어 있으면 네트워크 외부에 접속할 때 사용되는 기본 게이트웨이가 자동으로 설정된다. 이제 ..
[Network] 서브넷의 구조 일반적으로 사용되는 IP 주소는 A, B, C클래스로 나누어져 있다. A클래스의 네트워크ID는 24비트이며 IP주소를 1677만 7214개 사용할 수 있다. 만약 그 많은 수의 컴퓨터가 브로드캐스트 패킷을 전송하면 모든 컴퓨터에 패킷이 전송되고 네트워크가 혼잡해질것이다. 때문에 이런 거대한 규모의 네트워크를 작은 네트워크로 분할하여 브로드 캐스트로 전송되는 패킷의 범위를 줄일 수 있게 한다. 이처럼 네트워크를 분할하는것을 서브넷팅(subneting) 이라 하며, 분할된 네트워크를 서브넷(subnet)이라고 한다. 서브넷팅의 예시 - 호스트 ID에서 비트를 빌려 서브넷으로 만든다. 그러면 기존 네트워크ID와 호스트ID로 구성되어 있던 것이 네트워크, 서브넷, 호스트 ID로 나뉘게 된다. 서브넷 마스크란? ..
[Network] IP 주소의 클래스 구조 IP 주소는 네트워크의 규모에 따라 A~E 클래스로 나뉘어져 있다. 클래스 이름 내용 A클래스 대규모 네트워크 주소 B클래스 중형 네트워크 주소 C클래스 소규모 네트워크 주소 D클래스 멀티캐스트(multicast) 주소 E클래스 연구 및 특수용도 주소 일반 네트워크에서는 A~C클래스 까지 사용할 수 있다. A클래스는 처음 8비트가 네트워크 ID고 다음 24비트가 호스트 ID 이다. B클래스는 처음 16비트가 네트워크 ID 다음 16 비트가 호스트 ID 이다. C클래스는 처음 24비트가 네트워크 ID고 다음 8 비트가 호스트 ID 이다. 소규모로 내려갈수록 네트워크 ID가 커지는구나. 클래스와 공인 IP 주소의 범위 종류 공인 IP 주소의 범위 A클래스 1.0.0.0~9.255.255.255 11.0.0...

728x90