티스토리 뷰

DEV/Network

Layer

초록매실원액 2015. 12. 11. 13:35

Physical Layer


  • Straight-Through Cable

Router <-> Switch

Switch <-> Computer

Hub    <-> Computer

  • Crossover Cable

Router <-> Router

Switch <-> Switch

Hub    <-> Hub

Switch <-> Hub

Hub    <-> Switch

Router <-> Computer


Cable & Connector

Twisted-Pair

10BaseT

10 : 대역폭, base : base band

Unshielded (UTP)

Shielded (STP)

Coaxial

10base2, 10base5

2 : 185m, 5 : 최대전송거리 500

ThinNet
ThickNet

Fiber-Optic

100baseFx

Multi Mode
Single Mode


UTP Cable Category

CAT 1

1Mbps 미만

아날로그 음성(전화) ISDN

CAT 2

4Mbps

주로 IBM 토큰링에 사용

CAT 3

16Mbps

10Base Ethernet 데이터 음성 전송

CAT 4

20Mbps

16Mbps 토큰링에서 사용. 많이 사용하지 않음

CAT 5

100Mbps

100Mbps FastEhernet Network. 가장 보편적

CAT 6

200Mhz ~ 250 Mhz

1000Mbps 구성하기 위해 만들어 졌다




Datalink Layer

Ehernet Frame Header

Ethernet 역사


Ethernet Frame Structure

Ehernet II (DIX 2.0)

  • 8byte 구성

  • 송신측과 수신측의 비트 동기화를 위해 사용

  • 영역의 다음부터 바이트 열의 유효한 프레임이 전달됨을 알림

  • 상위 7byte : 비트 동기화를 위해서 10101010으로 비트열을 전달

  • 하위 1byte : 프레임의 시작을 알리는 10101011 절달

    • type

      • ip : 0x0800
      • arp : 0x0806

IEEE 802.3

  • 7byte 구성

  • 송신측과 수신측의 비트 동기화를 위해사용

  • 상위 7byte : 비트 동기화를 위해서 10101010으로 비트열을 전달

  • 하위 1byte : 프레임의 시작을 알리는 10101011 절달

  • 802.3에서는 하위 1byte SFD(Start Frame Delimiter) 부름 ( 그림의 SOF)

    • length : data 길이

    • 802.2 Header

      • dsap

      • ssap

    • Ctrl. : 0x03 고정값



Network Layer


IP address classes

Class

옥탯의 범위

이론적 ip 주소 범위

A

   0 ~ 127

   0.0.0.0 ~ 127.255.255.255

B

128 ~ 191

128.0.0.0 ~ 191.255.255.255

C

192 ~ 223

192.0.0.0 ~ 223.255.255.255

D

224 ~ 239

224.0.0.0 ~ 239.255.255.255

E

240 ~ 255

240.0.0.0 ~ 255.255.255.255

 

Multicast address

범위 시작 주소

범위 주소

설명

224.0.0.0

224.0.0.255

특수 멀티캐스트 주소로 예약

224.0.1.0

238.255.255.255

전역(인터넷 전체) 멀티캐스트 주소

239.0.0.0

239.255.255.255

관리용(로컬) 멀티캐스트 주소

 

주소

설명

224.0.0.0

예약됨

224.0.0.1

서브넷의 모든 장비

224.0.0.2

서브넷의 모든 라우터

224.0.0.3

예약됨

224.0.0.4

DVMRP 사용하는 모든 라우터

224.0.0.5

OSPF 사용하는 모든 라우터

224.0.0.6

OSPF 지정된 라우터

224.0.0.9

RIP-2 지정된 라우터

224.0.0.10

EIGRP

224.0.0.11

모바일 에이전트(모바일 ip)

224.0.0.12

DHCP 서버/중계 에이전트


Type of Data Transmissions

  • Unicast

    • A host -> b host 에게 data 전달하는 일반적인 방법

    • HOST to HOST

  • Broadcast
    • 단일 Host Segment 모든 호스틀 대상으로 Data 전달
    • 동일한 정보를 한번에 모든 호스트에게 전달하는 장점을 가짐

    • Multicast
      • 단일 HOST 예약된 주소
      • 목적지 주소를 주소에 예약된 Multicast Address 입력하여 전달.
      • 동일한 정보를 한번에 여러 호스트에게 전달


    IP Header Format


    4계층에서 내려온 데이터에 IP Header 붙어서 2계츠응로 내려가면 Ehernet II Frame으로 캡슐화 되고 타입 필드에 0x0800 들어간다

    헤더의 길이는 20~60Byte이다

    Version

    패킷이  IPv4인지 IPv6인지 나타냄

    IPv4일때는 0100

    IHL(Header Length)

    IP헤더의 길이를 4Byte 단위로 나타냄 [ 0001 ~

    Type of Service(TOS)

    IP패킷의 우선순위를 정의한다.

    음성 -> 영상 -> Text

    Total Length

    패킷(헤더+데이터) 길이를 바이트 단위로 나타냄 (46 ~ 1500 byte)

    Identification

    패킷을 식별하는 번호로, 패킷을 재조합 할때 사용

    IP Flages

    패킷이 단편호 되었는지 아닌지 단서를 제공하는 역할

    첫번째 비트 : 예약되어 있는 비트(항상 0)

    두번째 비트 : D(Don't Fragment?) 패킷이 분할되지 않았습니까?

    • 1:, 분할되지 않았습니다
    • 0:아니오, 분할되었습니다

    세번째 비트 : M(More Fragment?) 분할된 패킷이 있습니까?

    • 1:, 있습니다.내가 마지막 패킷이 아니다
    • 0:아니오.제가 마지막 패킷입니다

    Fragment Offset

    패킷 재조립시 분할된 패킷간의 순서에 대한 정보

    전체 데이터에서 분할된 패킷의 상대 위치를 8byte 단위로 나타낸다

    정의된 값에 8 곱한 값이 패킷의 삽입 위치가



    Time To Live(TTL)

    패킷이 경유할 있는 최대 수를 나타냄

    패킷이 라우터를 통과할때마다 TTL값은 1 감소하게 되고, 0 되면 패킷은 폐기됨, 이때 송신측으로 ICMP메시지가 전달됨

    일반적인 TTL값은 운영체제에 따라 다름(Window :128, Linux 64, 기타 : 255)

    목적지가 아무리 멀어도 보통 값이 30이면 도달

    Protocol

    IP Datagram 몸체에 저장된 상위 계층 프로토콜을 나타냄

    ICMP : 0x01

    TCP   : 0x06

    UDP  : 0x11

    Header Checksum

    오류 발생 여부를 확인

    IP Option

    특별한 처리 옵션이 추가로 들어 있는 필드



    ARP(Address Resolution Protocol)

    TCP/IP 네트워크 모델의 인터넷 계층과 네트워크 인터페이스 계층 간에 주소 링크를 만듬

    목적지 IP 주소 정보를 사용하여 목적지 이더넷 (MAC) 주소를 가져오는 주소 결정 작업 수행

     

    RARP(Reverse Address Resolution Protocol)

    TCP/IP 네트워크 모델의 네트워크 인터페이스 계층과 인터넷 계층 간에 주소 링크를 만듬

    목적지 이더넷(MAC) 주소 정보를 사용하여 목적지 IP주소를 가져오는 주소 결정 작업 수행

     

    arp - a : arp 테이블의 입력 항목을 표시


    IGMP(Internet Group Management Protocol)

    • 멀티캐스트 통신할 사용하는 프로토콜 누가 정보를 받고자 하는지를 등록하는 녀석

    • Data 받고자 하는 사람들을 등록하는 녀석

    ICMP(Internet Control Message Protocol)

    • IP 신뢰성을 보장하지 않는다

    • Icmp 오류 정보를 발견 송신측에 메시지를 전달하는 기능

    •  

    • 0,8   정상메시지

    • 3, 11 비정상 메시지

    Type

    Message

    0

    에코 응답(Echo Reply)

    3

    수신처 도달 불가( Destination Unreachable )

    4

    발신제한(Source Quench)

    5

    라우트 변경 (redirect)

    8

    에코 요청 (Echo Request)

    11

    시간 초과(Time Excceded) == TTL over

    12

    파라미터 불량

    13

    타임 스탬프 요청

    14

    타임 스탬프 응답

    15

    정보 요구

    16

    정보 응답

    17

    주소 마스크 요구

    18

    주소 마스크 응답


    Icmp Error Message

    Icmp 에러 메시지를 읽는 가장 쉬운 방법은 메시지를 다룰 있는 크기로 나누는

    메시지의 부분은 항상 보고되는 측정 ICMP 에러 메시지를 나타내며,

    메시지의 나머지 부분은 실패한 IP데이터그램의 헤더와 데이터 8바이트를 포함

     

    Code

    Message

    0

    Network Unreachable

    1

    Host Unreachable

    2

    Protocol Unreachable

    3

    Port Unreachable

    5

    Source Route Failed

    6

    Destination Network Unknown

    7

    Destination Host Unknown



    Transport Layer



    UDP( User Datagram Protocol )

    IP네트워크에서 응용프로그램들은 서로 통신하기 위해서 TCP UDP 표준전송 프로토콜을 사용.

    UDP 신뢰성이 없고 오버헤드가 적어서 빠른 전송 서비스를 제공하는 사용자 Datagram Protocol

     

    Port

    Description

    53

    Domain Name System(DNS)

    69

    Trivial File Transfe Protocol(TFTP)

    137

    NetBIOS Name Service (WINS)

    161

    Simple Network Management Protocol (SNMP)


    TCP(Transmission Control Protocol)

    오버헤드가 편이고, 신뢰성이 높은 편이다

    Port

    Service

    20,21

    FTP

    23

    Telnet

    25

    SMTP

    80

    HTTP

    110

    POP3

    194

    Internet Relay Chat (IRC)

    443

    Secure HTTP (HTTPS)

    1863

    MSN Messenger

    8008

    Alternate HTTP

    8080

    Alternate HTTP


    TCP Three way Handshake



    1.SYN

    클라이언트는 서버에 연결을 시도하려는 SYN 패킷을 우선 보낸다.

    , 서버에 연결을 설정하고 싶다는 요청과 함께 일련번호(x) 설정하여 서버에게 전송한다.

    , 일련번호 0

     

    2.SYN+ACK

    서버는 클라이언트가 보낸 일련번호(x) 1 더한 값을 ACK number(y) 설정하여 보낸다. 또한 다시 랜덤하게 생성한 (y) 일련번호로 하여 SYN 패킷에 넣는다

    , 일련번호 :0 , ack : 1

     

    3. ACK

    클라이언트는 서버에게서 받은 sequence number 사용하여 ACK 번호(y+1) ack 패킷을 전송

    두번째로 교환한 패킷의 일련번호보다 1 ACK number 전송

    , 일련번호 :1 , ack : 1



    TCP Header


    Source Port

    송신 포트 번호

    Destination Port

    수신 포트 번호

    Sequence Number

    1: 초기 순서 번호

    0: 세그먼트의 순서 번호

    Ack Number

    수신자에 의해 예상되는 다음 바이트의 순서 번호를 나타냄

    TCP 통신시에는 누적

    Offset

    TCP 헤더의 32비트 워드 번호

    TCP 헤더의 시작부터 데이터 이전까지의 길이(, 헤더의 길이, 4Byte 단위)

    Reserved

    예약되어 있는 필드

    Flag(code)

    C,E 안씀

    URG : 긴급 포인터 (Urgent Pointer) 있음 표시

    • Telnet에서 인터럽트 명령 전송 사용

    ACK : 확인 응답번호(acknowledgment number) 기술되어 있음을 표시

    PSH : 데이터를 가능한 빨리 응용 계층으로 보내야 함을 표시

    TCP 즉시 메시지를 상위 계층 프로세에 즉시 전달 있게 해줌

    RST : 연결를 재설정 하기 원함을 표시

    • 복구되지 않는 오류로 인해 가상회로를 리셋하기 위해 사용

    SYN : 연결을 초기화 하기 위해 순서번호 (Sequence number) 동기화

    • SYN = 1, ACK = 0 연결 패킷 (연결 요청)
    • SYN = 1, ACK = 1 연결 수신 통시(연결 요청 응답)
    • SYN = 0, ACK = 1 데이터 or ACK패킷

    FIN : 송신 측이 데이터 전송을 종료함

    Window

    수신측이 받을 있는 데이터 사이즈를 수신측에서 송신측으로 전송하는

    Checksum

    TCP헤더 데이터를 포함 세그먼트 전체에 대하여 계산한 (오류 체크)

    Urgent Pointer

    긴급히 처리해야 필요가 있는 데이터의 마지막 바이트의 위치

    Option

    연결이 구성되는 동안 협상할 최대 Segment크기(MSS)옵션을 정의함





    'DEV > Network' 카테고리의 다른 글

    VLAN  (0) 2015.12.14
    Spanning-Tree Protocol  (0) 2015.12.14
    Switch  (0) 2015.12.14
    CSMA/CD  (0) 2015.12.14
    OSI 7 Layer  (0) 2015.12.11
    댓글
    공지사항
    최근에 올라온 글
    최근에 달린 댓글
    Total
    Today
    Yesterday
    링크
    «   2024/07   »
    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
    글 보관함