TCP, UDP, IP, ICMP, ARP
network 2010. 6. 15. 14:40# TCP
- Layer 4 계층 프로토콜
- 상위 계층에서 생성된 데이터를 전송하도록 TCP 헤더를 삽입하여 캡슐화 실시
- 연결 지향성 프로토콜
- 상대방과 통신 수립단계를 실시한 이후에 데이터 전송을 실시한다.
- 통신 수립 단계 = '3-Way 핸드 쉐이킹'
제어부호 6 비트(Control Flag 6 Bit)
URG 0 -> 1 : 긴급한 데이터
ACK 0 -> 1 : 통신에 대한 응답 신호
PSH 0 -> 1 : 세그먼트를 바로 어플리케이션 계층에 전달
RST 0 -> 1 : 통신을 강제적으로 종료.
SYN 0 -> 1 : 통신 시작
FIN 0 -> 1 : 통신 종료
- 통신 수립 단계 = '3-Way 핸드 쉐이킹' 과정
hostA -------------------------> hostB
SYN
hostA <------------------------- hostB
ACK,SYN
hostA -------------------------> hostB
ACK
- 통신 종료 단계
hostA -------------------------> hostB
FIN
hostA <------------------------- hostB
ACK
hostA <------------------------- hostB
FIN
hostA -------------------------> hostB
ACK
- 신뢰적인 데이터 전송이 요구되는 환경예서 효율적인 반면에, 대신 신속한 데이터 전송이 요구되는 환경에서는 비효율적이다.(신속함은 필요없고 신뢰적이어야 한다.)
flow control & err control
- 순서화 기능 : 증가되는 데이터 부피를 방지하기 위해서 분할 및 재조립 실시(순서 번호 사용)
- 동기화 기능 : 보낸 정보에 대한 응답(ACK 1bit)를 수신하는 기능(재전송 보장)(확인 번호 사용)
- TCP 헤더 내용
1) 출발지 포트번호(16bit)/목적지 포트번호(16bit) <- 서비스 구분(포트넘버 = 서비스)
2) 제어 부호(Control Flag 6bit) : URG, ACK, PSH, RST, SYN, FIN
3) 순서 번호(32bit) : Sequence number
4) 확인 번호(32bit) : Acknowledgement number
5) 윈도우 사이즈(수신할 수 있는 데이터양) w -> 응답 확인을 받기 전까지 보낼수있는 데이터양 #CCNP 과정 : Qos
6) 에러 체크(check sum) : 검사합
가장 중요한것은 출발지 포트번호 / 목적지 포트번호
[참고] TCP를 사용하는 어플리케이션 프로토콜 및 포트 번호
HTTP(80)
TELNET(23)
SSH(22)
FTP(20,21) : 연결 20 , 데이터 전송 21
SMTP(25) : 서버끼리 메일을 주고 받을 때 사용하는 서비스
POP3(110) : 서버에서 메일을 가져오는 서비스
공통점 : 신뢰적인 데이터 전송이 요구되는 서비스 환경
# UDP
- Layer 4 계층 프로토콜
- 상위 계층에서 생성된 데이터를 전소아도록 UDP 헤더를 삽입하여 캡슐화 실시
- 비연결 지향성 프로토콜 : 통신 수립 단계가 없다. 동기화 기능도 없다.
- 신뢰적인 데이터 전송이 요구되는 환경에서 비효울적이며, 대신 신속한 데이터 전송이 요구되는 환경에서 효율적이다.
- Best Effort 서비스(신뢰성이 보장되지 않는 서비스)
- 브로드캐스트 서비스 & 멀티캐스트 서비스 사용
[참고] 데이터 전송 방식 유형
1) 유니캐스트(Unicast) = 1:1 데이터 전송 방식. TCP 사용
2) 브로드캐스트(Broadcast) = 1:불특정다수 데이터 전송 방식. UDP 사용
3) 멀티캐스트(Multicast) = 1:특정다수 데이터 전송 방식. UDP 사용
- UDP 헤더 내용
1) 출발지 포트 번호(16bit)/목적지 포트 번호(16bit) <- 서비스 구분
2) 에러 체크(check sum) : 검사 합
- UDP를 사용하는 어플리케이션 프로토콜 및 포트 번호
DNS(53) : IP와 도메인 이름 맵핑
DHCP(67/68) : IP 자동배당
TFTP(69) : 적은양의 파일 보낼 때 ex)jumpstart
SNMP(161) : 장비 상태 점검
공통점 : 요청에 의한 신속한 데이터 전송이 요구되는 서비스 환경
# IP (internet protocol)
- Layer 3 계층 프로토콜
- 상위 계층에서 생성된 데이터를 전송하도록 IP 헤더를 삽입하여 캡슐화 실시
- 비연결 지향성 프로토콜 : 통신 수렵 단계 X, 동기화 기능 X
- 신뢰성 보장되지 않는 Best Effort 서비스
- 출발지에서 목적지로 데이터를 전송할 때 최적 경로를 선출하는 일을 담당한다.(routing)
- IP 헤더 내용
1) 출발지 IP 주소(32bit)/목적지 IP 주소(32bit)
2) ToS(8bit) = Type of Services : 데이터 우선 순위를 결정할 때 사용하는 값(CCNP 과정 : Qos)
3) 에러 체크(check sum) : IPv4에서는 있지만, 불필요하다는 이유로 IPv6에서는 삭제됨
# ICMP(Internet Control Messages Protocol)
- IP 프로토콜에 대한 신뢰성을 보장하는 프로토콜 (ping명령어)
- ICMP 동작과정
hostA ------------------------> hostB
ICMP Echo-Request(Type=8)
hostA <------------------------ hostB
ICMP Echo-Reply(Type=0)
[참고] DoS 공격, ICMP 스푸핑
- 해결책 : 필터링 & 방화벽을 이용하여 ICMP 차단 (ICMP Reply차단)
[참고] 각 구간별 데이터 전송시 사용 주소
- Layer 2 계층 구간 데이터 전송 주소 : MAC 주소 (Ethernet을 사용하는 LAN 구간)
- Layer 3 게층 구간 데이터 전송 주소 : IP 주소
# ARP
- Layer 3 계층 주소(IP)를 이용하여 Layer 2 계층 주소(MAC)를 학습하는 프로토콜
- ARP 동작과정
------------------------Router---External(라우터가 broadcast를 넘기지 않음)
| |
hostA hostB
1) ARP Request (Broadcast) : hostA가 broadcast로 광고 hostB는 A의 MAC주소를 자신의 ARP Table에 등록
2) ARP Response (Unicast) : hostB가 Unicast로 hostA에게 자신의 MAC주소를 넘기고 hostA는 그 정보를 자신의 ARP
'network' 카테고리의 다른 글
네트워크 구성도 - 초기작업 (0) | 2012.07.31 |
---|---|
TCP/IP 소켓의 정의 및 종류 (0) | 2010.07.22 |
SIP (0) | 2010.06.22 |
SNMP & MIB (0) | 2010.06.21 |