태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.
   情  
Front Page
Tag | Location | Media | Guestbook | Admin   
 
'Netwrok & Security'에 해당하는 글(6)
2009.08.19   Web Tier, Data Tier(Front-End, Back-End)
2007.12.15   네트워크 기초
2007.12.15   TP(Twisted Pair)케이블과 기타 케이블
2007.12.10   네트워크의 각 장치 설명과 기타 네트워크 전문용어 그리고 이더넷
2007.12.10   OSI Seven Layer 그리고 TCP/IP
2007.12.10   각 계층의 프로토콜과 기타 (2)


Web Tier, Data Tier(Front-End, Back-End)

Web Tier와 Data Tier

  1. Web Tier
    Web Tier는 요청된 Web Contents(HTML페이지를 의미)를 직접 생성하거나 기존의 정적인 HTML페이지를 반환하는 역할을 하는 서버 또는 그 계층을 의미한다. Web Tier 계층에서는 Data Tier계층에서 데이터를 조회하여 요청을 처리하기도 한다. Front-End와 같은 의미를 가진다.
  2. Data Tier
    Data Tier는 데이터를 저장하고 관리하는 계층 또는 그 Server를 의미한다. Data Tier는 데이터를 직접 조회/생성/수정하는 등의 요청을 처리한다. Back-End Servce와 같은 의미를 가진다.

* 참고

  1. Front-End
    Front-End는 사용자 또는 프로그램의 요청을 직접 처리하는 Service 또는 Interface이다.
  2. Back-End
    Back-End는 내부적인 자원 처리 등 Front-End를 지원하는 Service를 의미한다.
신고
Tag : back-end, data tier, front-end, web tier

name    password    homepage
 hidden


네트워크 기초

네트워크 기초


● 네트워크를 이루는 장치들 : PC, 서버, 프린터, 스위치, 라우터 그 외 NIC가 장착된 모든 것

● 네트워크의 분류
- 크기 : LAN(Local Area Network) < MAN(Metropolitan Area Network) < WAN(Wide Area Network)
    - LAN : 회사나 학교 내 보통 200-300M이내의 범위의 네트워크
    - MAN : 대학 캠퍼스나, 큰 규모의 회사, 몇개의 건물이 연결된 것. 수십 KM범위 이내의 네트워크
    - WAN : 지역, 나라, 대륙을 연결한 네트워크를 말한다.
- 토폴로지 : 링형, 버스형, 스타형, 트리형, 그물형
    -링형 : 링모양으로 선의 처음과 끝을 열결한 케이블에 네트워크 장치들이 연결된 형태.
     링모양의 케이블중에 어느 한곳이라도 끊기면 네트워크가 불통이 된다. 링을 이중으로
     구성하여 신뢰성을 보다 높일 수 있다.

사용자 삽입 이미지

    -버스형 : 한줄의 케이블에 여러 네트워크 장치들이 연결된 형태. 선의 처음과 끝에는
     터미네이터라는 장치를 붙여줘야 한다. CSMA/CD방식을 이용해 장치들은 하나의 케이블에
     아무 전송이 없을 때를 감지하여 전송하며, 만약 두 장치가 동시에 전송하거나, 다른 장치가
     케이블에 데이터를 보내는 중에 데이터를 보내면 충돌이 일어나게 되고 그 신호(충돌신호:JAM)를
     장치들이 감지하게되면, 충돌이 일어난 데이터를 보냈던 장치들은 일정 시간 후 다시 재전송 하게
     된다.
사용자 삽입 이미지

    -스타형 : 하나의 네트워크 장치에 별처럼 다른 여러대의 네트워크 장치가 붙은 형태. 보통 다른
     네트워크장치들을 중재하는장치는 허브/스위치 또는 멀티포트랜카드가 장착된 서버가 된다.
     허브/스위치 같은 중심이 되는 네트워크 장치의 성능에 큰 영향을 받는다.
사용자 삽입 이미지

    -트리형: 스타형의 네트워크들이 서로 연결된 네트워크 구성 형태.
      각 네트워크장치들이 허브/스위치에 연결된 네트워크인 스타형 끼리 다시 연결된 형태인데
      보통 스타형의 네트워크를 연결하는 장치는 라우터/게이트웨이 등이 된다.
사용자 삽입 이미지

    -그물형 : 각 네트워크장치끼리 모두 연결된 형태. 하나의 네트워크 장치는 다른 모든
     네트워크장치와 각각 케이블로 연결하게 된다. 어느 한선이 단선되더라도 다른 케이블로 통신이
     되고, 각 장치식별로 통신이 간단한, 가장 신뢰할 수 있는 형태이지만 비용 문제로 현실에서
      거의 사용되지 않는다.
사용자 삽입 이미지

● 네트워크에 필요한 장비 : PC, NIC(Network Interface Card = 랜카드), 케이블, 허브/스위치,
    라우터(ISP나 다른 네트워크와 연결되어 인터넷(다른 네트워크)으로의 경로 설정), DSU/CSU(라우터의
    디지털 신호를 전화선의 아날라고 신호로 전달), 서버(데이터, 서비스 제공), 랙(장비들을 넣어두는 곳)

● 현재 NIC는 PCI방식이 대부분이다.(ISA포트에 삽입되는 100BaseT를 지원하는 NIC는 보기 힘들다.
    EISA포트에 삽입되는 NIC는 옛날 서버 급 장치에서 가끔 볼 수 있다.)

● 랜카드 :
 - 멀티포트 랜카드(랜카드 포트가 2개 이상. 허브/스위치와 같이 VLAN(가상랜)기능 제공)
 - 가격이 비싼 랜카드와 일반 랜카드의 차이 : 가격이 비싼 랜카드는 하드웨어적으로 암/복호화,
   방화벽 기능을 제공하며, 또 서버 급 장치처럼 많은 전송되는 데이터가 빈번하고 많을 때 불통이
   되지 않는다.(일반 저가형 랜카드는 수많은 패킷을 처리하다 보면 장치가 한동안 작동불능이
   되는 경우가 있다. 가정에서는 쓰는데 무리 없음)

● 네트워크 종류 표현 및 읽기
 - 예) 10 Base 2 : 앞에 숫자는 최대 전송속도, Base는 Baseland의 약자로서 최초 발생 주파수를
   변조하지 않는 다는 상태를 나타 냄, 뒤의 숫자는 전송 방식을 나타낸다.

● 10 Base 2 : 200M의 전송 거리, 동축케이블 이용
  - 10 Base 5 : 500M의 전송 거리, 동축케이블 이용
  - 10 Base T : 100M의 전송 거리, TP케이블 사용
  - 100 Base T : 100M의 전송 거리, TP케이블 사용
  - 1000 Base T : 100M의 전송 거리, TP케이블 사용
  - 1000 Base FX : 수십KM의 전송거리, 광케이블 사용
  - 10G Base T : 100M의 전송 거리, TP케이블 사용
  - 10G Base ~ : 10기가비트 이더넷 통신에 사용되는 광케이블 통신의 형태는 다양하기 때문에
     ~로 표시 했다.
  - 이외에도 TX나 FX 등 다양한 용어가 존재하나 기초적으로 F는 광케이블, T는 TP케이블, 5나
     2는 동축케이블로 생각하면 된다.

● 그림 UTP케이블과 동축 케이블

사용자 삽입 이미지
사용자 삽입 이미지









   
              UTP/FTP/STP                                           동축 케이블


by thankee from tistory.com

신고
Tag : topology, utp와 stp, 네트워크구분, 네트워크장비, 네트워크종류, 토폴로지

name    password    homepage
 hidden


TP(Twisted Pair)케이블과 기타 케이블

TP(Twisted Pair) Cable과 기타

● TP 케이블이란 : TP는 꼬임쌍선이라고 해서 두선끼리 서로 꼬여 있는 형태로서 8가닥을 사용한다.
    한 가닥의 케이블에 전기를 보내면 케이블 주변에 자기장이 생기는데, 문제는 이 자기장은 다른 전기가
    흐르지 않는 케이블에 전기가 흐르게 하거나 전기적 흐름의 양을 바꿔버리는데 있다. 따라서 케이블
    서로간의 간섭을 최소화 하기위해 선을 꼬아서 사용하는 것이며, 그로인해 보다 고속의, 거리가 긴(100M)의
    전송 거리를 가질 수 있는 것이다.

TP케이블 종류케이블의 피복의 수 :
- UTP(Unshield Twisted Pair) < FTP(Folied Twisted Pair) < STP(Shield Twisted Pair)
- UTP : 비차폐 연선, 우리가 흔히 가정, 사무실에서 볼 수 있는 통신 케이블, 고무 피복 및 내선으로
  존재하며 통신거리는 100M가 되며, 낙뢰나 다른 전선의 영향을 쉽게 받기 때문에 선을 건물
  외부로 내보내다간 랜카드나 비싼 통신 장비가 통신하는데 많은 장애를 받으며, 심하면 비싼
  네트워크 장비나 당신의 컴퓨터 랜카드가 타버릴 수 있다.
- FTP : UTP에 실드 처리가 은박지와 같이 되어 있다. 전자파 장애나 기타 간섭을 덜 받고
  통신거리도 150M나 된다. 공장용으로서 FTP케이블로 가다가 PC나 통신 장비와 연결하기
  위해서는 UTP케이블로 변환하여 사용하는 것이 적절하다.(RJ-45커넥터를 FTP에 낄 수 도 있지만,
  너덜너덜 해지고 금방 뽑힐 우려가 있다.
- STP : FTP의 형태에서 내선에다가 한 번 더 실드처리를 해준 형태. 그만큼 선의 두께도 두껍고
   비싸다. 대신 다른 간섭으로부터 가장 자유로운 케이블. 또한 밟힘이나 동물 해충으로부터
   절연을 방지 할 수 있다. 주로 정밀기기, 공장자동화 기기연결에 사용된다.

사용자 삽입 이미지


전송속도와 거리 : UTP(100M, 100Mbps), FTP-STP : (150M, 150Mbps)

Tip : 네트워크 케이블을 연결할 때는 선이 부족하다고 중간에 이어서 사용하는 것을 최소화 하는 것이 좋다.
    깔끔하지 못한 커넥터 처리, 또는 케이블 연결은 저항을 그만큼 주게 되어 불안정한 통신 또는 속도가
    저하될 수 있다.

TP 케이블의 커넥터 : RJ-45

사용자 삽입 이미지

TP 케이블 각 선 순서와 번호
-  백등 등 백녹 녹 백청 청 백갈 갈 (등은 주황, 청은 파랑)
   백등 등 송신 케이블, 백녹 녹 수신 케이블, 백청 청 전화 케이블, 백갈 갈 기타 케이블
   (실제 네트워크 통신에는 1,2, 3,6번 케이블이 사용하여 10Base T나 100Base T의 속도를 낸다,
    하지만 8가닥을 모두 써서 100Base T, 1000Base T의 속도도 낼 수 있다.)

TP케이블을 장치 간에 연결하는 방법
- 같은 장치 간의 연결(PC-PC, 스위치/허브-스위치/허브) : 크로스 케이블
  (A장치가 송신하는 데이터는 B장치의 수신부로, A장치의 수신부에는 B장치의 송신 데이터를 받아
  야하기 때문에 선이 교차되는 것입니다.)
- 다른 장치 간의 연결(PC-스위치/허브) : 다이렉트 케이블
  (노멀 케이블, 크로스 케이블은 TP케이블에서 RJ-45커넥터를 연결할 때의 방식을 이야기 한다.)
-노멀 케이블(다이렉트 케이블)은 TP케이블에 RJ-45커넥터 연결 시 백등--백녹--백청--백갈-
  순으로  양쪽 끝단을 연결하면 된다.(백등색이 1번이 된다)
-크로스 케이블은 TP케이블에 RJ-45커넥터 연결 시 한쪽은 위에 나열된 순서대로
 하되 다른 반대쪽 끝은 백녹--백등--백청--백갈- 로 연결해야 한다.(단지 백등-등과
 백녹-녹의 위치가 바뀌었을 뿐이다. 백녹 색이 1번이 된다)

사용자 삽입 이미지

- 크로스 케이블과 노멀 케이블이 나누어지는 이유 :  허브/스위치는 장치 내부에서 송-수신 선을
  한번 교차 시켜버리지만, PC나 기타 장치에서는 송-수신 선을 교차시키지 않기 때문이다.
  (최근 허브/스위치에서는 선을 교차 시킬지 그렇게 하지 않을지 결정할 수 있는 버튼이 있거나,
  내부에서 자동으로 교차시킬지 말지 판단하는 센서가 있는 경우가 있어 아무 케이블이나
   써도 인식한다.)

● 광 케이블 : TP케이블의 경우 낙뢰, 다른 전선 등에 간섭을 심하게 받고, 거리 또한 최대
    100M(FTP/STP 150M)의 거리 제한과, 100Mbps(FTP/STP 150Mbps)의 속도제한을 받기 때문에
    수백 미터에서 수십 킬로미터의 장거리간이나 수십 Gbps의 고속의 데이터 통신이 필요할 때는 보통
    광케이블을 쓴다.

● 광 통신의 단점 : 광 통신을 하기 위한 광케이블과 장비는 일반 TP선으로 네트워크를 구성할 때보다
    5-6배 이상의 비용이 들고, 선이 어느 정도 휘게 되면 굴절률이 심해져 비교적 전송이 잘 되지 않는다.
    선을 자유자제로 휘게 할 수 없다는 것은, 설치할 때 그만큼 제약사항이 많다는 것으로, 대부분
    건물 앞까지는 광케이블, 건물 내부에서는 TP케이블을 사용하는 이유이다.


by thankee from tistory.com

신고
Tag : FTP, STP, tp, UTP, 광통신, 노멀케이블, 다이렉트케이블, 케이블, 크로스케이블

name    password    homepage
 hidden


네트워크의 각 장치 설명과 기타 네트워크 전문용어 그리고 이더넷

네트워크 장치

● 리피터 : 과거 케이블 구성에서 장거리 간에 연결을 위해 케이블 중간 중간에 두었던 장치로, 약해진
   신호를 다시 증폭시켜준다. 한 케이블에 최대 4개의 리피터까지 사용이 권장되어지고 있다.(그 이상은
   잡음으로 통신이 힘들어 진다)

● 허브/스위치 : LAN 내에서 각 PC나 네트워크 장치들을 서로 연결해주는 장치. 리피터와 같은 신호
   증폭의 기능도 하므로 허브/스위치를 사용하는 네트워크에서 리피터는 거의 볼 수가 없다.

사용자 삽입 이미지

허브

   허브는 하나의 컴퓨터에서 보낸 신호를 단순히 연결된 모든 컴퓨터에 보내주지만, 스위치는 패킷의
   MAC어드레스(L2(Layer 2)스위치)나 IP(L3(Layer 3)스위치, L7스위치도 존재한다)를 보고 특정 장치가
   연결된 회선으로만 신호를 보내는 장치로서, 대부분 스위치를 사용하며, 작은 가정에서 조차 스위치를
   쓰기 시작하고 있다.

사용자 삽입 이미지

스위치

   허브는 몇 만원 정도의 가격이지만, 스위치는 몇만부터 몇억까지 하는 고급 장비가 존재한다.
   스위치를 스위칭 허브라고 칭하기도 한다.

● 라우터/게이트웨이 : 서로 다른 LAN과 LAN, LAN과 WAN(MAN)끼리의 연결을 제공하며, 서로
   다른 네트워크를 지나게 하는 통로라고 볼 수 있다.

● 서버 : 네트워크상에서 자료나, 서비스를 제공해주는 컴퓨터를 말한다.

● 클라이언트 : 서버에 데이터나 서비스를 요청하는 컴퓨터를 말한다.

● 패킷(Packet) = 프레임(Frame) : 네트워크상의 데이터의 단위

● MAC : MAC의 의미는 두 가지다.
   - MAC(Media Access Control) 어드레스 : 첫 번째 의미는 NIC카드에 부여된 6바이트(48bit)의
     고유 번호를 말한다. IEEE에서 MAC어드레스를 관리하며, 앞의 3바이트는 IEEE에서 NIC를 만드는
     회사에 부여하는 번호(OUI라고 한다)이며(IEEE홈페이지에서 회사명 또는 MAC어드레스로 회사
     정보나 그 회사의 MAC번호 확인 가능), 뒤 3바이트는 IEEE에서 제공한 규칙대로 회사에서 NIC를
     만들 때마다 고유하게 부여하는 번호이다. 세상에서 같은 NIC번호는 없다.
         예 : 00-18-F3-64-89-58
     Windows XP에서는 명령프롬프트 창에 ipconfig /all을 치면 된다. (리눅스 ipconfig)
   - MAC 번호 검색이 가능한 주소 : http://standards.ieee.org/regauth/oui/index.shtml)
   - MAC : 두번째 의미로는 CSMA/CD의 동작 방식으로 Media Access Control Protocol라고도 부른다.


Ethernet

● Xerox사에서 1960년대부터 개발. CSMA/CD프로토콜 사용

● CSMA/CD(Carrier Sense Multiple Access/Collision Detection 다중 접속 시 전송 및 충돌 감지)
    - CSMA(다중 접속 시 전송 감지) : 네트워크상에서 하나의 케이블에 두 개 이상의 데이터 전송이
      한 번에 일어나면 충돌이 일어나고, 해당 데이터는 컴퓨터가 알아들을 수가 없게 된다. 따라서
      컴퓨터는 항상 케이블에 전송이 일어나는지 감시하며, 케이블에 전송 신호가 없을 때 자신의
      데이터를 케이블에 전송을 시킨다.
    - CD(충돌 감지) : 위와 같이 함에도 불구하고 두 컴퓨터는 동시에 데이터를 보낼 경우가 있다.
       케이블에 서로 다른 두 신호가 만나면 충돌(JAM)신호를 만들게 되는데, 데이터를 보내고
       JAM신호가 감지되면 일정 시간 후 다시 재전송을 한다.
    - OSI 참조 모델에서 2계층 데이터 링크 계층이 바로 여기에 해당하며 CSMA/CD프로토콜을
      사용한다. CSMA/CD는 패킷에 상대의 MAC어드레스를 담아 보내고, 상대가 보낸 패킷의
      MAC어드레스를 보고 자신의 번호가 아니면 데이터를 버리는 역할을 한다. 즉 IP이전에
      MAC어드레스로 서로의 통신이 가능케 하는 역할을 한다. 또한 충돌이 일어나면 데이터를
      재전송함으로서 오류를 복구하고, 전송 흐름을 제어한다.

● 이데넛 : 10 Base 5, 10 Base 2, 10 Base T

● 패스트 이더넷 : 100 Base T, 100 Base FX

● 기가비트 이더넷 : 1000 Base T, 1000 Base X

● 10기가비트 이더넛 : 10G Base ~

● 이더넷은 Half Duplex전송 방식에서만 동작한다.


Full Duplex/Half Duplex와 기타

● Half Duplex : CSMA/CD에서 송신회선으로 신호가 오는지 감지하고, 신호가 없을 때만 전송을 하기
   때문에, 송신/수신이 동시에 일어나지 않는다. 이것을 단방향 통신 이라고 한다.

● Full Duplex : 양방향 통신으로 이것을 사용하면 CSMA/CD를 사용할 수 없다. 송신/수신을 동시에
   할 수 있다. 이 방식을 사용하려면 이것을 지원하는 허브/스위치, 랜카드가 필요하다.

● Flow control(흐름 제어) : 보통 일반 PC가 아닌 서버, 허브/스위치에서 많은 트래픽 발생 시, 장치가
   트래픽 증가량을 따라가지 못하면, 데이터를 버퍼에 쌓기 시작하는데, 버퍼가 가득 차면 보내는
   쪽으로 전송을 중지하라는 신호를 보내는데 이것을 흐름제어라고 한다.(이런 일은 정말 드물다고 한다.)

● Auto-Negotiation : 장비끼리 또는 PC끼리 Half Duplex/Half Duplex, 속도, 각종 설정을 자동으로 서로
   일치시키는 것. 두 장치 중 한쪽에서 이 기능을 끄면, 서로 간에 전송 설정이 일치하지 않으므로 여러 가지
   문제를 발생시킬 수 있다.
    - 자신의 컴퓨터 확인해 보기 : 로컬영역연결 속성-구성-고급에서 설정가능-따라서 항상 컴퓨터가
      알아서 최적의 네트워크의 상태를 유지시켜 주지만, 가끔식 문제가 발생하기 때문에, 일반 PC나
      서버 등의 컴퓨터에서 사용하며, 허브/스위치 간의 연결 같은 장치간의 연결에는 보통 이 기능을
      쓰지 않고 수동으로 일치시킨다.

by thankee from tistory.com

신고
Tag : Auto-Negotiation, CSMACD, ethernet, 네트워크장치, 단방향통신, 양방향통신, 흐름제어

name    password    homepage
 hidden


OSI Seven Layer 그리고 TCP/IP

시작하기 전에

● 내 컴퓨터에서 야후 서버에 접속하는 과정
  -  야후 서버  -  스위치  -  라우터  -  ~인터넷~  -  라우터  -  스위치   -  PC
  -  익스플로러  -  도메인 입력  -  DNS에서 IP를 찾음(UDP프로토콜 사용)  -   IP로 MAC어드레스를
     찾음(ARP프로토콜 사용  -  IP로 야후 서버에 해당하는 라우터까지 라우팅 프로토콜을 이용하여
     찾아가서 알아낸다)  -  패킷이 도달하면 서로간의 통신을 위해 TCP(Transmission Control Protocol)
     프로토콜을 이용한다  -  마지막으로 HTTP등과 같은 프로토콜로 해당 정보를 보내온 HTML파일을
     해석하고 보여준다.
* IP로 해당 야후 서버 라우터까지 찾아가는 과정에서는 OSI참조 모델에서 3단계까지 만을 이용하여
   찾아간다.(그 이상의 단계는 두 컴퓨터가 통신을 위한 단계이다.)

OSI참조 모델(7계층)-OSI Seven Layer

● OSI(Open Systems Interconnection, 개방형 시스템 간 상호 접속) Seven Layer은 ISO 국제 표준 위원회에서
   통신을 하고자 하는 컴퓨터가 지켜야할 약속을 표준으로 제정한 것이다. 프로토콜이라고 칭해도
    무방하다(통신을 위한 약속이므로)

● OSI참조 모델은 단지 참조 모델일 뿐이다. 현실과 완전히 매치되지 않는다고 완전히 이해하지
   못하겠다고 좌절하지 마라. 많은 회사들은 이 참조모델을 따르려 최대한 노력하지만 예외가 있을 수
   도 있다는 것을 알자.

● OSI참조 모델은 통신을 하고자 한다면 있어야 하는 것들을 7개로 쪼개어 놓은 것이다. 각 회사들은
   7개로 쪼개어 놓은 7계층에서 특정 계층에 해당하는 장치나, 프로토콜을 제조하게 됩니다. 통신을 위해
   복잡한 장치들이 복잡한 정보를 처리해야 하고 통신을 하고자하는 컴퓨터 끼리 여러 가지 통일해야
   하는 것 등 신경 써야 할 것이 너무 많습니다. 이렇게 쪼개어 놓고 표준을 제정해 둠으로서 각
   제조회사들은 특정 계층에 해당하는 것을 표준에 맞춰 만들기만 해도 나중에 모든 장치가 모여
   네트워크가 될 수 있는 겁니다. 또 네트워크 상에서 문제가 발생해도 어느 계층에서 문제를
   발생시켰다는 등의 진단과 복구도 간단해 질 수 있습니다.

● 1계층 - 물리계층(Physical Layer) : 랜카드, 케이블, 커넥터, 스위치, 라우터, 전압 등 모든 물리적인 것을
   말한다.(라우터, 스위치의 물리적인 연결 외에 실제 작동은 다른 계층에 해당한다) 예) 실제 물리적인
   장치나 물리적인 것의 규격에 대한 것을 말한다.

● 2계층 - 데이터 링크 계층(Datalink Layer) : MAC어드레스를 보고 데이터를 전송하는 단계에서
   사용되는 MAC(CSMA/CD의 동작방식을 가리킴), LLC(Logical Link Control 데이터 흐름, 오류 제어,
   복원)등과 같은 것들. 물리적인 장비들이 데이터를 전송하는 논리적인 개념 예) 물리적인 장치가
   각 장치로 데이터를 보내는 것을 논리적으로 보는 것

● 3계층 - 네트워크 계층(Network Layer) : 네트워크 장비들이 가진 IP주소와 같은 것에 대한 동작 설명이다.
     *예) 라우터가 IP를 보고 경로를 설정하는 것(라우터의 물리적인 부분이 아닌 작동에 대한 것은 3계층에
       속한다.)
  즉 해당 패킷이 제 주소에 오도록 지속적으로 방향을 잡아주는 것이다.

● 4계층 - 전송 계층(Transport Layer) : 3계층에서부터 해당 프로그램까지의 통로. TCP/UDP프로토콜이나
   동작에 대한 것이 이에 해당한다. 예) TCP 프로토콜로 TCP 포트 80이라는 경로로 통신을 한다.
   상위계층에서 이 계층에 데이터를 얹으면 해당 프로토콜이 데이터를 전송하며 데이터가 에러 없이 잘
   전송되는지 확인한다. (실제 양 컴퓨터에 데이터가 도착하기 전까진 동작할 필요가 없으며, 제 목적지에
   도착하면 TCP/UDP가 작동된다.)

● 5계층 -세션 계층(Session Layer) : 데이터가 통신하기 위한 논리적인 연결을 말한다. 특정 응용프로그램은
   이 세션을 통하여 통신을 하게 된다. 통신을 하기위한 대문이라고 보면 된다. 하지만 4계층에서도 연결을
   맺고 종료할 수 있기 때문에 우리가 어느 계층에서 통신이 끊어졌나 판단하기는 한계가 있다.

● 6계층 - 표현 계층(Presentation Layer) : 전송되는 데이터의 표현 방식에 대한 설명이다. 해당 데이터가
   TEXT인지, 그림인지, GIF인지 JPG인지의 구분이다.

● 7계층 - 응용 계층(Application Layer) - 최종 목적지로서 HTTP, FTP, SMTP, POP3, IMAP 등과 같은
   프로토콜이다. 해당 통신 패킷들은 방금 나열한 프로토콜에 의해 모두 처리되며 우리가 사용하는
   브라우져나, 메일 프로그램은 방금 나열한 프로토콜을 보다 쉽게 사용하게 해주는 응용프로그램일
   뿐이다. 한마디로 모든 통신의 양 끝단은 HTTP와 같은 프로토콜이지 응용프로그램이 아니다.

● 쉽게 무역과 비교해서 설명하도록 하겠다. 이해에 보다 많은 도움이 될 것이다.
  - 1계층은 사용자가 전선이나 통신 장치의 물리적인 것을 장치별로 통일 시켜놓아 데이터가 흐를수
    있도록 물리적으로 설정하는 것이다. 즉 무역에서 물리적인 것들, 배의 구조, 크기, 돛단배이냐
    증기 배이냐, 항구의 크기, 위치 등을 말한다.
  - 2계층은 각 장치가 데이터를 어떻게 전송하느냐에 대한 논리적인 것이다. 예로 CSMA/CD로
    동작한다면 랜카드는 송신에 데이터가 들어오고 있는지 아닌지 감시하고 있다가 비었을 때 다음
    장치에 해당하는 주소를 포함시켜 선로 상에 데이터를 띄우고 충돌이 있는지 감시하고 충돌이 있으면
    재전송하는 것을 말한다. 또한 들어오는 데이터가 나에게 해당하는 것인가 아닌가 계속 감시하는
    것도 여기에 속한다. 2계층에서 데이터를 계속 듣다가 자신에게 해당하면 데이터를 가지고 3계층에
    던져 준다. 
    무역에 빚댄다면 배가 항구에 들어오고 나가는 것을 말한다. 배가 잘 들어오도록 등대를
    설치하는등, 각 배들이 효율적으로 들어오고 나가도록 규칙을 세우는 등 논리적인 것을 말한다.
  - 3계층에서는 IP를 보고 그에 해당하는 다음 경로를 설정해 준다. 자신에 해당하는 IP가 아니면 경로를
   설정하고 다시 2계층에 던져 주고, 2계층은 선로 상에 띄우면 1계층의 물리적인 장치가 전기 신호를
   전달한다. 3계층에서 자신에 해당하는 IP라면 4계층에게 던져준다. 
   무역에서는 이 배가 자신의 항구에 들어오는 것인지 아니면 다른 항구에 가기위해 잠시 쉬었다가
   가는 것가 하는 것이다. 그 배가 다른 곳으로 가는 것이라면 제대로 갈 수 있도록 방향을 제시해주고,
   자신의 항구에 오는 것이면 받아 들이는 등을 말하는 것이다.
  - 4계층은 이제 통신을 활성화하기 위한 계층이다. 보통 TCP프로토콜을 이용하며, 포트를 열어서
    응용프로그램들이 전송을 할 수 있게 한다. 만약 데이터가 왔다면 4계층에서 해당 데이터를 하나로
    합쳐서 5계층에 던져 준다. TCP프로토콜은 Port를 통해 통신을 관리하게 된다. Port는 말그대로
    항구와 같은 개념이다.
    무역에서는 각 국가간에 조약을 말한다고 생각하면된다. 국가간에 무역을 위한 조약이 있으며
    (요즘 말이 많은 국가간에 FTA같은 조약을 말하는 것이다) 그 조약에 근거해서 서로 무역을
    하게 된다. 문제가 생기면 특정 국가에 항구를 막아버리는 경우(해킹이 의심되는 경우 Port 차단)
    도 있다. 국가간에 무역은 어떻게 어떤 절차로 약속을 해서 효율적이고 신뢰성있는 무역을
    보장하는 것과 같다.
  - 5계층은 해당 세션이 활성화 되었는지 아닌지 판단하고 세션을 새로 만들어 주는 등 통신의 대문
    역할을 한다.(포트와 비슷하지만 다른 계층이다). TCP의 Port와 Session을 두 국가, 두 회사간의
    무역에 빚대서 설명하면 다음과 같다. 일단 물리적으로 항구(Port)만 있으면 배가 드나들 수
    있겠지만, 실제로 두 나라간, 두 회사간 교역을 위해서 두 국가간, 두 회사간 조약이나 계약이
    성립되어야 한다. 즉 물건(데이터)을 국가(컴퓨터)간에 전송하기 위해서는 일단 국가간에
    조약(TCP, UDP등의 프로토콜)을 맺어야 하며, 그리고 그 국가와의 교역을 위해 서로 항구(Port)를 
    열어주게 된다. 두 국가가 교역(통신)을 위한 기반을 만들면, 두 나라 내에서 무역에 관심있는
    각 회사들은 서로 계약(Session)을 맺고 무역(전송)을 한다. 회사간 계약없이 물류(데이터)가
    두 국가간에 오고 갈 수 도 있다.
    즉 세션없이 전송을 하는 경우도 있을 수 있다는 말이다. 하지만 보통 Session을 설정하고
    데이터를 전송하게 된다. 그렇게하는 것이 대부분 경우 보다 신뢰성 있고, 통제가 가능한
    또는 특정 상황에 맞는 무역, 신속한 대처를 보장하기 때문이다.
  - 6계층(표현계층)에 데이터가 도착하면 헤더를 보고 해당 데이터가 무엇인지 판단한다.
    또는 전송할 때 해당데이터 형식에 대한 헤더를 덧붙인다. 수입되어 들어온 물건의 종류를
    판단하여 적절한 조치를 할 수 있도록 도와주는 단계이다.
  - 7계층은 해당 프로토콜이 해당 형식에 대한 데이터를 받아서 그에 적절한 처리를 한다. 예로 HTTP는
    HTML을 해석하여 보여준다거나, FTP는 해당 파일을 특정 공간에 저장해준다거나, SMTP나 POP3는
    해당 메일을 가지고 있다가 사용자가 요청하면 보여주는 식이다. OSI참조 모델보다 인터넷에 적당한
    모델은 TCP/IP의 4계층으로서 더욱 더 현실적으로 실제 네트워크와 연관 지을 수 있다.
    무역에서는 물건들이 필요로 하는 곳에서 처리 되어지는 것과 같다. 

TCP/IP

● OSI 참조 모델보다 10년 일찍 개발이 시작된 프로토콜로서 서로 다른 기종 끼리 IP(Internet Protocol)를
이용하여 통신을 하는 네트워크를 말한다.(Apple의 Appletalk나 노벨의 IPX와 같이 3계층에 있는
프로토콜들 중 하나이다.)

● 인터넷은 TCP/IP를 사용하여 묶여진 네트워크다라고 말할 수 있을 정도로 TCP/IP는 인터넷에서
    중요한 개념이다.

● TCP/IP 프로토콜은 TCP, IP프로토콜 외에도 HTTP, FTP, Telnet, ARP, IP, TCP, UDP,ICMP, SMTP
   모두를 포함한다.

● TCP/IP 네트워크를 구성하기 위해 4개의 계층으로 나누어 두었다.
  - 1계층 - 네트워크 접근 계층(Network Access Layer) : OSI참조 모델에서 각 장치의 물리적인 것과
    동작의 논리적인 것을 나누었던 물리계층, 데이터 링크 계층을 하나로 합친 것과 같다. 즉 물리적인
    연결과 데이터가 전달되는 논리적인 것을 말하며 여기서 데이터 전달시 사용하는 주소는
    MAC어드레스 이다. 즉 CSMA/CD는 여기에 포함된다.
  -  2계층 - 인터넷 계층(Internet Layer) : Internet Protocol(IP)로서 서로 다른 모든 통신을 위한 컴퓨터
     장비들이 가지고 있어야할 주소 체계를 정리한 것이다. 따라서 그 IP주소로 경로설정(라우팅-라우팅
     프로토콜 이용)을 이용하여 목적지까지 경로를 무사히 설정하게 해준다. 또한 데이터를 조각내고
     재배열하는 일을 수행
한다.
  - 3계층 - 전송 계층(Transport Layer) : 2계층의 경로설정 중에는 참조될 필요가 없는 프로토콜이며
    실제 양끝의 컴퓨터 간에 통신을 하기위한 프로토콜이다. 데이터가 인터넷 계층을 통하여 잘
    전달되는지, 에러는 없는지 확인한다.
  - 4계층 - 응용 계층(Application Layer) - OSI참조 모델은 5, 6, 7계층에 해당 한다.

● 실제 네트워크에서의 패킷(실제 패킷에 붙어있는 각 계층에서 붙인 헤더 정보이다)

네트워크 전송 계층

출발지
00:06:C4:32:01:2C

목적지
00:06:C4:12:02:12

인터넷 계층

출발지
192.168.0.1

목적지
172.16.10.100

전송 계층

출발지
TCP 1723포트

목적지
TCP 80포트

응용계층

GET/index.html.HTTP/1.1

● OSI참조 모델과 TCP/IP 4계층 함께 보기

응용 계층
응용 계층
표현 계층
세션 계층
전송 계층
전송 계층
네트워크 계층
인터넷 계층
데이터링크 계층
네트워크 접근 계층
물리 계층

● 실제 응용프로그램에서 특정 목적지를 향해 패킷을 날릴 때는 7계층(TCP/IP의 4계층)에서부터
   차례로 자신의 계층에 해당하는 패킷을 붙이고 물리 계층에서 데이터를 전송하며, 데이터를 받은
   모든 장치들은 역으로 계층을 오르며 자신에 해당하는 패킷을 뜯어본다. 자신에 해당하는 것이
   아니거나 오류가 있거나 한다면 위로 보내지 않고 버리거나, 재전송 요청 하는 등의 조치를
   취함으로서 각 장치들은 자신에게 필요한 일만 할 수 있게 되는 것이다. 패킷에 붙는 헤더정보는
   스택 형식으로 덧붙여지는 것이라고 말할 수 있다.

● 이러한 패킷을 잡아 그 패킷에 어떤 정보가 있는지 분석하는 프로그램에는 프리웨어인
   이더리얼(Ethereal)이 있다.
  - 이더리얼 다운 받는 곳 : http://ethereal.secuwiz.com/distribution/win32/

참조 서적 : 최성열 님의 달과 마토의 EZ 네트워크

by thankee from tistory.com

신고
Tag : ethereal, OSI, OSI참조모델, TCPIP, 이더리얼, 이더리얼다운

name    password    homepage
 hidden


각 계층의 프로토콜과 기타

시작하기 앞서..
 - 프로토콜이란? : 보통 사람들은 프로토콜이라 하면 복잡한 프로그램을 떠올리곤 한다. WIndows 네트워크 창에 TCP/IP프로토콜 설치나 스타크래프트의 멀티플레이 창에 나타나는 TCP, UDP들을 자주 보았기 때문에 그러리라 생각된다. 프로토콜은 정확히 어떤 프로그램을 지칭하는 것이 아니라, 통신을 위한 약속이다. 약속이라 하면, 통신을 위해 통신회선은 어떤것으로 쓰고, 어떻게 네트워크 상에 컴퓨터를 구성하고 배치할 것이며, 어떤 장비를 이용할 것이며, 어떤 신호를 보내면 어떻게 반응 할 것인지 등.. 통신을 하기 위해 필요한 모든 약속이 프로토콜이 되는 것이다. 이 점 착오가 없길 바란다.
(물론 프로그램이 프로토콜이 될 수 있다)


응용계층의 프로토콜

  1. HTTP : 웹서버와 클라이언트 사이에서 사용자 브라우져에 내용을 표현하기위한 문서를 전송하기 위해 사용되는 프로토콜.(대표적으로 HTML문서가 있다.) 보통 TCP 80포트를 주로 사용한다.
  2. SMTP(Simple Mail Transfer Protocol) : E-mail을 송신(전송)하는데 사용되는 프로토콜
  3. POP3(Post Office Protocol 3) : E-mail을 수신하는데 사용되는 프로토콜.
    - 메일을 송신하고 수신하기 위해서는 SMTP와 POP3 모두 필요하며 모두 같은 서버에 설치되기도 하며, 각각 다른 서버에 설치될 수도 있다.
  4. DNS(Domain Name Service) : 우리가 흔히 사용하는 문자기반의 인터넷 주소(도메인)을 IP 주소로 변환하는 작업을 하는 프로토콜. 보통 TCP 53번 포트를 사용한다.
  5. Telnet : 원격으로 컴퓨터에 접속해서 작업을 가능하게하는 프로토콜.
  6. FTP(File Transfer Protocol) : 파일을 전송하기 위해 사용되는 프로토콜.
  7. SNMP(Simple Network Management Protocol) : TCP/IP기반의 네트워크 망에서 스위치, 허브, 서버 등의 네트워크 기기의 관리 정보를 전송하기 위해 사용하는 프로토콜.
  8. NTP(Netwrok Time Protocol) : 네트워크 상의 장비, 컴퓨터의 시간을 동기화하는 프로토콜.

전송계층의 프로토콜(TCP, UDP)

  1. TCP : 신뢰성이 요구되는 Data를 전송하는데 사용되는 프로토콜로서 데이터 감시, 복구, 회선 감시 등의 신뢰성을 높이기 위한 작업을 하며 전송을 진행한다.
    - 전송을 하는 두 장치 모두 서로 포트를 열고 서로 확인 후 전송을 실시 한다.
    - HTTP, FTP, Telnet, SMTP, POP3 모두 TCP를 사용한다.
    - 통신 요청과 종료는 누가 통신을 요청했는지에 상관없이 장치가 원할때 종료요청 할 수 있다.
    - TCP는 장치간에 통신하기 위해 가상회선을 열고 통신을 진행하는데, 통신을 열기 위한 3과정을 3-Way Handshake, 통신을 종료하기 위한 4과저을 4-Way Handshak라고 한다.
    (가상회선은 TCP전송의 논리적인 개념일 뿐이며, 실제로 두 장치가 전용 통신회선을 가지고 전송하는 것은 아니다.)
    - 3-Way Handshake(가상회선을 열기위한 3과정)
      * 1. 연결을 원하는 장치가 연결 요청 데이터 전송 (Synchronize)
      * 2. 수락측에서 요청 인정 데이터 수락측의 연결 요청 데이터 전송
           (Synchronize + Acknowdgement)
      * 3. 연결을 먼져 요청한 PC에서 연결 수락 데이터 전송 (Acknowledgement)
      * 데이터 요청 및 데이터 전송 작업이 이 때부터 진행된다.
    - 4-Way Handshake(가상회선을 닫기위한 4과정)
      * 1. 어떤 장치라도 먼저 종료 요청할 수 있으며, 상대에게 종료요청 데이터를 전송(Finish)
      * 2. 요청을 당한 상대는 통신 종료 요청 인정 데이터 전송(Acknowledgement)
      * 3. 요청을 당한 상대가 다시 종료 요청 데이터를 요청한 장치로 전송(Finish)
      * 4. 종료 요청 인정 데이터 전송(Acknowledgement)
      * 통신 종료
    - 1~65535까지의 포트를 생성하여 통신하며, 통신을 하는 두 장치의 포트가 같을 필요는 없다
    - 잘알려진 포트번호는 1024 이하로 포트번호가 할당되며, 1024를 초과하는 포트번호는 잘 알려지지 않는 임의 포트 번호가 된다.
    - 전송요청, 종료요청 나 또는 전송 중에, 임의로 일련번호(Sequence Number)를 생성하여 전송하며, 받는 상대는 이 일련번호+1의 숫자로 요청 인정 및 응답을 해야한다.
    - 전송 중인 데이터의 신뢰성 체크는 보내는 쪽에서 전송하는 패킷의 크기 +1의 번호를 포함하여 패킷을 전송하고, 상대는 이 번호를 보고 옳바로 전송 되었는가 확인하며, 전송에 문제가 생겼을 시 재전송을 요청한다.
    - 헤더에 처리가능한 데이터의 양(수신가능한 데이터 크키)을 포함하여 전송하기 때문에, 받는 측의 버퍼 크기를 초과하는 데이터 전송은 잘 일어나지 않는다.
    - TCP프로토콜에서 패킷에 붙이는 헤더의 구조는 다음과 같다.
    - 조정비트 중에 RST는 Reset의 줄임말로, 요청한 포트로 서비스 불가 등의 상황에 상대에게 답장을 보내는 것으로서 SEQ(일련번호)를 증가시키지 않고 보낸다.


    - Source Port : 출발지 포트 번호
    - Destination Port : 목적지 포트 번호
    - 순서번호 : 전송되는 데이터 일련번호
    - 인정번호 : 전송 받은 일련번호 + 1의 인정 번호
    - Length : TCP헤더의 길이
    - 예약필드 : 특별히 사용하지 않는 예약 필드
    - Control bit Window: 조정비트로서 SYN,(요청) ACK(수락), FIN(종료), RESET(서비스불가)등 제어 정보
    - Window : 수선 컴퓨터의 수신 버퍼 크기
    - Checksum : TCP세그먼트의 체크섬(오류 검출을 위한 방법중 하나)
    - Urgent Pointer : 급히 처리될 데이터의 마지막 바이트
    - Options : 최대 20바이트의 필요시 추가사항 기록
    - Padding : 헤더를 32비트 크기로 맞추기 위해 채워질 데이터
     
  2. UDP(user datagram protocol) : 신뢰성이 없는 프로토콜이 아니라, TCP와 비교해 볼 때, 데이터 전송시 문제가 생겨도 감지나, 복구 등의 기능이 없는 대신에 보다 가볍고 간단하다. 간단하며 신뢰성이 크게 요구되지 않는 데이터를 전송할 때 주로 사용한다.
    - DNS, SNMP, TFTP(Trivial File Transfer Protocol) 프로토콜들이 사용한다.
    - 데이터를 요청하면 응답하는 매우 간단한 방식의 전송
    - 신뢰성이 필요한 경우 UDP를 사용하면 프로그램 에러나, 속도가 오히려 떨어지는 역효과가 일어날 수 있으나, 단순 텍스트 전송등의 간단한 데이터 전송에는 오히려 적절하다.
    - UDP헤더는 다음과 같다.
    - UDP는 에러등의 상황에 상대에게 어떠한 메시지를 보낼 수가 없기 때문에 필요시 ICMP(Internet Control Message Protocol)을 사용하여 에러 등 필요한 메시지를 전송한다.


    - Source Port : 출발지 포트 번호
    - Destination Port : 목적지 포트 번호
    - Length : 헤더를 포함한 데이터 길이
    - Checksum : 체크섬 정보
    - 헤더뒤에 바로 데이터가 포함된다.

인터넷 계층의 IP, ICMP

  1. ICMP(Internet Control Message Protocol) : IP, UDP를 도와주는 역할을 주로하는 프로토콜로서 간단한 메세지등을 IP를 사용하여 전송한다.
    - ICMP가 IP를 사용하지만 IP와 같은 인터넷 계층의 프로토콜에 속한다.
    - 간단한 메시지 전송, 에러 내용 전송을 하는데 Ping 명령시 나타나는 문구들이 ICMP로 전송된 메시지 들이다.
    - ICMP의 헤더


    - 타입 : ICMP의 종류(아래 내용 중 하나)
      * 0, 8 : 각각 Echo 응답, 요청
      * 3 : 목적지 도달 불가
      * 4 : 발신자 억제
      * 5 : 재지정
      * 9, 10 : 라우터 간청과 광고
      * 11 : 시간 경과
      * 12 : 매개변수 문제
      * 13, 14 : 타임 스탬프 요청과 응답
      * 17, 18 : 주소 마스크 요청과 응답
    - 코드 : Type의 추가 적인 정보
    - 체크섬 : 헤더를 포함한 데이터의 오류 식별을 위한 데이터
    - 순서번호(Sequence) : 요청과 응답의 순서 번호
    - 데이터 : 헤더 뒤에 데이터가 붙는다.
  1. IP(Internet Protocol) : 인터넷 계층에 없어서는 안되는 필수 프로토콜 로서, IP를 이용한 경로 설정데이터 조각내어 보내고 결합하기 등 여러가지 역할을 한다.
    - 네트워크 부분과 호스트 부분 : IP를 효율적으로 분배하기 위해, 다수의 IP를 필요로 하는 사업자에게, 네트워크 주소만을 부여하고, 호스트 주소 부분 지정은 해당 네트워크 사업자에게 맡기게 된다.(IP는 네트워크 부분과 호스트 부분으로 나누어진다. 아래서 언급될 것이다.) 인터넷 호스팅 업체 등 많은 IP를 필요로 하는 업체(KT나 하나로, 큰 규모의 정부)에는 A나 B클래스를 할당해주어 많은 호스트 부분을 부여하고, 규모가 작은 네트워크 사용자(일반 기업, 작은 학교)에게는 C나 D클래스를 할당해주게 된다. 즉 C클래스를 할당 받으면 256개(실제로는 254개 : 호스트 주소가 모두 1이거나 0인 주소는 다른 용도로 사용)의 장치로 네트워크를 구성하여 각 장치를 인터넷에 연결 시킬수 있다.(그러나 NAT나 PAT로 하나의 IP로 여러 PC가 인터넷을 접속할 수 있다. 반대로 인터넷에 연결하지 않을 것이라면 자기 마음대로 약 42억개의 컴퓨터에 IP를 부여하고 사용할 수있다.)
    - 라우팅 : IP클래스와 서브넷마스크를 시작하기 전에 라우팅의 개념을 미리 알아두는것이 이해에 더욱 도움이 될것이다. 라우팅이란 라우터가 IP의 네트워크 부분을 확인하고 경로를 설정하는 것이다. 먼저 IP를 각 클래스 별로 네트워크 부분과 호스트 부분을 나누어 둠으로서 라우터가 호스트 부분은 무시하고, 네트워크 어드레스 부분만을 확인하고 해당 네트워크(사용자 PC가 아닌 해당 사용자 PC가 포함된 네트워크로)경로를 설정할 수 있도록 한다. 서브넷마스크는 사용자가 호스트 부분을 몇 개의 네트워크로 나누어 쓰더라도 라우팅이 가능하게 하는 것이다. 서브넷마스크로 호스트에서 라우팅에 필요한 부분만 걸러냄으로서 라우터가 라우팅 할 때 호스트 부분이 몇개의 네트워크로 나뉘며, 어디로 가야 목적지로 갈 수 있는지 경로를 지정하는데 도움이 된다.
    - IP 주소체계 : 4Byte(32bit) 주소 체계로서 4자리로 나뉘며, 각 자리는 옥텟(Octet)라고 부르며, 1바이트로서 0~255 사이의 십진수 숫자이다(이진수로 표기하기도 한다).
    - IP의 분배 : 공인 IP주소는 인터넷 할당 번호 관리 기관인 IANA(Internet Assigned Number Authority)에 의해서 관리되는데(사설 아이피는 사용자 마음대로 쓰면된다-_-;) IP주소 분배의 효율성을 높이기 위해 IP주소체계를 아래의 클래스들로 나누었다. 또한 IANA는 대륙별, 국가별로 해당 지역 IP주소의 분배를 총괄하는 조직을 설립하였는데(이 조직을 IR(Internet Registry)이라고 한다), 우선 대륙별로 APNIC(아시아,태평양), RIPE-NCC(유럽), ARIN(미국과 기타지역)이 있으며, 국내 IR조직은 KRNIC가 담당한다.
      * 클래스는 IP에서 호스트 부분과 네트워크 부분을 구분하는 방법이다.
      *A클래스 : 네트워크 부분이 이진수로 가장 앞자리가 0인것, 즉 네트워크 부분이 0~127까지의 번호를 말한다. (0.0.0.0~127.255.255.255 사이의 번호가 A클래스가 된다.)

    0XXXXXX

    XXXXXX

    XXXXXX

    XXXXXX

    (X는 0 또는 1, 붉은 색은 네트워크 부분, 흰색은 호스트 부분)
      * B클래스 : IP를 2진수로 볼 때 가장 앞자리가 10인 것으로서 128.0.0.0~191.255.255.255 사이의 번호를 말한다.

    10XXXXX

    XXXXXX

    XXXXXX

    XXXXXX

    (X는 0 또는 1, 붉은 색은 네트워크 부분, 흰색은 호스트 부분)
      * C클래스 : IP를 2진수로 볼 때 가장 앞자리가 110인 것으로서 192.0.0.0~223.255.255.255사이의 번호를 말한다. 여기까지 사용자가 흔히 볼 수 있는 IP주소이다.

    110XXXX

    XXXXXX

    XXXXXX

    XXXXXX

    (X는 0 또는 1, 붉은 색은 네트워크 부분, 흰색은 호스트 부분)
      * D클래스 : IP를 2진수로 볼 때 가장 앞자리가 1110인 것으로서 224.0.0.0~239.255.255.255사이의 번호를 말한다. 특수 용도로 사용.
    (앞에서 네자리 부분인 1110만 네트워크 부분, 나머지는 호스트 부분이다.
      * E클래스 : 240~.0.0.0~255.255.255.255사이의 주소로서 사용불가 영역이며, 인터넷에 연결되지 않는다면 사용해도 상관없다.
    - 서브넷 마스크 : IP주소는 서브넷 마스크로도 여러 그룹으로 구분할 수 있다. 10명 정도가 사용하는 네트워크에 C클래스를 할당한다고 해도 그 사용자는 256개의 컴퓨터를 쓸 수 있게 되지만, 그 모든 것을 그 사용자에게 주는 것은 비효율 적이다. 따라서 좀더 효율적으로 구분하기 위해 서브넷 마스크를 사용하게 된다.
      * 서브넷 마스크는 IP와 마찬가지로 32비트로서, 4자리로 나눈 숫자들이다.
      * 사용자는 호스트 부분의 서브넷 마스크를 지정해 줌으로서 네트워크를 세분화하여 사용할 수 있다.(네트워크 부분은 1, 호스트 부분은 0 또는 1 이다.)

    11111111

    11111111

    11111111

    XXXXXXXX

    (C클래스의 서브넷 마스크의 기본적인 모습. 서브넷 마스크의 네트워크 부분은 무조건 1이다. 즉 255.255.255.XXX의 모습을 가진다.)
    * 서브넷 마스크의 동작 방식은 실제 IP와 서브넷 마스크를 AND연산하는 것이다. (경로 설정에 필요없는 부분을 모두 걸러버리는 것이다.)

    11001110

    11001011

    11011011

    01011111

    11111111

    11111111

    11111111

    10000000

    위는 실제 IP, 아래를 서브넷 마스크라고 할 때, AND연산하면 아래와 같이 된다.

    11001110

    11001011

    11011011

    00000000

     위에서 서브넷 마스크의 호스트 부분을 1로 처리했다. 왜냐하면 호스트부분의 가장 앞자리를 보고 라우터는 호스트 부분까지도 라우팅 할 수 있게되기 때문이다. 즉 사용자는 호스트 부분을 두개의 네트워크로 구성할 수 있게 되는 것이다.(나누어진 2개의 네트워크도 라우팅이 되므로) 사용자는 이런식으로 서브넷 마스크를 이용하여 호스트부분을 몇개로도 나누어 따로 네트워크를 구축할 수 있게 된다.
    - 공인(Public) IP와 사설(Private) IP : 공인 아이피는 인터넷으로 연결되는 아이피들을 말하며, 사설 아이피는 인터넷으로 나가지 않는 조건으로 사용자가 마음대로 아이피를 부여하여 사용하도록 한 IP 범위를 말한다.
    * 아래는 사설 IP대역을 말한다.

    IP 대역

    클래스

    10.0.0.0~10.255.255.255

    A 클래스 (1개)

    172.16.0.0~172.31.255.255

    B 클래스 (16개)

    192.168.0.0~192.168.255.255

    C 클래스 (256개)

    (사설 IP를 이용한다고 인터넷에 나갈수 없는 것은 아니다. 하나의 공인 아이피를 사설 IP를 사용하는 네트워크 망에 부여하고 NAT를 이용하여 사설 IP를 공인 IP로 변환하여 인터넷으로 나갈 수 도 있다. PAT는 같은 IP를 사용하면서, 포트로서 각 장치를 구분하는 것이다.)
    - IP 프로토콜이 사용하는 헤더는 다음과 같다.


     - 버전 : IP 프로토콜의 버전(IPv4, IPv6등이 있다)
     - 헤더 길이 : 헤더의 길이
     - 서비스 타입 : IP 데이터그램의 우선 순위
     - 전체 길이 : 헤더와 데이터의 길이 합
     - ID : 데이터 그램 일련 번호
     - 조각 상태 : 패킷이 분리된 상태
     - 조각의 위치 : 조각이 전체 데이터 그램에서 어느 부분에 속하는지 구분
     - TTL : Time to Live로서, 의도치 않게 라우터들이 패킷을 같은 경로를 빙빙돌게 경로들이 설정 할 수 있다. 이런 빙빙 도는 패킷이 쌓이면 네트워크 트래픽이 증가할 수 밖에 없다. 이런 경우를 막기위해, 패킷이 처음 전송될 때 TTL에 적당한 숫자 값을 주고(Windows 2000 : 128, Linux : 64), 경유지를 통과할 때마다 TTL을 1씩 감소시켜 0이되면 패킷을 소멸시키도록 만들었다.
     - 프로토콜 : IP프로토콜을 사용하는 상위 계층의 프로토콜
     - 체크섬 : 데이터 손실여부 판단
     - Source IP : 출발지 IP 주소
     - Destination IP : 목적지 주소
     - 선택사항 : 최대 40bit로서 보안 옵션등의 선택 사항 정보가 담겨진다.
     - Padding : 헤더를 32bit크기로 맞추기 위한 데이터가 삽입되는 부분.


by thankee from tistory.com


신고
Tag : 서브넷 마스크, 프로토콜
Commented by aedsg at 2012.04.25 02:03 신고  r x
65535 가 맥스입니다
Replied by Favicon of http://thankee.tistory.com BlogIcon thankee at 2012.06.16 14:07 신고 x
오타가 있었네요^^, 정정했습니다.. 감사합니다.

name    password    homepage
 hidden


 Category
분류 전체보기 (95)
Netwrok & Security (6)
Web Development (61)
Database (5)
Framework (6)
Others (17)
About (0)
 TAGS
SourceSafe2005 ebnf 영국 인턴쉽 PHP 강좌 ASP.NET ajax 오라클 구조 Silverlight XML linux WCF mantis bug tracker smarty mantis exception UpdateProgress web tier 리눅스 DTD 영국 홈스테이 php data tier Blog API ATRIX MS SQL Server 영국 학원 ASP 자바스크립트 ie6 자바스크립트 버그 오라클 특수문자 class id 차이 application error #401 RFC 4180 SourceSafe Internet id name 차이 maxRecievedMessageSize c#.net LiveMail It's me
 Calendar
«   2017/12   »
          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            
 Visitor Statistics
Total : 251,720
Today : 49
Yesterday : 124
rss
 

티스토리 툴바