이번 학기에 전공 수업으로 컴퓨터 네트워크를 수강 중입니다. 공부하면서 적는 포스팅이니, 내용이 정확하지 않을 수 있습니다. Computer Networking (7th edition) - Jim Kurose, Keith Ross 책을 기반으로 작성하였습니다. 오류가 있다면 친절하게 알려주시면 감사하겠습니다!!
**해당 포스팅을 참고하여 작성하였습니다!**
0. 애플리케이션 계층
- 3강에서는 애플리케이션 계층의 개념, 구현에 대해 알아본다. + 트랜스포트 계층의 내용도 약간 섞인다.
- 애플리케이션 계층의 2가지 운용 방법, Client-Server, P2P에 대해 알아본다.
- 애플리케이션 계층에서는 정보를 트랜스포트 계층을 통해 보낸다. 어찌 소통하는지 알아본다.
* 애플리케이션 계층에서 네트워크 코어 장치(라우터 등)에 접근하는 프로그램은 필요 없다. 각각의 end system에서 돌아가는 프로그램을 만든다.
1. 용어 정리
- Host : IP주소가 있는 네트워크가 연결된 Node. 스마트폰, 노트북 모두가 인터넷 연결이 되어 있다면 Host!
- Process : Host 안에서 돌아가는 프로그램
2. Client-Server
- Server : 언제나 켜져 있는 호스트 / 영구적인 IP 주소
- Client : 서버와 소통 / 간헐적으로 연결 / 동적 IP 주소 / 클라이언트끼리 직접 소통 X
3. P2P (Peer-to-Peer)
- 항상 켜져있는 서버 X / 장치들끼리 서로 서비스 요청, 응답 / 간헐적으로 연결하며, IP 주소 변동 가능
4. Process Communication
- 같은 호스트 안에서는 2개의 프로세스가 OS에 의해 정의된 inter-process-communication으로 소통
- 다른 호스트끼리는 특정 message를 주고받는다.
- Client Process는 통신을 초기화하고, Server Process는 통신이 오기까지 기다린다.
- P2P같은 경우에는 장치가 Client Process와 Server Process 둘 다 가진다.
- 네트워크에서 데이터를 주고받는다는 것은 호스트의 프로세스에 데이터가 오고 감을 의미한다.
5. Port
- 호스트 내부의 프로세스가 할당받는 고유값! 이를 통해 데이터가 어떤 프로세스로 가야 할지 방향을 잡는다.
- 다른 호스트끼리 주고 받는 message엔 식별자가 필요하다. 이 식별자가 "IP 주소 + 포트 넘버"로 구성된다.
6. Socket
- 네트워크를 통해 데이터 주고받을 때 프로세스의 "문(door)".
- 데이터를 아무나 들이고 아무나 보낼 수 없으니! 신원확인 정도는 해야하지 않겠는가. Socket이 바로 위병소(?) 같은 곳이다. IP 주소, 포트 넘버, 프로토콜을 제시해야 문이 열린다.
7. 애플리케이션 프로토콜에는...
- 교환된 메시지의 종류, 메세지 syntax, 메시지 semantics, 언제/어떻게 메시지가 송수신되어야 하는지의 규칙이 담긴다
8. 애플리케이션 계층의 프로그램에서 요구하는 Transport Service
- 신뢰할 수 있는 데이터 전송, 시간 보장, 프로그램에 따른 요구 처리량
- 어떤 프로그램이나에 따라 해당 부분들이 용서가 될 수도, 완벽히 지켜야 할 수도 있다.
9. Transport Layer에서 사용하는 프로토콜 2개
- 데이터를 보내기 위한 프로토콜 TCP와 UDP가 있다.
- TCP : 인터넷 상에서 데이터를 메시지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜
* 패킷을 전송하기 위해 경로를 배정하기 때문에, 신뢰성 보장! But 약간 느림
- UDP : 데이터를 데이터그램 단위로 처리하는 프로토콜
* 경로 설정 X, Fast, 네트워크 부하 low! But, 신뢰성 있는 데이터 전송 보장 X
10. TLS/SSL로 TCP 보호하기!
- TCP는 하지만 암호화 되어있지 않아 보안에 위협이 될 수 있다. (UDP도 마찬가지)
- TLS/SSL은 애플리케이션 계층에 있는 라이브러리로 다음과 같이 동작한다.
애플리케이션 -> TLS/SSL에서 암호화 -> 암호화된 메시지 TCP 소켓으로 전달
'컴퓨터 공학 > 컴퓨터 네트워크' 카테고리의 다른 글
TCP/IP 5계층 (0) | 2022.01.30 |
---|---|
데이터 교환 방식 (서킷 스위칭 & 패킷 스위칭) (0) | 2022.01.29 |
인터넷이란? (0) | 2022.01.28 |
컴퓨터 네트워크 2강 (0) | 2020.04.08 |
컴퓨터 네트워크 1강 (0) | 2020.04.07 |
댓글