Application architecture 2 type(by HOST로 구분)
- client-server
- peepr-to-peer(P2P)
Client-Server architecture
통신을 하는 주체는 프로그램이라고 함. 실행중인 프로그램을 프로세스(Process)라고 칭함. OS 관점에서.
Server:precess that initiates communictation
- always-on host
- permanent IP address
- data centers for scaling
Clients:process that waits to be contacted
- communicate with only server
- do no communicate directly with each other
- may be intermittently connected
- may have dynamic IP addresses
P2P architecture
- no always-on server
- arbitrary end systems directly communicate(유저끼리 통신)
- peers request service from other peers, provide service in returen to other peers (self scalability - new peers bring new service capacity, as well as new service demands)
- peers are intermittently connected and change IP addresses(complex management)
Sockets
applycation layer generate a message handing to down to transport
커뮤니케이션은 두개에 호스트에 시팅(sitting)하고 있는 프로세스 간에 이뤄지는 것
To receive message, process must have identifier.
identifier includes both IP address and port numbers associated with process on hot.
커뮤니케이션이 온전히 이뤄지기 위해선 목적지가 분명해야 함. 그래서 집주소인 IP + 사람이름Port가 필요.
Internet transport protocols services
TCP service
- reliable transport : between sending and reciving process
- flow control : sender won't overwhelm receiver
- connection-oriented : setup required between client and server processes through hands shacking at first
※ Hands shacking at first == Protocol control managment == 에너지가 많이 먹음(overhead)
- congestion control : trottle senderwhen network overloaded
- does not provide : timing, minium throughput guarantee, security.
UDP service
- unreliable data transfer : between sending and receiving process
- does not provide : reliability, flow control, congestion control, timing, trhoughput guarantee, securitym or connection setup.
APP-Layer protocl defines
- Tyepes of messages exchaged.(e.g request, response)
- Message syntax : what fields in messages & how fields are delineated(구분, 구획).
- Message emantics : meaning of information in fields.
- rules : for when and how process send & respond to messages.
Application Protocal Outline
Web : HTTP
- web page consists of objects
- web page consists of base HTML-file which includes serveral referenced objects
- each object is addressable by a URL
Application program 과 Application protocol의 차이 확인 가능
program(process) == eg Firefox, Safari
protocol == HTTP
'TCP connect 이 맺어졌다(1a ~ 1b)'와 'TCP connect을 통해서 메시지를 주고 받는다(2~5)' 구분
맺어졌다 ==> Socket(like a door) created both server side(cilent and server)
메시지를 주고 받는다 ==> The both server communivate through a Socket(request and response)
Response Time
Transport layer 부터는 OS 관할 이기 때문에 만약 Parllel TCP Connections을 진행한다면 OS's resource를 사용하게 된다.(socket 할당, buffer 할당, TCP 관리 등)
출처
이화여대 2014, 컴퓨터네트워크
'나의 FE피봇이야기 > Dev_Knowledge' 카테고리의 다른 글
[Browser]CPU와 GPU를 통해 할당 받는 Process (0) | 2023.08.28 |
---|---|
[Lecture]컴퓨터 네트워크 5강 : Message, Layer Detail (0) | 2023.08.24 |
[Lecture]Network 3강 : 1.4 delay, loss, throughput in networks (0) | 2023.08.19 |
[Lecture]Network 2강, Internet Structure. (0) | 2023.08.15 |
[Lecture]Network 1강 (0) | 2023.08.14 |