OSI 7 계층
1계층: 물리계층
- 랜선, 케이블
- 스위치: 더미 허브 ≒ 브로드캐스트
2계층: 데이터 링크 계층
- Point to Point(P2P)
- MAC 주소 활용: S->R, R->R, R->D 이동
- 12개의 16진수(48비트)
- 스위치: 스위칭 허브
-> 각 포트에 기기의 맥 주소를 기억함
3계층: 네트워크 계층
- End to End(E2E)
- 라우팅
- 프래그멘테이션 (MTU)
- IP 주소 활용 -> 논리주소
- A(0), B(10), C(110), D(1110, 멀티캐스트), E(1111, 연구/실험) 클래스 구분
- 서브넷
- NAT: 공인IP ↔ 사설IP
-> 공인IP: WAN
-> 사설IP: LAN
- 장비: 라우터
-> 네트워크 길잡이
-> 라우팅 프로토콜
| 4계층 까지의 패킷 정보 | 3계층 패킷 정보 | 2계층 패킷 정보 | |||
| 출발지 IP | 목적지 IP | 출발지 맥 | 목적지 맥 | ||
| 10101010101011010001010100101001001 | 172.16.0.100 | 8.8.8.8 | AA-AA | BB-BB | |
-> 한 칸 이동 마다 맥 주소 변경됨(2계층과 연결되는 이야기)
4계층: 전송계층
- E2E의 사용자들이 신뢰성 있는 데이터를 주고 받게 하기 위함
- TCP(Transmission Control Protocol)
-> connection-oriented: 연결지향
-> 흐름제어: 송신자와 수신자 간의 처리 속도 차이를 조절(수신자가 요청)
-> 혼잡제어: 송신자와 네트워크 전체 간의 라우터/통신선 혼잡 상태를 조절(라우터간 요청)
- netstat로 네트워크 연결 상태와 통계 정보 확인 가능
| TCP | 172.168.10.93 | :4293 | 8.8.8.8 | :80 | ESTABLISHED |
| 프로토콜 종류 | 클라이언트 IP | 웹브라우저 포트번호 | 서버 IP | 웹서버가 사용하는 포트번호 | 연결 상태 |
- 패킷 구조
| 5계층 까지의 패킷 정보 | 4계층 패킷 정보 | 3계층 패킷 정보 | 2계층 패킷 정보 | |||
| 출발지포트 | 서버 포트 | 출발지 IP | 목적지 IP | 출발지 맥 | 목적지 맥 | |
| 10101010101011010 | 32423 | 80 | 172.16.0.100 | 8.8.8.8 | AA-AA | |
- 포트주소
-> 패킷이 갈 응용프로그램 방번호
-> 0~65535 (2^16)
-> 0~1023(1024개)까지는 모두 예약되어 있음.
<자주쓰는 포트번호>
| 포트번호 | 서비스 | 서비스 내용 |
| 20 | FTP (DataChannel) | File Transfer Protocol 파일 전송 - 익명계정 |
| 21 | FTP (ControlChannel) | |
| 22 |
SSH(SFTP) | Secure Shell, 보안 FTP의 포트로 사용됨. |
| 23 | telnet | 원격 실행창 얻음, 평문 |
| 25 | SMTP | Simple Mail Transfer Protocol, 전자우편 교환, 메일박스에 메일 저장, 사본저장 가능, 메일 발신 기능 [보내는 사람] ---> (SMTP) ---> [보낸 사람 메일 서버] ---> (SMTP) ---> [받는 사람 메일 서버] ---> (POP3/IMAP) ---> [받는 사람] |
| 53 | DNS | Domain Name System, 도메인 ─(해석)→ IP |
| 69 | TFTP | Trivial File Transfer Protocol, 사소한 FTP, 아이디 비번 사용 안함. |
| 80 | HTTP | HyperText Transfer Protocol, 웹 서비스 메일서비스로 쓸 수도 있음. 웹서버가 메일 저장 |
| 110 | POP3 | Post Office Protocol, 이메일, 메일박스 메일을 내 클라로 가져옴. |
| 111 | RPC | Remote Procedure Call, 원격 프로시저 호출 |
| 138 | NetBIOS | Network Basic Input/Output System, 파일 공유, 네트워크 프린트 공유 같은 로컬 네트워크(LAN) 안에 있는 컴퓨터들끼리 서로를 알아보며 대화(통신)할 수 있도록 도와주는 오랜 표준 네트워크 프로토콜/API |
| 143 | IMAP | Internet Message Access Protocol 메일 제목 먼저 보여주고, 내용은 메일 들어갈 때 다운 |
| 161 | SNMP | Simple Network Management Protocol, 네트워크 장비 모니터링 |
| 162 | 네트워크 장비 세팅 | |
| 989 | FTPS (DataChannel) | 응용계층 FTP와 전송계층 TCP 사이에 보안 소켓계층(SSL)을 추가하여 사용 |
| 990 | FTPS (ControlChannel) |
TCP 패킷 구조


Sequence number: 패킷 순서(수신자가 정리)
Acknowledgement number: 확인 응답 번호, 몇 번 까지 받았는지 응답
HLEN/Data Offset: TCP헤더의 패킷 길이
Reserved: 예약, 요즘 안씀
Control Bits / Flags:
URG Urgent 긴급 데이터 포함.
ACK Acknowledgment 수신 확인 응답
PSH Push 즉시 전달
RST Reset 연결 강제 종료 / 리셋
SYN Synchronize 연결 요청 및 순서 번호 동기화
FIN Finish 연결 정상 종료 요청
윈도우: 슬라이딩 / 혼잡 윈도우
체크섬: 오류검출
어전트 포인트: 긴급 데이터의 위치를 알려줌
- 3-Way Handshake

000010(씬) -> 010010(씬애크) -> 010000(애크)
- 4-Way Handshake

000001(FIN) -> 010000(ACK) -> 000001(FIN) -> 010000(ACK)
- 비연결 지향형 프로토콜
UDP 패킷 구조

Length 전체 길이(데이터를 포함한 전체 길이)
| 필드 이름 | 길이 | 내용 |
| S.Port | 2Bytes | Sourse Port, 패킷의 출발지 포트로 0~65535 값 중 하나. |
| D.Port | 2Bytes | Destination Port, 패킷의 목적지 포트 번호 |
| Length | 2Bytes | UDP 헤더와 데이터 필드를 포함한 전체 패킷의 길이 |
| Checksum | 2Bytes | 데이터 오류 검출을 위한 값 |
| Data | 가변 | 전송하고자하는 데이터를 지정 |
RTP (Real-time Transport Protocol, 실시간 전송 프로토콜)
- RTCP(RTP control protocol)가 같이 규정되어 있음.
- UDP 상위 통신 규약
- H.323에 채용
5계층: 세선계층
세션(연결)관리
6계층: 표현 계층
코드간 번역 -> 응용 계층 데이터 형식 통일
7계층: 응용 계층
- 인간과 기계의 데이터 교환
- HTTP, FTP, TFTP, 터미널 서비스, 메일 프로그램, 디렉터리 서비스, 텔넷, DNS, POP3, IMAP, PRC, NetBIOS, SNMP