데이터 통신 2장 Network Models

Coding_Holic·2021년 10월 19일
1

데이터통신

목록 보기
3/10
post-custom-banner

2-1 Layered Tasks (프로토콜 계층화)

  • layers의 개념을 매일 쓴다!

2-2 The OSI Model

  • ISO standards는 Open Systems Interconnection(OSI) model

  • 1970년대 말에 처음 소개되었다.

  • open system은 두개의 다른 시스템이 통신할 수 있도록 하는 set of protocol

  • OSI model: layered framework

  • Layered model: 7 layers

  • ISO는 organization, OSI is the model.

2-3 Layers in the OSI Model


  • Encapsulation: OSI모델을 사용한교환

    Sender는 encapsulation, Receiver는 decapsulation!
    각 layer는 data unit에 header를 더한다, 흔히 trailer는 layer 2(data link) 계층에서 더해진다.

Physical Layer

  • bit stream 제공
  • 프레임의 각 비트들을 건너편 링크로 전달할 책임이 있다!
  • 물리층에서의 두 장치 사이의 통신은 여전히 논리적 통신이다
  • 전송매체를 이용한다
  • 물리적 장치와 인터페이스가 전송이 일어나기 위해 해야 할 절차와 기능을 정의해야한다.
  • 전기 또는 광학 신호를 전송한다!
  • one hop에서 다음 hop까지, 프레임을 이동시킨다
  • physical medium을 reliable link로
  • 네트워크 계층이 error-free하게 보이도록 한다.
  • 유/무선 링크를 통하여 프레임 전달 책임
  • 상위층으로부터 데이터그램을 받아 프레임으로 캡슐화
  • 다양한 링크층 프로토콜에 따라 서로 다른 서비스를 제공

Network Layer

  • 발신지 컴퓨터와 목적지 컴퓨터간의 패킷 배달 담당 (multiple links)
  • two systems이 같은 링크로 연결되어있으면, 네트워크 계층 필요없음!

Transport Layer

  • 전체 메시지의 process to process 전달을 책임
  • 응용층으로부터 메시지를 받아 전송층 패킷으로 캡슐화하여 목적지 호스트의 전송층에 전달을 책임진다.
  • 응용층에 서비스를 제공한다.
  • 프로세스는 호스트에서 실행되는 application program이다!

Session Layer

  • dialog control과 동기화를 책임진다
  • 통신 시스템간의 상호관계를 구축, 유지, 동기화한다

Presentation Layer

  • 두 시스템 사이에 교환되는 정보의 syntax와 semantics와 관련 있다
  • translation(번역), compression(압축), encryption(암호화)

Application Layer

  • 유저에게 서비스 제공
  • 유저에게 인터페이스와 서비스 지원을 제공한다 ex) email, remote file access and transfer 등등

physicla -> bits 단위 전달
Data link-> bits를 frame으로, hop-to-hop delivery
Network -> packet을 source에서 destination으로 이동, internetworking을 제공
Transport -> process-to-process message 전달과 에러회복 제공
Session -> 세션 구축, 관리, 중단
Presentation -> 데이터를 번역, 압축, 암호화
Application -> 네트워크 자원에 접근 허용

2-4.TCP/IP Protocol Suite

  • OSI 모델과 다르다
  • original TCP/IP는 4개의 층으로 구성: host-to-network, internet, transport, and application
  • 그러나, OSI와 비교하기 위해 5계층!: physical, data link, network, transport, and application
  • TCP/IP는 특정 프로토콜을 정의하지 않고 표준과 독점 프로토콜을 다 지원

Network Layer:

  • network에서, TCP/IP는 IP를 제공한다
  • IP는 4가지 프로토콜을 지원한다:
    -ARP(Address Resolution Protocol)
    -RARP(Reverse Address Resolution Protocol)
    -ICMP(Internet Control Message Protocol)
    -IGMP(Internet Group Message Protocol)

Transport Layer:

  • 전통적으로, tranport layer은 TCP/IP에서 두가지 프로토콜로 표현된다
    -TCP(Transmission Control Protocol)
    -UDP(User Datagram Protocol)
  • 새로운 transport layer protocol인 SCTP(Stream Control Transmission Protocol) voice 전달을 위해 만들어 졌다

Application Layer:

  • session + presentation + application 의 합
  • protocol:
    SMTP(Simple Mail Transfer Protocol): 인터넷 표준 메일 프로토콜
    FTP(File Transfer Protocol): 인터넷 표준 파일 전송 프로토콜
    HTTP(HyperText Transfer Protocol): Web browser와 server의 정보 교환 프로토콜
    DNS(Domain Name System): 인터넷에서 여러 기계들에 있는 분산 데이터 베이스, ip addresses와 name 사이에 전환하기 위해 사용됨
    SNMP(Simple Mail Transfer Protocol)
    TELNET(Virtual Terminal Protocol)



2-5.Addressing

  • LAN or WAN으로 정의된 노드의 주소

Logical addresses

  • 물리 네트워크와 독립적으로, 전역 통신에 필요함
  • 현재 IP주소 -> 32bit
  • logical address A -> P

물리 주소는 hop to hop, logical address는 동일하게 남아있는다.

Port numbers

  • TCP/IP구조에서, 프로세스에 할당된 label은 port number라 불린다
  • TCP/IP에서 port number 는 16 bits 길이이다.

Names

  • 이름을 만들어서 사용자 친화적인 주소를 가진다
  • 보내는 컴퓨터에 의해 port와 logical address로 바뀐다.

Multiplexing/Demultiplexing

  • Multiplexing은 캡슐화
  • Demultiplexing은 역캡슐화

IP Utilities

  • ping : 호스트가 온라인인지,이용가능한지 결정할 수 있다
  • tracert: 패킷의 경로를 결정할 수 있다
  • nslookup: ip address 찾을 수 있음
  • netstat: local host의 네트워크 상태정보 제공
  • ipconfig: 호스트에 관한 TCP/IP정보 제공 (IP address, subnet mask, default gateway for the host)

tcpdump 와 Network protocol analyzer

  • tcpdump 프로그램은 네트워크 인터페이스에서 IP패킷을 가져온다

  • 관심있는 패킷을 고르기 위해 필터링한다

  • Packets & higher-layer messages는 전시되거나 분석될 수 있다.

  • tcpdump 기반의 많은 네트워크 프로토콜 분석기들 -> troubleshooting network

  • 오픈소스 네트워크 프로토콜 분석가들

  • 계층화된 TCP/IP 프로토콜 구조를 이해하기 위해 네트워크 프로토콜 분석가를 쓴다!

profile
안녕하세용 개발에 미치고 싶은 초보 개발자입니다:)
post-custom-banner

0개의 댓글