데이터 전송 프로토콜( 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)
- 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' 명령어
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 요청 및 응답 실시
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.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 정적
'프로그래밍 > NETWORK' 카테고리의 다른 글
[NETWORK 6일차] IP 주소 특징( 공인 IP, 사설 IP ) / 서브넷팅 (0) | 2017.05.16 |
---|---|
[NETWORK 5일차] IP 주소 특징( 서브넷 마스크, IP 주소 클래스, 설정 불가능 IP 주소, 네트워크 이름 & 서브넷 브로드케스트 주소 ) / 와이어샤크(wireshark) 필터 (0) | 2017.05.16 |
[NETWORK 3일차] 네트워크 PC2에서 PC1 응답처리 과정 예제 (0) | 2017.05.11 |
[NETWORK 2일차] 네트워크 주소 체계( 포트 번호, IP 주소, MAC 주소 ) (0) | 2017.05.10 |
[NETWORK 1일차] 네트워크 정의(네트워크, 프로토콜, Encapsulation, 네트워크 유형, 데이터 전송 관계 / 방식 ) (0) | 2017.05.08 |
댓글