Recent Posts
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 티스토리챌린지
- PytestPluginManager
- 깡돼후
- preemption #
- JanusWebRTC
- 개성국밥
- 코루틴 빌더
- pytest
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- terminal
- kotlin
- 겨울 부산
- 코루틴 컨텍스트
- vfr video
- 달인막창
- JanusWebRTCServer
- Value too long for column
- python
- JanusWebRTCGateway
- 오블완
- PersistenceContext
- JanusGateway
- taint
- tolerated
- mp4fpsmod
- table not found
- VARCHAR (1)
- 자원부족
- Spring Batch
- addhooks
Archives
너와 나의 스토리
[CH.2] Socket programming with UDP and TCP 본문
반응형
Socket programming
- 두 개의 transport services를 위한 두 개의 소켓 타입
- UDP: Unreliable datagram
- TCP: reliable, byte stream-oriented
socket programming with UDP
- UDP: 클라인트와 서버 사이에 연결이 없다
- 데이터 보내기 전에 handshaking 없다
- 각 패킷에 IP 목적지 주소랑 port 명시적으로 부착하고 보냄 (따로따로)
- rcvr은 수신한 패킷에서 발신자 Ip주소와 포트 번호를 추출
- UPD: 전송된 데이터가 솔실되거나, 뒤죽박죽으로 도착 가능(out of order)
- 패킷 단위로 보내서 상황에 따라 뒤에 순서인 것이 먼저 도착 가능
- 이럴때는 그냥 버리고 다시 받음
- Application 측면:
- UDP는 클라인트와 서버 사이에서 바이트 그룹의 믿을만하지 않은 전송을 제공
Socket programming with TCP
-
client는 반드시 서버와 연결해야한다.
-
서버 프로세스는 반드시 먼저 작동해야한다.
- 서버는 클라이언트의 연결을 받기 위해 반드시 소켓을 만들어야한다.
-
- 클라이언트는 다음을 통해 서버와 연결한다:
- 서버 프로세스의 IP 주소와 포트번호를 지정하여 TCP 소켓 생성
- 클라이언트가 소켓을 만들면 클라이언트 TCP는 서버 TCP와 연결을 설립한다.
- 클라이언트와 연결되면 서버 TCP는 서버 프로세스가 해당 특정 클라이언트와 통신 할 수 있도록 새로운 소켓을 만든다.
- 서버가 여러 클라이언트와 대화할 수 있다.
- 클라이언트를 구별하는데 사용되는 source port numbers
- application 관점:
- TCP는 클라이언트 서버 사이에서 믿을만하고, 순서대로 byte-stream 전송("pipe")을 제공한다.
반응형
'Computer Networks > 이론' 카테고리의 다른 글
Comments