CS/Network
[네트워크] TCP/IP 5계층 | Application Layer
sebinChu
2024. 4. 24. 14:49
TCP/IP 5계층
- Application
- FTP, HTTP, SMTP 등의 프로토콜
- Transport
- TCP, UCP
- Network
- IP, 스위치
- Link
- 이더넷
- Physical
여기서 7계층되면…
- Application - Transport 계층 사이에 두 계층 추가
- Presentation 인코딩, 디코딩, 암호화/복호화
- Session: 애플리케이션 간 연결 지원(SSL, TLS 등)
계층 간 이동 ⇒ Encapsulation
각각의 계층을 이동하면서 프로토콜 헤더를 붙이게 된다.
캡슐화: 송신 측에서 응용계층부터 각 계층을 들리면서 헤더 추가, 물리 계층까지 가면 최종적으로 전기 신호로 변환되어 수신 측에 도착
Applciation Architecture(P2P와 Client-Server 구조)
- Client-Server 구조
- 서버는 항상 호스팅되어야 하고, 영구 IP 주소를 가져야 한다.
- 클라이언트는 서버와 소통하며, 서로 직접 소통 X. 유동 IP 가진다.
- P2P 구조
- 서버가 항상 호스팅되어야 하는 것은 아니다. → peer 끼리 소통하는 거고, 고정된 서버가 없다. 스스로가 서버가되고 클라이언트가 되는 구조다.
- self scalability 특성: 새로운 peer가 생기면 계속 서비스 스케일이 늘어난다.
- IP가 변동되기도 하는데, 전체적으로 관리가 어렵다.
- 대표적인 예) 비트토렌트
Process Communication
- 같은 호스트 안에서 두 개의 프로세스는 IPC(Inter-Process Communication)한다.
- 다른 호스트의 프로세스는 메시지 교환 → 소켓 통신
- 소켓은 프로세스의 문(door)과 같은 역할을 한다.
⇒ 소켓 통신은 다른 호스트에 존재하는 프로세스간 통신이다! 각각의 소켓은 서로 IP주소와 port 번호로 식별되고, 네트워크를 통해 서로 연결하고 데이터 송수신한다.
- IP는 컴퓨터를 찾아가는 역할
- PORT는 많은 프로세스 중 원하는 프로세스를 찾아가는 역할
*웹서버는 모두 80포트 사용. 네이버, 다음, 구글 등등 통일적으로 찾아가기 위해서!
App Layer Protocol RFC
Requests for comments: IETF에서 관리하는 기술 표준으로, 프로토콜 및 파일이 주요 주제이며 승인된 문서는 일련된 번호를 갖는다.
- HTTP는 RFC-2068에서 시작되었다.
App Layer와 Transport Layer의 관계
- Data Integrity: 데이터의 유실없이 도착
- Timing: 예정된 시간 내에 도착
- Throughput: 데이터의 처리율(용량)이 충분
- Security: 안정성
⇒ Transport Layer가 제공하는 것은 1번 딱 하나. 나머지는 app 계층에서 처리.
App Layer 주요 프로토콜
Protocol Port Application underlying Transport Protocol
HTTP | 80 | web | TCP | |
SMTP | 25 | TCP | ||
Telnet | 22 | remote terminal 접근 | TCP | |
FTP | 21/20 | 파일 변환 | TCP | |
RTP | 스트리밍 | TCP or UDP |
SSL(Secure Socket Layer)
인터넷을 통해 전달되는 정보를 보호하기 위해 개발한 통신 규약 → HTTPS는 HTTP를 암호화하여 전송