보안 및 네트워크 관리자 과정] 03. 데이터 전송 프로토콜  



TCP, UDP, IP, ETH     4가지  -> 실제 데이터 전송용!  


icmp , arp - 사전준비? 보조용  





1. TCP (Transmission Control Protocol) 

  

  * 20 바이트   

  * Layer 4계층 프로토콜  

  * 연결 지향성 - 먼저 통신연결 수립 후 데이터 전송함  (Like 전화 ) 


  * 3-way 핸드 쉐이킹'  실시


 



 

 - 데이터 스트림 서비스 : 데이터 세그먼트 단위로 생성(분할)하여 전송 및 수신 처리 실시


       Sequence number ( 순서번호)      Acknowledgement number (확인번호)


 - 전송효율, CPU처리효율 up  


 

  *흐름 제어 기능   

      1) stop & wait : 송신한 세그먼트에 대한 Ack를 수신해야, 다음 세그먼트 전송 



 A

 

B

D1

 ------------------------------------>

 

 

 <------------------------------------

 Ack1

 D2

 ------------------------------------>

 

 

 <------------------------------------

 Ack2


         세그먼트 송신처리 지연 발생가능  및  Ack 양 너무 많이 발생   


 2) 슬라이딩 윈도우 :수신측에서 세그먼트 처리양 맞게 전송 세그먼트양 조절해서 전송 

*윈도우 : 송수신 가능한 세그먼트 양  

A

 

 B

 D1

 ------------------------------------>

 

 

 <------------------------------------

 Ack 2  

 D 2,3

 ------------------------------------>

 

 

 <------------------------------------

 Ack '4'[각주:1] 

 D 4,5,6,7

 ------------------------------------>

 

 

 <------------------------------------

 Ack 8  

 

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

-> Flag에 CWR, Ecn-echo 2개 있긴 한데 잘 안씀 


  * 오류검사 (Checksum) : 수신한 세그먼트 손상 여부 판단 

-> 손상된 세그먼트는 드랍처리, 드랍시 Ack 안보냄  


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

-> 일정시간 안에만 재전송, 시간 지나면 TCP 연결 해제   


  * Window Size : 송 수신 할 수 있는 세그먼트 양  -> 송수신측 중 낮은쪽에 맞춰서. 


  * 어플리케이션 프로토콜  

    - HTTP (80), HTTPs(443), Telnet(23), SSH(22), FTP(21), FTP-date(20), SMTP(25), POP3(110) 



2.UDP (User Datagram Protocol)

   

  * 8 byte 

  * Layer 4계층 프로토콜 

  * 비 연결 지향성 프로토콜  


  * 3-way 핸드 쉐이킹, 재전송 같은 TCP가 하는거 대부분 안함 그래서 가벼움      

       -> 이런 기능들 필요 없는 용도일때 UDP, 필요하면 TCP 사용  


  * 오류검사 (공통사항)  


  * 어플리케이션 프로토콜 

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

   


 3. IP (Internet Protocol) 


  * 20 Byte 

  * Layer 3계층 프로토콜  

  

  * 로컬 환경에서 리모트환경(외부)로 데이터 전송 담당!  <- IP의 존재 이유 


  * TTL (Time to Live) : 8bit (0~255), 거리측정 및 패킷루프방지 기능.  

 

 패킷루프(루핑) -> 데이터 루프 -> 과부하 발생)  -> TTL이 0이되면 드랍

  -> 루핑 완전 해결은 못해도 완화 가능  


     - TTL 기본값    Cisco : 255 , Window : 128 , Linux : 64  

Window 

R1 

R2 

R3 

LINUX 서버 

 TTL = 128 ---->

---->127----> 

---->126----> 

---->125----> 

 125 도착  

61 도착  

<----62<---- 

<----63<---- 

<----64<---- 

TTL 64 출발  

      거리측정 = 라우터 단위  



 4. ICMP (Internet Control Message Protocol)


  * IP 이용한 데이터 전송 가능여부 테스트 하는 프로토콜   

  * 'Ping" , 'tracert'   


  * Ping   :  TCP, IP 없이 ETH | ICMP 만 담아서 보냄   


     ICMP Echo-Request (tpye 8)  -> 보내는 쪽에서 요청  

     ICMP Echo-Reply (type0)      -> 핑 받은 쪽에서 응답 

     ICMP Unreachable              -> 목적지까지 도달 불가능 


ping     -t       핑 계속 보냄  중지는 Ctrl + E  

-i       핑 TTL 조절 

-l       송신 버퍼 크기 조절


  * tracert  : 해당 IP 까지 가는 경로 추적    

         - 요청 시간이 만료되었습니다 -> 보안 정책상 응답 안해주는 경우도 있음  

       Ping of Death  (ICMP 공격) 방지 위해서 대부분 포탈사이트들 방화벽에서 막아둠

       (구글은 작은 바이트& 횟수는 받음, 크거나 많아지면 그때 차단)  

 

 5. ARP (Address Resolution Protocol) 

       ETH 보조용  


  * 목적지 IP 주소에 대한 MAC주소를 설정해주는 프로토콜  

  * 사용한 주소에대한 MAC 주소를 자동학습해서 기억해둠, 없을경우 ARP요청 실시함   


  * ARP -a   - 테이블 확인    


    ARP Request 

( 192.168.1.1, MAC ?) ->    

    SA AA-BB-CC-DD-EE-91

    DA FF-FF-FF-FF-FF-FF          

                      * ARP 요청은브로드캐스트 -> 수신주소 전부1로 세팅 = FF  


ARP Response 

<-( 192.168.1.1, MAC : 12-34-56-78-90-ab )

SA 12-34-56-78-90-ab

DA AA-BB-CC-DD-EE-91

*ARP 응답은 해당 IP 에서 유니캐스트로



  1. 3번 까지 잘 받았고 , 송신양 증가시켜도 OK 라는 의미 [본문으로]
Posted by Sapiel
이전버튼 1 이전버튼

블로그 이미지
Sapiel

공지사항

Yesterday
Today
Total

달력

 « |  » 2025.5
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

최근에 올라온 글

최근에 달린 댓글

글 보관함