프로토콜
호스트와 호스트 사이에 사용하는 일종의 언어와 같은 개념
TCP/IP 프로토콜
비음성 통신을 구현하기 위해 설계도 작성.
TCP 방식에 기반에 오류를 제어하기 위한 계층 |
IP 방식에 기반해 데이터를 전송하기 위한 계층 |
TCP/IP 프로토콜 개발에 착수하던 당시에는 인터넷 표준 프로토콜이 없었기 때문에 호스트 제작 업체마다 자신만의 프로토콜을 사용해 통신 수행. 표준으로 통합하기 위해 OSI 프로토콜을 개발하였으나 TCP/IP 프로토콜이 표준으로 자리 잡음. 결국 OSI는 네트워크 동작 과정을 소개하는 기본 모형으로 자주 언급됨.
계층 구분 | 해당 계층에 속하는 프로토콜 종류 |
응용 | FTP, SSH, TELNET, SMTP, DNS, DHCP, HTTP, POP3, SNMP, SSL 등 |
전송 | UDP, TCP |
네트워크 | IP, ICMP, IGMP, ARP, RARP |
데이터링크 | 이더넷, PPP |
물리 |
계층이란 비음성 통신에서 데이터를 전송하기 위한 일련의 과정이나 단계 또는 절차.
송신: 응용 -> 전송 -> 네트워크 -> 데이터링크 -> 물리
수신: 물리 -> 데이터링크 -> 네트워크 -> 전송 -> 응용
응용계층
전송하고자 할 UDP 페이로드를 생성해주는 계층
페이로드를 생성한 뒤 사용자의 실제 정보를 저장
전송단위: 메시지
wireshark로 패킷 분석하기
wireshark는 대표적인 오픈소스 기반의 패킷 분석 도구이다. 패킷분석을 스니핑이라고도 한다.
1. wireshark로 패킷 분석 시작
2. cmd창에 nslookup www.google.co.kr 입력
nslookup 도메인 주소: 위의 명령으로 도메인에 해당하는 IP주소를 알아낼 수 있다.
3. DNS 프로토콜 확인
빨간 박스 안에 있는 내용이 mdns의 페이로드에 해당한다.
전송계층
포트번호를 가지는 첫 번째 헤더와 결합.
UDP, TCP 프로토콜만 존재. 둘의 차이는 단편화와 버퍼링 유무.
전송단위: 데이터그램
UDP 헤더는 8바이트로 고정이다.
크기가 가변적이다. 보통 20바이트지만 넘어갈 수도 있다.
- 일련번호(Sequence Number)와 확인 번호(Acknowledment Number) 항목은 3단계 연결 설정과 관련있다.
세그먼트의 연속성을 보장하기위해 일련번호와 확인번호를 이용한다.
- 오프셋(Offset) 항목: 헤더의 길이를 담는다.
- 플래그(Flag) 항목: TCP 방식이 수행하는 일련의 제어 정보를 담는다.
- 윈도우(Window) 항목: 흐름 제어 기능과 관련있다.
- 긴급 포인터(Urgent pointer): 플래그 항목에서 URG 항목이 나타날 때 0에서 1로 설정이 바뀌면서 동작.
1) 3단계 연결 설정 (버퍼링)
송신자, 일련번호 1000, 확인번호 NULL
SYN 신호가 담긴 세그먼트 헤더 | IP 패킷 헤더 | 이더넷 프레임 헤더 |
수신자, 일련번호 2000, 확인번호 1001
ACK, SYN 신호가 담긴 세그먼트 헤더 | IP 패킷 헤더 | 이더넷 프레임 헤더 |
송신자, 일련번호 1001, 확인번호 2001
ACK 신호가 담긴 세그먼트 헤더 | IP 패킷 헤더 | 이더넷 프레임 헤더 |
2) 단편화 수행
단편화: 전송 효율성과 데이터 기밀성 등을 위해 TCP 페이로드를 여러 개로 분할하는 기법
플래그
구분 | 의미 |
CMR | 혼잡 윈도우 크기 감소 신호 |
ECN | 혼잡 발생 신호 |
URG | 긴급 데이터 신호 |
ACK | 확인 응답 신호 |
PSH | TCP 페이로드를 포함한다는 신호 |
RST | 상대방과 연결을 강제 종료 하기 위한 신호 |
SYN | 상대방과 동기화를 확립하기 위한 개시 신호 |
FIN | 상대방과 동기화를 해제하기 위한 종료 신호 |
네트워크 계층
IP주소를 가지는 두 번째 헤더와 결합.
전송단위: 패킷
쓰다가 렉걸려서 다 캡처한 사진으로 바꿈 ㅡㅡ,,,ㅠㅠㅠㅠ
데이터링크 계층
맥 주소를 가지는 세 번째 헤더와 결합.
전송단위: 프레임, 셀(ATM 전송 기법에서 사용, 프레임 크기 늘 일정)
ARP 프로토콜과 유사함!
#LAN/WAN #ARP
물리계층
비트 전송 단위로 변환
#허브 #스위치 #라우터
구분 | 관련 계층 | 처리 단위 | 테이블 유무 | 동작 방식 |
허브 | 물리 | 비트 | 플러딩 | |
스위치 | 데이터 링크 | 프레임 | 스위칭 테이블 | 포워딩/플러딩 |
라우터 | 네트워크 | 패킷 | 라우팅 테이블 | 포워딩 |
[허브의 1번 포트: PC, 4번 포트: 스위치 ]
[스위치 1번 포트: 허브, 4번 포트: 라우터]
[라우터의 이더넷 인터페이스: 스위치 ]
WAN 영역으로 나가는 라우터의 시리얼 인터페이스는 PPP 방식이라고 가정
PC에서 발생한 비트가 회선을 타고 먼저 허브에 도착했다고 하자.
허브: LAN 영역에서 사용하는 대표적인 집선 장치(무선 공유기). 비트 단위 플러딩 처리
스위치: 비트 단위로 들어온 신호를 수신한 뒤 프레임으로 변환
목적지 맥 주소가 자신의 스위칭 테이블에 있는지 검사
프레임을 다시 비트로 변환한 뒤 특정 포트로만 비트 신호를 포워딩, (맥주소가 테이블에 없으면 플러딩)
포트 번호 | 맥 주소 |
<스위치 테이블의 기본 구조>
라우터: 비트 단위로 들어온 신호를 프레임으로 변환
자신의 이더넷 인터페이스에 새겨진 맥 주소와 프레임 헤더의 목적지 맥 주소를 비교. 일치하면 패킷으로 변환
목적지 IP 주소가 자신의 라우팅 테이블에 있는지 검사
패킷을 프레임으로 변환한 뒤 프레임 헤더에 ppp 정보 삽입.
(ip주소가 테이블에 없으면 라우팅 불가로 판단해 패킷 폐기하고 ICMP 방식을 이용해 이러한 사실 통보)
목적지 네트워크 ID | 경유지 인터페이스 |
<라우팅 테이블의 기본 구조>
총 정리
계층 구분 | 전송 단위 | 주요 프로토콜 | 해당 장비 |
응용 | 메시지 | ||
전송 | 데이터그램 / 세그먼트 | UDP / TCP | |
네트워크 | 패킷 | IP / ICMP | 라우터 |
데이터 링크 | LAN / WAN 프레임 | ARP | 스위치 |
물리 | 비트 | 허브 |
'네트워크' 카테고리의 다른 글
TCP/IP 네트워크 공격 유형 (0) | 2023.09.18 |
---|---|
LAN/WAN (2) | 2023.09.18 |
데이터 전송 단위, 페이로드, 데이터그램/세그먼트, 패킷, 프레임 (0) | 2023.07.10 |
UDP방식, TCP방식 (0) | 2023.07.10 |
DNS, DNS 캐시 테이블 (0) | 2023.07.07 |