1. loss-sensitive applications
- web document browsing
- text messaging
- Telnet
- File transfer service
** 대부분 text based인 응용이다.
2. delay-sensitive and throughput-sensitive applications
- real-time streaming
- interactive games
- Voice over IP
3. Loss-sensitive, delay-sensitive and throughput-sensitive applications
- VoD streaming
Application lyaer(5계층)와 transport layer (4계층)을 연결하는 Interface
소켓이 있기 때문에 App 개발자는 Network를 몰라도 socket call만 잘 하면 개발을 할 수 있다.
server
- 서버는 always-on host다.
- permanent IP (Public) 를 가져야한다.
- DNS 서버에 private ip는 저장이 안됨, 중복 될 수 있기 때문, IP가 변경되면 DNS 서버도 업데이트 해야해서 비효율적
- 요청이 오기를 기다리고 있다.
client
- 서버와 통신한다. (클라이언트끼리는 x, 그건 P2P임)
- 서버와 intermittently하게 연결된다. (간헐적)
- dynamic, pivate, public IP를 가진다.
- 서버와의 통신은 항상 client가
initiate
한다. (내 ip 주소 넣어서 서버에 알려줌)
server
- 항상 ON이 아니다.
- 임의의 end system끼리 직접적으로 communicate
- peer들은 service provider에 포함되는게 아니다.
- peer들은 request&provide 둘 다 한다.
self scalability
가 가능하다
: 새로운 peer들이 new service capacity를 제공- peer들은 간헐적으로 연결되고,
IP 주소도 바뀐다.
[단점 3가지]
1) Security 보장 안됨
2) Reliability (신뢰성 문제)
3) ISP의 P2P freiendly service 제공 여부를 따져야한다.- 불안정하고, 믿을만한 서버가 되지 못한다.
- 관리도 복잡하다.
🥲 point to point : 2계층, 물리 계층에서 쓰는 어휘임.
host에서 running되는 program
같은 host에서 돌고있는 두개의 프로세스는 inter-process communication
을 한다. (OS에 의해 관리)
서로 다른 host에서 소통하고 있는 프로세스는 서로 message
를 주고 받는다.
메세지는 core network
를 통해, socket
으로 주고 받는다.
P2P에서의 Application은 같은 host에 c.p와 s.p가 있다.
🥲 5~3계층 : OS에 포함 (SW)
🥲 2~1계층 : Network Interface Card에 포함 (SW~HW)
- HTTP 서버 : 80포트
- HTTPs 서버 : 443 포트
- SMTP 서버 : 25 포트
- SMTP + 보안 : 465 포트
🥲 host != ip address
여러 ip를 하나의 NCI에 설정 가능 + virtual
혹은 여러개의 NIC를 사용하기도 한다.
open protocol
: RFC에 정의 되어있어, 모든 사람이 사용 가능한 protocol (HTTP, SMTP)
사설 프로토콜 ex) Skype
- w/o parrellel
- w/ parrellel
- 4RTT만에 완료
🥲 소켓을 여려개 열어서 사용하면 한 유저가 link 자원을 많이 쓰게 됨 (불공정)
하는 이유
단점