네트워크/CCNA 2016. 3. 15. 21:24

@ CCNA - 03. 데이터 전송 프로토콜

 

 

03. 데이터 전송 프로토콜.txt

 

@패켓 캡처 내용.pcap

@ARP 동작 과정.pkt

 

 

 

 

1. TCP(Transmission Control Protocol)

 

 - Layer 4 계층 프로토콜
 - 연결 지향성 프로토콜 : 상대방과 통신 수립 연결을 실시하고 난 이후, 데이터 요청 및 응답 실시
 - '3-Way 핸드 쉐이킹' 동작 실시

 

 

 

  A(클라이언트)                                       B(서버)

 

  Syn ->
                                                                     <- Syn, Ack
  Ack -> 
                           ~ 통신 수립 완료 ~
                              (ESTABLISHED)

 

  데이터/서비스 요청 ->
                                                          <- 데이터/서비스 응답

 

 

 

[참고] TCP Control Flag (6bit)

 

 - urg (1.....) : 긴급한 데이터 표기
 - ack (.1....) : 확인 응답/승인
 - psh (..1...) : 수신처리 이후, 상위 프로세스로 처리
 - rst (...1..) : 강제 종료
 - syn (....1.) : 통신 개시
 - fin (.....1) : 정상적인 종료

 


 - 데이터 스트림 서비스 : 데이터를 세그먼트 단위로 생성하여 전송 및 수신 처리 실시 (순서 번호 및 확인 번호 사용)

 

 - 흐름 제어 기능 : stop & wait 기법 -> 슬라이딩 윈도우 기법

 

            stop & wait : 송신한 세그먼트에 대한 Ack를 수신해야지만, 그 다음 세그먼트 전송
                              (다음 세그먼트 송신 처리 지연 발생 및 Ack 양 많음)

 

            슬라이딩 윈도우 : 수신측 세그먼트 처리양에 맞게 송신측에서 세그먼트 다수 전송
                                   (세그먼트 송신 지연 발생 및 Ack 양 최소함)

 

 

 - 혼잡 제어 기능 : 혼잡 발생시 전송률을 최소화하는 기능

 - 오류 검사 : 수신한 세그먼트 손상 여부 판단 (손상된 세그먼트는 드랍 처리 실시)

 - 재전송 기능 : 송신한 세그먼트에 대한 Ack를 수신하지 못하면, 해당 세그먼트를 재전송 실시

 - Window Size : 송수신할 수 있는 세그먼트양
 
 - HTTP(80), HTTPs(443), Telnet(23), SSH(22), FTP(21), FTP-Data(20), SMTP(25), POP3(110)

 

 


2. UDP(User Datagram Protocol)

 

 - Layer 4 계층 프로토콜
 - 비연결 지향성 프로토콜

 

           '3-Way 핸드 쉐이킹' 동작 실시 X
           데이터 스트림 서비스  X
           혼잡 제어 기능   X
           재전송 기능   X
           Window Size   X

 

 - 오류 검사


 - DNS(53), TFTP(69), DHCP Server(67), DHCP Client(68), SNMP(161), NTP(123)

 

 

 

3. IP(Internet Protocol)

 

 - Layer 3 계층 프로토콜
 - 비연결 지향성 프로토콜
 - 로컬 환경에서 리모트 환경으로 데이터 전송 담당
 - TTL(Time to Live) : 8bit(0~255), 거리 측정 및 패켓 루프 방지 기능

 

[참고] 운영 체제 TTL 기본값

 

 - Cisco  255
 - Window 128
 - Linux  64

 

 


4. ICMP(Internet Control Message Protocol)

 

 - IP 프로토콜을 이용한 데이터 전송 여부 가능 테스트 프로토콜
 - 'ping', 'tracert' 명령어

 

 

  A                                              B
  192.168.14.14                              192.168.14.11

 

  ping 192.168.14.11

 

  ICMP Echo-Request ->            <- ICMP Echo-Reply
  SA 192.168.14.14                           SA 192.168.14.11
  DA 192.168.14.11                           DA 192.168.14.14

 

 

 


5. ARP(Address Resolution Protocol)

 

 - 주소 변환 프로토콜
 - 목적지 IP 주소에 대한 MAC 주소를 설정하는 프로토콜
 - 만약, 목적지 IP 주소에 대한 MAC 주소가 없을 경우, 다음과 같이 ARP 요청 및 응답 실시

 

 

 

  A                                                                           B
  192.168.14.11                                                          192.168.14.14
  90-9F-33-EB-34-98                                                 90-9f-33-eb-36-ff

 

  ARP Reqeust(192.168.14.14, MAC ?) ->
  SA 90-9F-33-EB-34-98
  DA FF-FF-FF-FF-FF-FF
                                                                         <- ARP Response(192.168.14.14
                                                                             MAC 90-9f-33-eb-36-ff)
                                                                             SA 90-9f-33-eb-36-ff
                                                                             DA 90-9F-33-EB-34-98 

 

 


#ARP Table#

192.168.14.14 90-9f-33-eb-36-ff

 

A -> B

SA 192.168.14.11
DA 192.168.14.14
-------------------------- IP
SA 90-9F-33-EB-34-98 
DA 90-9f-33-eb-36-ff
-------------------------- ETH

 

 

C:\Users\Administrator>arp -d

C:\Users\Administrator>arp -a
ARP 항목을 찾을 수 없습니다.

 

C:\Users\Administrator>arp -a

인터페이스: 192.168.14.11 --- 0xd
  인터넷 주소           물리적 주소           유형
  192.168.14.1          50-6a-03-af-29-3c     동적
  192.168.14.255        ff-ff-ff-ff-ff-ff     정적
  224.0.0.252           01-00-5e-00-00-fc     정적

 

 

 

Ex) 헤더

 

   L2    L3   L4
   ETH | IP | TCP | HTTP
   ETH | IP | UDP | DNS
   
   ETH | IP | ICMP Echo
   ETH | IP | ICMP Echo-Reply

   ETH | ARP Request
   ETH | ARP Response

 

TCP 데이터 단위  : 세그먼트
UDP 데이터 단위 : 데이터그램
IP 데이터 단위 : 패켓
ETH 데이터 단위 : 프레임

 

 

 

[참고] 와이어셔크 필터

 

@[참고] 와이어셔크 필터.txt

 

 

ip.addr == 172.16.5.254
ip.addr == 172.16.5.254 && tcp
ip.addr == 172.16.5.254 && tcp.port eq 80
ip.addr == 172.16.5.254 && tcp.flags eq 0x02
ip.addr == 172.16.5.254 && tcp.flags eq 0x12
ip.addr == 172.16.5.254 && tcp.flags eq 0x10

ip.addr == 172.16.5.254 || tcp.port eq 80

 


ip.src == 172.16.5.254
ip.dst == 172.16.5.254
ip.src == 172.16.5.254 && udp
ip.src == 172.16.5.254 && udp.port eq 53

ip.addr == 172.16.5.254 && udp.port eq 53

 


!arp
ip.addr == 172.16.5.254 && ip && !arp && !tcp && !udp

 

 

icmp
icmp[0] == 8 
icmp.type eq 8

icmp[0] == 0
icmp.type eq 0

 


eth.dst eq ff:ff:ff:ff:ff:ff
arp.src.hw_mac == 00:07:70:a1:3c:02

 

host lm3.cafe.naver.com && tcp

 

 

 

 

[실습] 패켓 캡처 실시

 

@패켓 캡처 실습.txt

 

@패켓 캡처 실습(풀이).txt

 

 

 

 

Posted by 김정우 강사(카카오톡 : kim10322)
,


Q