Cisco // 데이터 전송 프로토콜
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 정적