킹-오브-네트워킹(피터 전)으로 공부한 내용을 정리했습니다.
OSI(Open Systems Interconnection) 참조 모델
ISO에서 만든 컴퓨터 간 통신 단계: 컴퓨터 네트워크 프로토콜 디자인과 통신을 일곱 계층으로 나눈 것
1. Physical layer
역할: 인접 장비와의 연결을 위한 물리적 사양
주요 프로토콜: 100Base-TX, V.35
한쪽에서 전송하는 0과 1로 구성된 비트 단위 신호를 수신하고 구분
직접 연결된 두 장비 간의 통신 신호 송수신
2. Data link layer
역할: 인접 장비와의 연결을 위한 논리적 사양
주요 프로토콜: 이더넷, PPP, ARP
라우터로 구분된 구간에서 프레임이라는 데이터의 묶음을 전달함
물리 계층을 통해 수신한 0과 1로 이루어진 신호를 조합하여 프레임 단위의 묶음으로 해석
프레임(Frame): 이더넷에서 주고받는 데이터의 최소 단위
MAC(Media Access Control) 주소(물리적 주소): 네트워크 인터페이스에 할당된 고유 식별자
네트워크 상에서 서로를 구분하기 위해 Device마다 할당된 물리적인 주소로 영구적이고 고유함
LAN이나 Ethernet이라 불리는 망에서 통신을 하기 위해 사용하며 자신이 속한 네트워크 안에서만 통신 가능
이더넷(Ethernet): 네트워크에 연결된 기기들이 MAC 주소를 가지고 호스트 간 데이터를 주고받도록 하는 프로토콜
스위치(Switch): 네트위크 단위를 연결하는 통신 장비
MAC 주소 기반, 브로드캐스팅 X
3. Network layer
역할: 종단 장비 간의 데이터 전달
주요 프로토콜: IP, ICMP
통신 종단 장비 간 패킷이라는 데이터의 묶음을 전달함
라우터(Router): 각기 독립된 네트워크들을 연결하는 장치로 패킷을 전송하는 역할
서로 다른 네트워크를 중계함
IP 주소 기반
패킷(Packet): 네트워크를 오가는 데이터의 최소 단위
참고: 스위치와 라우터의 차이
4. Transport layer
역할: 종단 프로그램 간의 데이터 전달
주요 프로토콜: TCP, UDP
종단 장비에서 동작 중인 응용 계층 간 세그먼트라는 데이터의 묶음을 전달
TCP(Transmission Control Protocol): 전송 제어 프로토콜
패킷을 추적, 관리함
UDP(User Datagram Protocol): 사용자 데이터그램 프로토콜
데이터를 데이터그램(독립적인 관계를 지니는 패킷) 단위로 처리- IP 기반
비연결형 프로토콜
속도가 빠르고 네트워크의 부하가 적음 신뢰성이 낮아서 연속성이 중요한 서비스에 사용
5. Session layer
역할: 세션의 시작 및 종료 제어
주요 프로토콜: TCP session setup
종단 장비 간 세션(통신)의 시작, 종료 및 관리 절차 등 정의
메시지(Message): 송수신하는 데이터의 단위
6. Presentation layer
역할: 데이터의 표현 및 암호화 방식
주요 프로토콜: ASCII, MPEG, SSL
7. 응용 계층
역할: 응용 프로그램과 통신 프로그램간 인터페이스 제공
주요 프로토콜: HTTP, FTP, DNS
HTTP: 웹 브라우저에 필요한 데이터를 송수신할 때 사용
FTP: 파일 전송
DNS: 도메인 이름을 IP주소로 변환
SMTP: 메일 전송
TCP/IP
인터넷에서 사용되는 여러 가지 프로토콜을 통틀어 칭하는 것
물리 계층에 대한 언급 없음
2. Link layer
ARP(Address Resolution Protocol): LAN에서 상대 장비의 MAC 주소를 알아내기 위해 사용하는 프로토콜
3. Internet layer
ICMP(Internet Control Message Protocol): IP 네트워크 동작 확인을 위한 Ping, 트레이스 루트 등의 프로그램이 사용하는 프로토콜
IP: 패킷을 목적지 장비까지 전송하기 위한 용도
4. Transport layer
TCP, UDP: IP가 목적지 장비까지 전송한 패킷을 상위의 특정 응용 계층 프로토콜에게 전달
차이점: 세그먼트 전달의 신뢰성
TCP는 수신한 세그먼트에 에러 발생시 재전송을 요구하여 에러 복구함 - 처리 속도가 느리지만 신뢰성
UDP는 에러가 발생한 세그먼트를 폐기 - 처리 속도가 빠름
5. Application layer
HTTP
FTP
텔넷
SMTP
DNS