RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
'PPP'에 해당되는 글 1

출처 : 대전국제IT교육센터 정성재 강사

 

1. 프로토콜(Protocol)이란?
사람은 언어를 사용한다. 한국사람은 한국어를 사용하고 미국사람은 영어를 사용한다. 미리 정해진
특별한 규칙에 의해 서로 의사소통을 한다. 프토토콜이란 바로 컴퓨터간의 통신을 위해 미리 정해진
특별한 규칙이자 규약을 말한다.

2. TCP/IP란?
(1) 개요 : TCP/IP는 컴퓨터의 기종에 관계없이 정보교환이 가능케 해주는 것으로 인터넷에서 정보
           전송을 위해 사용하는 프로토콜(통신규약)이다. TCP(Transmission Control Protocol)와
           IP(Internet Protocol)라는 두개의 프로토콜의 이름을 따서 만든 것이다. 인터넷에서
           사용하는 대부분의 통신은 이 두개의 프로토콜을 사용하여 서로 정보를 교환한다. 그러나
           인터넷에서 사용하는 프로토콜은 TCP/IP만 사용하는 것은 아니며, 다른 프로토콜도 사용
           한다.
(2) TCP와 IP 프로토콜의 역할
   1) TCP프로토콜
     ㄱ. IP프로토콜에 의해서 만들어진 패킷들의 전송 흐름 부분을 담당한다.
     ㄴ. 패킷이 목적지 주소에 올바른 순서로 도달하도록 제어한다.
     ㄷ. 패킷이 중간에 유실되지 않도록 한다.
   2) IP프로토콜
     ㄱ. 보내고자 하는 자료를 패킷으로 쪼갠다.
     ㄴ. 목적지 주소를 지정한다.
     ㄷ. 쪼개진 패킷을 목적지 주소로 운반한다.
(3) TCP/IP 프로토콜과 OSI 7 레이어 구조 비교
   

TCP/IP 프로토콜 구조 OSI 7 레이어 구조
APPLICATION APPLICATION
PRESENTATION
SESSION
TRANSPORT TRANSPORT
INTERNET NETWORK
NETWORK INTERFACE DATA LINK
PHYSICAL


(4) TCP/IP 프로토콜 계층설명
   1) Application Layer(응용계층)
    사용자 응용 프로그램으로부터 요청을 받아들여서 이를 적절한 메시지로 변환하고 하위 계층인
   Transport Layer로 전달한다. 이 계층에서 지원하는 프로토콜에는 FTP, NFS, POP, SMTP, TELNET,
   SNMP, DNS, HTTP, NNTP(뉴스송수신) 등이 있다.
   2) Transport Layer(트랜스포트 계층)
    ㄱ. 개요 : 이 계층의 역할은 Application Layer로 부터 받은 데이터를 세그먼트(Segment)형태로
             만들어 네트워크를 통해 상대방까지 전달하는 역할을 한다. TCP와 UDP 두가지 프로토콜
             이 제공된다.
    ㄴ. TCP(Transmission Control Protocol)
      연결지향(Connection Oriented)전송 프로토콜로 세그먼트가 상대측까지 제대로 전달되었는지
     응답(Ack)을 주고 받음으로서 점검한다. 즉 TCP는 IP에 의해 전달되는 패킷의 오류를 검사하고
     재전송을 요구하는 등의 보다 정교한 제어를 담당한다. TCP는 패킷을 전송할 두 지점을 네트워
     크상에 있는 최단 경로로 찾아서 1:1로 직접 연결한 뒤에 패킷을 주고 받기 때문에 전송과 오류
     수정에 있어 신뢰도가 높다. 두 지점을 직접 제어하기 때문에 다른 프로토콜에 비해 상대적으로
     많은 전송 시간이 필요하다. 그러나 안전성과 신뢰성이 뛰어나 사용자 데이터 전송, 대용량 전
     송에 이용된다.
    ㄷ. UDP(User Datagram Protocol)
      비연결(Connectionless)전송 프로토콜로 세그먼트를 보내기만하고 Ack를 주고 받지 않는다.
     따라서 제대로 전달되었는지 확인하지 않는 특성을 갖고 있고, 오류 수정을 하지 않는다. 오류
     수정 등의 기능은 없지만 TCP에 비해 속도가 빠르며, 직접 연결에 따른 네트워크 부하를 줄일
     수 있다. 보통 시스템 내부 메시지 전달과 데이터 전달, 소규모 데이터 전송에 이용된다.
   3) Internet Layer(인터넷 계층)
    ㄱ. 개요 : Transport계층에서 받은 패킷을 목적지까지 효율적으로 전달하는 역할을 한다. 패킷
              이 목적지에 제대로 도착되었는지, 데이터의 손상 여부에 대해서는 상위 계층에서 처
              리한다. 이 계층에 해당하는 프로토콜은 ICMP, IP, ARP가 있다.
    ㄴ. ICMP(Internet Control Message Protocol)
       메시지에 대한 오류 보고와 이에 대한 피드백을 원래 호스트에 보고하는 역할을 수행한다.
      ICMP제어 메시지는 IP패킷의 형태로 전달된다.
    ㄷ. IP(Internet Protocol)
       데이터 세그먼트를 패킷으로 만들어 이를 목적지로 전달하는 역할을 수행한다. 그러나 전달
      여부를 보장하지는 않는다. 라우터(Router)는 Internet Layer에 원격 네트워크간 패킷의 전달
      을 담당하는 장치로서 최적 경로를 결정하고 결정된 경로로 패킷을 전달하는 역할을 한다.
    ㄷ. ARP(Address Resolusion Protocol) : 주소찾기 프로토콜
       IP 프로토콜은 하드웨어 주소(Physical 계층에서 MAC Address라고도 하며 Lan Card에 설정에
      있는 고유한 값)와 논리적인 할당에 의한 IP주소를 갖는다. 개별 호스트는 비록 독자의 IP주소
      를 할당받지만 실제의 데이터 전달은 하드웨어 주소를 알아야 한다. 따라서, 이 두 가지의 주
      소를 적절히 매칭시킬 필요가 있는데 동적으로 특정 프로토콜에 의해서 필요한 때마다 목적지
      호스트의 하드웨어 주소를 찾는 역할을 한다.
   4) Network Interface layer(네트워크 인터페이스 계층)
     이더넷 카드 등으로 연결된 물리적인 네트워크를 의미하며, 프레임을 물리적인 회선에 올리거나
    내려받는 역할을 한다. 즉, 보내는 쪽은 상위계층에서 받은 패킷을 프레임으로 만들어서 물리적
    인 회선에 올리게 되고, 받는 쪽은 필요한 데이터를 추출하여 조합한 프레임을 패킷으로 변환
    하여 상위계층으로 전달한다.

3. IP 주소
(1) 개요 : 사람으로 말하면 주민등록번호에 해당하는 것으로 하나의 IP주소는 전세계적으로
           고유하다. 고유한 만큼 IP주소는 완전히 개인것이 아니다. IP주소는 사용 후 해당
           ISP업체에 반납해야 한다.
(2) IP주소의 구성
   1) 구성
     IP주소 = 네트워크 부분주소 + 호스트 부분 주소
   2) 특징 : 32비트의 숫자로 8비트 4부분으로 구성되어 있으며, 각 부분은 .(dot)으로 구분한다.
            각 부분은 십진수 숫자로 0-255 까지의 숫자를 갖는다.

    (참고1) 8비트는 다음과 같다.
        2726252423222120
        으로 구성되어 있으므로 한 자리가 가질수 있는 최대의 수는 255이다.

   3) IP주소 예
     192.168.0.2
      => 이 주소 방식을 IPv4(IP version 4)라고 하며, 위 예에서 192.168.0.0 네트워크에 속해
        있는 주소라고 할 때, 192.168.0은 네트워크 ID를 나타내는 부분이고 마지막 2는 호스트
        ID를 나타낸다. IP주소의 첫번째 자리는 주소의 클래스를 구분하는 자리로, A,B,C,D,E 5개
        의 클래스가 있다. A,B,C 클래스는 일반적인 목적으로 사용되고, 나머지는 특수 목적으로
        사용된다.
(3) IP 클래스
   1) A 클래스(N.H.H.H)
     IP 주소 첫번째 자리의 1bit가 '0'이며, 네트워크 ID는 0~127까지 나타낼 수 있다. 속해있는
    IP주소는 0.0.0.0 ~ 127.255.255.255까지 가능하다. 이 중 0.0.0.0과 127.0.0.0는 각각 기본
    라우터와 루프백 네트워크 주소를 나타내는 특수용도로 사용되므로 실질적으로 사용 가능한
    네트워크 주소는 1 ~ 126 까지이다.
   2) B 클래스(N.N.H.H)
     IP 첫번째 자리의 2bit가 '10'이며 네트워크 주소는 128.0 ~ 191.255 까지 사용한다.
   3) C 클래스(N.N.N.H)
     IP주소 첫번째 자리의 3bit가 '110'이며, 네트워크 주소는 192.0.0 ~ 223.255.255 이다.
   4) D 클래스
     IP주소 첫번째 자리의 4bit가 '1110'이며, 다중 방송 통신(MULTICAST)용으로 사용된다.
   5) E 클래스
     연구용으로 사용된다. 보통 E 클래스를 D 클래스와 같이 묶어 D클래스라고 통칭한다.
   6) 참고
     특정한 네트워크 클래스라도 맨 처음과 마지막IP주소는 네트워크 인터페이스를 나타내는데 사용
    하지 않고 특수한 용도로 사용한다. 맨 마지막이 0인 네트워크 주소는 네트워크 전체를 나타내는
    네트워크 주소이고, 제일마지막이 255인 주소는 브로드캐스트 주소로 사용하기 때문에 네트워크
    인터페이스를 나타내는 주소로 사용하지 않는다.

(참고2) 클래스별 IP 네트워크 전체 범위
클래스 IP 네트워크 전체 범위
A 클래스 0.0.0.0 127.255.255.255
B 클래스 128.0.0.0 191.255.255.255
C 클래스 192.0.0.0 223.255.255.255
D 클래스 224.0.0.0 255.255.255.255


(4) 기타 특수한 IP
   1) 내부 IP : 직접 인터넷에 연결되지 않고 내부 네트워크를 구축할 경우에 사용하는 IP이다.
     -A 클래스(1개의 네트워크)      : 10.0.0.0 ~  10.255.255.255
     -B 클래스(16개의 네트워크)   : 172.16.0.0 ~ 172.31.255.255
     -C 클래스(256개의 네트워크) : 192.168.0.0 ~ 192.168.255.255
   2) 루프백 IP : 루프백네트워크라 하면 127.0.0.0 네트워크이다. 관련파일은 /etc/hosts이다.
     -A 클래스 : 127.0.0.0 ~ 127.255.255.255


4. 넷마스크(netmask)
(1) 개요 : 서브 넷마스크(sub netmask) 또는 줄여서 서브넷이라고 한다. 서브넷을 구성하는 이유는
           체계적인 네트워크의 구성과 트래픽장애를 제거하기 위해서이다.
(2) 네트워크주소와 브로드캐스트
   1) 네트워크주소
    ㄱ. 설명: 네트워크 주소는 서브 네트워크에 속한 모든 IP 호스트를 말할 때 사용한다. 일반적
             으로 서브 네트워크 주소는 최하위(맨위쪽) IP주소가 네트워크 주소이다.
    ㄴ. 클래스와 호스트의 갯수
     a. C클래스: 하나의 C클래스로 하나의 네트워크를 구성했을 경우, 네트워크 주소가 192.168.2.0
                이라고 표현하면 192.168.2.0부터 192.168.2.255까지의 모든 IP 호스트(256개)를
                말한다.
     b. B클래스: B클래스 네트워크일 경우에 172.16.0.0으로 표현하면 172.16.0.0부터 172.16.255.
                255까지의 모든 호스트를 말하면 호스트의 개수는 256*256인 65,536개이다.
     c. A클래스: A클래스 네트워크인 경우에 10.0.0.0으로 표현하면 10.0.0.0 부터 10.255.255.255
                까지의 모든 호스트를 말하며 갯수는 256*256*256인 16,777,216개의 호스트가 이에
                해당된다.
    ㄷ. 특징: 넷마스크값과 브로드캐스드값이 주어지면 네트워크주소는 자동으로 계산할 수 있다.
   2) 브로드캐스트
    ㄱ. 설명: 브로드캐스트는 넷마스크로 나누어진 지역 서브 네트워크의 모든 IP호스트가 듣는
             특별한 주소이다. 일반적 브로드캐스트 주소는 서브 네트워크의 최상위(맨뒤쪽)의 IP
             주소가 이에 해당된다.
    ㄴ. 특징: 넷마스크값과 네트워크 주소가 주어지면 브로드캐스트 주소는 자동으로 계산할 수
             있다.
   3) 구성예
     IP 주소          : 192.168.2.20
     넷마스크 주소    : 255.255.255.0
     네트워크 주소    : 192.168.2.0
     브로드캐스트주소 : 192.168.2.255
(3) 서브넷마스크와 네트워크 계산
   1) 각 클래스별 IP주소를 기준으로 넷마스크, 브로드캐스트, 네트워크주소 분석
    ㄱ. IP주소
       - A클래스인 경우: 10.2.1.3
       - B클래스인 경우: 172.16.1.3
       - C클래스인 경우: 192.168.1.3
    ㄴ. 넷마스크
       - 하나의 A클래스 네트워크일 경우: 255.0.0.0
       - 하나의 B클래스 네트워크일 경우: 255.255.0.0
       - 하나의 C클래스 네트워크일 경우: 255.255.255.0
    ㄷ. 네트워크주소
       - 하나의 A클래스 네트워크일 경우: 10.0.0.0
       - 하나의 B클래스 네트워크일 경우: 172.16.0.0
       - 하나의 C클래스 네트워크일 경우: 192.168.1.0
    ㄹ. 브로드캐스트 주소
       - 하나의 A클래스 네트워크일 경우: 10.255.255.255
       - 하나의 B클래스 네트워크일 경우: 172.16.255.255
       - 하나의 C클래스 네트워크일 경우: 192.168.1.255

   2) 하나의 C클래스의 넷마스크값이 255.255.255.0인 경우
192.168.3.0
네트워크주소
192.168.3.1
192.168.3.2
.
.
.
192.168.3.253
192.168.3.254
실제 네트워크 인터페이스에 사용할 수 있는 IP주소
(호스트 부분의 IP주소를 의미)로 총
254개를 사용할 수 있다.
192.168.3.255
브로드캐스트


   3) 하나의 C클래스를 두 개의 서브넷으로 나눌 경우(서브넷마스크: 255.255.255.128)
192.168.3.0
네트워크주소
서브넷 1
(128개)
총256개
사용가능한 IP호스트는
총 252개이다.
192.168.3.1
192.168.3.2
.
.
.
192.168.3.125
192.168.3.126
사용가능한
IP호스트
(126개)
192.168.3.127
브로드캐스트주소
192.168.3.128
네트워크주소
서브넷 2
(128개)
192.168.3.129
192.168.3.130
.
.
.
192.168.3.253
192.168.3.254
사용가능한
IP호스트
(126개)
192.168.3.255
브로드캐스트


   4) 하나의 C클래스를 네개의 서브넷으로 나눌 경우(서브 넷마스크: 255.255.255.192)
192.168.3.0
네트워크주소
서브넷1
(64개)
총 256개
사용 가능한IP 호스트는
총 248개
192.168.3.1
192.168.3.2
.
.
.
192.168.3.61
192.168.3.62
사용가능한
IP 호스트
(62개)
192.168.3.63
브로드캐스트주소
192.168.3.64
네트워크주소
서브넷2
(64개)
192.168.3.65
192.168.3.66
.
.
.
192.168.3.125
192.168.3.126
사용가능한
IP 호스트
(62개)
192.168.3.128
브로드캐스트주소
192.168.3.129
네트워크주소
서브넷3
(64개)
192.168.3.130
192.168.3.131
.
.
.
192.168.3.189
192.168.3.190
사용가능한
IP 호스트
(62개)
192.168.3.191
브로드캐스트주소
192.168.3.192
네트워크주소
서브넷1
(64개)
192.168.3.193
192.168.3.194
.
.
.
192.168.3.253
192.168.3.254
사용가능한
IP 호스트
(62개)
192.168.3.255
브로드캐스트주소



5. DNS
(1) 개요 : Domain Name System의 약어로 도메인 네임을 IP주소와 매칭시켜 클라이언트에게
          IP주소를 알려주는 역할을 하는 서버를 말한다. 처음 인터넷이 생겼을 때는 IP주소를
          사용해 통신을 했는데, IP주소는 기억하기 어려웠다. 그래서, 등장한 것이 영문이름이고
          이것을 관리하는것이 DNS 서버이다.
(2) DNS의 역사
   Domain Name System의 역사는 인터넷에서 컴퓨터에 이름 대 주소 매핑 서비스를 제공하기 위해
  개발되었다. 1987년 DNS가 소개되기 전까지는 주로 hosts파일이라는 정적 공유 파일을 사용하여
  친숙한 컴퓨터의 이름을 IP주소에 매핑하는 방법을 사용하였다. 초기 인터넷은 규모가 작았기
  때문에 중앙에서 관리하는 한 파일을 사용해서 매핑하는 데 충분했으며 이 파일은 FTP를 이용하여
  인터넷에 연결된 곳에 게시되고 다운로드되었다. 각 인터넷 사이트는 주기적으로 이 Hosts파일
  복사본을 업데이트했고 업데이트된 Hosts파일의 버전이 게시되어 네트워크 변경 내용을 반영하였다.
  인터넷을 사용하는 컴퓨터의 수가 증가함에 따라 한 기관이 중앙에서 모든 인터넷 호스트를 단일
  Hosts파일에서 관리하는 것이 불가능해졌다. 또한 파일이 점차 커지면서 모든 사이트에 업데이트된
  최신 상태의 파일을 유지하고 배포하기가 어려워졌다. 그래서, 등장한 것이 Domain Name System
  이다.
(3) Domain Name의 이해
   1) IP주소 : 컴퓨터가 이해하는 숫자로된 컴퓨터의 주소를 말한다.
   .   예) 168.126.63.1
   2) Domain Name : 인간이 이해하는 영문으로 된 주소를 말한다.
       예) www.yahoo.com
   3) DNS 서비스 : IP주소를 도메인네임과 상호변경시켜주는 서비스를 말한다.
(4) Domain Name의 구성 : 마침표(.)로 각각의 레이블을 구분하며 각 레이블은 2개 이상이 존재하며
                         여러단계로 구분되어 진다.
   1) 최상위 도메인 : 이름을 사용하는 국가/지역 또는 조직의 종류를 나타내는 데 사용된다.
     예) .com, .kr 등
   2) 둘째 수준 도메인 : 인터넷에서 사용하기 위해 개인 또는 조직에 등록되는 이름.
     예) yahoo.com, kisa.or.kr 등
   3) 하위 도메인 : 등록된 둘째 수준 도메인이름에서 파생된 추가 이름으로 조직이 만들 수 있는
                   이름이다. 즉, 조직의 DNS이름 트리를 확장하여 부서나 지역으로 분리할 때 추가
                   하는 이름이 포함된다.
     예)kr.yahoo.com등
   4) 호스트 또는 리소스 이름 : 호스트 또는 리소스를 식별하기 위한 이름으로 보통 컴퓨터의
                               이름이 등록된다. 사용용도에 따라 www, ftp, home등이 사용된다.
    예)www.yahoo.com등
(5) DNS가 제공하는 기능
   1) 도메인 네임과 자원레코드에 대한 정보를 저장하고 있다. 트리구조화된 네임존과 네임과
     관련된 정보를 저장하고 있다. 개념적으로 도메인트리의 각 노드와 HOST는 한세트의 정보에
     이름을 부여하고, 질의작업은 특정세트로부터 고유의 정보유형을 추출한다. 인터넷은 도메인
     네임을 사용하여 호스트들을 식별하는데, 주소자원에 대한 질의를 답변하기 위해 관련 정보들을
     담고 있다.
   2) 네임서버의 기능을 제공한다.
   3) 클라이언트 요청에 응답하여 네임 서버들로부터 정보를 추출하는 기능을 제공한다.
(6) DNS의 설정
   DNS는 도메인과 IP주소를 매칭시키는 역할을 하므로, 어느 DNS주소를 설정해도 상관이 없다. 특정
  DNS가 다운됐을 경우를 대비해 두세곳을 설정해두는것이 좋다. PING테스트를 해서 속도가 빠른
  곳으로 설정한다. 일반적인 경우라면 DNS는 자신이 속한 네트워크에 있는 것으로 설정하는 것이
  좋다. 로컬네트워크가 대체적으로 외부망보다 빠르기 때문이다. 물론 현재 리눅스서버로 DNS서버를
  구축했을 경우에는 자기 자신의 IP가 Name Server의 역할을 한다.
(7) 관련파일 : 현재 리눅스시스템에서 DNS서버의 설정확인은 /etc/resolv.conf에서 확인한다.
   예) /etc/resolv.conf
      nameserver    168.126.63.1                             //한국통신 DNS
      nameserver    210.94.0.7                               //하나로통신 DNS

6. PPP설정과 사용
(1) PPP(Point-to-Point Protocol)
   1) 설명: 모뎀을 이용하여 인터넷 전용선에 연결된 것처럼 인터넷을 사용하는 프로토콜을 말한다.
           PPP의 목적은 호스트가 전화접속을 이용하여 네트워크, 즉 네트워크나 인터넷에 접속할
           수 있도록 하는 것이다. TCP/IP에 대한 초기의 라인프로토콜은 SLIP(Serial Line Inter
           net Protocol)이었다.
   2) 모뎀설정: modeltool & minicom
    ㄱ. 연결: PPP연결은 /usr/sbin/pppd와 /usr/sbin/chat을 사용해서 이루어진다.
       a. pppd: 명령 자체로 모뎀을 제어할 수 있지만, 실제 다이얼링이나 로그인을 할 수 없다.
       b. chat: 모뎀에 명령을 내리고, 필요한 로그인 정보를 제공한다.
   3) 리눅스에서 설정단계
    ㄱ. PPP지원을 커널에 컴파일해 넣기: Kernel에 PPP지원 추가, 재 컴파일
    ㄴ. 인터넷 서비스 업체에서 정보받기: 전화번호, 유동 IP, DNS IP, 비밀번호 및 인증프로토콜
                                        (PAP)
    ㄷ. 모뎀과 직렬포트설정: IRQ 설정
    ㄹ. DNS 설정
       - /etc/resolv.conf (DNS 지정)
       - /etc/host.conf
    ㅁ. /etc/ppp/options 파일은 pppd를 실행할 때 프롬프트에서 입력할 옵션을 대신 처리하도록
       하는데 사용한다.
        예) /dev/modem (모뎀 포트)
            crtscts (하드웨어 흐름제어방식인 RTS/CTS를 사용한다.)
            defaultroute (연결된 ISP의 router로 패킷을 전송한다.)
    ㅂ. kernel에서 모뎀과 직렬 포트의 IRQ 설정이 제대로 되어 있는지 확인한다.
   4) PPP관련 설정파일: 참고로 버전에 따라 존재하지 않을 수도 있다.
    ㄱ. /usr/sbin/ppp-on: PPP연결할 때 사용하는 스크립트
    ㄴ. /usr/sbin/ppp-off: PPP연결을 끊을 때 사용하는 스크립트
    ㄷ. /usr/ppp/ppp-on-dialer
(2) 리눅스의 PPP기반에서 사용하는 인증 프로토콜
   1) PAP(Password Authenication Protocol)
   2) CHAP(Challenge Handshake Authentication Protocol)

7. 주요서비스와 포트번호
(1) 개요 : Transport Layer는 Application Layer에 데이터를 전송하기 위해서 포트번호를 사용한
           다. 이러한 포트들을 사용하여 네트워크상의 다른 호스트와 동시에 세션을 지원할 수
           있게 된다. /etc/services파일에 각 네트워크 서비스와 일반적으로 그 서비스에 사용되는
           포트 번호를 지정하고 있다.
(2) 주요 서비스와 포트번호
   21    FTP       File Transfer Protocol
   23    Telnet
   25    SMTP      Simple Mail Transfer Protocol
   53    DNS       Domain Name System
   80    www       World Wide Web
   110   POP3      Post Office Protocol 3
   119   NNTP      Network News Transfer Protocol
   143   IMAP      Internet Mail Access Protocol
   161   SNMP      Simple Network Management Protocol
Trackback
Reply
우주곰:지구곰이 아닙니다.
지구곰이 아닙니다.
Categories (190)
Information (5)
About uzoogom (5)
My Advanced Linux (73)
Learning Linux (96)
OperatingSystem (5)
Databases (4)
OpenSource (1)
Tips! (1)
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31