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 |
Tags
- 코루틴 빌더
- 코루틴 컨텍스트
- PersistenceContext
- taint
- preemption #
- kotlin
- PytestPluginManager
- JanusWebRTCServer
- 달인막창
- JanusGateway
- python
- 오블완
- 티스토리챌린지
- 자원부족
- table not found
- vfr video
- Value too long for column
- 겨울 부산
- mp4fpsmod
- VARCHAR (1)
- JanusWebRTC
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- pytest
- 깡돼후
- tolerated
- Spring Batch
- 개성국밥
- addhooks
- JanusWebRTCGateway
- terminal
Archives
너와 나의 스토리
[CH.4-1] TCP와 UDP에 대한 이해 본문
반응형
인터넷 프로토콜(IP) 기반 소켓의 경우, 데이터 전송방법에 따라 TCP 소켓과 UDP 소켓으로 나뉘고, 특히 TCP 소켓의 경우 연결을 지향하기 때문에 '스트림 기반 소켓'이라고도 이야기한다.
TCP(Transmission Control Protocol): 데이터 전송과정의 컨트롤
Application layer(5계층): 프로토콜 결정 (FTP,SMTP,HTTP,...)
Transport layer(4계층): 통신 방식 결정 (TCP/UDP)
Network layer(3계층): 데이터 전송 교환 담당 (IP - router 이용)
Link layer(2계층): 완전 실제 전달
Link 계층
- Link 계층은 물리적인 영역의 표준화에 대한 결과이다.
- 이는 가장 기본이 되는 영역으로 LAN, WAN, MAN과 같은 네트워크 표준과 관련된 프로토콜을 정의하는 영역이다.
- 물리적인 연결
IP 계층
- 인터넷을 통한 데이터의 전송을 위해 먼저 경로의 선택
- IP 자체는 비연결지향적이며 신뢰할 수 없는 프로토콜이다.
- 오류발생에 대한 대비가 되어있지 않은 프로토콜 IP이다.
TCP/UDP 계층
- IP계층에서 알려준 경로정보를 바탕으로 데이터의 실제 송수신을 담당.
- 그래서 Transport layer이라고 함
- IP는 오로지 하나의 페이터 패킷이 전송되는 과정에만 중심을 두고 설계되었기 때문에, 여러 개의 패킷을 전송한다 하더라도 각각의 패킷이 전송되는 과정은 IP가 각 패킷에 정한 순서대로 전송된다.
- A, B, C 보냈는데 B가 먼저 도착 가능
- 이 문제를 해결하기 위해 TCP 프로토콜이 추가되어 데이터를 송수신한다.
- 호스트 A,B가 서로 순서대로 잘 도착하는지 계속 대화하면서 확인한다
- TCP는 신뢰성을 보장하기 때문에 UDP에 비해 복잡한 프로토콜이다.
Application 계층
- 프로그래머에 의해 완성되는 계층이다
- 소켓을 기반으로 완성하는 프로토콜을 의미
- 소켓을 생성하면, 앞서 보인 LINK, IP, TCP/UDP 계층에 대한 내용은 감춰진다.
- 그러니 응용 프로그래머는 APPLICATION 계층의 완성에 집중하게 된다.
출처: [윤성우 열혈 TCP/IP 소켓 프로그래밍]
반응형
'Computer Networks > 실습' 카테고리의 다른 글
주소 할당 에러의 원인 - Time wait과 SO_REUSEADDR 옵션 (0) | 2019.11.08 |
---|---|
[CH.4-2,3] TCP기반 서버, 클리이언트의 구현 - Iterative 기반으로 구현 (0) | 2019.10.09 |
[실습] 주소체계와 데이터 정렬 - IP주소/PORT번호/주소정보 표현/인터넷 주소(Internet Address) (0) | 2019.09.25 |
리눅스 기반 파일 조작하기 (0) | 2019.09.25 |
[실습] 네트워크 프로그래밍과 소켓 - 소켓 인터페이스, 서버 클라이언트 연결 (0) | 2019.09.05 |
Comments