반응형
SMALL
TCP의 연결성립 : 3-Way Handshake
TCP의 연결성립은 다음과 같은 3개의 과정을 거쳐 성립
1. SYN 단계 : 클라이언트는 서버에 클라이언트의 ISN을 담아 SYN을 보낸다.
2. SYN + ACK 단계 : 서버는 클라이언트의 SYN을 수신하고 서버의 ISN을 보내며 승인번호로 클라이언트의 ISN + 1을 보낸다.
3. ACK 단계 : 클라이언트는 서버의 ISN + 1한 값인 승인번호를 담아 ACK를 서버에 보낸다.
[참고] ISN : TCP(Transmission Control Protocol) 기반 데이터 통신에서 각각의 새 연결에 할당된 고유한 32비트 시퀀스 번호를 나타냄. TCP 연결을 통해 전송되는 다른 데이터 바이트와 충돌하지 않는 시퀀스 번호를 할당하는 데 도움이 됨
- SYN : synchronization의 약자, 연결 요청 플래그
- ACK : acknowledgement의 약자, 응답 플래그
ex) 와이어샤크로 보는 TCP 연결
클라이언트와 서버의 상태
TCP 연결을 하면서 클라이언트는 closed, syn-sent, established가 되며 serve 는 closed, listen, syn_received, established 상태가 됨
이러한 서버와 클라이언트 간의 연결 설정 과정이 있기 때문에 'TCP는 신뢰성이 있다' 라고 하며 이러한 과정이 없는 'UDP는 신뢰성이 없다' 라고 말함
listen
서버는 클라이언트의 연락을 기다리는 상태, 이를 기반으로 서버 메서드의 이름이 결정
const express = require('express')
const app = express()
const port = 3000
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
* 참고
반응형
LIST
'CS > 네트워크' 카테고리의 다른 글
[CS] 라우팅 개념과 라우터, 라우팅 테이블 (0) | 2023.10.20 |
---|---|
[CS] TCP의 연결해제 : 4-Way Handshake와 TIME_WAIT (0) | 2023.10.19 |
[CS] TCP/IP 4계층 #5. 인터넷 계층(network) (0) | 2023.10.17 |
[CS] TCP/IP 4계층 #4. 전송 계층(transport) (2) | 2023.10.16 |
[CS] TCP/IP 4계층 #3. 애플리케이션 계층(application) (0) | 2023.10.15 |
댓글