ㅇ ㅂㅇ
> 프로토콜의 원리 및 이해
- 프로토콜 계층도
- IP(Internet Protocol)
-- 노드 간 데이터 전송 경로를 확립하며 IPv4에서 IPv6로 전환 중
-- TCP/IP 네트워크에서 출발지, 목적지 IP 주소를 지정하게 되는 프로토콜
-- Packet의 목적지 주소를 보고 최적의 경로를 찾아 패킷을 전송해주는 것이 주된 역할
-- 비 신뢰성, 비 연결 지향적(신뢰성보다 효율성에 중점을 둠)
-- IHL(HELN)
--- (Header의 길이 / 4) Option이 없으면 20byte 이므로 5라는 값을 가짐
-- Flags(3Bits)
--- Reserved(Must be zero)
--- DF(Don't Flagement)
---- Datagram의 분할 방지
--- MF(More Flagment)
---- Datagram이 분할 될 때 마지막 조각이면 0, 아니면 1(0,1을 통해 마지막 조각을 판단하여 데이터의 끝을 판단)
- ARP(Address Resolution Protocol)
-- IP 주소를 MAC 주소로 변환하는 표준 프로토콜(IP 주소(32bit) -> MAC주소(48bit))
--- 해당 IP 주소가 동일 네트워크에 있을 때 해당 목적지의 MAC 주소를 찾게 됨
--- 해당 IP 주소가 외부 네트워크에 있을 때 Router의 MAC 주소를 찾게 됨
-- ARP Request는 Broadcast, ARP Reply는 Unicast
-- ARP는 한 번 찾은 MAC 주소를 ARP-Cache에 일정 기간 IP주소-MAC주소 형태로 보관함
--- ARP-Cache 확인 : arp -a
--- ARP-Cache 생성 : arp -s [IP주소] [MAC주소]
--- ARP-Cache 삭제 : arp -d [IP 주소]
-- 취약점 : 무조건 응답 수용함(요청하지 않은 응답에도 수용함)
--- 이런 취약점을 노린 공격을 ARP Cache Posisoning 이라고 함
- RARP(Reverse ARP)
-- MAC 주소를 IP주소로 변환해주는 프로토콜(MAC 주소(48bit) -> IP 주소(32bit))
- ICMP(Internet Control Message Protocol)
-- IP의 특징인 비신뢰성과 비연결성의 한계를 보완하기 위해, 노드 간의 에러사항이나 통신 제어를 위한 메시지를 보고 할 목적으로 만들어진 프로토콜
-- 에러를 Report 할 뿐, 해결하는 기능은 없으며 대표적으로 Ping이 있음
-- ICMP는 TCP/UDP Header가 필요 없고 IP Header와 IP Data 부분에 ICMP 메시지를 포함해서 보냄
-- ICMP 메시지의 종류
--- Type 8 : Echo Request
--- Type 0 : Echo Reply
--- Type 3 : Destination Unreachable(CODE 영역에 원인 셜명)
--- Type 4 : Source Quench(Flow Control 할 때, 전송속도 줄이라는 의미)
--- Type 5 : Redirect ; Route 를 변경하라는 메시지
--- Type 11 : Time Exceeded ; 시간 초과
- IGMP(Internet Group Management Protocol)
-- 멀티캐스트 그룹을 관리하기 위한 프로토콜(멀티 캐스트 멤버 가입, 수정, 탈퇴)
-- 멀티캐스트 호스트와 라우터 사이에서 동작(같은 네트워크에서만 동작 / TTL 1)
- TCP(Transmission Control Protocol)
-- Transport Layer의 프로토콜로 신뢰성과 연결지향적 특징
-- 혼잡제어와 흐름제어 기능 제공(Sliding Window) / 에러 제어도 가능(Checksum)
-- 클라이언트와 서버의 데이터 교환을 위해 TCP 3-WayHandShake를 통해 TCP Session을 확립해야 함
-- TCP Header Flag
--- URG : Urgent Pointer 가 유효함
--- ACK : Ack Number가 유효함
--- PSH : 수신자에게 빨리 응용프로그램으로 전달 할 것을 지시
--- RST : 연결을 Reset 할 것을 지시
--- SYN : 연결 시작
--- FIN : 연결 종료
- UDP (User Datagram Protocol)
-- Transport Layer의 프로토콜로 TCP와 달리 비신뢰성과 비연결지향적인 특징을 가짐
-- Sequence Number와 Ack Number가 없어 순서제어와 흐름제어가 불가능
-- 연결하는 과정이 없어 빠른 처리와 실시간성을 요구하는 서비스에 적합함
- TCP / UDP 비교
댓글 없음:
댓글 쓰기