본문 바로가기
프로그래밍/NETWORK

[NETWORK 4일차] 데이터 전송 프로토콜( TCP, UDP, IP, ICMP, ARP )

by B T Y 2017. 5. 11.
반응형

데이터 전송 프로토콜( TCP, UDP, IP, ICMP, ARP )에 대해서 정리한다.

 

 

 

※ 데이터 전송 프로토콜

 

 

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 : 송수신할 수 있는 세그먼트양
 
 - TCP 사용 서비스 : HTTP(80), HTTPs(443), Telnet(23), SSH(22), FTP(21), FTP-Data(20), SMTP(25), POP3(110)

 

 - TCP를 사용하는 서비스 특징

 

      통신 연결이 필요한 경우
      데이터 스트림 서비스가 필요한 경우
      지속적인 관계에서 장기간 서비스를 제공할/받을 경우
      재전송이 필요한 경우

 

 

( TCP는 연결을 위해 SYN과 ACK를 이용하고 TCP Control Flag에는 6가지 종류가 있다 )

 


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), Syslog(514)

 

 - UDP를 사용하는 서비스 특징

 

     통신 연결 없이 데이터 요청 및 응답만 필요한 경우
     자체적인 통신 연결 시스템이 있는 경우
     재전송이 필요 없는 경우
     음성 데이터와 같은 실시간 데이터를 전송할 경우

 

 

( wireshark를 통해 UDP를 살펴보면 오류검사 기능이 있기 때문에 Checksum이 있고

dns 서비스이기 때문에 도착 포트가 53번인걸 볼 수 있다 )

 

 

3. IP(Internet Protocol)

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

 

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

 ( 기본값이기 때문에 관리자 설정에 따라서 바뀔수도 있고 라우터를 지날때마다 TTL 값이 1씩 줄어든다 )

 - Cisco  255
 - Window  128
 - Linux  64

 

 

( ping 명령어를 이용해서 pc1에서 pc2로 ping을 보내면 라우터를 두개 거쳐왔기 때문에

pc1이 윈도우 운영체제인데 TTL값이 128이 아닌 126으로 나오는걸 볼 수 있다 )

 


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     정적

 

 

반응형

댓글