일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 안드로이드 알림채널
- 펜딩인텐트
- setContentIntent
- notifications
- NotificationCompat.Builder
- notification manager
- Pending Intent
- 버전별 관리
- 알림 인텐트
- android notification 예제
- setDefaults(NotificationCompat.DEFAULT_ALL)
- notification channel
- 안드로이드 알림
- setPriority(NotificationCompat.PRIORITY_HIGH)
- 알림 우선순위
- 안드로이드 알림 예제
- Today
- Total
공부용 블로그
protocol_3주차_TCP와 UDP 본문
1. TCP(전송 제어 프로토콜. Transmission Control Protocol)
두 호스트가 연결을 설정하고 데이터 스트림을 교환함. 두개의 최종 프로세스간의 안정적인 통신을 담당하는 연결지향 프로토콜.
연결지향이란 실제로 데이터를 전송하기 전에 두 끝점 사이에 연결을 열어야 한다는 의미이다.
- TCP는 데이터 전달을 보장해준다. (전송실패시 재전송)
- 패킷이 전송된 순서와 동일한 순서로 전달되도록 보장해준다
- 전송되는 단위는 스트림
TCP 동작순서
1. Enter website in browser
2. DNS client creates a message
HTTP Client는 입력한 URL로부터 HTML 파일을 요청하는 메세지를 만든다.
그 메세지에는 IP주소를 적어야 하는데 http client는 가지고 있지 않기 때문에 DNS 클라이언트에게 IP주소를 달라고 한다.
DNS 클라이언트는 전송계층(Transport Layer)에 URL에 대한 IP주소를 요청하는 메세지를 보낸다.
3. Create a datagram
전송계층은 UDP Header에 메세지(source와 목적지 port가 들어있는)를 추가한다.
포트 번호를 만들고 그것을 IP주소를 요청하는 DNS 프로세스에 할당한다.
"well-known" DNS server port number 는 목적지 port로 사용된다.
그리고나서 생성된 데이터그램은 네트워크 계층으로 전송된다.
4. Create a packet
네트워크 계층은 원본 및 대상 IP 주소가 포함 된 IP 헤더를 데이터 그램에 추가합니다.
자체 IP 주소를 원본으로, DNS 서버 IP 주소를 대상으로 추가합니다. PC가 로컬 IP 주소를 할당했을 때 라우터가 PC를 제공했기 때문에 PC는 DNS 서버의 IP 주소를 알고 있습니다. 결과 패킷은 링크 계층으로 전송됩니다 .
------ 나머지 작동순서 사이트 참고
'설계 > Protocol' 카테고리의 다른 글
protocol_4주차_MPD와 m3u8파일은 왜 만들었을까? (0) | 2018.06.25 |
---|---|
protocol_3주차_MPEG DASH (0) | 2018.06.12 |
protocol_2주차(3) RTMP&RTSP (0) | 2018.06.09 |
protocol_2주차(2) HLS(apple) (0) | 2018.06.08 |
protocol_2주차(1) WebRTC (0) | 2018.06.08 |