Cisco

Cisco // 데이터 전송 프로토콜

깨래 2018. 2. 26. 20:09


1. TCP(Transmission Control Protocol) 20byte


 - Layer 4 계층 프로토콜

 - 연결 지향성 프로토콜 : 상대방과 통신 수립 연결을 실시하고 난 이후, 데이터 요청 및 응답 실시

 - '3-Way 핸드 쉐이킹' 동작 실시

 클라이언트에서 Syn(통신합시다)를 보내면 서버에서 응답을 받고(ACK), Syn(통신합시다)를 보낸다. 

 그럼 다시 클라이언트에서 ACK를 보내는데이게 3-way 핸드 쉐이킹


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


Syn  ->

<-  Syn, Ack

Ack  -> 

~ 통신 수립 완료 ~

   (ESTABLISHED)


데이터/서비스 요청 ->

<- 데이터/서비스 응답


[참고] TCP Control Flag (6bit) 


(총 8비트인데 앞의 2비트는 혼잡 제어 기능을 한다.)


 - urg (1.....) : 긴급한 데이터 표기 (클라이언트에서 보낸다고 해도 서버쪽에 이 프로그램이 있어야 함)

 - ack (.1....) : 확인 응답/승인

 - psh (..1...) : 수신처리 이후, 상위 프로세스로 처리

 - rst (...1..) : 강제 종료 (ack 수신 여부 불필요 강제종료이기 때문에) 

 - syn (....1.) : 통신 개시

 - fin (.....1) : 정상적인 종료 (ack 수신 여부)


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

 - 데이터를 일정 단위로 나눈 것 = 세그먼트   세그먼트에 순서 번호를 매긴다.


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


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


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


 - 혼잡 제어 기능 : 혼잡 발생시 전송률을 최소화하는 기능 (앞의 2 비트)


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


 - 재전송 기능 : 송신한 세그먼트에 대한 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) 8byte


 - 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)


인터넷을 연결하면 tcp(http), udp(dns) 다 씀 

TCP는 통신 연결이 필요한 경우(재전송), UDP는 통신 연결이 불필요한 경우 (실시간, 보이스)



3. IP(Internet Protocol)


 - Layer 3 계층 프로토콜

 - 비연결 지향성 프로토콜

 - 로컬 환경에서 리모트 환경으로 데이터 전송 담당

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


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


 - Cisco 255

 - Window 128

 - Linux 64

window ------------R1 ---------------- R2 --------------------- R3 ------------------linux

TTL=128 ----->수신처리하면 -1                 -1                                     -1                     

                                127                            126                                   125                               124 이런 식으로 거리 측정 


(내 컴퓨터와 강사님 컴퓨터의 핑을 때려보니 TTL은 128 이는 중간에 거치는게 없기 때문에 같은 네트워크)


TTL이 0이 되면 드랍이 된다. (루프 방지)


서비스  http, https, telnet, ssh dns, tftp, dhcp, ntp

ftp, smpt, pop3 syslog, snmp


Layer 4 TCP                                   UDP

통신 연결 필요                  통신 연결 불필요


Layer 3         IP

로컬 네트워크 -> 리모트 네트워크 데이터 전송 담당


Layer 2         ETH

   ETH 환경 내부에서 데이터 전송 담당


Layer 1  전기 신호 입출력 처리



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


사전 테스트라고 생각, ping이 되면 dns, 등등 데이터의 송수신이 가능하다.


icmp를 차단하는 이유 : 해킹공격( 자세한것은 추 후 검색을 통해 수정하겠습니다. )

tracert는 TTL을 1씩 증가시켜서 보낸다. ( 경로 추적 )


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