데이터 통신 방식 : TCP & UDP
: Transport layer에서 사용되는 프로토콜
TCP(Transmission Control Protocol): connection-oriented service
- reliable, 신뢰성 보장: 데이터 전송시 순서를 보장, 손실된 패킷을 재전송, 중복 패킷을 제거
- flow control: 송신자가 수신자가 처리할 수 있는 양의 데이터 초과하여 보내는 것을 방지
- congestion control: 네트워크의 혼잡 상태를 감지하고 조절
UDP(User Datagram Protocol): connectionless service
- connectionless, 비연결성
- unreliable: 데이터 전송의 신뢰성 보장 x. 데이터의 손실, 손상, 중복, 순서 변경 등의 문제 발생 가능
- no flow control: 수신자가 처리할 수 있는 속도로 보내는 것을 보장하지 않음
- no congestion control
참고) UDP는 실시간 응용 프로그램이나 오류 검사와 재전송이 필요하지 않은 경우에 적합, 전송 속도 우선일 경우
TCP / UDP 의 가장 큰 차이점은 reliable!
packet switching: 네트워크에서 데이터를 작은 단위인 패킷 단위로 분할하여 전송하는 방식. TCP와 UDP는 패킷 스위칭을 통해 데이터를 전송하는 데 사용
Packet Delay 및 성능 개선 방법
- processing delay(처리 지연): 패킷이 네트워크 장비(라우터 또는 스위치)에서 처리되는 데 소요되는 시간. 패킷의 헤더 분석, 경로 결정, 오류 검사 등의 작업을 포함
=> 라우터의 성능 개선
- queuing delay(대기 지연): 패킷이 라우터 또는 스위치의 출력 큐에서 대기하는 시간
=> 사용자들의 이용패턴에 달려 있어서 개선이 어렵다. queue 용량보다 더 많은 패킷이 들어오면 패킷 유실 발생 (TCP는 reliable한 전송을 위해 재전송으로 대처한다.)
- transmission delay(전송 지연): 패킷이 링크를 통해 전송되는 데 소요되는 시간, 패킷의 첫 비트부터 마지막 비트까지 걸리는 시간
=> 케이블 확장
- propagation delay(전파 지연):마지막 비트가 링크에 올라와서 라우터 또는 스위치에 도달하기까지 걸리는 시간, 전송 매체를 통해 전파되는데 소요되는 시간
[한양대학교 이석복 교수님 컴퓨터네트워크 강의를 정리한 내용입니다.]